Cortex/js/dx.phonejs.js
2014-03-24 04:02:57 +04:00

9 lines
407 KiB
JavaScript

/*!
* DevExpress PhoneJS
* Version: 13.2.7
* Build date: Feb 10, 2014
*
* Copyright (c) 2012 - 2014 Developer Express Inc. ALL RIGHTS RESERVED
* EULA: http://phonejs.devexpress.com/EULA
*/
"use strict";window.DevExpress||(function(n,t,i){function u(t){function f(){while(r.length){var e=r.shift(),t=e();if(t!==i&&t.then){u=!0,n.when(t).always(f);return}}u=!1}function e(n,i){t?(r[0]&&i&&i(r[0]),r=[n]):r.push(n),u||f()}function o(){return u}var r=[],u=!1;return{add:e,busy:o}}var r,f;(function(n){if(n=n.split("."),n[0]<1||n[0]===1&&n[1]<10)throw Error("Your version of jQuery is too old. Please upgrade jQuery to 1.10.0 or later.");})(n.fn.jquery),r=function(){var i=function(n,t,i){return function(){var r=this.callBase;this.callBase=n[t];try{return i.apply(this,arguments)}finally{this.callBase=r}}},r=function(n){var t=function(){};return t.prototype=n.prototype,new t},t=function(){},u=function(t){var r=this,u;return t?(u=n.map(t,function(n,t){return t}),n.each(["toString","toLocaleString","valueOf"],function(){t[this]&&u.push(this)}),n.each(u,function(){var u=n.isFunction(r.prototype[this])&&n.isFunction(t[this]);r.prototype[this]=u?i(r.parent.prototype,this,t[this]):t[this]}),r):r},f=function(){var t=this;return n.each(arguments,function(){this.ctor&&t._includedCtors.push(this.ctor);for(var n in this)if(n!=="ctor"){if(n in t.prototype)throw Error("Member name collision: "+n);t.prototype[n]=this[n]}}),t},e=function(n){return this.parent===n?!0:!this.parent||!this.parent.subclassOf?!1:this.parent.subclassOf(n)};return t.inherit=function(t){var i=function(){if(!this||this.constructor!==i)throw Error("A class must be instantiated using the 'new' keyword");var t=this,r=t.ctor;r&&r.apply(t,arguments),n.each(t.constructor._includedCtors,function(){this.call(t)})};return i.prototype=r(this),i.inherit=this.inherit,i.redefine=u,i.include=f,i.subclassOf=e,i.parent=this,i._includedCtors=this._includedCtors?this._includedCtors.slice(0):[],i.prototype.constructor=i,i.redefine(t),i},t}(),f=function(){var t=document.createElement("a"),i=["protocol","hostname","port","pathname","search","hash"],r=function(n){return n.charAt(0)!=="/"&&(n="/"+n),n};return function(u){t.href=u;var f={};return n.each(i,function(){f[this]=t[this]}),f.pathname=r(f.pathname),f}}(),t.DevExpress=t.DevExpress||{};var e=function(t){var i=n.Deferred();return setTimeout(function(){i.resolve(t())},60),i},o=function(){var t=[];return{add:function(n){t.push(n)},remove:function(i){var r=n.inArray(i,t);r!==-1&&t.splice(r,1)},fire:function(){var n=t.pop(),i=!!n;return i&&n(),i},hasCallback:function(){return t.length>0}}}(),s=function(){var n="body";return function(t){return arguments.length&&(n=t),n}}();n.extend(t.DevExpress,{abstract:function(){throw Error("Not implemented");},Class:r,createQueue:u,enqueue:u().add,enqueueAsync:e,parseUrl:f,backButtonCallback:o,overlayTargetContainer:s})}(jQuery,this),function(n,t,i){var e=function(n){return n===i||n===null?"":String(n)},r=function(n){return e(n).charAt(0).toUpperCase()+n.substr(1)},u=function(n){return e(n).replace(/([a-z\d])([A-Z])/g,"$1 $2").split(/[\s_-]+/)},f=function(t){return n.map(u(t),function(n){return n.toLowerCase()}).join("-")},o=function(n){return f(n).replace(/-/g,"_")},s=function(t,i){return n.map(u(t),function(n,t){return n=n.toLowerCase(),(i||t>0)&&(n=r(n)),n}).join("")},h=function(n){return r(f(n).replace(/-/g," "))},c=function(t){return n.map(u(t),function(n){return r(n.toLowerCase())}).join(" ")};t.inflector={dasherize:f,camelize:s,humanize:h,titleize:c,underscore:o}}(jQuery,DevExpress),function(n,t,i){var h={iPhone:"iPhone",iPhone5:"iPhone 5",iPad:"iPad",iPadMini:"iPad Mini",androidPhone:"Android Mobile",androidTablet:"Android",win8:"MSAppHost",win8Phone:"Windows Phone 8",msSurface:"MSIE ARM Tablet PC",desktop:"desktop",tizen:"Tizen Mobile"},c={ios:[5,6,7],android:[2,3,4],win8:[8],tizen:[2],desktop:[],generic:[]},f,l=function(n){if(n)f=e(n);else{if(!f){n=i;try{n=y()}catch(t){n=s()}finally{n||(n=s())}f=e(n)}return f}},e=function(t){if(t==="genericPhone")return{deviceType:"phone",platform:"generic",generic:!0};if(n.isPlainObject(t))return r(t);var i;if(t){if(i=h[t],!i)throw Error("Unknown device");}else i=navigator.userAgent;return a(i)},r=function(t){var i={phone:t.deviceType==="phone",tablet:t.deviceType==="tablet",android:t.platform==="android",ios:t.platform==="ios",win8:t.platform==="win8",tizen:t.platform==="tizen",generic:t.platform==="generic"};return n.extend({},o,i,t)},a=function(n){return u.ios(n)||u.android(n)||u.win8(n)||u.tizen(n)||u.desktop(n)||v},o={deviceType:"",platform:"",version:[],phone:!1,tablet:!1,android:!1,ios:!1,win8:!1,tizen:!1,generic:!1},v=n.extend(o,{platform:"generic",deviceType:"phone",generic:!0}),u={ios:function(n){if(/ip(hone|od|ad)/i.test(n)){var i=/ip(hone|od)/i.test(n),t=n.match(/os (\d+)_(\d+)_?(\d+)?/i),u=t?[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)]:[];return r({deviceType:i?"phone":"tablet",platform:"ios",version:u})}},android:function(n){if(/android|htc_|silk/i.test(n)){var i=/mobile/i.test(n),t=n.match(/android (\d+)\.(\d+)\.?(\d+)?/i),u=t?[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)]:[];return r({deviceType:i?"phone":"tablet",platform:"android",version:u})}},win8:function(n){var u=/windows phone/i.test(n),i=/msie(.*)arm(.*)tablet\spc/i.test(n),e=!i&&/msapphost/i.test(n),t,f;if(u||i||e)return t=n.match(/windows phone (\d+).(\d+)/i)||n.match(/windows nt (\d+).(\d+)/i),f=t?[parseInt(t[1],10),parseInt(t[2],10)]:[],r({deviceType:u?"phone":i?"tablet":"desktop",platform:"win8",version:f})},tizen:function(n){if(/tizen/i.test(n)){var i=/mobile/i.test(n),t=n.match(/tizen (\d+)\.(\d+)/i),u=t?[parseInt(t[1],10),parseInt(t[2],10)]:[];return r({deviceType:i?"phone":"tablet",platform:"tizen",version:u})}},desktop:function(n){if(/desktop/i.test(n))return r({deviceType:"desktop",platform:"desktop"})}},y=function(){var n;return(window.top["dx-force-device-object"]||window.top["dx-force-device"])&&(n=window.top["dx-force-device-object"]||window.top["dx-force-device"]),n},s=function(){return window.sessionStorage&&(sessionStorage.getItem("dx-force-device")||sessionStorage.getItem("dx-simulator-device"))},p=function(t){var i=c[t.platform],r=t.version&&t.version[0],u=i[i.length-1],f,e;return r?(f=n.inArray(parseInt(r,10),i)!==-1,e=f?r:u," dx-version-major-"+e):u?" dx-version-major-"+u:""};t.devices={attachCss:function(t,i){var u=n(t),r;i=i||this.current(),r=i.deviceType?" dx-device-"+i.deviceType:"",u.addClass("dx-theme-"+i.platform).addClass("dx-theme-"+i.platform+"-typography").addClass(r).addClass(p(i))},current:l,real:e(),isRippleEmulator:function(){return!!window.tinyHippos},isSimulator:function(){try{return window.top!==window.self&&window.top["dx-force-device"]}catch(n){return!1}}}}(jQuery,DevExpress),function(n,t){var f=/(webkit)[ \/]([\w.]+)/,e=/(opera)(?:.*version)?[ \/]([\w.]+)/,o=/(msie) ([\w.]+)/,s=/(mozilla)(?:.*? rv:([\w.]+))?/,u=navigator.userAgent.toLowerCase(),h=function(){var n={},t=f.exec(u)||e.exec(u)||o.exec(u)||u.indexOf("compatible")<0&&s.exec(u)||[],i=t[1],r=t[2];return i&&(n[i]=!0,n.version=r),n}();t.browser=h}(jQuery,DevExpress,this),function(n,t,i){var e=["","Webkit","Moz","O","ms"],o=document.createElement("dx").style,s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MsTransitionEnd",transition:"transitionend"},u=function(n){var i,u,r;for(n=t.inflector.camelize(n,!0),i=0,u=e.length;i<u;i++)if(r=e[i]+n,r in o)return r},r=function(n){return!!u(n)},f=t.devices.real.ios&&t.devices.real.deviceType==="tablet"&&i.devicePixelRatio>1,h=(t.devices.real.deviceType==="desktop"||t.devices.isSimulator())&&t.browser.msie;t.support={touch:"ontouchstart"in i,pointer:i.navigator.pointerEnabled,transform3d:!h&&!f&&r("perspective"),transition:!f&&r("transition"),transitionEndEventName:s[u("transition")],animation:!f&&r("animation"),winJS:"WinJS"in i,styleProp:u,supportProp:r,hasKo:!!i.ko,hasNg:!i.ko&&!!i.angular,inputType:function(n){if(n==="text")return!0;var t=document.createElement("input");try{return t.setAttribute("type",n),t.value="wrongValue",!t.value}catch(i){return!1}}}}(jQuery,DevExpress,this),function(n,t,i){var v=/left|right/,y=/top|bottom/,s=/fit|flip|none/,f=function(n){switch(typeof n){case"string":return n.split(/\s+/,2);case"object":return[n.x||n.h,n.y||n.v];case"number":return[n];default:return n}},h=function(t){var i={h:"center",v:"center"},r=f(t);return r&&n.each(r,function(){var n=String(this).toLowerCase();v.test(n)?i.h=n:y.test(n)&&(i.v=n)}),i},p=function(n){var t=f(n),i=parseInt(t&&t[0],10),r=parseInt(t&&t[1],10);return isFinite(i)||(i=0),isFinite(r)||(r=i),{h:i,v:r}},w=function(n){var t=f(n),i=String(t&&t[0]).toLowerCase(),r=String(t&&t[1]).toLowerCase();return s.test(i)||(i="none"),s.test(r)||(r=i),{h:i,v:r}},c=function(n){switch(n){case"center":return.5;case"right":case"bottom":return 1;default:return 0}},e=function(n){switch(n){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top";default:return n}},o=function(n){n.myLocation=n.atLocation+c(n.atAlign)*n.atSize-c(n.myAlign)*n.mySize+n.offset},r={fit:function(n,t){var i=!1;return n.myLocation>t.max&&(n.myLocation=t.max,i=!0),n.myLocation<t.min&&(n.myLocation=t.min,i=!0),i},flip:function(t,i){if(t.myAlign==="center"&&t.atAlign==="center")return!1;if(t.myLocation<i.min||t.myLocation>i.max){var r=n.extend({},t,{myAlign:e(t.myAlign),atAlign:e(t.atAlign),offset:-t.offset});if(o(r),r.myLocation>=i.min&&r.myLocation<=i.max||r.myLocation>t.myLocation)return t.myLocation=r.myLocation,!0}return!1}},u,b={h:{location:0,flip:!1,fit:!1},v:{location:0,flip:!1,fit:!1}},l=function(f,e){var y=n(f),g=y.offset(),v=n.extend(!0,{},b,{h:{location:g.left},v:{location:g.top}}),k,d;if(!e)return v;var nt=h(e.my),tt=h(e.at),s=e.of||window,it=p(e.offset),rt=w(e.collision),c={mySize:y.outerWidth(),myAlign:nt.h,atAlign:tt.h,offset:it.h,collision:rt.h},l={mySize:y.outerHeight(),myAlign:nt.v,atAlign:tt.v,offset:it.v,collision:rt.v};return s.preventDefault?(c.atLocation=s.pageX,l.atLocation=s.pageY,c.atSize=0,l.atSize=0):(s=n(s),n.isWindow(s[0])?(c.atLocation=s.scrollLeft(),l.atLocation=s.scrollTop(),c.atSize=s.width(),l.atSize=s.height()):s[0].nodeType===9?(c.atLocation=0,l.atLocation=0,c.atSize=s.width(),l.atSize=s.height()):(k=s.offset(),c.atLocation=k.left,l.atLocation=k.top,c.atSize=s.outerWidth(),l.atSize=s.outerHeight())),o(c),o(l),d=function(){var r=n(window),f=r.width(),e=r.height(),o=r.scrollLeft(),s=r.scrollTop(),h=document.width>document.documentElement.clientWidth,v=document.height>document.documentElement.clientHeight,y=t.support.touch?document.documentElement.clientWidth/(v?f-u:f):1,p=t.support.touch?document.documentElement.clientHeight/(h?e-u:e):1;return u===i&&(u=a()),{h:{min:o,max:o+r.width()/y-c.mySize},v:{min:s,max:s+r.height()/p-l.mySize}}}(),r[c.collision]&&(v.h[c.collision]=r[c.collision](c,d.h)),r[l.collision]&&(v.v[l.collision]=r[l.collision](l,d.v)),n.extend(!0,v,{h:{location:Math.round(c.myLocation)},v:{location:Math.round(l.myLocation)}}),v},k=function(t,i){var u=n(t),r;return i?(r=i.h&&i.v?i:l(u,i),u.offset({left:r.h.location,top:r.v.location}),r):u.offset()},a;n.extend(t,{calculatePosition:l,position:k,inverseAlign:e}),a=function(){var t=n("<div>").css({width:100,height:100,overflow:"scroll",position:"absolute",top:-9999}).appendTo(n("body")),i=t.get(0).offsetWidth-t.get(0).clientWidth;return t.remove(),i}}(jQuery,DevExpress),function(n,t){var r={},u=function(t,i){if(n.isPlainObject(t)){n.each(t,u);return}r[t]=i},e=function(){var i=n.makeArray(arguments);n.each(i,function(){delete r[this]})},f;u({func:{execute:function(t){n.isFunction(t.action)&&(t.result=t.action.apply(t.context,t.args),t.handled=!0)}},url:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)!=="#"&&(document.location=n.action)}},hash:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)==="#"&&(document.location.hash=n.action)}}}),f=t.Class.inherit({ctor:function(t,i){i=i||{},this._action=t||n.noop,this._context=i.context||window,this._beforeExecute=i.beforeExecute||n.noop,this._afterExecute=i.afterExecute||n.noop,this._component=i.component,this._excludeValidators=i.excludeValidators},execute:function(){var n={action:this._action,args:Array.prototype.slice.call(arguments),context:this._context,component:this._component,canceled:!1,handled:!1},t;if(this._validateAction(n))return(this._beforeExecute.call(this._context,n),n.canceled)?void 0:(t=this._executeAction(n),this._afterExecute.call(this._context,n),t)},_validateAction:function(t){var i=this._excludeValidators;return n.each(r,function(r,u){if(!i||!(n.inArray(r,i)>-1))return u.validate&&u.validate(t),t.canceled?!1:void 0}),!t.canceled},_executeAction:function(t){var i;return n.each(r,function(n,r){return r.execute&&r.execute(t),t.handled?(i=t.result,!1):void 0}),i}}),n.extend(t,{registerActionExecutor:u,unregisterActionExecutor:e,Action:f})}(jQuery,DevExpress),function(n,t,i){function fr(t,i){return(t.textContent||t.innerText||n(t).text()||"").toLowerCase().indexOf((i||"").toLowerCase())>-1}function tt(t,r){var e,u,f;for(f in r)(e=t[f],u=r[f],t!==u)&&(n.isPlainObject(u)?t[f]=tt(n.isPlainObject(e)?e:{},u):u!==i&&(t[f]=u));return t}var it=Math.PI,rt=Math.LN10,ut=Math.cos,ft=Math.sin,l=Math.abs,et=Math.log,ot=Math.floor,st=Math.ceil,ht=Math.max,er=Math.min,a=window.isNaN,w=window.Number,ct=window.NaN,f=["millisecond","second","minute","hour","day","week","month","quarter","year"],lt=function(n){return n!==null&&n!==i},o=function(t){return n.type(t)==="string"},s=function(t){return n.isNumeric(t)},v=function(t){return n.type(t)==="object"},at=function(t){return n.type(t)==="array"},b=function(t){return n.type(t)==="date"},vt=function(t){return n.type(t)==="function"},r=function(n){switch(n){case"millisecond":return 1;case"second":return r("millisecond")*1e3;case"minute":return r("second")*60;case"hour":return r("minute")*60;case"day":return r("hour")*24;case"week":return r("day")*7;case"month":return r("day")*30;case"quarter":return r("month")*3;case"year":return r("day")*365;default:return 0}},h=function(n,t){return r(n)*t},yt=function(n){for(var t,i,f=["millisecond","second","minute","hour","day","month","year"],e={},u=f.length-1;u>=0;u--)i=f[u],t=Math.floor(n/r(i)),t>0&&(e[i+"s"]=t,n-=h(i,t));return e},pt=function(t){var i=0;return v(t)&&n.each(t,function(n,t){i+=h(n.substr(0,n.length-1),t)}),o(t)&&(i=h(t,1)),i},wt=function(t,i){var r,u=0;return r={year:t.getFullYear()!==i.getFullYear(),month:t.getMonth()!==i.getMonth(),day:t.getDate()!==i.getDate(),hour:t.getHours()!==i.getHours(),minute:t.getMinutes()!==i.getMinutes(),second:t.getSeconds()!==i.getSeconds()},n.each(r,function(n,t){t&&u++}),r.count=u,r},bt=function(n,t){return n&&t&&n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()},kt=function(n){return new Date(n.getFullYear(),n.getMonth(),1)},y=function(n){var t,i;return s(n)&&(t=n.toString(),i=t.indexOf("."),i>=0)?c(n)?t.substr(i+1,t.indexOf("e")-i-1):(t=n.toFixed(20),t.substr(i+1,t.length-i+1)):""},dt=function(n){var i=y(n),t;if(i)for(t=0;t<i.length;t++)if(i.charAt(t)!=="0")return t+1;return 0},u=function(n,t,i){return n+(i?-1:1)*t},c=function(n){return s(n)&&n.toString().indexOf("e")!==-1},gt=function(n,t,i){var r=null,f;return b(n)?(f=o(t)?g(t.toLowerCase()):t,r=new Date(n.getTime()),f.years&&r.setFullYear(u(r.getFullYear(),f.years,i)),f.quarters&&r.setMonth(u(r.getMonth(),3*f.quarters,i)),f.months&&r.setMonth(u(r.getMonth(),f.months,i)),f.weeks&&r.setDate(u(r.getDate(),7*f.weeks,i)),f.days&&r.setDate(u(r.getDate(),f.days,i)),f.hours&&r.setHours(u(r.getHours(),f.hours,i)),f.minutes&&r.setMinutes(u(r.getMinutes(),f.minutes,i)),f.seconds&&r.setSeconds(u(r.getSeconds(),f.seconds,i)),f.milliseconds&&r.setMilliseconds(u(n.getMilliseconds(),f.milliseconds,i))):r=u(n,t,i),r},k=function(t){var r=-1,i;return o(t)?t:v(t)?(n.each(t,function(n,t){for(i=0;i<f.length;i++)t&&(n===f[i]+"s"||n===f[i])&&r<i&&(r=i)}),f[r]):""},ni=function(n,i){var r,u,f=k(i);switch(f){case"second":n.setMilliseconds(0);break;case"minute":n.setSeconds(0,0);break;case"hour":n.setMinutes(0,0,0);break;case"year":n.setMonth(0);case"month":n.setDate(1);case"day":n.setHours(0,0,0,0);break;case"week":r=n.getDate(),n.getDay()!==0&&(r+=7-n.getDay()),n.setDate(r),n.setHours(0,0,0,0);break;case"quarter":u=t.formatHelper.getFirstQuarterMonth(n.getMonth()),n.getMonth()!==u&&n.setMonth(u),n.setDate(1),n.setHours(0,0,0,0)}},p=function(n,t){return t>20&&(t=20),s(n)?c(n)?w(n.toExponential(t)):w(n.toFixed(t)):void 0},d=function(n){var r,u=n.toString(),f=u.indexOf("."),t,i;return c(n)?(i=e(n),i<0?Math.abs(i):0):f!==-1?(t=f+1,r=u.substring(t,t+20),r.length):0},ti=function(n,t,i){var r=d(n),u=d(t);return p(i,r<u?u:r)},ii=function(n){var i=y(n),r,t;if(i)for(t=1;t<=i.length;t++)if(r=p(n,t),r!==0&&i[t-2]&&i[t-1]&&i[t-2]===i[t-1])return r;return n},g=function(n){var t={};switch(n){case"year":t.years=1;break;case"month":t.months=1;break;case"quarter":t.months=3;break;case"week":t.days=7;break;case"day":t.days=1;break;case"hour":t.hours=1;break;case"minute":t.minutes=1;break;case"second":t.seconds=1;break;case"millisecond":t.milliseconds=1}return t},ri=function(n){return(n%360+360)%360},ui=function(n){return 90-n},nt=function(n){return it*n/180},fi=function(n){var t=nt(n);return{cos:ut(t),sin:ft(t)}},ei=1e-14,e=function(n){var t=l(n),i;return a(t)?ct:t>0?(t=et(t)/rt,i=st(t),i-t<ei?i:ot(t)):0},oi=function(n,t,i){var u=ht(e(n),e(t)),r=-e(l(t-n)/i),f;return!a(u)&&!a(r)?(l(u)<=4?(f="fixedPoint",r<0&&(r=0),r>4&&(r=4)):(f="exponential",r+=u-1,r>3&&(r=3)),{format:f,precision:r}):null},si=function(t){var i=n(window),r,u=function(){var n=i.width(),u=i.height();clearTimeout(r),r=setTimeout(function(){i.width()===n&&i.height()===u&&t()},100)};return u.stop=function(){return clearTimeout(r),this},u},hi=function(){function i(i){t&&n.isFunction(t.info)&&t.info(i)}function r(i){t&&n.isFunction(t.warn)&&t.warn(i)}function u(i){t&&n.isFunction(t.error)&&t.error(i)}var t=window.console;return{info:i,warn:r,error:u}}(),ci=function(){function n(n,t){if(!n)throw new Error(t);}function t(t,r){n(t!==null&&t!==i,r)}return{assert:n,assertParam:t}}(),li=function(){var t,r=n.Callbacks(),i=n(window),u=function(){return[i.width(),i.height()].join()},f=function(){var n=u();n!==t&&(t=n,r.fire())};i.on("resize",f);return t=u(),r}(),ai=function(){function r(){var t=n("<input>").addClass("dx-hidden-input").appendTo("body");setTimeout(function(){t.focus(),setTimeout(function(){t.hide(),t.remove()},100)},100)}function u(){var n=document.activeElement;n&&n!==document.body&&n.blur&&n.blur()}var i=t.devices.real.platform==="android"&&/^4\.0(\.\d)?/.test(t.devices.real.version.join("."))&&navigator.userAgent.indexOf("Chrome")===-1;i?r():u()},vi=function(t){var i=n("<div />");return window.WinJS?WinJS.Utilities.setInnerHTMLUnsafe(i.get(0),t):i.append(t),i.contents()},yi=function(){var n=1;return function(){return"DevExpress_"+n++}}(),pi=function(){var n=1;return function(){return"DevExpressPattern_"+n++}}(),wi=function(n,t,i){var r,u;n=n||{};for(r in t)t.hasOwnProperty(r)&&(u=t[r],r in n&&!i||(n[r]=u));return n},bi=function(){function n(){}return function(t){return n.prototype=t,new n}}(),ki=function(t,i){var r=n.Deferred(),u=i||this;return setTimeout(function(){var i=t.call(u);i&&i.done&&n.isFunction(i.done)?i.done(function(){r.resolveWith(u)}):r.resolveWith(u)},0),r.promise()},di=function(n,t){return Math.log(n)/Math.log(t)},gi=function(n,t){return Math.pow(t,n)},nr=function(){for(var t=arguments[0],i,n=0;n<arguments.length-1;n++)i=new RegExp("\\{"+n+"\\}","gm"),t=t.replace(i,arguments[n+1]);return t},tr=function(t){var i,r={left:{},top:{}},f=t.getRoot(),u;return f&&(i=f.element,i.getScreenCTM?(u=i.getScreenCTM(),u?(r.left=i.createSVGPoint().matrixTransform(u).x+(document.body.scrollLeft||document.documentElement.scrollLeft),r.top=i.createSVGPoint().matrixTransform(u).y+(document.body.scrollTop||document.documentElement.scrollTop)):(r.left=document.body.scrollLeft||document.documentElement.scrollLeft,r.top=document.body.scrollTop||document.documentElement.scrollTop)):(r.left=n(i).offset().left,r.top=n(i).offset().top)),r},ir=function(t,r,u){var f=[],e=0;return n.each(r,function(r,o){var s=0,h=u?u(o):o;n.each(h,function(n){var r=t[n];if(r!==h[n]&&r!==i)return s=0,!1;s++}),s===e&&s>0?f.push(o):s>e&&(f.length=0,f.push(o),e=s)}),f},rr=function(n){return(n+"").replace(/([\+\*\?\\\.\[\^\]\$\(\)\{\}\>\<\|\=\!\:])/g,"\\$1")},ur=function(n,t,i){return n.replace(new RegExp("("+rr(t)+")","gi"),i)};n.expr[":"].dxicontains=n.expr.createPseudo(function(n){return function(t){return fr(t,n)}}),t.utils={dateUnitIntervals:f,isDefined:lt,isString:o,isNumber:s,isObject:v,isArray:at,isDate:b,isFunction:vt,getLog:di,raiseTo:gi,normalizeAngle:ri,convertAngleToRendererSpace:ui,degreesToRadians:nt,getCosAndSin:fi,getDecimalOrder:e,getAppropriateFormat:oi,getFraction:y,adjustValue:ii,convertMillisecondsToDateUnits:yt,convertDateTickIntervalToMilliseconds:pt,convertDateUnitToMilliseconds:h,getDateUnitInterval:k,getDatesDifferences:wt,correctDateWithUnitBeginning:ni,roundValue:p,isExponential:c,applyPrecisionByMinDelta:ti,getSignificantDigitPosition:dt,addInterval:gt,getDateIntervalByString:g,sameMonthAndYear:bt,getFirstMonthDate:kt,logger:hi,debug:ci,createResizeHandler:si,windowResizeCallbacks:li,resetActiveElement:ai,createMarkupFromString:vi,getNextClipId:yi,getNextPatternId:pi,extendFromObject:wi,clone:bi,executeAsync:ki,stringFormat:nr,getRootOffset:tr,findBestMatches:ir,replaceAll:ur,deepExtendArraySafe:tt}}(jQuery,DevExpress),function(n,t,i){var u=t.support,e=/matrix(3d)?\((.+?)\)/,o=/translate(?:3d)?\((.+?)\)/,s=function(n){var t,i,f;return u.transform3d?(f=r(n),t={left:f.x,top:f.y}):(i=n.position(),t={left:i.left,top:i.top}),t},h=function(n,t,e){if(e=e||{},!u.transform3d&&!e.cssTransform){n.css(t);return}var o=r(n),s=t.left,h=t.top;s!==i&&(o.x=s),h!==i&&(o.y=h),n.css({transform:f(o),transformOrigin:"0% 0%"})},r=function(n){var i=n.css("transform")||"translate3d(0, 0, 0)",t=i.match(e),r=t&&t[1];return t?(t=t[2].split(","),r==="3d"?t=t.slice(12,15):(t.push(0),t=t.slice(4,7))):t=[0,0,0],{x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},c=function(n){var t=n.match(o);if(t&&t[1])return t=t[1].split(","),t={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},f=function(n){return"translate3d("+(n.x||0)+"px, "+(n.y||0)+"px, "+(n.z||0)+"px) scale(1)"};t.translator={move:h,locate:s,parseTranslate:c,getTranslate:r,getTranslateCss:f}}(jQuery,DevExpress),function(n,t){t.Animator=t.Class.inherit({ctor:function(){this._finished=!0,this._stopped=!1},start:function(){this._stopped=!1,this._finished=!1,this._stepCore()},stop:function(){this._stopped=!0},_stepCore:function(){if(this._isStopped()){this._stop();return}if(this._isFinished()){this._finished=!0,this._complete();return}this._step(),t.requestAnimationFrame.call(window,n.proxy(this._stepCore,this))},_step:t.abstract,_isFinished:n.noop,_stop:n.noop,_complete:n.noop,_isStopped:function(){return this._stopped},inProgress:function(){return!(this._stopped||this._finished)}})}(jQuery,DevExpress),function(n,t,i){var f=t.translator,o=t.support,e=o.transitionEndEventName+".dxFX",w=/cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/,s="dxSimulatedTransitionTimeoutKey",u="dxAnimData",r="transform",b=1e3/60,k={animate:function(t,i){var r=n.Deferred(),u=n.Deferred(),o=n.Deferred();t.one(e,function(){u.reject()});return t.data(s,setTimeout(function(){o.reject()},i.duration+i.delay)),n.when(u,o).fail(n.proxy(function(){this._cleanup(t),r.resolveWith(t,[i,t])},this)),f.getTranslate(t),t.css({transitionProperty:"all",transitionDelay:i.delay+"ms",transitionDuration:i.duration+"ms",transitionTimingFunction:i.easing}),y(t,i.to),i.duration||t.trigger(e),r.promise()},_cleanup:function(n){n.css("transition","none").off(e);var t=n.data(s);clearTimeout(t),n.removeData(s)},stop:function(t,i){var r=t.data(u);r&&(i?t.trigger(e):(n.each(r.to,function(n){t.css(n,t.css(n))}),this._cleanup(t)))}},d=t.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTimeout(n,b)}}(),h={animate:function(t,e){var h=n.Deferred(),s=t.data(u),o=this;return s?(n.each(e.to,function(n){e.from[n]===i&&(e.from[n]=o._normalizeValue(t.css(n)))}),e.to[r]&&(e.from[r]=o._parseTransform(e.from[r]),e.to[r]=o._parseTransform(e.to[r])),s.frameAnimation={to:e.to,from:e.from,currentValue:e.from,easing:tt(e.easing),duration:e.duration,startTime:(new Date).valueOf(),finish:function(){this.currentValue=this.to,this.draw(),h.resolve()},draw:function(){var i=n.extend({},this.currentValue);i[r]&&(i[r]=n.map(i[r],function(n,t){return t==="translate"?f.getTranslateCss(n):t==="scale"?"scale("+n+")":t.substr(0,t.length-1)==="rotate"?t+"("+n+"deg)":void 0}).join(" ")),t.css(i)}},e.delay?(s.frameAnimation.startTime+=e.delay,s.frameAnimation.delayTimeout=setTimeout(function(){o._animationStep(t)},e.delay)):o._animationStep(t),h.promise()):h.reject().promise()},_parseTransform:function(t){var i={};return n.each(t.match(/(\w|\d)+\([^\)]*\)\s*/g),function(n,t){var e=f.parseTranslate(t),u=t.match(/scale\((.+?)\)/),r=t.match(/(rotate.)\((.+)deg\)/);e&&(i.translate=e),u&&u[1]&&(i.scale=parseFloat(u[1])),r&&r[1]&&(i[r[1]]=parseFloat(r[2]))}),i},stop:function(n,t){var r=n.data(u),i=r&&r.frameAnimation;i&&(clearTimeout(i.delayTimeout),t&&i.finish())},_animationStep:function(t){var f=t.data(u),i=f&&f.frameAnimation,r;if(i){if(r=(new Date).valueOf(),r>=i.startTime+i.duration){i.finish();return}i.currentValue=this._calcStepValue(i,r-i.startTime),i.draw(),d(n.proxy(function(){this._animationStep(t)},this))}},_calcStepValue:function(t,i){var r=function(u,f){var e=n.isArray(f)?[]:{},o=function(r){var e=i/t.duration,o=i,s=1*u[r],h=f[r]-u[r],c=t.duration;return n.easing[t.easing](e,o,s,h,c)};return n.each(f,function(n,t){if(typeof t=="string"&&parseFloat(t,10)===!1)return!0;e[n]=typeof t=="object"?r(u[n],t):o(n)}),e};return r(t.from,t.to)},_normalizeValue:function(n){var t=parseFloat(n,10);return t===!1?n:t}},g={transition:o.transition?k:h,frame:h},c=function(n){return g[n&&n.strategy||"transition"]},nt={linear:"cubic-bezier(0, 0, 1, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)"},tt=function(t){var i,r,u;return(t=nt[t]||t,i=t.match(w),!i)?"linear":(i=i.slice(1,5),n.each(i,function(n,t){i[n]=parseFloat(t)}),r="cubicbezier_"+i.join("_").replace(/\./g,"p"),n.isFunction(n.easing[r])||(u=function(n,t,i,r){var u=3*n,f=3*(i-n)-u,o=1-u-f,e=3*t,s=3*(r-t)-e,h=1-e-s,c=function(n){return n*(u+n*(f+n*o))},l=function(n){return n*(e+n*(s+n*h))},a=function(n){for(var t=n,r=0,i;r<14;){if(i=c(t)-n,Math.abs(i)<.001)break;t=t-i/v(t),r++}return t},v=function(n){return u+n*(2*f+n*3*o)};return function(n){return l(a(n))}},n.easing[r]=function(n,t,r,f,e){return f*u(i[0],i[1],i[2],i[3])(t/e)+r}),r)},l=function(t,i){n.each(["from","to"],function(){if(!n.isPlainObject(t[this]))throw Error("Animation with the '"+i+"' type requires '"+this+"' configuration as an plain object.");})},it={setup:function(){}},rt={validateConfig:function(n){l(n,"slide")},setup:function(n,t){o.transform3d&&(this._resetLocation(n),this._locationToTranslate(n,t.from),this._locationToTranslate(n,t.to))},_resetLocation:function(n){n.css({top:0,left:0})},_locationToTranslate:function(n,t){var u=f.getTranslate(n),e=t.left,o=t.top;e!==i&&(u.x=e,delete t.left),o!==i&&(u.y=o,delete t.top),t[r]=f.getTranslateCss(u)}},ut={setup:function(t,i){var r=i.from,u=n.isPlainObject(r)?t.css("opacity"):String(r),f=String(i.to);i.from={opacity:u},i.to={opacity:f}}},ft={validateConfig:function(n){l(n,"pop")},setup:function(n,t){var i=t.from,u=t.to,f="opacity"in i?i.opacity:n.css("opacity"),e="opacity"in u?u.opacity:1,o="scale"in i?i.scale:0,s="scale"in u?u.scale:1;t.from={opacity:f},t.from[r]=this._getCssTransform(o),t.to={opacity:e},t.to[r]=this._getCssTransform(s)},_getCssTransform:function(n){return"scale("+n+")"}},a={custom:it,slide:rt,fade:ut,pop:ft},et=function(n){var t=a[n];if(!t)throw Error('Unknown animation type "'+n+'"');return t},ot={type:"custom",from:{},to:{},duration:400,complete:n.noop,easing:"ease",delay:0},st=function(t,i){i=n.extend(!0,{},ot,i);var r=n(t),u=et(i.type);return r.length?(v(r,i.from),v(r,i.to),n.isFunction(u.validateConfig)&&u.validateConfig(i),u.setup(r,i),p(r),y(r,i.from),ht(r,i).done(i.complete)):n.Deferred().resolve().promise()},v=function(i,r){if(r.position){var u=t.calculatePosition(i,r.position);n.extend(r,{left:u.h.location,top:u.v.location}),delete r.position}},y=function(t,i){n.each(i,function(n,i){t.css(n,i)})},ht=function(i,r){var f=n.Deferred();return i.data(u,r),t.fx.off&&(r.duration=0),c(r).animate(i,r).done(function(){i.removeData(u),f.resolveWith(this,[i,r])}),f.promise()},ct=function(n){return!!n.data(u)},p=function(t,i){var r=n(t);c(r.data(u)).stop(r,i),r.removeData(u)};t.fx={off:!1,animationTypes:a,animate:st,animating:ct,stop:p}}(jQuery,DevExpress),function(n,t){function e(n){return/^(localhost$|127\.)/i.test(n)}var r=window.location,u="dxproxy.devexpress.com:8000",f=r.protocol==="ms-appx:",o=r.host===u,s=e(r.hostname),h=function(){return r.pathname.split("/")[1]},c=function(n){var i=t.parseUrl(n);return e(i.hostname)?"http://"+u+"/"+h()+"_"+i.port+i.pathname+i.search:n},l=t.EndpointSelector=function(n){this.config=n};l.prototype={urlFor:function(n){var t=this.config[n];if(!t)throw Error("Unknown endpoint key");return o?c(t.local):t.production&&(f&&!Debug.debuggerEnabled||!f&&!s)?t.production:t.local}}}(jQuery,DevExpress),function(n,t,i){var r=t.utils,f,u;t.NumericFormat={currency:"C",fixedpoint:"N",exponential:"",percent:"P",decimal:"D"},t.LargeNumberFormatPostfixes={1:"K",2:"M",3:"B",4:"T"},f=4,u=10,t.LargeNumberFormatPowers={largenumber:"auto",thousands:1,millions:2,billions:3,trillions:4},t.DateTimeFormat={longdate:"D",longtime:"T",monthandday:"M",monthandyear:"Y",quarterandyear:"qq",shortdate:"d",shorttime:"t",millisecond:"fff",second:"T",minute:"t",hour:"t",day:"dd",week:"dd",month:"MMMM",quarter:"qq",year:"yyyy",longdatelongtime:"D",shortdateshorttime:"d"},t.formatHelper={romanDigits:["I","II","III","IV"],_addFormatSeparator:function(n,t){var i=" ";return t?n+i+t:n},_getDateTimeFormatPattern:function(n){return Globalize.findClosestCulture().calendar.patterns[t.DateTimeFormat[n.toLowerCase()]]},_isDateFormatContains:function(i){var r=!1;return n.each(t.DateTimeFormat,function(n){return r=n===i.toLowerCase(),!r}),r},getQuarter:function(n){return Math.floor(n/3)},getQuarterString:function(n,t){var i="",r=this.getQuarter(n.getMonth());switch(t){case"q":i=this.romanDigits[r];break;case"qq":i="Q"+this.romanDigits[r];break;case"Q":i=(r+1).toString();break;case"QQ":i="Q"+(r+1).toString()}return i},getFirstQuarterMonth:function(n){return this.getQuarter(n)*3},_formatCustomString:function(n,t){for(var f=/qq|q|QQ|Q/g,i,u="",r=0;r<t.length;)i=f.exec(t),(!i||i.index>r)&&(u+=Globalize.format(n,t.substring(r,i?i.index:t.length))),i?(u+=this.getQuarterString(n,i[0]),r=i.index+i[0].length):r=t.length;return u},_parseNumberFormatString:function(i){var u,r={};if(i&&typeof i=="string")return u=i.toLowerCase().split(" "),n.each(u,function(n,i){i in t.NumericFormat?r.formatType=i:i in t.LargeNumberFormatPowers&&(r.power=t.LargeNumberFormatPowers[i])}),r.power&&!r.formatType&&(r.formatType="fixedpoint"),r.formatType?r:void 0},_calculateNumberPower:function(n,t,r,u){var f=Math.abs(n),e=0;if(f>1)while(f&&f>=t&&(u===i||e<u))e++,f=f/t;else if(f>0&&f<1)while(f<1&&(r===i||e>r))e--,f=f*t;return e},_getNumberByPower:function(n,t,i){for(var r=n;t>0;)r=r/i,t--;while(t<0)r=r*i,t++;return r},_formatNumber:function(n,i,r){var u;return i.power==="auto"&&(i.power=this._calculateNumberPower(n,1e3,0,f)),i.power&&(n=this._getNumberByPower(n,i.power,1e3)),u=t.LargeNumberFormatPostfixes[i.power]||"",this._formatNumberCore(n,i.formatType,r)+u},_formatNumberExponential:function(n,t){var r=this._calculateNumberPower(n,u),f=this._getNumberByPower(n,r,u),e;return t=t===i?1:t,f.toFixed(t||0)>=u&&(r++,f=f/u),e=(r>=0?"+":"")+r.toString(),this._formatNumberCore(f,"fixedpoint",t)+"E"+e},_formatNumberCore:function(n,i,u){return i==="exponential"?this._formatNumberExponential(n,u):Globalize.format(n,t.NumericFormat[i]+(r.isNumber(u)?u:0))},_formatDate:function(n,i){var u=t.DateTimeFormat[i.toLowerCase()];return(i=i.toLowerCase(),i==="quarterandyear"&&(u=this.getQuarterString(n,u)+" yyyy"),i==="quarter")?this.getQuarterString(n,u):i==="longdatelongtime"?this._formatDate(n,"longdate")+" "+this._formatDate(n,"longtime"):i==="shortdateshorttime"?this._formatDate(n,"shortDate")+" "+this._formatDate(n,"shortTime"):Globalize.format(n,u)},format:function(n,t,i){if(t&&t.format){if(t.dateType)return this._formatDateEx(n,t);if(r.isNumber(n)&&isFinite(n))return this._formatNumberEx(n,t)}return this._format(n,t,i)},_format:function(n,t,i){var u;return!r.isString(t)||t===""||!r.isNumber(n)&&!r.isDate(n)?r.isDefined(n)?n.toString():"":(u=this._parseNumberFormatString(t),r.isNumber(n)&&u)?this._formatNumber(n,u,i):r.isDate(n)&&this._isDateFormatContains(t)?this._formatDate(n,t):!u&&!this._isDateFormatContains(t)?this._formatCustomString(n,t):void 0},_formatNumberEx:function(n,i){var a=this,v=t.NumericFormat[i.format.toLowerCase()],f=Globalize.culture().numberFormat,w=i.currencyCulture&&Globalize.cultures[i.currencyCulture]?Globalize.cultures[i.currencyCulture].numberFormat.currency:f.currency,b=f.percent,c=a._getUnitFormatSettings(n,i),k=c.unit,y=c.precision,nt=c.showTrailingZeros,tt=c.includeGroupSeparator,it=f[","],rt=f["."],r,l,o,u,d=/n|\$|-|%/g,e="",s,p,g,h;n=a._applyUnitToValue(n,k),r=Math.abs(n),l=n<0;switch(v){case"D":if(o="n",r=Math[l?"ceil":"floor"](r),y>0){for(s=""+r,p=s.length;p<y;p+=1)s="0"+s;r=s}l&&(r="-"+r);break;case"N":u=f;case"C":u=u||w;case"P":u=u||b,o=l?u.pattern[0]:u.pattern[1]||"n",r=Globalize.format(r*(v==="P"?100:1),"N"+y),nt||(r=a._excludeTrailingZeros(r,rt)),tt||(r=r.replace(new RegExp("\\"+it,"g"),""));break;default:throw"Illegal numeric format: '"+v+"'";}for(;;)if(g=d.lastIndex,h=d.exec(o),e+=o.slice(g,h?h.index:o.length),h)switch(h[0]){case"-":/[1-9]/.test(r)&&(e+=f["-"]);break;case"$":e+=w.symbol;break;case"%":e+=b.symbol;break;case"n":e+=r+k}else break;return(i.plus&&n>0?"+":"")+e},_excludeTrailingZeros:function(n,t){var u=n.indexOf(t),r,i;if(u<0)return n;for(r=n.length,i=r-1;i>=u&&(n[i]==="0"||i===u);i--)r--;return n.substring(0,r)},_getUnitFormatSettings:function(n,t){var e=t.unit||"",u=t.precision||0,h=t.includeGroupSeparator||!1,s=t.showTrailingZeros===i?!0:t.showTrailingZeros,f=t.significantDigits||1,r,o;if(e.toLowerCase()==="auto")if(s=!1,r=Math.abs(n),f<1&&(f=1),r>=1e9?(e="B",r/=1e9):r>=1e6?(e="M",r/=1e6):r>=1e3?(e="K",r/=1e3):e="",r==0)u=0;else if(r<1)for(u=f,o=Math.pow(10,-f);r<o;)o/=10,u++;else u=r>=100?f-3:r>=10?f-2:f-1;return u<0&&(u=0),{unit:e,precision:u,showTrailingZeros:s,includeGroupSeparator:h}},_applyUnitToValue:function(n,t){return t=="B"?n.toFixed(1)/1e9:t=="M"?n/1e6:t=="K"?n/1e3:n},_formatDateEx:function(t,r){var f=this,l="Q",c=r.format,u=r.dateType,h=Globalize.culture().calendars.standard,o=i,s,e;if(c=c.toLowerCase(),u!=="num"||c==="dayofweek")switch(c){case"monthyear":return f._formatDate(t,"monthandyear");case"quarteryear":return f.getQuarterString(t,"QQ")+" "+t.getFullYear();case"daymonthyear":return f._formatDate(t,u+"Date");case"datehour":return o=new Date(t.getTime()),o.setMinutes(0),e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(o,"shorttime"):e+" "+f._formatDate(o,"shorttime");case"datehourminute":return e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(t,"shorttime"):e+" "+f._formatDate(t,"shorttime");case"datehourminutesecond":return e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(t,"longtime"):e+" "+f._formatDate(t,"longtime");case"year":return e=t.toString(),u==="abbr"?e.slice(2,4):e;case"quarter":return l+t.toString();case"month":return s=t-1,u==="abbr"?h.months.namesAbbr[s]:h.months.names[s];case"hour":return u==="long"?(o=new Date,o.setHours(t),o.setMinutes(0),f._formatDate(o,"shorttime")):t.toString();case"dayofweek":return s=n.inArray(t,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]),u!=="num"?u==="abbr"?h.days.namesAbbr[s]:h.days.names[s]:((s-h.firstDay+1+7)%8).toString();default:return t.toString()}else return t.toString()},getTimeFormat:function(n){return n?this._getDateTimeFormatPattern("longtime"):this._getDateTimeFormatPattern("shorttime")},getDateFormatByDifferences:function(n){var i="";return(n.millisecond&&(i=t.DateTimeFormat.millisecond),(n.hour||n.minute||n.second)&&(i=this._addFormatSeparator(this.getTimeFormat(n.second),i)),n.year&&n.month&&n.day)?this._addFormatSeparator(this._getDateTimeFormatPattern("shortdate"),i):n.year&&n.month?t.DateTimeFormat.monthandyear:n.year?t.DateTimeFormat.year:n.month&&n.day?this._addFormatSeparator(this._getDateTimeFormatPattern("monthandday"),i):n.month?t.DateTimeFormat.month:n.day?this._addFormatSeparator("dddd, dd",i):i},getDateFormatByTicks:function(n){var f,t,u,i,e;if(n.length>1)for(t=r.getDatesDifferences(n[0],n[1]),i=1;i<n.length-1;i++)u=r.getDatesDifferences(n[i],n[i+1]),t.count<u.count&&(t=u);else t={year:!0,month:!0,day:!0,hour:n[0].getHours()>0,minute:n[0].getMinutes()>0,second:n[0].getSeconds()>0};return f=this.getDateFormatByDifferences(t)},getDateFormatByTickInterval:function(n,t,i){var e,u,f,s={quarter:"month",week:"day"},o=function(n,t,i){switch(t){case"year":n.month=i;case"quarter":case"month":n.day=i;case"week":case"day":n.hour=i;case"hour":n.minute=i;case"minute":n.second=i;case"second":n.millisecond=i}},h=function(n,t,i){!i.getMilliseconds()&&i.getSeconds()?i.getSeconds()-t.getSeconds()==1&&(n.millisecond=!0,n.second=!1):!i.getSeconds()&&i.getMinutes()?i.getMinutes()-t.getMinutes()==1&&(n.second=!0,n.minute=!1):!i.getMinutes()&&i.getHours()?i.getHours()-t.getHours()==1&&(n.minute=!0,n.hour=!1):!i.getHours()&&i.getDate()>1?i.getDate()-t.getDate()==1&&(n.hour=!0,n.day=!1):i.getDate()===1&&i.getMonth()?i.getMonth()-t.getMonth()==1&&(n.day=!0,n.month=!1):!i.getMonth()&&i.getFullYear()&&i.getFullYear()-t.getFullYear()==1&&(n.month=!0,n.year=!1)};return i=r.isString(i)?i.toLowerCase():i,u=r.getDatesDifferences(n,t),n!==t&&h(u,n>t?t:n,n>t?n:t),f=r.getDateUnitInterval(u),o(u,f,!0),f=r.getDateUnitInterval(i||"second"),o(u,f,!1),u[s[f]||f]=!0,e=this.getDateFormatByDifferences(u)}}}(jQuery,DevExpress),function(n){function r(n){this.baseColor=n;var t;n&&(t=String(n).toLowerCase().replace(/ /g,""),t=e[t]?"#"+e[t]:t,t=o(t)),t=t||{},this.r=i(t[0]),this.g=i(t[1]),this.b=i(t[2])}function o(n){for(var f,t=0,r=u.length,i;t<r;++t)if(i=u[t].re.exec(n),i)return u[t].process(i);return null}function i(n){return n<0||isNaN(n)?0:n>255?255:n}function s(n,t,i){return"#"+(16777216|n<<16|t<<8|i).toString(16).slice(1)}var e={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},u=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(n){return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)]}},{re:/^#(\w{2})(\w{2})(\w{2})$/,process:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/^#(\w{1})(\w{1})(\w{1})$/,process:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}}],f=Math.round;r.prototype={constructor:r,highlight:function(n){return n=n||10,this.alter(n).toHex()},darken:function(n){return n=n||10,this.alter(-n).toHex()},alter:function(n){var t=new r;return t.r=i(this.r+n),t.g=i(this.g+n),t.b=i(this.b+n),t},blend:function(n,t){var e=n instanceof r?n:new r(n),u=new r;return u.r=i(f(this.r*(1-t)+e.r*t)),u.g=i(f(this.g*(1-t)+e.g*t)),u.b=i(f(this.b*(1-t)+e.b*t)),u},toHex:function(){return s(this.r,this.g,this.b)}},n.Color=r}(DevExpress),function(n,t){var r=function(){var i={};return{setup:function(n){this.localizeString=function(r){var u=new RegExp("(^|[^a-zA-Z_0-9"+n+"-]+)("+n+"{1,2})([a-zA-Z_0-9-]+)","g"),f=n+n;return r.replace(u,function(r,u,e,o){var s=u+n+o;return e!==f&&(Globalize.cultures["default"].messages[o]?s=u+Globalize.localize(o):i[o]=t.inflector.humanize(o)),s})}},localizeNode:function(t){var i=this;n(t).each(function(t,r){r.nodeType&&(r.nodeType===3?r.nodeValue=i.localizeString(r.nodeValue):(n.each(r.attributes||[],function(n,t){typeof t.value=="string"&&(t.value=i.localizeString(t.value))}),n(r).contents().each(function(n,t){i.localizeNode(t)})))})},getDictionary:function(t){return t?i:n.extend({},i,Globalize.cultures["default"].messages)}}}();r.setup("@"),t.localization=r}(jQuery,DevExpress),Globalize.addCultureInfo("default",{messages:{Yes:"Yes",No:"No",Cancel:"Cancel",Clear:"Clear",Done:"Done",Loading:"Loading...",Select:"Select...",Search:"Search",Back:"Back","dxLookup-searchPlaceholder":"Minimum character number: {0}","dxCollectionContainerWidget-noDataText":"No data to display","dxList-pullingDownText":"Pull down to refresh...","dxList-pulledDownText":"Release to refresh...","dxList-refreshingText":"Refreshing...","dxList-pageLoadingText":"Loading...","dxListEditDecorator-delete":"Delete","dxScrollView-pullingDownText":"Pull down to refresh...","dxScrollView-pulledDownText":"Release to refresh...","dxScrollView-refreshingText":"Refreshing...","dxScrollView-reachBottomText":"Loading...","dxSwitch-onText":"ON","dxSwitch-offText":"OFF"}}),function(n,t,i){var o=t.support.hasKo,s=function(n){return n.replace(/\[/g,".").replace(/\]/g,"")},u=function(n){return o?ko.utils.unwrapObservable(n):n},h=function(n){return o&&ko.isObservable(n)},c=function(n,t){return t==="this"?n:n[t]},l=function(n,t,i){if(t==="this")throw Error("Cannot assign to self");var r=n[t];h(r)?r(i):n[t]=i},f=function(t){if(arguments.length>1&&(t=n.makeArray(arguments)),!t||t==="this")return function(n){return n};if(n.isFunction(t))return t;if(n.isArray(t))return v(t);t=s(t);var i=t.split(".");return function(t,r){r=r||{};var f=u(t);return n.each(i,function(){if(!f)return!1;var t=u(f[this]);n.isFunction(t)&&!r.functionsAsIs&&(t=t.call(f)),f=t}),f}},v=function(t){var r={};return n.each(t,function(){r[this]=f(this)}),function(t,u){var f={};return n.each(r,function(n){var s=this(t,u),e,o,h,r;if(s!==i){for(e=f,o=n.split("."),h=o.length-1,r=0;r<h;r++)e=e[o[r]]={};e[o[r]]=s}}),f}},y=function(r){r=r||"this",r=s(r);var o=r.lastIndexOf("."),a=f(r.substr(0,o)),e=r.substr(1+o);return function(r,f,o){o=o||{};var v=a(r,{functionsAsIs:o.functionsAsIs}),s=c(v,e);o.functionsAsIs||!n.isFunction(s)||h(s)?(s=u(s),o.merge&&n.isPlainObject(f)&&(s===i||n.isPlainObject(s))?(s||l(v,e,{}),t.utils.deepExtendArraySafe(u(c(v,e)),f)):l(v,e,f)):v[e](f)}},p=function(n){return[n[0],n.length<3?"=":n[1].toLowerCase(),n.length<2?!0:n[n.length-1]]},w=function(t){return n.isArray(t)||(t=[t]),n.map(t,function(t){return{selector:n.isFunction(t)||typeof t=="string"?t:t.getter||t.field||t.selector,desc:!!(t.desc||String(t.dir).charAt(0).toLowerCase()==="d")}})},a=t.Class.inherit({ctor:function(n){n&&(n=String(n)),this._value=this._normalize(n||this._generate())},_normalize:function(n){for(n=n.replace(/[^a-f0-9]/ig,"").toLowerCase();n.length<32;)n+="0";return[n.substr(0,8),n.substr(8,4),n.substr(12,4),n.substr(16,4),n.substr(20,12)].join("-")},_generate:function(){for(var t="",n=0;n<32;n++)t+=Math.round(Math.random()*15).toString(16);return t},toString:function(){return this._value},valueOf:function(){return this._value},toJSON:function(){return this._value}}),r=function(n,t){return n instanceof Date?n.getTime():n instanceof a?n.valueOf():!t&&typeof n=="string"?n.toLowerCase():n},b=function(t,i,u){var e,o,f;if(n.isArray(t)){for(e=n.map(i,function(n,t){return t}),f=0;f<e.length;f++)if(o=e[f],r(i[o],!0)!=r(u[o],!0))return!1;return!0}return r(i,!0)==r(u,!0)},k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=function(t){var r,i;for(n.isArray(t)||(t=g(String(t))),r="",i=0;i<t.length;i+=3){var e=t[i],u=t[i+1],f=t[i+2];r+=n.map([e>>2,(e&3)<<4|u>>4,isNaN(u)?64:(u&15)<<2|f>>6,isNaN(f)?64:f&63],function(n){return k.charAt(n)}).join("")}return r},g=function(n){for(var i=[],t,r=0;r<n.length;r++)t=n.charCodeAt(r),t<128?i.push(t):t<2048?i.push(192+(t>>6),128+(t&63)):t<65536?i.push(224+(t>>12),128+(t>>6&63),128+(t&63)):t<2097152&&i.push(240+(t>>18),128+(t>>12&63),128+(t>>6&63),128+(t&63));return i},nt=function(){var n={timeout:"Network connection timeout",error:"Unspecified network error",parsererror:"Unexpected server response"},t=function(t){var i=n[t];return i?i:t};return function(n,i){return n.status<400?t(i):n.statusText}}(),e=t.data={utils:{compileGetter:f,compileSetter:y,normalizeBinaryCriterion:p,normalizeSortingInfo:w,toComparable:r,keysEqual:b,errorMessageFromXhr:nt},Guid:a,base64_encode:d,queryImpl:{},queryAdapters:{},query:function(){var t=n.isArray(arguments[0])?"array":"remote";return e.queryImpl[t].apply(this,arguments)},errorHandler:null,_handleError:function(n){e.errorHandler&&e.errorHandler(n)}}}(jQuery,DevExpress),function(n,t,i){var a=t.Class,u=t.data,c=u.queryImpl,f=u.utils.compileGetter,r=u.utils.toComparable,e=a.inherit({toArray:function(){var n=[];for(this.reset();this.next();)n.push(this.current());return n},countable:function(){return!1}}),o=e.inherit({ctor:function(n){this.array=n,this.index=-1},next:function(){return this.index+1<this.array.length?(this.index++,!0):!1},current:function(){return this.array[this.index]},reset:function(){this.index=-1},toArray:function(){return this.array.slice(0)},countable:function(){return!0},count:function(){return this.array.length}}),s=e.inherit({ctor:function(n){this.iter=n},next:function(){return this.iter.next()},current:function(){return this.iter.current()},reset:function(){return this.iter.reset()}}),h=e.inherit({ctor:function(n,t,i){this.iter=n,this.rules=[{getter:t,desc:i}]},thenBy:function(n,t){var i=new h(this.sortedIter||this.iter,n,t);return this.sortedIter||(i.rules=this.rules.concat(i.rules)),i},next:function(){return this._ensureSorted(),this.sortedIter.next()},current:function(){return this._ensureSorted(),this.sortedIter.current()},reset:function(){delete this.sortedIter},countable:function(){return this.sortedIter||this.iter.countable()},count:function(){return this.sortedIter?this.sortedIter.count():this.iter.count()},_ensureSorted:function(){this.sortedIter||(n.each(this.rules,function(){this.getter=f(this.getter)}),this.sortedIter=new o(this.iter.toArray().sort(n.proxy(this._compare,this))))},_compare:function(n,t){var i,s;if(n===t)return 0;for(i=0,s=this.rules.length;i<s;i++){var e=this.rules[i],u=r(e.getter(n)),o=r(e.getter(t)),f=e.desc?-1:1;if(u<o)return-f;if(u>o)return f;if(u!==o)return u?f:-f}return 0}}),l=function(){var e=function(t){var u=[],i=["return function(d) { return "],f=0,r=!1;return n.each(t,function(){n.isArray(this)||n.isFunction(this)?(r&&i.push(" && "),u.push(l(this)),i.push("op[",f,"](d)"),f++,r=!0):(i.push(/and|&/i.test(this)?" && ":" || "),r=!1)}),i.push(" }"),new Function("op",i.join(""))(u)},i=function(n){return t.utils.isDefined(n)?n.toString():""},o=function(n){n=u.utils.normalizeBinaryCriterion(n);var e=f(n[0]),o=n[1],t=n[2];t=r(t);switch(o.toLowerCase()){case"=":return function(n){return r(e(n))==t};case"<>":return function(n){return r(e(n))!=t};case">":return function(n){return r(e(n))>t};case"<":return function(n){return r(e(n))<t};case">=":return function(n){return r(e(n))>=t};case"<=":return function(n){return r(e(n))<=t};case"startswith":return function(n){return r(i(e(n))).indexOf(t)===0};case"endswith":return function(n){var u=r(i(e(n)));return u.lastIndexOf(t)===u.length-i(t).length};case"contains":return function(n){return r(i(e(n))).indexOf(t)>-1};case"notcontains":return function(n){return r(i(e(n))).indexOf(t)===-1}}throw Error("Unknown filter operation: "+o);};return function(t){return n.isFunction(t)?t:n.isArray(t[0])?e(t):o(t)}}(),v=s.inherit({ctor:function(n,t){this.callBase(n),this.criteria=l(t)},next:function(){while(this.iter.next())if(this.criteria(this.current()))return!0;return!1}}),y=e.inherit({ctor:function(n,t){this.iter=n,this.getter=t},next:function(){return this._ensureGrouped(),this.groupedIter.next()},current:function(){return this._ensureGrouped(),this.groupedIter.current()},reset:function(){delete this.groupedIter},countable:function(){return!!this.groupedIter},count:function(){return this.groupedIter.count()},_ensureGrouped:function(){var r,t;if(!this.groupedIter){var i={},e=[],u=this.iter,s=f(this.getter);for(u.reset();u.next();)r=u.current(),t=s(r),t in i?i[t].push(r):(i[t]=[r],e.push(t));this.groupedIter=new o(n.map(e,function(n){return{key:n,items:i[n]}}))}}}),p=s.inherit({ctor:function(n,t){this.callBase(n),this.getter=f(t)},current:function(){return this.getter(this.callBase())},countable:function(){return this.iter.countable()},count:function(){return this.iter.count()}}),w=s.inherit({ctor:function(n,t,i){this.callBase(n),this.skip=Math.max(0,t),this.take=Math.max(0,i),this.pos=0},next:function(){if(this.pos>=this.skip+this.take)return!1;while(this.pos<this.skip&&this.iter.next())this.pos++;return this.pos++,this.iter.next()},reset:function(){this.callBase(),this.pos=0},countable:function(){return this.iter.countable()},count:function(){return Math.min(this.iter.count()-this.skip,this.take)}});c.array=function(t,r){r=r||{},t instanceof e||(t=new o(t));var b=function(n){var t=r.errorHandler;t&&t(n),u._handleError(n)},s=function(r,u,f){var o=n.Deferred().fail(b),e;try{for(t.reset(),arguments.length<2&&(u=arguments[0],r=t.next()?t.current():i),e=r;t.next();)e=u(e,t.current());o.resolve(f?f(e):e)}catch(s){o.reject(s)}return o.promise()},k=function(i){return n.isFunction(i)||n.isArray(i)||(i=n.makeArray(arguments)),l(new p(t,i))},a=function(n){return k(f(n))},l=function(n){return c.array(n,r)};return{toArray:function(){return t.toArray()},enumerate:function(){var i=n.Deferred().fail(b);try{i.resolve(t.toArray())}catch(r){i.reject(r)}return i.promise()},sortBy:function(n,i){return l(new h(t,n,i))},thenBy:function(n,i){if(t instanceof h)return l(t.thenBy(n,i));throw Error();},filter:function(i){return n.isArray(i)||(i=n.makeArray(arguments)),l(new v(t,i))},slice:function(n,r){return r===i&&(r=Number.MAX_VALUE),l(new w(t,n,r))},select:k,groupBy:function(n){return l(new y(t,n))},aggregate:s,count:function(){if(t.countable()){var i=n.Deferred().fail(b);try{i.resolve(t.count())}catch(r){i.reject(r)}return i.promise()}return s(0,function(n){return 1+n})},sum:function(n){return n?a(n).sum():s(0,function(n,t){return n+t})},min:function(n){return n?a(n).min():s(function(n,t){return t<n?t:n})},max:function(n){return n?a(n).max():s(function(n,t){return t>n?t:n})},avg:function(n){if(n)return a(n).avg();var t=0;return s(0,function(n,i){return t++,n+i},function(n){return t?n/t:i})}}}}(jQuery,DevExpress),function(n,t){var r=t.data,u=r.queryImpl;u.remote=function(t,i,f){f=f||[],i=i||{};var o=function(n,t){return{name:n,args:t}},s=function(e){var o=n.Deferred(),h,c,s,l,a=function(n){var t=i.errorHandler;t&&t(n),r._handleError(n),o.reject(n)};try{for(h=i.adapter||"odata",n.isFunction(h)||(h=r.queryAdapters[h]),c=h(i),s=[].concat(f).concat(e);s.length;){if(l=s[0],String(l.name)!=="enumerate"&&(!c[l.name]||c[l.name].apply(c,l.args)===!1))break;s.shift()}c.exec(t).done(function(t,r){if(s.length){var f=u.array(t,{errorHandler:i.errorHandler});n.each(s,function(){f=f[this.name].apply(f,this.args)}),f.done(n.proxy(o.resolve,o)).fail(n.proxy(o.reject,o))}else o.resolve(t,r)}).fail(a)}catch(v){a(v)}return o.promise()},e={};return n.each(["sortBy","thenBy","filter","slice","select","groupBy"],function(){var n=this;e[n]=function(){return u.remote(t,i,f.concat(o(n,arguments)))}}),n.each(["count","min","max","sum","avg","aggregate","enumerate"],function(){var n=this;e[n]=function(){return s.call(this,o(n,arguments))}}),e}}(jQuery,DevExpress),function(n,t,i){var f=t.data,o=f.Guid,h="application/json;odata=verbose",l=function(t,i){var u;t=n.extend({method:"get",url:"",params:{},payload:null,headers:{}},t),i=i||{},u=i.beforeSend,u&&u(t);var o=(t.method||"get").toLowerCase(),r=o==="get",f=r&&i.jsonp,s=n.extend({},t.params),c=r?s:JSON.stringify(t.payload),l=!r&&n.param(s),e=t.url,a=!r&&h;return l&&(e+=(e.indexOf("?")>-1?"&":"?")+l),f&&(c.$format="json"),{url:e,data:c,dataType:f?"jsonp":"json",jsonp:f&&"$callback",type:o,timeout:3e4,headers:t.headers,contentType:a,accepts:{json:[h,"text/plain"].join()},xhrFields:{withCredentials:i.withCredentials}}},s=function(t,i){var r=n.Deferred();return n.ajax(l(t,i)).always(function(t,u){var f=y(t,u),e=f.error,o=f.data,h=f.nextUrl,c;e?r.reject(e):i.countOnly?r.resolve(f.count):h?s({url:h},i).fail(n.proxy(r.reject,r)).done(function(n){r.resolve(o.concat(n))}):(isFinite(f.count)&&(c={totalCount:f.count}),r.resolve(o,c))}),r.promise()},a=function(n){var t,i=n;for(("message"in n)&&(t=n.message.value?n.message.value:n.message);i=i.innererror||i.internalexception;)if(t=i.message,i.internalexception&&t.indexOf("inner exception")===-1)break;return t},v=function(t,i){var o;if(i==="nocontent")return null;var r=200,u="Unknown error",e=t;if(i!=="success"){r=t.status,u=f.utils.errorMessageFromXhr(t,i);try{e=n.parseJSON(t.responseText)}catch(s){}}return(o=e&&e.error,o)?(u=a(o)||u,r===200&&(r=500),e.error.code&&(r=Number(e.error.code)),n.extend(Error(u),{httpStatus:r,errorDetails:o})):r!==200?n.extend(Error(u),{httpStatus:r}):void 0},y=function(t,i){var u=v(t,i),r;return u?{error:u}:n.isPlainObject(t)?(r=t.d,!r)?{error:Error("Malformed or unsupported JSON response received")}:(r=r.results||r,c(r),{data:r,nextUrl:t.d.__next,count:t.d.__count}):{data:t}},u=t.Class.inherit({ctor:function(n){this._value=n},valueOf:function(){return this._value}}),p=function(){var n=function(n){return n=String(n),n.length<2&&(n="0"+n),n};return function(t){var i=["datetime'",t.getUTCFullYear(),"-",n(t.getUTCMonth()+1),"-",n(t.getUTCDate())];return(t.getUTCHours()||t.getUTCMinutes()||t.getUTCSeconds()||t.getUTCMilliseconds())&&(i.push("T",n(t.getUTCHours()),":",n(t.getUTCMinutes()),":",n(t.getUTCSeconds())),t.getUTCMilliseconds()&&i.push(".",t.getUTCMilliseconds())),i.push("'"),i.join("")}}(),r=function(n){return n instanceof u?n.valueOf():n.replace(/\./g,"/")},e=function(n){return n instanceof Date?p(n):n instanceof o?"guid'"+n+"'":n instanceof u?n.valueOf():typeof n=="string"?"'"+n.replace(/'/g,"''")+"'":String(n)},w=function(t){if(n.isPlainObject(t)){var i=[];return n.each(t,function(n,t){i.push(r(n)+"="+e(t))}),i.join()}return e(t)},c=function(t){n.each(t,function(n,i){if(i!==null&&typeof i=="object")c(i);else if(typeof i=="string"){var r=i.match(/^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/);r&&(t[n]=new Date(Number(r[1])+r[2]*6e4))}})},b={String:function(n){return n+""},Int32:function(n){return~~n},Int64:function(n){return n instanceof u?n:new u(n+"L")},Guid:function(n){return n instanceof o?n:new o(n)}},k=function(){var t=function(n){return function(t,i,r){r.push(t," ",n," ",i)}},i=function(n,t){return function(i,r,u){t?u.push(n,"(",r,",",i,")"):u.push(n,"(",i,",",r,")")}},o={"=":t("eq"),"<>":t("ne"),">":t("gt"),">=":t("ge"),"<":t("lt"),"<=":t("le"),startswith:i("startswith"),endswith:i("endswith"),contains:i("substringof",!0),notcontains:i("not substringof",!0)},s=function(n,t){n=f.utils.normalizeBinaryCriterion(n);var i=n[1],u=o[i.toLowerCase()];if(!u)throw Error("Unknown filter operation: "+i);u(r(n[0]),e(n[2]),t)},h=function(t,i){var r=!1;n.each(t,function(){n.isArray(this)?(r&&i.push(" and "),i.push("("),u(this,i),i.push(")"),r=!0):(i.push(/and|&/i.test(this)?" and ":" or "),r=!1)})},u=function(t,i){n.isArray(t[0])?h(t,i):s(t,i)};return function(n){var t=[];return u(n,t),t.join("")}}(),d=function(t){var o=[],u=[],f,h,c,e,l=function(){return h||c!==i},a=function(n,t,i){if(l()||typeof n!="string")return!1;i&&(o=[]);var u=r(n);t&&(u+=" desc"),o.push(u)},v=function(){var u={};return t.expand&&n.each(n.makeArray(t.expand),function(){u[r(this)]=1}),f&&n.each(f,function(){var n=this.split(".");n.length<2||(n.pop(),u[r(n.join("."))]=1)}),n.map(u,function(n,t){return t}).join()||i},y=function(){var n={};return e||(o.length&&(n.$orderby=o.join(",")),h&&(n.$skip=h),c!==i&&(n.$top=c),f&&(n.$select=r(f.join())),n.$expand=v()),u.length&&(n.$filter=k(u.length<2?u[0]:u)),e&&(n.$top=0),(t.requireTotalCount||e)&&(n.$inlinecount="allpages"),n};return{exec:function(i){return s({url:i,params:n.extend(y(),t&&t.params)},{beforeSend:t.beforeSend,jsonp:t.jsonp,withCredentials:t.withCredentials,countOnly:e})},sortBy:function(n,t){return a(n,t,!0)},thenBy:function(n,t){return a(n,t,!1)},slice:function(n,t){if(l())return!1;h=n,c=t},filter:function(t){if(l()||n.isFunction(t))return!1;n.isArray(t)||(t=n.makeArray(arguments)),u.length&&u.push("and"),u.push(t)},select:function(t){if(f||n.isFunction(t))return!1;n.isArray(t)||(t=n.makeArray(arguments)),f=t},count:function(){e=!0}}};n.extend(!0,f,{EdmLiteral:u,utils:{odata:{sendRequest:s,serializePropName:r,serializeValue:e,serializeKey:w,keyConverters:b}},queryAdapters:{odata:d}})}(jQuery,DevExpress),function(n,t){function e(t,i){return t=t.groupBy(i[0].selector),i.length>1&&(t=t.select(function(t){return n.extend({},t,{items:e(u.query(t.items),i.slice(1)).toArray()})})),t}var o=t.Class,r=t.abstract,u=t.data,f=u.utils.normalizeSortingInfo,s=["loading","loaded","modifying","modified","inserting","inserted","updating","updated","removing","removed"];u.Store=o.inherit({ctor:function(t){var i=this;t=t||{},n.each(s,function(){var r=i[this]=n.Callbacks();this in t&&r.add(t[this])}),this._key=t.key,this._errorHandler=t.errorHandler,this._useDefaultSearch=!0},_customLoadOptions:function(){return null},key:function(){return this._key},keyOf:function(n){return this._keyGetter||(this._keyGetter=u.utils.compileGetter(this.key())),this._keyGetter(n)},_requireKey:function(){if(!this.key())throw Error("Key expression is required for this operation");},load:function(n){var t=this;return n=n||{},this.loading.fire(n),this._loadImpl(n).done(function(n,i){t.loaded.fire(n,i)})},_loadImpl:function(t){var o=t.filter,u=t.sort,s=t.select,r=t.group,h=t.skip,c=t.take,i=this.createQuery(t);return o&&(i=i.filter(o)),r&&(r=f(r)),(u||r)&&(u=f(u||[]),r&&(u=r.concat(u)),n.each(u,function(n){i=i[n?"thenBy":"sortBy"](this.selector,this.desc)})),s&&(i=i.select(s)),r&&(i=e(i,r)),(c||h)&&(i=i.slice(h||0,c)),i.enumerate()},createQuery:r,totalCount:function(n){return this._addFailHandlers(this._totalCountImpl(n))},_totalCountImpl:function(n){n=n||{};var t=this.createQuery(),i=n.group,r=n.filter;return r&&(t=t.filter(r)),i&&(i=f(i),t=e(t,i)),t.count()},byKey:function(n,t){return this._addFailHandlers(this._byKeyImpl(n,t))},_byKeyImpl:r,insert:function(n){var t=this;return t.modifying.fire(),t.inserting.fire(n),t._addFailHandlers(t._insertImpl(n).done(function(n,i){t.inserted.fire(n,i),t.modified.fire()}))},_insertImpl:r,update:function(n,t){var i=this;return i.modifying.fire(),i.updating.fire(n,t),i._addFailHandlers(i._updateImpl(n,t).done(function(n,t){i.updated.fire(n,t),i.modified.fire()}))},_updateImpl:r,remove:function(n){var t=this;return t.modifying.fire(),t.removing.fire(n),t._addFailHandlers(t._removeImpl(n).done(function(n){t.removed.fire(n),t.modified.fire()}))},_removeImpl:r,_addFailHandlers:function(n){return n.fail(this._errorHandler,u._handleError)}})}(jQuery,DevExpress),function(n,t,i){var r=t.data,e=r.Guid,u=function(){var i=n.Deferred();return i.resolve.apply(i,arguments).promise()},f=function(){var i=n.Deferred();return i.reject.apply(i,arguments).promise()};r.ArrayStore=r.Store.inherit({ctor:function(t){t=n.isArray(t)?{data:t}:t||{},this.callBase(t),this._array=t.data||[]},createQuery:function(){return r.query(this._array,{errorHandler:this._errorHandler})},_byKeyImpl:function(n){return u(this._array[this._indexByKey(n)])},_insertImpl:function(t){var s=this.key(),r,o={};if(n.extend(o,t),s){if(r=this.keyOf(o),r===i||typeof r=="object"&&n.isEmptyObject(r)){if(n.isArray(s))throw Error("Compound keys cannot be auto-generated");r=o[s]=String(new e)}else if(this._array[this._indexByKey(r)]!==i)return f(Error("Attempt to insert an item with the duplicate key"))}else r=o;return this._array.push(o),u(t,r)},_updateImpl:function(n,i){var r,e;if(this.key()){if(e=this._indexByKey(n),e<0)return f(Error("Data item not found"));r=this._array[e]}else r=n;return t.utils.deepExtendArraySafe(r,i),u(n,i)},_removeImpl:function(n){var t=this._indexByKey(n);return t>-1&&this._array.splice(t,1),u(n)},_indexByKey:function(n){for(var t=0,i=this._array.length;t<i;t++)if(r.utils.keysEqual(this.key(),this.keyOf(this._array[t]),n))return t;return-1}})}(jQuery,DevExpress),function(n,t){var f=t.Class,r=t.abstract,u=t.data,e=f.inherit({ctor:function(t,i){var u,f,r;if(this._store=t,this._dirty=!1,u=this._immediate=i.immediate,f=Math.max(100,i.flushInterval||1e4),!u){r=n.proxy(this.save,this),setInterval(r,f);n(window).on("beforeunload",r);window.cordova&&document.addEventListener("pause",r,!1)}},notifyChanged:function(){this._dirty=!0,this._immediate&&this.save()},load:function(){this._store._array=this._loadImpl(),this._dirty=!1},save:function(){this._dirty&&(this._saveImpl(this._store._array),this._dirty=!1)},_loadImpl:r,_saveImpl:r}),o=e.inherit({ctor:function(n,t){this.callBase(n,t);var i=t.name;if(!i)throw Error("Name is required");this._key="dx-data-localStore-"+i},_loadImpl:function(){var n=localStorage.getItem(this._key);return n?JSON.parse(n):[]},_saveImpl:function(n){n.length?localStorage.setItem(this._key,JSON.stringify(n)):localStorage.removeItem(this._key)}}),s={dom:o};u.LocalStore=u.ArrayStore.inherit({ctor:function(n){n=typeof n=="string"?{name:n}:n||{},this.callBase(n),this._backend=new s[n.backend||"dom"](this,n),this._backend.load()},clear:function(){this._array=[],this._backend.notifyChanged()},_insertImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))},_updateImpl:function(t,i){var r=this._backend;return this.callBase(t,i).done(n.proxy(r.notifyChanged,r))},_removeImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))}})}(jQuery,DevExpress),function(n,t){var h=t.Class,r=t.data,u=r.utils.odata,f=function(t){if(!t)return t;var i={};return n.each(t,function(n,t){i[n]=u.serializeValue(t)}),i},e=function(n,t){var i=u.keyConverters[n];if(!i)throw Error("Unknown key type: "+n);return i(t)},o={_extractServiceOptions:function(n){n=n||{},this._url=String(n.url).replace(/\/+$/,""),this._beforeSend=n.beforeSend,this._jsonp=n.jsonp,this._withCredentials=n.withCredentials},_sendRequest:function(n,t,i,r){return u.sendRequest({url:n,method:t,params:i||{},payload:r},{beforeSend:this._beforeSend,jsonp:this._jsonp,withCredentials:this._withCredentials})}},s=r.Store.inherit({ctor:function(n){this.callBase(n),this._extractServiceOptions(n),this._keyType=n.keyType},_customLoadOptions:function(){return["expand","customQueryParams"]},_byKeyImpl:function(t,i){var r={};return i&&i.expand&&(r.$expand=n.map(n.makeArray(i.expand),u.serializePropName).join()),this._sendRequest(this._byKeyUrl(t),"GET",r)},createQuery:function(n){return n=n||{},r.query(this._url,{beforeSend:this._beforeSend,errorHandler:this._errorHandler,jsonp:this._jsonp,withCredentials:this._withCredentials,params:f(n.customQueryParams),expand:n.expand,requireTotalCount:n.requireTotalCount})},_insertImpl:function(t){this._requireKey();var r=this,i=n.Deferred();return n.when(this._sendRequest(this._url,"POST",null,t)).done(function(n){i.resolve(t,r.keyOf(n))}).fail(n.proxy(i.reject,i)),i.promise()},_updateImpl:function(t,i){var r=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),"MERGE",null,i)).done(function(){r.resolve(t,i)}).fail(n.proxy(r.reject,r)),r.promise()},_removeImpl:function(t){var i=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),"DELETE")).done(function(){i.resolve(t)}).fail(n.proxy(i.reject,i)),i.promise()},_byKeyUrl:function(t){var i=this._keyType;return n.isPlainObject(i)?n.each(i,function(n,i){t[n]=e(i,t[n])}):i&&(t=e(i,t)),this._url+"("+encodeURIComponent(u.serializeKey(t))+")"}}).include(o),c=h.inherit({ctor:function(t){var i=this;i._extractServiceOptions(t),i._errorHandler=t.errorHandler,n.each(t.entities||[],function(r,u){i[r]=new s(n.extend({},t,{url:i._url+"/"+encodeURIComponent(u.name||r)},u))})},get:function(n,t){return this.invoke(n,t,"GET")},invoke:function(t,i,u){u=u||"POST";var e=n.Deferred();return n.when(this._sendRequest(this._url+"/"+encodeURIComponent(t),u,f(i))).done(function(n){n&&t in n&&(n=n[t]),e.resolve(n)}).fail([this._errorHandler,r._handleError,n.proxy(e.reject,e)]),e.promise()},objectLink:function(n,t){var i=this[n];if(!i)throw Error("Unknown entity name or alias: "+n);return{__metadata:{uri:i._byKeyUrl(t)}}}}).include(o);n.extend(r,{ODataStore:s,ODataContext:c})}(jQuery,DevExpress),function(n,t){function r(n){return function(t,i){t&&t.getResponseHeader?n.reject(Error(u.utils.errorMessageFromXhr(t,i))):n.reject.apply(n,arguments)}}function f(n){return"_customize"+t.inflector.camelize(n,!0)}function e(n){return"_"+n+"Path"}var u=t.data;u.RestStore=u.Store.inherit({ctor:function(t){var i=this;i.callBase(t),t=t||{},i._url=String(t.url).replace(/\/+$/,""),i._jsonp=t.jsonp,i._withCredentials=t.withCredentials,n.each(["Load","Insert","Update","Remove","ByKey","Operation"],function(){var n=t["customize"+this];n&&(i[f(this)]=n)}),n.each(["load","insert","update","remove","byKey"],function(){var n=t[this+"Path"];n&&(i[e(this)]=n)})},_loadImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlNoKey("load"),type:"GET"};return n.when(this._createAjax(u,"load",t)).done(n.proxy(i.resolve,i)).fail(r(i)),this._addFailHandlers(i.promise())},createQuery:function(){throw Error("Not supported");},_insertImpl:function(t){var i=n.Deferred(),u=this,f={url:this._formatUrlNoKey("insert"),type:"POST",contentType:"application/json",data:JSON.stringify(t)};return n.when(this._createAjax(f,"insert")).done(function(n){i.resolve(t,u.key()&&u.keyOf(n))}).fail(r(i)),i.promise()},_updateImpl:function(t,i){var u=n.Deferred(),f={url:this._formatUrlWithKey("update",t),type:"PUT",contentType:"application/json",data:JSON.stringify(i)};return n.when(this._createAjax(f,"update")).done(function(){u.resolve(t,i)}).fail(r(u)),u.promise()},_removeImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlWithKey("remove",t),type:"DELETE"};return n.when(this._createAjax(u,"remove")).done(function(){i.resolve(t)}).fail(r(i)),i.promise()},_byKeyImpl:function(t){var i=n.Deferred(),u={url:this._formatUrlWithKey("byKey",t),type:"GET"};return n.when(this._createAjax(u,"byKey")).done(function(n){i.resolve(n)}).fail(r(i)),i.promise()},_createAjax:function(t,i,r){function o(n){return"done"in n&&"fail"in n}var e,u;if(this._jsonp&&t.type==="GET"?t.dataType="jsonp":n.extend(!0,t,{xhrFields:{withCredentials:this._withCredentials}}),e=this[f("operation")],e&&(u=e(t,i,r),u)){if(o(u))return u;t=u}if(e=this[f(i)],e&&(u=e(t,r),u)){if(o(u))return u;t=u}return n.ajax(t)},_formatUrlNoKey:function(t){var r=this._url,i=this[e(t)];return i?n.isFunction(i)?i(r):r+"/"+i:r},_formatUrlWithKey:function(t,i){var u=this._url,r=this[e(t)];return r?n.isFunction(r)?r(u,i):u+"/"+r+"/"+encodeURIComponent(i):u+"/"+encodeURIComponent(i)}})}(jQuery,DevExpress),function(n,t,i){function u(t){return t&&n.isFunction(t.done)&&n.isFunction(t.fail)&&n.isFunction(t.promise)}function r(t){return n.Deferred().resolve(t).promise()}function f(t,i){if(!n.isFunction(i))throw Error(w+t);}function y(n){throw Error(b+n);}function e(n){function t(n){var t=n[0],i=n[1];return!t||!t.getResponseHeader?null:o.utils.errorMessageFromXhr(t,i)}return function(i){var r;r=i instanceof Error?i:Error(t(arguments)||i&&String(i)||"Unknown error"),n.reject(r)}}var o=t.data,p="CustomStore does not support creating queries",w="Required option is not specified or is not a function: ",b="Invalid return value: ",s="totalCount",h="load",c="byKey",l="insert",a="update",v="remove";o.CustomStore=o.Store.inherit({ctor:function(n){n=n||{},this.callBase(n),this._useDefaultSearch=!1,this._loadFunc=n[h],this._totalCountFunc=n[s],this._byKeyFunc=n[c]||n.lookup,this._insertFunc=n[l],this._updateFunc=n[a],this._removeFunc=n[v]},createQuery:function(){throw Error(p);},_totalCountImpl:function(t){var h=this._totalCountFunc,i,o=n.Deferred();return f(s,h),i=h(t),u(i)||(i=Number(i),isFinite(i)||y(s),i=r(i)),i.done(function(n){o.resolve(Number(n))}).fail(e(o)),o.promise()},_loadImpl:function(t){var c=this._loadFunc,o,s=n.Deferred();return f(h,c),o=c(t),n.isArray(o)?o=r(o):o===null||o===i?o=r([]):u(o)||y(h),o.done(function(n,t){s.resolve(n,t)}).fail(e(s)),this._addFailHandlers(s.promise())},_byKeyImpl:function(t){var s=this._byKeyFunc,i,o=n.Deferred();return f(c,s),i=s(t),u(i)||(i=r(i)),i.done(function(n){o.resolve(n)}).fail(e(o)),o.promise()},_insertImpl:function(t){var s=this._insertFunc,i,o=n.Deferred();return f(l,s),i=s(t),u(i)||(i=r(i)),i.done(function(n){o.resolve(t,n)}).fail(e(o)),o.promise()},_updateImpl:function(t,i){var h=this._updateFunc,o,s=n.Deferred();return f(a,h),o=h(t,i),u(o)||(o=r()),o.done(function(){s.resolve(t,i)}).fail(e(s)),s.promise()},_removeImpl:function(t){var s=this._removeFunc,i,o=n.Deferred();return f(v,s),i=s(t),u(i)||(i=r()),i.done(function(){o.resolve(t)}).fail(e(o)),o.promise()}})}(jQuery,DevExpress),function(n,t,i){function s(t){function f(){var i={};return n.each(["load","byKey","lookup","totalCount","insert","update","remove"],function(){i[this]=t[this],delete t[this]}),new e(i)}function s(n){var t=r[o[n.type]];return delete n.type,new t(n)}function h(t){return new e({load:function(){return n.getJSON(t)}})}var u;return typeof t=="string"&&(t=h(t)),t===i&&(t=[]),t=n.isArray(t)||t instanceof r.Store?{store:t}:n.extend({},t),u=t.store,"load"in t?u=f():n.isArray(u)?u=new r.ArrayStore(u):n.isPlainObject(u)&&(u=s(n.extend({},u))),t.store=u,t}function h(t){switch(t.length){case 0:return i;case 1:return t[0]}return n.makeArray(t)}function u(n){return function(){var t=h(arguments);return t!==i&&(this._storeLoadOptions[n]=t),this._storeLoadOptions[n]}}function l(n,t){t.refresh=!n._paginate||n._pageIndex===0,t.searchValue!==null&&(t.searchString=t.searchValue)}var r=t.data,e=r.CustomStore,c=t.Class,o={jaydata:"JayDataStore",breeze:"BreezeStore",odata:"ODataStore",local:"LocalStore",array:"ArrayStore"},f=c.inherit({ctor:function(t){t=s(t),this._store=t.store,this._storeLoadOptions=this._extractLoadOptions(t),this._mapFunc=t.map,this._postProcessFunc=t.postProcess,this._pageIndex=0,this._pageSize=t.pageSize!==i?t.pageSize:20,this._items=[],this._totalCount=-1,this._isLoaded=!1,this._loadingCount=0,this._preferSync=t._preferSync,this._loadQueue=this._createLoadQueue(),this._searchValue="searchValue"in t?t.searchValue:null,this._searchOperation=t.searchOperation||"contains",this._searchExpr=t.searchExpr,this._paginate=t.paginate,this._paginate===i&&(this._paginate=!this.group()),this._isLastPage=!this._paginate,this._userData={},this.changed=n.Callbacks(),this.loadError=n.Callbacks(),this.loadingChanged=n.Callbacks()},dispose:function(){this.changed.empty(),this.loadError.empty(),this.loadingChanged.empty(),delete this._store,this._disposed=!0},_extractLoadOptions:function(t){var r={},i=["sort","filter","select","group","requireTotalCount"],u=this._store._customLoadOptions();return u&&(i=i.concat(u)),n.each(i,function(){r[this]=t[this]}),r},loadOptions:function(){return this._storeLoadOptions},items:function(){return this._items},pageIndex:function(n){return n!==i&&(this._pageIndex=n,this._isLastPage=!this._paginate),this._pageIndex},isLastPage:function(){return this._isLastPage},sort:u("sort"),filter:function(){var n=h(arguments);return n!==i&&(this._storeLoadOptions.filter=n,this.pageIndex(0)),this._storeLoadOptions.filter},group:u("group"),select:u("select"),searchValue:function(n){return n!==i&&(this._searchValue=n),this._searchValue},searchOperation:function(n){return n!==i&&(this._searchOperation=n),this._searchOperation},searchExpr:function(t){var i=arguments.length;return i&&(i>1&&(t=n.makeArray(arguments)),this._searchExpr=t),this._searchExpr},store:function(){return this._store},key:function(){return this._store&&this._store.key()},totalCount:function(){return this._totalCount},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._loadingCount>0},_createLoadQueue:function(){return t.createQueue()},_changeLoadingCount:function(n){var i=this.isLoading(),t;this._loadingCount+=n,t=this.isLoading(),i^t&&this.loadingChanged.fire(t)},_scheduleLoadCallbacks:function(n){var t=this;t._changeLoadingCount(1),n.always(function(){t._changeLoadingCount(-1)})},_scheduleChangedCallbacks:function(n){var t=this;n.done(function(){t.changed.fire()})},load:function(){function e(){return r._disposed?i:r._loadFromStore(f,t)}var r=this,t=n.Deferred(),u=this.loadError,f;return this._scheduleLoadCallbacks(t),this._scheduleChangedCallbacks(t),f=this._createStoreLoadOptions(),this._loadQueue.add(function(){return e(),t.promise()},function(){r._changeLoadingCount(-1)}),t.promise().fail(n.proxy(u.fire,u))},_addSearchOptions:function(n){this._disposed||(this.store()._useDefaultSearch?this._addSearchFilter(n):(n.searchValue=this._searchValue,n.searchExpr=this._searchExpr))},_createStoreLoadOptions:function(){var t=n.extend({},this._storeLoadOptions);return this._addSearchOptions(t),this._paginate&&(t.pageIndex=this._pageIndex,this._pageSize&&(t.skip=this._pageIndex*this._pageSize,t.take=this._pageSize)),t.userData=this._userData,l(this,t),t},_addSearchFilter:function(t){var u=this._searchValue,f=this._searchOperation,i=this._searchExpr,r=[];u&&(i||(i="this"),n.isArray(i)||(i=[i]),n.each(i,function(n,t){r.length&&r.push("or"),r.push([t,f,u])}),t.filter=t.filter?[r,t.filter]:r)},_loadFromStore:function(i,r){function f(n,f){function e(){u._processStoreLoadResult(n,f,i,r)}u._preferSync?e():t.utils.executeAsync(e)}var u=this;return this.store().load(i).done(f).fail(n.proxy(r.reject,r))},_processStoreLoadResult:function(t,i,r,u){function e(){return f._isLoaded=!0,f._totalCount=isFinite(i.totalCount)?i.totalCount:-1,u.resolve(t,i)}function o(){f.store().totalCount(r).done(function(n){i.totalCount=n,e()}).fail(function(){})}var f=this;f._disposed||(t=f._transformLoadedData(t),n.isPlainObject(i)||(i={}),f._items=t,(!t.length||!f._paginate||f._pageSize&&t.length<f._pageSize)&&(f._isLastPage=!0),r.requireTotalCount&&!isFinite(i.totalCount)?o():e())},_transformLoadedData:function(t){var i=n.makeArray(t);return this._mapFunc&&(i=n.map(i,this._mapFunc)),this._postProcessFunc&&(i=this._postProcessFunc(i)),i}});r.Store.redefine({toDataSource:function(t){return new f(n.extend({store:this},t))}}),n.extend(!0,r,{DataSource:f,createDataSource:function(n){return new f(n)},utils:{storeTypeRegistry:o,normalizeDataSourceOptions:s}})}(jQuery,DevExpress),DevExpress.social={},function(n,t,i){function o(){}var ft=t.social,r=window.location,et=window.navigator,w=window.encodeURIComponent,ot=window.decodeURIComponent,s=et.standalone,h=!1,p;if(window.cordova)n(document).on("deviceready",function(){h=!0});var b="dx-facebook-access-token",c="dx-facebook-step1",l="dx-facebook-step2",u=null,k=null,d=n.Callbacks(),f,g=function(){return!!u},st=function(){return{accessToken:u,expiresIn:u?k:0}},a=ft.Facebook={loginRedirectUrl:"FacebookLoginCallback.html",connectionChanged:d,isConnected:g,getAccessTokenObject:st,jsonp:!1},ht=function(n,t){o(),t=t||{},f=h?"https://www.facebook.com/connect/login_success.html":ct();var u=(t.permissions||[]).join(),i="https://www.facebook.com/dialog/oauth?display=popup&client_id="+n+"&redirect_uri="+w(f)+"&scope="+w(u)+"&response_type=token";s&&e(c,r.href),h?at(i):lt(i)},ct=function(){var n=r.pathname.split(/\//g);return n.pop(),n.push(a.loginRedirectUrl),r.protocol+"//"+r.host+n.join("/")},lt=function(n){var t=512,i=320,r=(screen.width-t)/2,u=(screen.height-i)/2;window.open(n,null,"width="+t+",height="+i+",toolbar=0,scrollbars=0,status=0,resizable=0,menuBar=0,left="+r+",top="+u)},at=function(n){var t=window.open(n,"_blank");t.addEventListener("exit",function(){f=null}),t.addEventListener("loadstop",function(n){var i=unescape(n.url);i.indexOf(f)===0&&(t.close(),v(i))})},vt=function(){var n=window.opener;s?(e(l,r.href),r.href=y(c)):n&&n.DevExpress&&(n.DevExpress.social.Facebook._processLoginRedirectUrl(r.href),window.close())},v=function(n){var t=yt(n);k=t.expires_in,nt(t.access_token),f=null},yt=function(t){var r=t.split("#")[1],u,i;return r?(u=r.split(/&/g),i={},n.each(u,function(){var t=this.split("=");i[t[0]]=ot(t[1])}),i):{}},pt=function(){o(),nt(null)},nt=function(n){n!==u&&(u=n,e(b,n),d.fire(!!n))},tt=function(t,r,f){if(o(),!g())throw Error("Not connected");typeof r!="string"&&(f=r,r=i),r=(r||"get").toLowerCase();var e=n.Deferred(),s=arguments;return n.ajax({url:"https://graph.facebook.com/"+t,type:r,data:n.extend({access_token:u},f),dataType:a.jsonp&&r==="get"?"jsonp":"json"}).done(function(n){n=n||it(),n.error?e.reject(n.error):e.resolve(n)}).fail(function(i){var u,o;try{if(u=n.parseJSON(i.responseText),o=s[3]||0,o++<3&&u.error.code==190&&u.error.error_subcode==466){setTimeout(function(){tt(t,r,f,o).done(function(n){e.resolve(n)}).fail(function(n){e.reject(n)})},500);return}}catch(h){u=it()}e.reject(u.error)}),e.promise()},it=function(){return{error:{message:"Unknown error"}}},rt=function(){if(!ut())throw Error("HTML5 sessionStorage or jQuery.cookie plugin is required");},ut=function(){return!!(n.cookie||window.sessionStorage)},e=function(t,i){rt(),i=JSON.stringify(i),window.sessionStorage?i===null?sess.removeItem(t):sessionStorage.setItem(t,i):n.cookie(t,i)},y=function(t){rt();try{return JSON.parse(window.sessionStorage?sessionStorage.getItem(t):n.cookie(t))}catch(i){return null}};ut()&&(u=y(b)),s&&(p=y(l),p&&(v(p),e(c,null),e(l,null))),n.extend(a,{login:ht,logout:pt,handleLoginRedirect:vt,_processLoginRedirectUrl:v,api:tt})}(jQuery,DevExpress),function(n,t){var u=t.ui={},f="20px",e=function(i){var r,u,e,c,h;i=n.extend({},i);var l=t.devices.current(),o=i.allowZoom,s=i.allowPan,a="allowSelection"in i?i.allowSelection:l.platform=="desktop";if(t.overlayTargetContainer(".dx-viewport"),r="meta[name=viewport]",n(r).length||n("<meta />").attr("name","viewport").appendTo("head"),u=["width=device-width"],e=[],o?e.push("pinch-zoom"):u.push("initial-scale=1.0","maximum-scale=1.0, user-scalable=no"),s&&e.push("pan-x","pan-y"),s||o?n("html").css("-ms-overflow-style","-ms-autohiding-scrollbar"):n("html, body").css("overflow","hidden"),!a){if(t.devices.real.ios)n(document).on("selectstart",function(){return!1});n(".dx-viewport").css("user-select","none")}if(n(r).attr("content",u.join()),n("html").css("-ms-touch-action",e.join(" ")||"none"),t.support.touch)n(document).off(".dxInitViewport").on("touchmove.dxInitViewport",function(n){var t=n.originalEvent.touches.length,i=!o&&t>1,r=!s&&t===1&&!n.isScrollingEvent;(i||r)&&n.preventDefault()});if(navigator.userAgent.match(/IEMobile\/10\.0/)&&(n(document.head).append(n("<style/>").text("@-ms-viewport{ width: auto!important; user-zoom: fixed; max-zoom: 1; min-zoom: 1; }")),n(window).bind("load resize",function(){var r=44,u=21,f=72,i="Notify"in window.external,e=i?r:0,o=i?u:f,s=n(window).width()<n(window).height()?Math.round(screen.availHeight*(document.body.clientWidth/screen.availWidth))-o:Math.round(screen.availWidth*(document.body.clientHeight/screen.availHeight))-e;document.body.style.setProperty("min-height",s+"px","important")})),t.devices.real.ios&&t.devices.real.version[0]>6&&(c=document.location.protocol=="file:",c)){n(".dx-viewport").css("position","relative"),n("body").css({"box-sizing":"border-box","padding-top":f}),h=function(){var t="height=device-"+(Math.abs(window.orientation)===90?"width":"height");n(r).attr("content",u.join()+","+t)};n(window).on("orientationchange",h);h()}},o=t.Class.inherit({getTemplateClass:function(){return r},supportDefaultTemplate:function(){return!1},getDefaultTemplate:function(){return null}}),r=t.Class.inherit({ctor:function(t){this._template=this._element=n(t).detach()},render:function(n){var t=this._template.clone();return n.append(t),t},dispose:n.noop});t.registerActionExecutor({designMode:{validate:function(n){t.designMode&&(n.canceled=!0)}},gesture:{validate:function(n){if(n.args.length)for(var i=n.args[0],t=i.itemElement||i.element;t&&t.length;){if(t.data("dxGesture")){n.canceled=!0;break}t=t.parent()}}},disabled:{validate:function(n){if(n.args.length){var t=n.args[0],i=t.itemElement||t.element;i&&i.is(".dx-state-disabled, .dx-state-disabled *")&&(n.canceled=!0)}}}}),n.extend(u,{TemplateProvider:o,Template:r,initViewport:e})}(jQuery,DevExpress),function(n,t){var c=t.ui,l=n.event,a=l.special,v={mouse:/^mouse/i,touch:/^touch/i,keyboard:/^key/i,pointer:/pointer/i},u=function(t){var i="other";return n.each(v,function(n){if(this.test(t.type))return i=n,!1}),i},f=function(n){return u(n)==="pointer"},e=function(n){return u(n)==="mouse"||f(n)&&n.pointerType==="mouse"},r=function(n){return u(n)==="touch"||f(n)&&n.pointerType==="touch"},o=function(n){return u(n)==="keyboard"},s=function(t,i){return typeof t=="string"?s(t.split(/\s+/g),i):(n.each(t,function(n,r){t[n]=r+"."+i}),t.join(" "))},y=function(n){var t;return f(n)&&r(n)?(t=(n.originalEvent.originalEvent||n.originalEvent).changedTouches[0],{x:t.pageX,y:t.pageY,time:n.timeStamp}):e(n)?{x:n.pageX,y:n.pageY,time:n.timeStamp}:r(n)?(t=(n.changedTouches||n.originalEvent.changedTouches)[0],{x:t.pageX,y:t.pageY,time:n.timeStamp}):void 0},p=function(n,t){return{x:t.x-n.x,y:t.y-n.y,time:t.time-n.time||1}},w=function(n){return e(n)||f(n)?0:r(n)?n.originalEvent.touches.length:void 0},b=function(t){return e(t)?n(t.target).is("input, textarea, select")||t.which>1:r(t)?(t.originalEvent.changedTouches||t.originalEvent.originalEvent.changedTouches).length!==1:void 0},h=function(t,i){var u=n.Event(t,i),s=u.originalEvent,f=n.event.props.slice();return(e(t)||r(t))&&n.merge(f,n.event.mouseHooks.props),o(t)&&n.merge(f,n.event.keyHooks.props),s&&n.each(f,function(){u[this]=s[this]}),u},k=function(t){var i=h(t.originalEvent,t);return n.event.trigger(i,null,t.target||i.target),i},d=function(t,i){var r=n(t.target).data("dxGestureEvent");return!r||r===i?(n(t.target).data("dxGestureEvent",i),!0):!1},g=function(n,t){a[n]=t};c.events={eventSource:u,isPointerEvent:f,isMouseEvent:e,isTouchEvent:r,isKeyboardEvent:o,addNamespace:s,hasTouches:w,eventData:y,eventDelta:p,needSkipEvent:b,createEvent:h,fireEvent:k,handleGestureEvent:d,registerEvent:g}}(jQuery,DevExpress),function(n,t,i){var u="dxComponents",f=t.ui,r=t.data.utils,e=t.Class.inherit({NAME:null,_defaultOptions:function(){return{disabled:!1}},_optionsByReference:function(){return{}},ctor:function(i,r){this._$element=n(i),this._element().data(this.NAME,this),this._element().data(u)||this._element().data(u,[]),this._element().data(u).push(this.NAME),this._options={},this._updateLockCount=0,this._requireRefresh=!1,this.optionChanged=n.Callbacks(),this.disposing=n.Callbacks(),this.beginUpdate();try{var e=t.devices.current(),o=f.optionsByDevice(e,this.NAME)||{};this.option(this._defaultOptions()),this.option(o),this._initOptions(r||{})}finally{this.endUpdate()}},_initOptions:function(n){this.option(n)},_optionValuesEqual:function(n,t,i){return(t=r.toComparable(t,!0),i=r.toComparable(i,!0),t===null||typeof t!="object")?t===i:!1},_init:n.noop,_render:n.noop,_clean:n.noop,_modelByElement:n.noop,_invalidate:function(){this._requireRefresh=!0},_refresh:function(){this._clean(),this._render()},_dispose:function(){this._clean(),this.optionChanged.empty(),this.disposing.fireWith(this).empty()},_createAction:function(i,r){var u=this,f,e,o;return r=n.extend({},r),f=r.element||u._element(),e=u._modelByElement(f),r.context=e||u,r.component=u,o=new t.Action(i,r),function(t){return arguments.length||(t={}),n.isPlainObject(t)||(t={actionValue:t}),o.execute.call(o,n.extend(t,{component:u,element:f,model:e}))}},_createActionByOption:function(n,t){if(typeof n!="string")throw Error("Option name type is unexpected");return this._createAction(this.option(n),t)},_optionChanged:function(){},_element:function(){return this._$element},instance:function(){return this},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){if(this._updateLockCount--,!this._updateLockCount)if(this._initializing||this._initialized)this._requireRefresh&&(this._requireRefresh=!1,this._refresh());else{this._initializing=!0;try{this._init()}finally{this._initializing=!1,this._initialized=!0}this._render()}},option:function(t){var i=this,u=t,f=arguments[1];if(arguments.length<2&&n.type(u)!=="object")return r.compileGetter(u)(i._options,{functionsAsIs:!0});typeof u=="string"&&(t={},t[u]=f),i.beginUpdate();try{n.each(t,function(n,t){var u=r.compileGetter(n)(i._options,{functionsAsIs:!0}),f;i._optionValuesEqual(n,u,t)||(r.compileSetter(n)(i._options,t,{functionsAsIs:!0,merge:!i._optionsByReference()[n]}),f=n.split(/[.\[]/)[0],i._initialized&&(i.optionChanged.fireWith(i,[f,t,u]),i._optionChanged(f,t,u)))})}finally{i.endUpdate()}}}),o=function(r,u){f[r]=u,u.prototype.NAME=r,n.fn[r]=function(f){var h=typeof f=="string",e=this,o,s;return h?(o=f,s=n.makeArray(arguments).slice(1),this.each(function(){var u=n(this).data(r),h,f;if(!u)throw Error(t.utils.stringFormat("Component {0} has not been initialized on this element",r));return h=u[o],f=h.apply(u,s),f!==i?(e=f,!1):void 0})):this.each(function(){var t=n(this).data(r);t?t.option(f):new u(this,f)}),e}},s=function(t){t=n(t);var i=t.data(u);return i?n.map(i,function(n){return t.data(n)}):[]},h=function(){n.each(s(this),function(){this._dispose()})},c=n.cleanData;n.cleanData=function(t){return n.each(t,h),c.apply(this,arguments)},n.extend(f,{Component:e,registerComponent:o})}(jQuery,DevExpress),function(n,t,i){var r=window.ko,o,v,y,p,w,b;if(t.support.hasKo){(function(n){if(n=n.split("."),n[0]<2||n[0]==2&&n[1]<3)throw Error("Your version of KnockoutJS is too old. Please upgrade KnockoutJS to 2.3.0 or later.");})(r.version);var e=t.ui,s=e.events,h="dxKoLocks",l="dxKoCreation",k=function(){var n={},t=function(t){return n[t]||0};return{obtain:function(i){n[i]=t(i)+1},release:function(i){var r=t(i);r===1?delete n[i]:n[i]=r-1},locked:function(n){return t(n)>0}}},d=function(t){r.bindingHandlers[t]={init:function(i,u){var f=n(i),o={},s={},c=function(n,i){var e=f.data(t),u=f.data(h),c=r.utils.unwrapObservable(i);if(e){if(u.locked(n))return;u.obtain(n);try{e.option(n,c)}finally{u.release(n)}}else o[n]=c,r.isWriteableObservable(i)&&(s[n]=i)},a=function(n,t){if(n in s){var r=this._$element,i=r.data(h);if(!i.locked(n)){i.obtain(n);try{s[n](t)}finally{i.release(n)}}}};return r.computed(function(){var e=f.data(t);e&&e.beginUpdate(),n.each(r.unwrap(u()),function(n,t){r.computed(function(){c(n,t)},null,{disposeWhenNodeIsRemoved:i})}),e&&e.endUpdate()},null,{disposeWhenNodeIsRemoved:i}),o&&(f.data(l,!0),f[t](o),o=null,f.data(h,new k),f.data(t).optionChanged.add(a)),{controlsDescendantBindings:e[t].subclassOf(e.Widget)}}}},g=e.Component.inherit({_modelByElement:function(n){if(n.length)return r.dataFor(n.get(0))}}),nt=e.registerComponent,tt=function(n,t){nt(n,t),d(n)},c=e.Template.inherit({ctor:function(t){this.callBase.apply(this,arguments),this._template=n("<div>").append(t),this._registerKoTemplate()},_cleanTemplateElement:function(){this._element.each(function(){r.cleanNode(this)})},_registerKoTemplate:function(){var n=this._template.get(0);new r.templateSources.anonymousTemplate(n).nodes(n)},render:function(t,u){var e;u=u!==i?u:r.dataFor(t.get(0))||{};var o=r.contextFor(t[0]),s=o?o.createChildContext(u):u,f=n("<div />").appendTo(t);return r.renderTemplate(this._template.get(0),s,null,f.get(0)),e=f.contents(),t.append(e),f.remove(),e},dispose:function(){this._template.remove()}}),it=e.TemplateProvider.inherit({getTemplateClass:function(){return c},supportDefaultTemplate:function(n){return this._createdWithKo(n)?!0:this.callBase(n)},getDefaultTemplate:function(n){if(this._createdWithKo(n))return a(n.NAME)},_createdWithKo:function(n){return!!n._element().data(l)}});r.bindingHandlers.dxAction={update:function(i,u,f,e){var h=n(i),o=r.utils.unwrapObservable(u()),c=o,s={context:i},l;o.execute&&(c=o.execute,n.extend(s,o)),l=new t.Action(c,s);h.off(".dxActionBinding").on("dxclick.dxActionBinding",function(n){l.execute({element:h,model:e,evaluate:function(n){var u=e,f;return n.length>0&&n[0]==="$"&&(u=r.contextFor(i)),f=t.data.utils.compileGetter(n),f(u)},jQueryEvent:n}),s.bubbling||n.stopPropagation()})}};var a=function(){var n={};return function(i){if(u[i]||(i="base"),!n[i]){var r=u[i](),f=t.utils.createMarkupFromString(r);n[i]=new c(f)}return n[i]}}(),f=function(t,r,u,f){u=u===i?!0:u;var e=n.map(r,function(n,t){return t+":"+n}).join(",");return f=f||"","<"+t+' data-bind="'+e+'" '+f+">"+(u?"<\/"+t+">":"")},rt={css:"{ 'dx-state-disabled': $data.disabled, 'dx-state-invisible': !($data.visible === undefined || ko.unwrap($data.visible)) }"},u={base:function(){var n=[f("div",rt,!1)],t=f("div",{html:"html"}),i=f("div",{text:"text"}),r=f("div",{text:"String($data)"});return n.push("<!-- ko if: $data.html && !$data.text -->",t,"<!-- /ko -->","<!-- ko if: !$data.html && $data.text -->",i,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",r,"<!-- /ko -->","<\/div>"),n.join("")}};u.dxPivotTabs=function(){var n=u.base(),t=f("span",{text:"title"}),i=n.indexOf(">")+1,r=n.length-6;return n=[n.substring(0,i),t,n.substring(r,n.length)],n.join("")},u.dxPanorama=function(){var n=u.base(),i=f("div",{text:"header"},!0,'class="dx-panorama-item-header"'),t=n.indexOf(">")+1;return n=[n.substring(0,t),"<!-- ko if: $data.header -->",i,"<!-- /ko -->",n.substring(t,n.length)],n.join("")},u.dxList=function(){var n=u.base(),t=f("div",{text:"key"});return n=[n.substring(0,n.length-6),"<!-- ko if: $data.key -->"+t+"<!-- /ko -->","<\/div>"],n.join("")},u.dxToolbar=function(){var i=u.base();return i=[i.substring(0,i.length-6),"<!-- ko if: $data.widget -->"],n.each(["button","tabs","dropDownMenu"],function(){var r=t.inflector.camelize(["dx","-",this].join("")),n={};n[r]="$data.options",i.push("<!-- ko if: $data.widget === '",this,"' -->",f("div",n),"<!-- /ko -->")}),i.push("<!-- /ko -->"),i.join("")},u.dxGallery=function(){var n=u.base(),t=f("div",{text:"String($data)"}),i=f("img",{attr:"{ src: String($data) }"},!1);return n=n.replace(t,i)},u.dxTabs=function(){var n=u.base(),t=f("div",{text:"text"}),i=f("span",{attr:"{ 'class': 'dx-icon-' + $data.icon }",css:"{ 'dx-icon': true }"}),r=f("img",{attr:"{ src: $data.iconSrc }",css:"{ 'dx-icon': true }"},!1),e="<!-- ko if: $data.icon -->"+i+"<!-- /ko --><!-- ko if: !$data.icon && $data.iconSrc -->"+r+'<!-- /ko --><span class="dx-tab-text" data-bind="text: $data.text"><\/span>';return n=n.replace("<!-- ko if: !$data.html && $data.text -->","<!-- ko if: !$data.html && ($data.text || $data.icon || $data.iconSrc) -->").replace(t,e)},u.dxActionSheet=function(){return f("div",{dxButton:"{ text: $data.text, clickAction: $data.clickAction, type: $data.type, disabled: !!ko.unwrap($data.disabled) }"})},u.dxNavBar=u.dxTabs,o=function(n,t){var i=function(){r.cleanNode(this)};t?n.each(i):n.find("*").each(i)},v=n.fn.empty,n.fn.empty=function(){return o(this,!1),v.apply(this,arguments)},y=n.fn.remove,n.fn.remove=function(n,t){if(!t){var i=this;n&&(i=i.filter(n)),o(i,!0)}return y.call(this,n,t)},p=n.fn.html,n.fn.html=function(n){return typeof n=="string"&&o(this,!1),p.apply(this,arguments)},n.extend(e,{Component:g,registerComponent:tt,TemplateProvider:it,Template:c,defaultTemplate:a}),w=s.registerEvent,b=function(t,i){w(t,i);var u=s.addNamespace(t,t+"Binding");r.bindingHandlers[t]={update:function(t,i,f,e){var s=n(t),o=r.utils.unwrapObservable(i()),h=o.execute?o.execute:o;s.off(u).on(u,function(n){h(e,n)})}}},n.extend(s,{registerEvent:b})}}(jQuery,DevExpress),function(n,t,i){var y,p;if(t.support.hasNg){var w=window.angular,u=t.ui,h=u.events,e=t.data.utils.compileSetter,o=t.data.utils.compileGetter,c="dxNgCreation",b="dxTemplates",l="dxNgCompiler",a="dxDefaultCompilerGetter",k="template",v=w.module("dx",[]),d=t.Class.inherit({ctor:function(t){this._componentName=t.componentName,this._compile=t.compile,this._$element=t.$element,this._componentDisposing=n.Callbacks(),this._$templates=this._extractTemplates()},init:function(n){this._scope=n.scope,this._$element=n.$element,this._ngOptions=n.ngOptions,this._$element.data(c,!0),n.ngOptions.data&&this._initDataScope(n.ngOptions.data)},initDefaultCompilerGetter:function(){var n=this;n._$element.data(a,function(t){return n._compilerByTemplate(t)})},initTemplateCompilers:function(){var t=this;this._$templates&&this._$templates.each(function(i,r){n(r).data(l,t._compilerByTemplate(r))})},initComponentWithBindings:function(){this._initComponent(this._scope),this._initComponentBindings()},_initDataScope:function(t){if(typeof t=="string"){var r=t,i=this._scope;t=i.$eval(t),this._scope=i.$new(),this._synchronizeDataScopes(i,this._scope,t,r)}n.extend(this._scope,t)},_synchronizeDataScopes:function(t,i,r,u){var f=this;n.each(r,function(n){f._synchronizeScopeField({parentScope:t,childScope:i,fieldPath:n,parentPrefix:u})})},_initComponent:function(n){this._component=this._$element[this._componentName](this._evalOptions(n)).data(this._componentName)},_initComponentBindings:function(){var t=this,i={};t._ngOptions.bindingOptions&&n.each(t._ngOptions.bindingOptions,function(n,r){var f=n.search(/\[|\./),u=f>-1?n.substring(0,f):n,e;i[u]||(i[u]={}),i[u][n]=r,e=t._scope.$watch(r,function(i,r){i!==r&&t._component.option(n,i)},!0),t._component.disposing.add(function(){e(),t._componentDisposing.fire()})}),t._component.optionChanged.add(function(r,u){!t._scope.$root.$$phase&&i&&i[r]&&t._scope.$apply(function(){n.each(i[r],function(n,i){var s=e(i),h=o(n),f={};f[r]=u,s(t._scope,h(f))})})})},_extractTemplates:function(){var t,i;return u[this._componentName].subclassOf(u.Widget)&&n.trim(this._$element.html())&&(i=!this._$element.children().first().attr("data-options"),t=i?n("<div/>").attr("data-options","dxTemplate: { name: '"+k+"' }").append(this._$element.contents()):this._$element.children().detach(),this._$element.data(b,t)),t},_compilerByTemplate:function(t){var r=this,u=this._getScopeItemsPath();return function(f,e){var s=n(t).clone(),h,o;if(f!==i){h=f.$id,o=h?f:r._createScopeWithData(f);s.on("$destroy",function(){var n=!o.$parent;n||o.$destroy()})}else o=r._scope;return u&&r._synchronizeScopes(o,u,e),g(r._compile(s),o),s}},_getScopeItemsPath:function(){if(u[this._componentName].subclassOf(u.CollectionContainerWidget)&&this._ngOptions.bindingOptions)return this._ngOptions.bindingOptions.items},_createScopeWithData:function(t){var i=this._scope.$new();return typeof t=="object"?n.extend(i,t):i.scopeValue=t,i},_synchronizeScopes:function(t,i,r){var f=this,u=o(i+"["+r+"]")(this._scope);n.isPlainObject(u)||(u={scopeValue:u}),n.each(u,function(n){f._synchronizeScopeField({parentScope:f._scope,childScope:t,fieldPath:n,parentPrefix:i,itemIndex:r})})},_synchronizeScopeField:function(n){var r=n.parentScope,c=n.childScope,t=n.fieldPath,l=n.parentPrefix,u=n.itemIndex,y=t==="scopeValue"?"":"."+t,a=u!==i,f=[l],s,v,h;a&&f.push("[",u,"]"),f.push(y),s=f.join(""),v=r.$watch(s,function(n,i){n!==i&&e(t)(c,n)}),h=c.$watch(t,function(n,t){if(n!==t){if(a&&!o(l)(r)[u]){h();return}e(s)(r,n)}}),this._componentDisposing.add([v,h])},_evalOptions:function(t){var i=n.extend({},this._ngOptions);return delete i.data,delete i.bindingOptions,this._ngOptions.bindingOptions&&n.each(this._ngOptions.bindingOptions,function(n,r){i[n]=t.$eval(r)}),i}}),g=function(n,t){t.$root.$$phase?n(t):t.$apply(function(){n(t)})},nt=u.Component.inherit({_modelByElement:function(n){if(n.length)return n.scope()},_createActionByOption:function(){var n=this.callBase.apply(this,arguments),t=this;return function(){var r=this,i=t._modelByElement(t._element()),u=arguments;return!i||i.$root.$$phase?n.apply(r,u):i.$apply(function(){return n.apply(r,u)})}}}),tt=u.registerComponent,it=function(n,t){tt(n,t),v.directive(n,["$compile",function(t){return{restrict:"A",compile:function(i){var r=new d({componentName:n,compile:t,$element:i});return function(t,i,u){r.init({scope:t,$element:i,ngOptions:u[n]?t.$eval(u[n]):{}}),r.initTemplateCompilers(),r.initDefaultCompilerGetter(),r.initComponentWithBindings()}}}}])},s=u.Template.inherit({ctor:function(){this.callBase.apply(this,arguments),this._compiler=this._template.data(l)},render:function(t,i,r){var u=this._compiler,f=n.isFunction(u)?u(i,r):u;return t.append(f),f},setCompiler:function(n){this._compiler=n(this._element)}}),rt=u.TemplateProvider.inherit({getTemplateClass:function(n){return this._createdWithNg(n)?s:this.callBase(n)},supportDefaultTemplate:function(n){return this._createdWithNg(n)?!0:this.callBase(n)},getDefaultTemplate:function(n){if(this._createdWithNg(n)){var i=n._element().data(a),t=ut(n.NAME);return t.setCompiler(i),t}},_createdWithNg:function(n){return!!n._element().data(c)}}),ut=function(){var n={};return function(t){return r[t]||(t="base"),n[t]||(n[t]=r[t]()),new s(n[t])}}(),f={container:function(){return n("<div/>").attr("ng-class","{ 'dx-state-invisible': !visible && visible != undefined, 'dx-state-disabled': !!disabled }").attr("ng-switch","").attr("on","html && 'html' || text && 'text' || scopeValue && 'scopeValue'")},html:function(){return n("<div/>").attr("ng-switch-when","html").attr("ng-bind-html-unsafe","html")},text:function(){return n("<div/>").attr("ng-switch-when","text").attr("ng-bind","text")},primitive:function(){return n("<div/>").attr("ng-switch-when","scopeValue").attr("ng-bind-html-unsafe","'' + scopeValue")}},r={base:function(){return f.container().append(f.html()).append(f.text()).append(f.primitive())}};r.dxList=function(){return r.base().attr("on","html && 'html' || text && 'text' || scopeValue && 'scopeValue' || key && 'key'").append(n("<div/>").attr("ng-switch-when","key").attr("ng-bind","key"))},r.dxToolbar=function(){var i=r.base().attr("on","html && 'html' || text && 'text' || scopeValue && 'scopeValue' || widget");return n.each(["button","tabs","dropDownMenu"],function(r,u){var f="dx-"+t.inflector.dasherize(this);n("<div/>").attr("ng-switch-when",u).attr(f,"options").appendTo(i)}),i},r.dxGallery=function(){return f.container().append(f.html()).append(f.text()).append(n("<img/>").attr("ng-switch-when","scopeValue").attr("ng-src","{{'' + scopeValue}}"))},r.dxTabs=function(){var i=f.container().attr("on","html && 'html' || icon && 'icon' || iconSrc && 'iconSrc' || text && 'text' || scopeValue && 'scopeValue'"),t=n("<span/>").addClass("dx-tab-text").attr("ng-bind","text"),r=n("<span/>").attr("ng-switch-when","icon").addClass("dx-icon").attr("ng-class","'dx-icon-' + icon").add(t.attr("ng-switch-when","icon")),u=n("<img/>").attr("ng-switch-when","iconSrc").addClass("dx-icon").attr("ng-src","{{iconSrc}}").add(t.attr("ng-switch-when","iconSrc"));return i.append(f.html()).append(r).append(u).append(t.attr("ng-switch-when","text")).append(f.primitive())},r.dxActionSheet=function(){return n("<div/>").attr("dx-button","{ bindingOptions: { text: 'text', clickAction: 'clickAction', type: 'type', disabled: 'disabled' } }")},r.dxNavBar=r.dxTabs,n.extend(u,{Component:nt,registerComponent:it,Template:s,TemplateProvider:rt}),y=h.registerEvent,p=function(n,t){y(n,t);var i=n.slice(0,2)+n.charAt(2).toUpperCase()+n.slice(3);v.directive(i,["$parse",function(t){return{restrict:"A",compile:function(r,u){var f=t(u[i]);return function(t,i){i.on(n,function(n){t.$apply(function(){f(t,{$event:n})})})}}}}])},n.extend(h,{registerEvent:p})}}(jQuery,DevExpress),function(n,t){var u=t.ui,e={text:"Ok",clickAction:function(){return!0}},r="dx-dialog",o=r+"-wrapper",s=r+"-root",h=r+"-content",c=r+"-message",l=r+"-buttons",a=r+"-button",v=function(i){function nt(){return f.show(),v.promise()}function w(n){f.hide().done(function(){f._element().remove()}),v.resolve(y||n)}var b=this,y,v;if(!u.dxPopup)throw new Error("DevExpress.ui.dxPopup required");v=n.Deferred(),i=n.extend(u.optionsByDevice(t.devices.current(),"dxDialog"),i);var k=n(".dx-viewport"),d=n("<div/>").addClass(r).appendTo(k),g=n("<div/>").addClass(c).html(String(i.message)),p=n("<div/>").addClass(l),f=d.dxPopup({title:i.title||b.title,height:"auto",width:function(){var r=n(window).height()>n(window).width(),t=(r?"p":"l")+"Width";return i.hasOwnProperty(t)?i[t]:i.width},contentReadyAction:function(){f.content().addClass(h).append(g).append(p)},animation:{show:{type:"pop",duration:400},hide:{type:"pop",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}}}).data("dxPopup");return f._wrapper().addClass(o),i.position&&f.option("position",i.position),n.each(i.buttons||[e],function(){var i=n("<div/>").addClass(a).appendTo(p),r=new t.Action(this.clickAction,{context:f});i.dxButton(n.extend(this,{clickAction:function(){y=r.execute(arguments),w()}}))}),f._wrapper().addClass(s),{show:nt,hide:w}},f=function(t,i){var r,f=n.isPlainObject(t)?t:{title:i,message:t};return r=u.dialog.custom(f),r.show()},y=function(t,i){var r,f=n.isPlainObject(t)?t:{title:i,message:t,buttons:[{text:Globalize.localize("Yes"),clickAction:function(){return!0}},{text:Globalize.localize("No"),clickAction:function(){return!1}}]};return r=u.dialog.custom(f),r.show()},p=function(i,r,e){var o,s;if(o=n.isPlainObject(i)?i:{message:i},!u.dxToast){f(o.message);return}r&&(o.type=r),e&&(o.displayTime=e),s=n("<div/>").appendTo(".dx-viewport").addClass("dx-static").dxToast(o).data("dxToast"),s.option("hiddenAction",function(n){n.element.remove(),new t.Action(o.hiddenAction,{context:n.model}).execute(arguments)}),s.show()};n.extend(u,{notify:p,dialog:{custom:v,alert:f,confirm:y}})}(jQuery,DevExpress),function(n,t){var r=t.data,u="_dataSourceOptions",f="_handleDataSourceChanged",e="_handleDataSourceLoadError",o="_handleDataSourceLoadingChanged";t.ui.DataHelperMixin={ctor:function(){this.disposing.add(function(){this._disposeDataSource()})},_refreshDataSource:function(){this._initDataSource(),this._loadDataSource()},_initDataSource:function(){var t=this.option("dataSource"),i,f;this._disposeDataSource(),t&&(t instanceof r.DataSource?(this._isSharedDataSource=!0,this._dataSource=t):(i=u in this?this[u]():{},f=this._dataSourceType?this._dataSourceType():r.DataSource,this._dataSource=new f(n.extend(!0,{},i,r.utils.normalizeDataSourceOptions(t)))),this._addDataSourceHandlers())},_addDataSourceHandlers:function(){f in this&&this._addDataSourceChangeHandler(),e in this&&this._addDataSourceLoadErrorHandler(),o in this&&this._addDataSourceLoadingChangedHandler()},_addDataSourceChangeHandler:function(){var t=this,n=this._dataSource;this._dataSourceChangedHandler=function(){t[f](n.items())},n.changed.add(this._dataSourceChangedHandler)},_addDataSourceLoadErrorHandler:function(){this._dataSourceLoadErrorHandler=n.proxy(this[e],this),this._dataSource.loadError.add(this._dataSourceLoadErrorHandler)},_addDataSourceLoadingChangedHandler:function(){this._dataSourceLoadingChangedHandler=n.proxy(this[o],this),this._dataSource.loadingChanged.add(this._dataSourceLoadingChangedHandler)},_loadDataSource:function(){if(this._dataSource){var n=this._dataSource;n.isLoaded()?this._dataSourceChangedHandler():n.load()}},_disposeDataSource:function(){this._dataSource&&(this._isSharedDataSource?(delete this._isSharedDataSource,this._dataSource.changed.remove(this._dataSourceChangedHandler),this._dataSource.loadError.remove(this._dataSourceLoadErrorHandler),this._dataSource.loadingChanged.remove(this._dataSourceLoadingChangedHandler)):this._dataSource.dispose(),delete this._dataSource,delete this._dataSourceChangedHandler,delete this._dataSourceLoadErrorHandler,delete this._dataSourceLoadingChangedHandler)}}}(jQuery,DevExpress),function(n){var r={2:"touch",3:"pen",4:"mouse"},u={filter:function(t,i){var u=i.pointerType;return n.isNumeric(u)&&(t.pointerType=r[u]),t},props:n.event.mouseHooks.props.concat(["pointerId","originalTarget","namespace","width","height","pressure","result","tiltX","charCode","tiltY","detail","isPrimary","prevValue"])};n.each(["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel","MSPointerOver","MSPointerOut","MSPointerEnter","MSPointerLeave","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave"],function(){n.event.fixHooks[this]=u})}(jQuery,DevExpress),function(n){var r={filter:function(n,t){return t.changedTouches.length&&(n.pageX=t.changedTouches[0].pageX,n.pageY=t.changedTouches[0].pageY),n},props:n.event.mouseHooks.props.concat(["touches","changedTouches","targetTouches","detail","result","namespace","originalTarget","charCode","prevValue"])};n.each(["touchstart","touchmove","touchend","touchcancel"],function(){n.event.fixHooks[this]=r})}(jQuery,DevExpress),function(n,t){var c=t.ui,f=t.support,e=t.devices.real,r=c.events,l=100,u=!1,o=null,a="dxPointerEvents",v={dxpointerdown:"mousedown",dxpointermove:"mousemove",dxpointerup:"mouseup",dxpointercancel:""},y={dxpointerdown:"touchstart",dxpointermove:"touchmove",dxpointerup:"touchend",dxpointercancel:"touchcancel"},p={dxpointerdown:"pointerdown",dxpointermove:"pointermove",dxpointerup:"pointerup",dxpointercancel:"pointercancel"},s={dxpointerdown:"touchstart mousedown",dxpointermove:"touchmove mousemove",dxpointerup:"touchend mouseup",dxpointercancel:"touchcancel"},h=function(){return f.touch&&!(e.tablet||e.phone)?s:f.touch?y:v}();n.each(h,function(t,i){var e={EVENT_NAMESPACE:[a,".",t].join(""),_handlerCount:0,_handler:function(i){return t==="dxpointerdown"&&n(i.target).data("dxGestureEvent",null),r.fireEvent({type:t,pointerType:r.eventSource(i),originalEvent:i})},setup:function(){if(!(f._handlerCount>0))n(document).on(r.addNamespace(i,e.EVENT_NAMESPACE),f._handler)},add:function(){f._handlerCount++},remove:function(){f._handlerCount--},teardown:function(){f._handlerCount||n(document).off("."+f.EVENT_NAMESPACE)}},c=n.extend({},e,{_handler:function(n){if(r.isTouchEvent(n)&&(f._skipNextEvents=!0),!r.isMouseEvent(n)||!u){if(r.isMouseEvent(n)&&f._skipNextEvents){f._skipNextEvents=!1,u=!0,clearTimeout(o),o=setTimeout(function(){u=!1},l);return}return e._handler(n)}}}),f=h===s?c:e;r.registerEvent(t,f)})}(jQuery,DevExpress),function(n,t,i){var y=navigator.userAgent,c=i.screen,l=t.ui,p=t.utils,f=l.events,w=t.support,e=t.devices.real,b="dxSpecialEvents",s="dxClick"+b,o="dxclick",h="dxClickScrollableParent",a="dxClickScrollableParentOffset",v=function(){var n=e.deviceType==="phone"&&c.height<=480,t=e.deviceType==="tablet"&&i.devicePixelRatio<2,r=e.platform==="ios"&&e.version[0]>6;return r&&(n||t)}(),k=function(){return e.platform==="ios"},d=function(){if(!w.touch)return!0;var t=y.match(/Chrome\/([0-9]+)/)||[],r=!!t[0],u=~~t[1],f=e.platform==="android";if(r)if(f){if(u>31&&i.innerWidth<=c.width||n("meta[name=viewport][content*='user-scalable=no']").length)return!0}else return!0;return!1}(),u={TOUCH_BOUNDARY:10,_startX:0,_startY:0,_handlerCount:0,_target:null,_touchWasMoved:function(n){var t=u.TOUCH_BOUNDARY;return Math.abs(n.pageX-u._startX)>t||Math.abs(n.pageY-u._startY)>t},_getClosestScrollable:function(t){var r=n(),i;if(t.data(h))r=t.data(h);else for(i=t;i.length;){if(i[0].scrollHeight-i[0].offsetHeight>1){r=i,t.data(h,r);break}i=i.parent()}return r},_saveClosestScrollableOffset:function(n){var t=u._getClosestScrollable(n);t.length&&n.data(a,t.scrollTop())},_closestScrollableWasMoved:function(n){var t=n.data(h);return t&&t.scrollTop()!==n.data(a)},_hasClosestScrollable:function(n){var t=u._getClosestScrollable(n);return t.length?t.is("body")?!1:t===window?!1:t.css("overflow")==="hidden"?!1:!0:!1},_handleStart:function(t){if(!f.isMouseEvent(t)||t.which===1){if(f.isTouchEvent(t)&&k()){var i=t.originalEvent.targetTouches[0].identifier;if(u._lastTouchId===i){l.feedback.reset();return}u._lastTouchId=i}u._saveClosestScrollableOffset(n(t.target)),u._target=t.target,u._startX=t.pageX,u._startY=t.pageY}},_handleEnd:function(t){var i=n(t.target);!i.is(u._target)||u._touchWasMoved(t)||u._closestScrollableWasMoved(i)||v&&u._hasClosestScrollable(i)||(i.is(":focus")||t.dxPreventBlur||p.resetActiveElement(),f.handleGestureEvent(t,o)&&f.fireEvent({type:o,originalEvent:t}),u._reset())},_handleCancel:function(){u._reset()},_reset:function(){u._target=null},_handleClick:function(t){var i=n(t.target);i.is(u._target)&&u._hasClosestScrollable(i)&&f.handleGestureEvent(t,o)&&f.fireEvent({type:o,originalEvent:t}),u._reset()},_makeElementClickable:function(n){n.attr("onclick")||n.attr("onclick","void(0)")},setup:function(){if(u._makeElementClickable(n(this)),!(u._handlerCount>0)){var t=n(document).on(f.addNamespace("dxpointerdown",s),n.proxy(u._handleStart,this)).on(f.addNamespace("dxpointerup",s),n.proxy(u._handleEnd,this)).on(f.addNamespace("dxpointercancel",s),n.proxy(u._handleCancel,this));if(v)t.on(f.addNamespace("click",s),n.proxy(u._handleClick,this))}},add:function(){u._handlerCount++},remove:function(){u._handlerCount--},teardown:function(){u._handlerCount||n(document).off("."+s)}},g={bindType:"click",delegateType:"click",handle:function(n){if(f.handleGestureEvent(n,o))return n.handleObj.handler.apply(this,arguments)}};f.registerEvent(o,d?g:u)}(jQuery,DevExpress,window),function(n,t){var s=t.ui,f=s.events,c=n.event.special,h="dxSpecialEvents",e="dxHold",o="dxhold",u=h+"HoldTimer",r={HOLD_TIMEOUT:750,TOUCH_BOUNDARY:5,_startX:0,_startY:0,_touchWasMoved:function(n){var t=r.TOUCH_BOUNDARY;return Math.abs(n.pageX-r._startX)>t||Math.abs(n.pageY-r._startY)>t},setup:function(t){var h=this,i=n(h),c=function(n){i.data(u)||(r._startX=n.pageX,r._startY=n.pageY,i.data(u,setTimeout(function(){i.removeData(u),f.handleGestureEvent(n,o)&&f.fireEvent({type:o,originalEvent:n})},t&&"timeout"in t?t.timeout:r.HOLD_TIMEOUT)))},l=function(n){r._touchWasMoved(n)&&s()},s=function(){clearTimeout(i.data(u)),i.removeData(u)};i.on(f.addNamespace("dxpointerdown",e),c).on(f.addNamespace("dxpointermove",e),l).on(f.addNamespace("dxpointerup",e),s)},teardown:function(){var t=n(this);clearTimeout(t.data(u)),t.removeData(u).off("."+e)}};f.registerEvent(o,r)}(jQuery,DevExpress),function(n,t){var o=t.ui,c=t.utils,r=o.events,l="dxswipestart",s="dxswipe",a="dxswipeend",v="dxswipecancel",u="dxSwipeEventDataKey",h="dxGesture",y={defaultItemSizeFunc:function(){return this._activeSwipeable.width()},isSwipeAngleAllowed:function(n){return Math.abs(n.y)<=Math.abs(n.x)},getBounds:function(){return[this._maxLeftOffset,this._maxRightOffset]},calcOffsetRatio:function(n){var t=r.eventData(n);return(t.x-(this._startEventData&&this._startEventData.x||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=r.eventData(n);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.x-this._tickData.x)>=t.time-this._tickData.time}},p={defaultItemSizeFunc:function(){return this._activeSwipeable.height()},isSwipeAngleAllowed:function(n){return Math.abs(n.y)>=Math.abs(n.x)},getBounds:function(){return[this._maxTopOffset,this._maxBottomOffset]},calcOffsetRatio:function(n){var t=r.eventData(n);return(t.y-(this._startEventData&&this._startEventData.y||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=r.eventData(n);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.y-this._tickData.y)>=t.time-this._tickData.time}},w={horizontal:y,vertical:p},b=t.Class.inherit({STAGE_SLEEP:0,STAGE_TOUCHED:1,STAGE_SWIPING:2,TICK_INTERVAL:300,FAST_SWIPE_SPEED_LIMIT:5,ctor:function(){this._attachEvents()},_getStrategy:function(){return w[this._data("direction")]},_defaultItemSizeFunc:function(){return this._getStrategy().defaultItemSizeFunc.call(this)},_itemSizeFunc:function(){return this._data("itemSizeFunc")||this._defaultItemSizeFunc},_data:function(n,t){var i=this._activeSwipeable.data(u);if(arguments.length===1)return i[n];arguments.length===2&&(i[n]=t)},_closestSwipeable:function(t){for(var i=n(t.target),r;i.length;){if(r=n(i).data(u),r)return n(i);i=i.parent()}},_handleStart:function(n){if(!r.needSkipEvent(n)&&!(this._swipeStage>this.STAGE_SLEEP)){var t=this._activeSwipeable=this._closestSwipeable(n);t&&(this._parentsLength=this._activeSwipeable.parents().length,this._startEventData=r.eventData(n),this._tickData={time:0},this._swipeStage=this.STAGE_TOUCHED)}},_handleMove:function(n){this._activeSwipeable&&this._swipeStage!==this.STAGE_SLEEP&&(this._swipeStage===this.STAGE_TOUCHED&&this._handleFirstMove(n),this._swipeStage===this.STAGE_SWIPING&&this._handleNextMoves(n))},_handleFirstMove:function(t){var i=r.eventDelta(this._startEventData,r.eventData(t)),u;if((i.x||i.y)&&r.handleGestureEvent(t,s)){if(!this._getStrategy().isSwipeAngleAllowed.call(this,i)||r.needSkipEvent(t)){this._fireSwipeCancelEvent(t),this._reset();return}if(o.feedback.reset(),n(":focus",this._activeSwipeable).length&&c.resetActiveElement(),t.originalEvent){if(u=this._data("direction"),t.originalEvent.pointerMoveData[u]!==this._parentsLength)return;t.originalEvent.isScrollingEvent=!1}if(this._prepareGesture(),t=r.fireEvent({type:"dxswipestart",originalEvent:t,target:this._activeSwipeable.get(0)}),t.cancel){this._fireSwipeCancelEvent(t),this._reset();return}this._maxLeftOffset=t.maxLeftOffset,this._maxRightOffset=t.maxRightOffset,this._maxTopOffset=t.maxTopOffset,this._maxBottomOffset=t.maxBottomOffset,this._swipeStage=this.STAGE_SWIPING}},_fireSwipeCancelEvent:function(n){r.fireEvent({type:"dxswipecancel",originalEvent:n,target:this._activeSwipeable.get(0)})},_handleBodyPointerMove:function(n){if(this._activeSwipeable&&n.originalEvent){var t=n.originalEvent.pointerMoveData||{},i=this._data("direction"),r=t[i];if(r&&r>this._parentsLength){this._reset();return}t[i]=this._parentsLength,n.originalEvent.pointerMoveData=t}},_handleNextMoves:function(n){var u=this._getStrategy(),i=r.eventData(n),t=u.calcOffsetRatio.call(this,n);t=this._fitOffset(t,this._data("elastic")),i.time-this._tickData.time>this.TICK_INTERVAL&&(this._tickData=i),r.fireEvent({type:"dxswipe",originalEvent:n,offset:t,target:this._activeSwipeable.get(0)})},_handleEnd:function(n){if((t.devices.isRippleEmulator()||!r.hasTouches(n))&&this._activeSwipeable){if(this._swipeStage!==this.STAGE_SWIPING){this._reset();return}var f=this._getStrategy(),e=f.calcOffsetRatio.call(this,n),o=f.isFastSwipe.call(this,n),i=e,u=this._calcTargetOffset(e,o);i=this._fitOffset(i,this._data("elastic")),u=this._fitOffset(u,!1),r.fireEvent({type:"dxswipeend",offset:i,targetOffset:u,target:this._activeSwipeable.get(0),originalEvent:n}),this._reset()}},_fitOffset:function(n,t){var r=this._getStrategy(),i=r.getBounds.call(this);return n<-i[0]?t?(-2*i[0]+n)/3:-i[0]:n>i[1]?t?(2*i[1]+n)/3:i[1]:n},_calcTargetOffset:function(n,t){var i;return t?(i=Math.ceil(Math.abs(n)),n<0&&(i=-i)):i=Math.round(n),i},_prepareGesture:function(){clearTimeout(this._gestureEndTimer),this._activeSwipeable.data(h,!0)},_forgetGesture:function(){var t=this._activeSwipeable;this._gestureEndTimer=setTimeout(n.proxy(function(){t.data(h,!1)},this),400)},_reset:function(){this._forgetGesture(),this._activeSwipeable=null,this._swipeStage=this.STAGE_SLEEP},_attachEvents:function(){n("body").on(r.addNamespace("dxpointermove","dxSwipe"),n.proxy(this._handleBodyPointerMove,this));n(document).on(r.addNamespace("dxpointerdown","dxSwipe"),n.proxy(this._handleStart,this)).on(r.addNamespace("dxpointermove","dxSwipe"),n.proxy(this._handleMove,this)).on(r.addNamespace("dxpointerup dxpointercancel","dxSwipe"),n.proxy(this._handleEnd,this))},isDisposed:function(){return this._disposed},dispose:function(){this._disposed=!0,this._activeSwipeable&&this._reset(),n(document).off(".dxSwipe")}}),f=null,e=0;n.each([l,s,a,v],function(t,i){r.registerEvent(i,{noBubble:!0,setup:function(t){n(this).data(u,n.extend(n(this).data(u)||{elastic:!0,direction:"horizontal"},t)),(!f||f.isDisposed())&&(f=new b)},add:function(){e++},remove:function(){e--},teardown:function(){var t=n(this);(t.data(u)&&t.removeData(u),e)||f&&(f.dispose(),f=null)}})})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,s="UIFeedback",f="dx-feedback",h="dx-state-active",c="dx-state-disabled",a="dx-state-invisible",v="dx-state-hovered",y=30,p=400,r,e=u.events;u.feedback={reset:function(){l(!0)}},u.Widget=u.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{visible:!0,activeStateEnabled:!0,width:i,height:i,clickAction:null,hoverStateEnabled:!1})},_init:function(){this.callBase(),this._feedbackShowTimeout=y,this._feedbackHideTimeout=p},_render:function(){this.callBase(),this._element().addClass("dx-widget"),this._toggleDisabledState(this.option("disabled")),this._toggleVisibility(this.option("visible")),this._refreshFeedback(),this._renderDimensions(),this._renderClick()},_dispose:function(){this._clearTimers(),r&&r.closest(this._element()).length&&(r=null),this.callBase()},_clean:function(){this.callBase(),this._element().empty()},_clearTimers:function(){clearTimeout(this._feedbackHideTimer),clearTimeout(this._feedbackShowTimer)},_toggleVisibility:function(n){this._element().toggleClass(a,!n)},_toggleHoverState:function(n){this.option("hoverStateEnabled")&&this._element().toggleClass(v,n)},_renderDimensions:function(){var n=this.option("width"),t=this.option("height");this._element().width(n),this._element().height(t)},_refreshFeedback:function(){this._feedbackDisabled()?(this._feedbackOff(),this._element().removeClass(f)):this._element().addClass(f)},_renderClick:function(){var t=this,n=e.addNamespace("dxclick",this.NAME);this._clickAction=this._createActionByOption("clickAction");this._clickEventContainer().off(n).on(n,function(n){t._clickAction({jQueryEvent:n})})},_clickEventContainer:function(){return this._element()},_feedbackDisabled:function(){return!this.option("activeStateEnabled")||this.option("disabled")},_feedbackOn:function(t,i){this._feedbackDisabled()||(this._clearTimers(),i?this._feedbackShow(t):this._feedbackShowTimer=window.setTimeout(n.proxy(this._feedbackShow,this,t),this._feedbackShowTimeout),this._saveActiveElement())},_feedbackShow:function(t){var i=this._element();this._activeStateUnit&&(i=n(t).closest(this._activeStateUnit)),i.hasClass(c)||(i.addClass(h),this._toggleHoverState(!1))},_saveActiveElement:function(){r=this._element()},_feedbackOff:function(t){this._clearTimers(),t?this._feedbackHide():this._feedbackHideTimer=window.setTimeout(n.proxy(this._feedbackHide,this),this._feedbackHideTimeout)},_feedbackHide:function(){var n=this._element();this._activeStateUnit&&(n=n.find(this._activeStateUnit)),n.removeClass(h),this._toggleHoverState(!this.option("disabled")),this._clearActiveElement()},_clearActiveElement:function(){var i=this._element().get(0),t=r&&r.get(0);t&&(t===i||n.contains(i,t))&&(r=null)},_toggleDisabledState:function(n){this._element().toggleClass(c,n),this._toggleHoverState(!n)},_optionChanged:function(n,t){switch(n){case"disabled":this._toggleDisabledState(t),this._refreshFeedback();break;case"activeStateEnabled":this._refreshFeedback();break;case"hoverStateEnabled":this._toggleHoverState();break;case"visible":this._toggleVisibility(t);break;case"width":case"height":this._renderDimensions();break;case"clickAction":this._renderClick();break;default:this.callBase.apply(this,arguments)}},repaint:function(){this._refresh()}});var w=function(n,t){var h=n.jQueryEvent,s=n.element,i,u;e.needSkipEvent(h)||(r&&o(r)._feedbackOff(!0),i=s.closest("."+f),i.length&&(u=o(i),u._feedbackOn(s,t),t&&u._feedbackOff()))},l=function(n){r&&o(r)._feedbackOff(n)},o=function(t){var i;return n.each(t.data("dxComponents"),function(n,r){if(u[r].subclassOf(u.Widget))return i=t.data(r),!1}),i};n(function(){var i=new t.Action(w);n(document).on(e.addNamespace("dxpointerdown",s),function(t){i.execute({jQueryEvent:t,element:n(t.target)})}).on(e.addNamespace("dxpointerup dxpointercancel",s),function(t){var u=r&&n(t.target).closest("."+f).get(0)===r.get(0);u&&i.execute({jQueryEvent:t,element:n(t.target)},!0),l()})})}(jQuery,DevExpress),function(n,t){var r=t.ui,u="template",f="[data-options*='dxTemplate']",e="dxTemplates",o=function(t){var i=n(t).data("options");return n.trim(i).charAt(0)!=="{"&&(i="{"+i+"}"),new Function("return "+i)().dxTemplate},s=r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{contentReadyAction:n.noop})},_init:function(){this.callBase(),this._templateProvider=new r.TemplateProvider,this._initTemplates(),this._initContentReadyAction()},_clean:n.noop,_createTemplate:function(n){return new(this._templateProvider.getTemplateClass(this))(n)},_initTemplates:function(){var n=this,t={},i=this._element().data(e),r=i?i:this._element().contents().filter(f);r.length?r.each(function(){var i=o(this);if(i){if(!i.name)throw Error("Template name was not specified");t[i.name]=n._createTemplate(this)}}):t[u]=n._createTemplate(n._element().contents()),this._externalTemplates={},this._templates=t},_initContentReadyAction:function(){this._contentReadyAction=this._createActionByOption("contentReadyAction",{excludeValidators:["gesture","designMode","disabled"]})},_render:function(){this.callBase(),this._renderContent()},_renderContent:function(){this._renderContentImpl(),this._fireContentReadyAction()},_renderContentImpl:t.abstract,_fireContentReadyAction:function(){this._contentReadyAction({excludeValidators:["disabled","gesture"]})},_getTemplate:function(n){var i=this._acquireTemplate.apply(this,arguments);if(!i&&this._templateProvider.supportDefaultTemplate(this)&&(i=this._templateProvider.getDefaultTemplate(this),!i))throw Error(t.utils.stringFormat('Template "{0}" was not found and no default template specified!',n));return i},_acquireTemplate:function(t){if(t==null)return t;if(t.nodeType||t.jquery)return t=n(t),t.is("script")&&(t=t.html()),this._createTemplate(t);if(typeof t=="string")return this._getTemplates()[t];if(n.isFunction(t)){var i=n.makeArray(arguments).slice(1);return this._acquireTemplate(t.apply(this,i))}return this._acquireTemplate(t.toString())},_optionChanged:function(n){switch(n){case"contentReadyAction":this._initContentReadyAction();break;default:this.callBase.apply(this,arguments)}},_cleanTemplates:function(){n.each(this._templates,function(n,t){t.dispose()})},_dispose:function(){this._cleanTemplates(),this._contentReadyAction=null,this.callBase()},addTemplate:function(t){n.extend(this._templates,t)},addExternalTemplate:function(t){n.extend(this._externalTemplates,t)},_getTemplates:function(){return n.extend({},this._templates,this._externalTemplates)}});r.ContainerWidget=s}(jQuery,DevExpress),function(n,t){var o=t.utils.isString,r,f=[],h=DevExpress.Class.inherit({_compile:function(n,t){return t},_render:function(n){return n},ctor:function(t){this._element=n(t),this._element.length===1&&(this._element[0].nodeName.toLowerCase()!=="script"&&(this._element=n("<div />").append(this._element)),this._template=this._compile(this._element.html()||"",this._element))},render:function(t,i){var r;if(this._template)return r=this._render(this._template,i),o(r)&&(r=n.parseHTML(r)),r=n(r),t&&t.append(r),r},dispose:n.noop}),s=function(n){if(n&&n.compile&&n.render)return h.inherit({allowRenderToDetachedContainer:n.allowRenderToDetachedContainer!==!1,_compile:n.compile,_render:n.render});throw Error("Template Engine must contains compile and render methods");},e,u;window.ko&&(e=function(){},e.prototype=ko.utils.extend(new ko.templateEngine,{renderTemplateSource:function(n,t){var u=n.data("precompiledTemplate");return u||(u=new r(n.domElement),n.data("precompiledTemplate",u)),u.render(null,t.$data)},allowTemplateRewriting:!1})),DevExpress.ui.setTemplateEngine=function(n){if(o(n)){if(r=f&&f[n],!r&&n!=="default")throw Error(t.utils.stringFormat('Template Engine "{0}" is not supported',n));}else r=s(n)||r;window.ko&&ko.setTemplateEngine(r?new e:new ko.nativeTemplateEngine)},DevExpress.ui.TemplateProvider=DevExpress.ui.TemplateProvider.inherit({getTemplateClass:function(){return r?r:this.callBase.apply(this,arguments)}}),u=function(n,t){f[n]=s(t)},u("jquery-tmpl",{compile:function(n,t){return t},render:function(n,t){return n.tmpl(t)}}),u("jsrender",{compile:function(t){return n.templates(t)},render:function(n,t){return n.render(t)}}),u("mustache",{compile:function(n){return Mustache.compile(n)},render:function(n,t){return n(t)}}),u("hogan",{compile:function(n){return Hogan.compile(n)},render:function(n,t){return n.render(t)}}),u("underscore",{compile:function(n){return _.template(n)},render:function(n,t){return n(t)}}),u("handlebars",{compile:function(n){return Handlebars.compile(n)},render:function(n,t){return n(t)}}),u("doT",{compile:function(n){return doT.template(n)},render:function(n,t){return n(t)}})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events,f=r.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{items:[],itemTemplate:"item",itemRender:null,itemClickAction:null,itemRenderedAction:null,noDataText:Globalize.localize("dxCollectionContainerWidget-noDataText"),dataSource:null})},_init:function(){this.callBase(),this._cleanRenderedItems(),this._refreshDataSource()},_dataSourceOptions:function(){var t={paginate:!1,_preferSync:!1};return n.isArray(this.option("dataSource"))&&(t._preferSync=!0),t},_cleanRenderedItems:function(){this._renderedItemsCount=0},_optionChanged:function(n,t,i){switch(n){case"items":this._cleanRenderedItems(),this._invalidate(),this.callBase.apply(this,arguments);break;case"dataSource":this._refreshDataSource(),this._dataSource||this.option("items",[]),this._renderEmptyMessage();break;case"noDataText":this._renderEmptyMessage();break;case"itemRenderedAction":this._createItemRenderAction();break;case"itemTemplate":this._itemTemplateName=null,this._invalidate();break;case"itemRender":this._itemRender=null,this._invalidate();break;default:this.callBase(n,t,i)}},_expectNextPageLoading:function(){this._startIndexForAppendedItems=0},_expectLastItemLoading:function(){this._startIndexForAppendedItems=-1},_forgetNextPageLoading:function(){this._startIndexForAppendedItems=null},_handleDataSourceChanged:function(n){var t=this.option("items");this._initialized&&t&&this._shouldAppendItems()?(this._renderedItemsCount=t.length,this.option().items=t.concat(n.slice(this._startIndexForAppendedItems)),this._renderContent(),this._forgetNextPageLoading()):this.option("items",n)},_handleDataSourceLoadError:function(){this._forgetNextPageLoading()},_shouldAppendItems:function(){return this._startIndexForAppendedItems!=null&&this._allowDinamicItemsAppend()},_allowDinamicItemsAppend:function(){return!1},_clean:function(){this._itemContainer().empty()},_refresh:function(){this._cleanRenderedItems(),this.callBase.apply(this,arguments)},_itemContainer:function(){return this._element()},_itemClass:t.abstract,_itemSelector:function(){return"."+this._itemClass()},_itemDataKey:t.abstract,_itemElements:function(){return this._itemContainer().find(this._itemSelector())},_render:function(){this.callBase(),this._attachClickEvent()},_attachClickEvent:function(){var t=this._itemSelector(),i=u.addNamespace("dxclick",this.NAME);this._itemContainer().off(i,t).on(i,t,n.proxy(this._handleItemClick,this))},_handleItemClick:function(n){this._handleItemJQueryEvent(n,"itemClickAction")},_renderContentImpl:function(){var n=this.option("items")||[];this._renderedItemsCount?this._renderItems(n.slice(this._renderedItemsCount)):this._renderItems(n)},_renderItems:function(t){t.length&&n.each(t,n.proxy(this._renderItem,this)),this._renderEmptyMessage()},_renderItem:function(n,t,i){var o;i=i||this._itemContainer();var f=this._getItemRenderer(),s=this._getItemTemplateName(),e=this._getTemplate(t.template||s,n,t),r,u={index:n,item:t,container:i};return r=f?this._createItemByRenderer(f,u):e?this._createItemByTemplate(e,u):this._createItemByRenderer(this._itemRenderDefault,u),r.addClass(this._itemClass()).data(this._itemDataKey(),t),o={itemElement:r,itemData:t,itemIndex:n},this._postprocessRenderItem(o),this._getItemRenderAction()({itemElement:r,itemData:t}),r},_createItemRenderAction:function(){return this._itemRenderAction=this._createActionByOption("itemRenderedAction",{element:this._element(),excludeValidators:["gesture","designMode","disabled"]})},_getItemRenderAction:function(){return this._itemRenderAction||this._createItemRenderAction()},_getItemRenderer:function(){return this._itemRender=this._itemRender||this.option("itemRender")},_createItemByRenderer:function(t,i){var r=n("<div />").appendTo(i.container),u=t.call(this,i.item,i.index,r);return u!=null&&r[0]!==u[0]&&r.append(u),r},_getItemTemplateName:function(){return this._itemTemplateName=this._itemTemplateName||this.option("itemTemplate")},_createItemByTemplate:function(n,t){return n.render(t.container,t.item,t.index,"ignoreTarget")},_itemRenderDefault:function(t,r,u){n.isPlainObject(t)?(t.visible===i||t.visible||u.hide(),t.disabled&&u.addClass("dx-state-disabled"),t.text&&u.text(t.text),t.html&&u.html(t.html)):u.html(String(t))},_postprocessRenderItem:n.noop,_renderEmptyMessage:function(){var t=this.option("noDataText"),i=this.option("items"),u=this._dataSource&&this._dataSource.isLoading(),r=!t||i&&i.length||u;r&&this._$nodata&&(this._$nodata.remove(),this._$nodata=null),r||(this._$nodata=this._$nodata||n("<div />").addClass("dx-empty-message"),this._$nodata.appendTo(this._itemContainer()).text(t))},_handleItemJQueryEvent:function(t,i,r,u){this._handleItemEvent(t.target,i,n.extend(r,{jQueryEvent:t}),u)},_closestItemElement:function(t){return n(t).closest(this._itemSelector())},_handleItemEvent:function(t,i,r,u){var f=this._closestItemElement(n(t)),e=this._createActionByOption(i,u);return r=n.extend({itemElement:f,itemData:this._getItemData(f)},r),e(r)},_getItemData:function(n){return n.data(this._itemDataKey())}}).include(r.DataHelperMixin);r.CollectionContainerWidget=f}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,f=r.CollectionContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{selectedIndex:-1,itemSelectAction:null})},_render:function(){this.callBase(),this._renderSelectedIndex(this.option("selectedIndex")),this._attachSelectedEvent()},_attachSelectedEvent:function(){var t=this._itemSelector(),r=this._createAction(this._handleItemSelect),f=n.proxy(this._handleItemClick,this),i=u.addNamespace("dxclick",this.NAME);this._element().off(i,t).on(i,t,function(i){var u=n(i.target).closest(t);r({itemElement:u,jQueryEvent:i}),f(i)})},_handleItemSelect:function(t){var r=t.jQueryEvent,i=t.component;if(!u.needSkipEvent(r)){var e=i._itemElements(),o=n(r.target).closest(i._itemSelector()),f=e.index(o);i.option("selectedIndex")!==f&&i._onItemSelectAction(f)}},_onItemSelectAction:function(n){this.option("selectedIndex",n)},_renderSelectedIndex:t.abstract,_renderEmptyMessage:n.noop,_attachClickEvent:n.noop,_optionChanged:function(n,t,i){n==="selectedIndex"?(this._renderSelectedIndex(t,i),this._handleItemEvent(this._selectedItemElement(t),"itemSelectAction",null,{excludeValidators:["gesture"]})):this.callBase.apply(this,arguments)},_selectedItemElement:function(n){return this._itemElements().eq(n)}});r.SelectableCollectionWidget=f}(jQuery,DevExpress),function(n,t){var u=function(n){var i=t.devices.real,r=i.platform==="android"&&i.version.length&&i.version[0]<4,u=i.platform!==n.platform,f=n.platform==="generic",e=n.platform==="desktop",o=i.platform==="tizen",s=i.platform==="generic",h=t.devices.isRippleEmulator(),c=t.devices.isSimulator();return r||o||h||c||u&&!f&&!(s&&e)},f=/chrome/i.test(navigator.userAgent),r={};r.dxActionSheet=function(n){if(n.platform==="ios"&&n.tablet)return{usePopover:!0}},r.dxRadioGroup=function(n){if(n.tablet)return{layout:"horizontal"}},r.dxDateBox=function(n){if(n.android||n.win8)return{useNativePicker:!1}},r.dxDatePicker=function(n){return n.platform!=="win8"?{width:333,height:280}:{showNames:!0}},r.dxDialog=function(t){return t.platform==="ios"?{width:276}:t.platform==="win8"&&!t.phone?{width:"60%"}:t.platform==="win8"?{width:function(){return n(window).width()},position:{my:"top center",at:"top center",of:window,offset:"0 0"}}:t.platform==="android"?{lWidth:"60%",pWidth:"80%"}:void 0},r.dxDropDownMenu=function(n){if(n.platform==="ios")return{usePopover:!0}},r.dxLoadIndicator=function(){var t=DevExpress.devices.real,i=t.platform==="android"&&(t.version[0]<4||t.version[0]===4&&t.version[1]===0);if(DevExpress.browser.msie&&DevExpress.browser.version[0]<=10||i)return{viaImage:!0}},r.dxLoadPanel=function(n){if(n.platform==="desktop")return{width:180}},r.dxLookup=function(t){return t.platform==="win8"&&t.phone?{showCancelButton:!1,fullScreen:!0}:t.platform==="ios"&&t.phone?{fullScreen:!0}:t.platform==="ios"&&t.tablet?{popupWidth:function(){return Math.min(n(window).width(),n(window).height())*.4},popupHeight:function(){return Math.min(n(window).width(),n(window).height())*.4},usePopover:!0}:void 0},r.dxPopup=function(n){return n.platform==="win8"&&!n.phone?{width:"60%"}:n.platform==="win8"&&n.phone?{position:{my:"top center",at:"top center",of:window,offset:"0 0"}}:n.platform==="ios"?{animation:{show:{type:"slide",duration:400,from:{position:{my:"top",at:"bottom",of:window}},to:{position:{my:"center",at:"center",of:window}}},hide:{type:"slide",duration:400,from:{position:{my:"center",at:"center",of:window}},to:{position:{my:"top",at:"bottom",of:window}}}}}:void 0},r.dxScrollable=function(n){return u(n)?{useNative:!1,useSimulatedScrollBar:!0}:n.platform==="android"&&!f?{useSimulatedScrollBar:!0}:void 0},r.dxScrollView=function(t){var i=r.dxScrollable(t)||{},u=DevExpress.devices.real;return(u.platform==="ios"||t.platform==="desktop"||t.platform==="generic")&&n.extend(i,{refreshStrategy:"pullDown"}),u.platform==="android"&&n.extend(i,{refreshStrategy:"swipeDown"}),u.platform==="win8"&&n.extend(i,{refreshStrategy:"slideDown"}),i},r.dxList=function(t){var i=r.dxScrollable(t)||{};return"useNative"in i&&(i.useNativeScrolling=i.useNative,delete i.useNative),delete i.useSimulatedScrollBar,t.platform==="desktop"&&n.extend(i,{showNextButton:!0,autoPagingEnabled:!1,editConfig:{selectionMode:"control"}}),(t.platform==="ios"||t.platform==="ios7")&&n.extend(i,{editConfig:{deleteMode:t.version===7?"slideItem":"slideButton"}}),t.platform==="android"&&n.extend(i,{editConfig:{deleteMode:"swipe"}}),t.platform==="win8"&&n.extend(i,{editConfig:{deleteMode:"hold"}}),t.platform==="generic"&&n.extend(i,{editConfig:{deleteMode:"slideItem"}}),i},r.dxToast=function(t){if(t.platform==="win8")return{position:{my:"top center",at:"top center",of:window,offset:"0 0"},width:function(){return n(window).width()-20},height:"35px"}},r.dxToolbar=function(n){return n.platform==="ios"?{submenuType:"dxActionSheet"}:n.platform==="win8"?{submenuType:"dxList"}:n.platform==="android"?{submenuType:"dxDropDownMenu"}:void 0},t.ui.optionsByDevice=function(n,t){var i=r[t];return i&&i(n)}}(jQuery,DevExpress));if(!DevExpress.MOD_WIDGETS){if(!window.DevExpress)throw Error("Required module is not referenced: core");(function(n,t){var r=t.ui,e="dxScrollable",o="dx-scrollable",s="dx-scrollable-disabled",h="dx-scrollable-container",c="dx-scrollable-content",u="vertical",f="horizontal",l="both";r.registerComponent(e,r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{scrollAction:null,direction:u,showScrollbar:!0,useNative:!0,updateAction:null,useSimulatedScrollBar:!1,inertiaEnabled:!0,bounceEnabled:!0,startAction:null,endAction:null,bounceAction:null,stopAction:null})},_init:function(){this.callBase(),this._initMarkup(),this._attachWindowResizeCallback(),this._attachNativeScrollbarsCustomizationCss(),this._locked=!1},_initMarkup:function(){var t=this._element().addClass(o),i=this._$container=n("<div>").addClass(h),r=this._$content=n("<div>").addClass(c);r.append(t.contents()).appendTo(i),i.appendTo(t)},_attachWindowResizeCallback:function(){var n=this;n._windowResizeCallback=function(){n.update()},t.utils.windowResizeCallbacks.add(n._windowResizeCallback)},_attachNativeScrollbarsCustomizationCss:function(){navigator.platform.indexOf("Mac")>-1&&DevExpress.browser.webkit||this._element().addClass("dx-scrollable-customizable-scrollbars")},_render:function(){this.callBase(),this._renderDisabledState(),this._renderDirection(),this._createStrategy(),this._createActions(),this.update()},_renderDisabledState:function(){this._$element.toggleClass(s,this.option("disabled"))},_renderDirection:function(){this._element().removeClass("dx-scrollable-"+f).removeClass("dx-scrollable-"+u).removeClass("dx-scrollable-"+l).addClass("dx-scrollable-"+this.option("direction"))},_createStrategy:function(){this._strategy=this.option("useNative")||t.designMode?new r.NativeScrollableStrategy(this):new r.SimulatedScrollableStrategy(this),this._strategy.render()},_createActions:function(){this._strategy.createActions()},_clean:function(){this._strategy.dispose()},_dispose:function(){this._detachWindowResizeCallback(),this.callBase()},_detachWindowResizeCallback:function(){t.utils.windowResizeCallbacks.remove(this._windowResizeCallback)},_optionChanged:function(n){switch(n){case"disabled":this._renderDisabledState();break;case"startAction":case"endAction":case"stopAction":case"updateAction":case"scrollAction":case"bounceAction":this._createActions();break;case"direction":case"showScrollbar":case"useSimulatedScrollBar":this._invalidate();break;default:this.callBase.apply(this,arguments)}},_location:function(){return this._strategy.location()},_normalizeLocation:function(t){var i=this.option("direction");return{x:n.isPlainObject(t)?-t.x||0:i!==u?-t:0,y:n.isPlainObject(t)?-t.y||0:i!==f?-t:0}},_isLocked:function(){return this._locked},_lock:function(){this._locked=!0},_unlock:function(){this._locked=!1},content:function(){return this._$content},scrollOffset:function(){var n=this._location();return{top:-n.top,left:-n.left}},clientHeight:function(){return this._$container.height()},scrollHeight:function(){return this.content().height()},clientWidth:function(){return this._$container.width()},scrollWidth:function(){return this.content().width()},update:function(){return this._strategy.update(),n.Deferred().resolve().promise()},scrollBy:function(n){n=this._normalizeLocation(n),this._strategy.scrollBy(n)},scrollTo:function(n){n=this._normalizeLocation(n);var t=this._location();this.scrollBy({x:t.left-n.x,y:t.top-n.y})}}))})(jQuery,DevExpress),function(n,t){var r=t.ui,f="dxScrollbar",e="dx-scrollable-scrollbar",o="dx-scrollable-scroll",s="dx-scrollable-scrollbars-hidden",h="vertical",u="horizontal";r.registerComponent(f,r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{direction:null,visible:!1,activeStateEnabled:!1})},_renderThumb:function(){this._$thumb=n("<div>").addClass(o),this._element().addClass(e).append(this._$thumb)},_render:function(){this._renderThumb(),this.callBase();var n=this.option("direction");this._element().addClass("dx-scrollbar-"+n),this._dimension=n===u?"width":"height",this._prop=n===u?"left":"top"},_renderDimensions:function(){this._$thumb.height(this.option("height")),this._$thumb.width(this.option("width"))},_toggleVisibility:function(n){n=n&&this._containerToContentRatio<1,this._$thumb.toggleClass("dx-state-invisible",!n)},moveTo:function(i){n.isPlainObject(i)&&(i=i[this._prop]||0);var r={};r[this._prop]=this._calculateScrollBarPosition(i),t.translator.move(this._$thumb,r)},_calculateScrollBarPosition:function(n){return-n*this._containerToContentRatio},update:function(n,t){n=this._normalizeSize(n),t=this._normalizeSize(t),this._containerToContentRatio=n/t;var i=n*this._containerToContentRatio;this.option(this._dimension,i)},_normalizeSize:function(t){return n.isPlainObject(t)?t[this._dimension]||0:t}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,u=f.events,y=t.devices,p=Math.abs,e="dxNativeScrollable",a="dx-scrollable-native",tt="dx-scrollable-scrollbar-simulated",it="dx-scrollable-scrollbars-hidden",o="vertical",h="horizontal",rt=500,w="dxGesture";f.NativeScrollableStrategy=t.Class.inherit({ctor:function(n){this._init(n),this._attachScrollHandler()},_init:function(t){this._component=t,this._$element=t._element(),this._$container=t._$container,this._$content=t._$content,this.option=n.proxy(t.option,t),this._createActionByOption=n.proxy(t._createActionByOption,t),this._useSimulatedScrollBar=t.option("useSimulatedScrollBar"),this._direction=t.option("direction"),this._isLocked=n.proxy(t._isLocked,t)},_attachScrollHandler:function(){n(this._$container).on(u.addNamespace("scroll",e),n.proxy(this._handleScroll,this))},render:function(){this._$element.addClass(a),this._$element.addClass(a+"-"+y.real.platform),this._renderScrollbar()},_renderScrollbar:function(){var t,i;(this._scrollbars={},this._$element.toggleClass(it,!this.option("showScrollbar")),this.option("showScrollbar"))&&this._useSimulatedScrollBar&&(this._direction!==h&&(t=n("<div>").dxScrollbar({direction:o,disable:this._useSimulatedScrollBar}).appendTo(this._$element),this._scrollbars[o]=t.dxScrollbar("instance")),this._direction!==o&&(i=n("<div>").dxScrollbar({direction:h,disable:this._useSimulatedScrollBar}).appendTo(this._$element),this._scrollbars[o]=i.dxScrollbar("instance")),this._hideScrollbarTimeout=0,this._$element.addClass(tt))},createActions:function(){var n={excludeValidators:["gesture"]};this._scrollAction=this._createActionByOption("scrollAction",n),this._updateAction=this._createActionByOption("updateAction",n)},_createActionArgs:function(){var n=this.location();return{jQueryEvent:k,scrollOffset:{top:-n.top,left:-n.left},reachedLeft:this._direction!==o?n.left>=0:i,reachedRight:this._direction!==o?n.left<=this._containerSize.width-this._contentSize.width:i,reachedTop:this._direction!==h?n.top>=0:i,reachedBottom:this._direction!==h?n.top<=this._containerSize.height-this._contentSize.height:i}},dispose:function(){this===r&&(r=null),n(this._$container).off(u.addNamespace("scroll",e)),this._removeScrollbars(),clearTimeout(this._gestureEndTimer)},_removeScrollbars:function(){n.each(this._scrollbars,function(){this._element().remove()})},_handleScroll:function(n){if(!this._isScrollLocationChanged()){n.stopImmediatePropagation();return}k=n,this._moveScrollbars(),this._scrollAction(this._createActionArgs()),this._treatNativeGesture(),this._lastLocation=this.location()},_isScrollLocationChanged:function(){var n=this.location(),t=this._lastLocation||{},i=t.top!==n.top,r=t.left!==n.left;return i||r},_moveScrollbars:function(){var t=this;n.each(t._scrollbars,function(){this.moveTo(t.location()),this.option("visible",!0)}),this._hideScrollbars()},_hideScrollbars:function(){var t=this;clearTimeout(t._hideScrollbarTimeout),t._hideScrollbarTimeout=setTimeout(function(){n.each(t._scrollbars,function(){this.option("visible",!1)})},rt)},_treatNativeGesture:function(){this._prepareGesture(),this._forgetGesture()},_prepareGesture:function(){this._gestureEndTimer?(clearTimeout(this._gestureEndTimer),this._gestureEndTimer=null):this._$element.data(w,!0),f.feedback.reset()},_forgetGesture:function(){this._gestureEndTimer=setTimeout(n.proxy(function(){this._$element.data(w,!1),this._gestureEndTimer=null},this),400)},location:function(){return{left:-this._$container.scrollLeft(),top:-this._$container.scrollTop()}},update:function(){this._updateDimensions(),this._updateAction(this._createActionArgs()),this._updateScrollbars()},_updateDimensions:function(){this._containerSize={height:this._$container.height(),width:this._$container.width()},this._contentSize={height:this._component.content().height(),width:this._component.content().width()}},_updateScrollbars:function(){if(this._useSimulatedScrollBar){var t=this,i=this._containerSize,r=this._contentSize;n.each(t._scrollbars,function(){this.update(i,r)})}},_handleStart:n.noop,_handleMove:n.noop,_handleEnd:n.noop,scrollBy:function(n){var t=this.location();this._$container.scrollTop(-t.top-n.y),this._$container.scrollLeft(-t.left-n.x)}});var b=0,v=1,ut=2,r,s=b,c,k,l=null,d=10,g=function(t){var i=n(t).closest("."+a),u,r;if(i.length)return u=i.data("dxComponents"),n.each(u,function(n,t){var u=f[t];if(u===f.dxScrollable||u.subclassOf(f.dxScrollable))return r=i.data(t),!1}),r&&r.option("disabled")?g(i.parent()):r._strategy},ft=function(){s=b,r=null},et=function(i){if(y.real.platform==="ios"){var u=n(":focus",r._$element).length,f=n(i.target).closest("textarea").length;u&&!f&&t.utils.resetActiveElement()}},ot=function(n){u.needSkipEvent(n)||(r=g(n.target),r&&(c=r._$element.parents().length,s=v,r._handleStart(n),l=u.eventData(n)))},st=function(n){if(r&&s==v&&n.originalEvent){var t=n.originalEvent.pointerMoveData||{},i=r.option("direction"),u=t[i];if(u&&u>c){nt();return}t[i]=c,n.originalEvent.pointerMoveData=t}},ht=function(n){var t,f,i;if(r){if(t=n.originalEvent.pointerMoveData,f=r.option("direction"),t&&t[f]!==c)return;if(n.originalEvent.isScrollingEvent=!0,r._isLocked()){n.preventDefault();return}s==v&&(et(n),s=ut),r._handleMove(n),l&&(i=u.eventDelta(l,u.eventData(n)),(p(i.x)>d||p(i.y)>d)&&(r._prepareGesture(),l=null))}},nt=function(n){r&&(r._handleEnd(n),r._forgetGesture(),ft())};n(function(){var i={context:f.dxScrollable,excludeValidators:["gesture","designMode"]},r=new t.Action(ot,i),o=new t.Action(ht,i),s=new t.Action(nt,i),h=new t.Action(st,i);n("body").on(u.addNamespace("dxpointermove",e),function(n){h.execute(n)});n(document).on(u.addNamespace("dxpointerdown",e),function(n){r.execute(n)}).on(u.addNamespace("dxpointermove",e),function(n){o.execute(n)}).on(u.addNamespace("dxpointerup dxpointercancel",e),function(n){s.execute(n)})})}(jQuery,DevExpress),function(n,t,i){var o=t.ui,u=o.events,f=Math,s="dxSimulatedScrollable",tt="dx-scrollable-simulated",fi="dxScrollbar",ei="dx-scrollable-scrollbar",oi="dx-scrollable-scroll",lt="dx-scrollable-scrollbars-hidden",k="vertical",h="horizontal",l=.92,it=.5,at=400,rt=1,vt=rt/5,d=f.round(1e3/60),yt=at/d,pt=(1-f.pow(l,yt))/(1-l),wt=it,ut="dxGesture",ft=t.Animator.inherit({ctor:function(n){this.callBase(),this.scroller=n},VELOCITY_LIMIT:rt,_isFinished:function(){return f.abs(this.scroller._velocity)<=this.VELOCITY_LIMIT},_step:function(){this.scroller._scrollStep(this.scroller._velocity),this.scroller._velocity*=this._acceleration()},_acceleration:function(){return this.scroller._inBounds()?l:it},_complete:function(){this.scroller._scrollComplete()},_stop:function(){this.scroller._handleStop()}}),bt=ft.inherit({VELOCITY_LIMIT:vt,_isFinished:function(){return this.scroller._crossBoundOnNextStep()||this.callBase()},_acceleration:function(){return l},_complete:function(){this.scroller._move(this.scroller._bounceLocation),this.callBase()}}),kt=o.Scroller=t.Class.inherit({ctor:function(n){this._initOptions(n),this._initAnimators(),this._initScrollbar(),this._initCallbacks(),this._topReached=!1,this._bottomReached=!1},_initOptions:function(t){var i=this;this._location=0,this._axis=t.direction===h?"x":"y",this._prop=t.direction===h?"left":"top",this._dimension=t.direction===h?"width":"height",this._scrollProp=t.direction===h?"scrollLeft":"scrollTop",n.each(t,function(n,t){i["_"+n]=t})},_initAnimators:function(){this._inertiaAnimator=new ft(this),this._bounceAnimator=new bt(this)},_initScrollbar:function(){this._$scrollbar=n("<div>").dxScrollbar({direction:this._direction}).appendTo(this._$container),this._scrollbar=this._$scrollbar.dxScrollbar("instance")},_initCallbacks:function(){this.topBouncedCallbacks=n.Callbacks(),this.bottomBouncedCallbacks=n.Callbacks()},_scrollStep:function(n){this._location=this._location+n,this._suppressBounce(),this._move(),this._scrollAction()},_move:function(n){this._location=n!==i?n:this._location,this._moveContent(),this._moveScrollbar()},_moveContent:function(){var n={};n[this._prop]=this._location,t.translator.move(this._$content,n)},_moveScrollbar:function(){this._scrollbar.moveTo(this._calculateScrollBarPosition())},_calculateScrollBarPosition:function(){return this._location},_suppressBounce:function(){this._bounceEnabled||this._inBounds(this._location)||(this._velocity=0,this._location=this._boundLocation())},_boundLocation:function(){var n=this._location;return n>this._maxOffset?n=this._maxOffset:n<this._minOffset&&(n=this._minOffset),n},_scrollComplete:function(){this._inBounds()&&(this._hideScrollbar(),this._roundLocation(),this._completeDeferred&&this._completeDeferred.resolve()),this._scrollToBounds()},_roundLocation:function(){this._location=f.round(this._location),this._move()},_scrollToBounds:function(){this._inBounds()||(this._bounceAction(),this._setupBounce(),this._bounceAnimator.start())},_setupBounce:function(){var n=this._bounceLocation=this._boundLocation(),t=n-this._location;this._velocity=t/pt},_inBounds:function(n){return n=n!==i?n:this._location,n>=this._minOffset&&n<=this._maxOffset},_crossBoundOnNextStep:function(){var n=this._location,t=n+this._velocity;return n<this._minOffset&&t>=this._minOffset||n>this._maxOffset&&t<=this._maxOffset},_handleStart:function(){return this._stopDeferred=n.Deferred(),this._stopScrolling(),this._update(),this._stopDeferred.promise()},_stopScrolling:function(){this._hideScrollbar(),this._inertiaAnimator.stop(),this._bounceAnimator.stop()},_handleStop:function(){this._stopDeferred&&this._stopDeferred.resolve()},_handleFirstMove:function(){this._showScrollbar()},_handleMove:function(n){n=n[this._axis],this._inBounds()||(n*=wt),this._scrollStep(n)},_handleMoveEnd:function(t){return this._completeDeferred=n.Deferred(),this._velocity=t[this._axis],this._suppressVelocity(),this._handleInertia(),this._completeDeferred.promise()},_suppressVelocity:function(){this._inertiaEnabled||(this._velocity=0)},_handleTapEnd:function(){this._scrollToBounds()},_handleInertia:function(){this._inertiaAnimator.start()},_handleDispose:function(){this._$scrollbar.remove()},_handleUpdate:function(){this._update(),this._moveToBounds()},_update:function(){this._stopScrolling(),this._updateLocation(),this._updateBounds(),this._updateScrollbar(),this._moveScrollbar()},_updateLocation:function(){this._location=t.translator.locate(this._$content)[this._prop]},_updateBounds:function(){this._maxOffset=0,this._minOffset=f.min(this._containerSize()-this._contentSize(),0)},_updateScrollbar:function(){this._scrollbar.update(this._containerSize(),this._contentSize())},_moveToBounds:function(){this._location=this._boundLocation(),this._move()},_handleCreateActions:function(n){this._scrollAction=n.scrollAction,this._bounceAction=n.bounceAction},_showScrollbar:function(){this._scrollbar.option("visible",this._scrollbarVisible)},_hideScrollbar:function(){this._scrollbar.option("visible",!1)},_containerSize:function(){return this._$container[this._dimension]()},_contentSize:function(){return this._$content[this._dimension]()},_validateTarget:function(n){return n.closest(this._$container)},_validateDirection:function(n){return f.abs(n[this._axis])>=f.abs(n[this._axis==="x"?"y":"x"])},_reachedMin:function(){return this._location<=this._minOffset},_reachedMax:function(){return this._location>=this._maxOffset}});o.SimulatedScrollableStrategy=t.Class.inherit({ctor:function(n){this._init(n),this._attachScrollHandler()},_init:function(t){this._component=t,this._$element=t._element(),this._$container=t._$container,this._$content=t._$content,this.option=n.proxy(t.option,t),this._createActionByOption=n.proxy(t._createActionByOption,t),this._isLocked=n.proxy(t._isLocked,t)},_attachScrollHandler:function(){n(this._$container).on(u.addNamespace("scroll",s),n.proxy(this._handleScroll,this))},_handleScroll:function(){var t={x:this._$container.scrollLeft(),y:this._$container.scrollTop()};this._$container.scrollLeft(-t.x),this._$container.scrollTop(-t.y),this.scrollBy(t)},render:function(){this._$element.addClass(tt),this._createScrollers()},_createScrollers:function(){var n=this.option("direction");this._scrollers={},n!==k&&this._createScroller(h),n!==h&&this._createScroller(k),this._$element.toggleClass(lt,!this.option("showScrollbar"))},_createScroller:function(n){this._scrollers[n]=new kt(this._scrollerOptions(n))},_scrollerOptions:function(n){return{direction:n,$content:this._$content,$container:this._$container,scrollbarVisible:this.option("showScrollbar"),bounceEnabled:this.option("bounceEnabled"),inertiaEnabled:this.option("inertiaEnabled")}},createActions:function(){this._startAction=this._createActionHandler("startAction"),this._stopAction=this._createActionHandler("stopAction"),this._endAction=this._createActionHandler("endAction"),this._updateAction=this._createActionHandler("updateAction"),this._createScrollerActions()},_createScrollerActions:function(){this._handleEvent("CreateActions",{scrollAction:this._createActionHandler("scrollAction"),bounceAction:this._createActionHandler("bounceAction")})},_createActionHandler:function(t){var i=this,r=i._createActionByOption(t,{excludeValidators:["gesture"]});return function(){r(n.extend(i._createActionArgs(),arguments))}},_createActionArgs:function(){var n=this._scrollers[h],t=this._scrollers[k];return{jQueryEvent:p,scrollOffset:{top:t&&-t._location,left:n&&-n._location},reachedLeft:n&&n._reachedMax(),reachedRight:n&&n._reachedMin(),reachedTop:t&&t._reachedMax(),reachedBottom:t&&t._reachedMin()}},dispose:function(){this===r&&(r=null),this._handleEvent("Dispose"),this._detachScrollHandler(),this._startAction=null,this._stopAction=null,this._endAction=null,this._updateAction=null,clearTimeout(this._gestureEndTimer)},_detachScrollHandler:function(){n(this._$container).off(u.addNamespace("scroll",s),this._handleScroll)},_handleEvent:function(t){var i=n.makeArray(arguments).slice(1),r=n.map(this._scrollers,function(n){return n["_handle"+t].apply(n,i)});return n.when.apply(n,r).promise()},_handleStart:function(t){this._handleEvent("Start",t).done(n.proxy(this._forgetGesture,this)).done(this._stopAction)},_handleFirstMove:function(){return this._handleEvent("FirstMove").done(this._startAction)},_prepareGesture:function(){clearTimeout(this._gestureEndTimer),this._$element.data(ut,!0),o.feedback.reset()},_handleMove:function(n){this._handleEvent("Move",n)},_handleMoveEnd:function(n){return this._handleEvent("MoveEnd",n).done(this._endAction)},_forgetGesture:function(){this._gestureEndTimer=setTimeout(n.proxy(function(){this._$element.data(ut,!1)},this),400)},_handleTapEnd:function(){this._handleEvent("TapEnd")},location:function(){return t.translator.locate(this._$content)},_validateTarget:function(t){if(this.option("disabled"))return!1;var i=!1;return n.each(this._scrollers,function(){i=i||this._validateTarget(t)}),i},_validateDirection:function(t){var i=!1;return n.each(this._scrollers,function(){i=i||this._validateDirection(t)}),i},update:function(){return this._handleEvent("Update").done(this._updateAction)},scrollBy:function(n){this._handleFirstMove(),this._handleMove(n),this._handleMoveEnd({x:0,y:0})}});var g=0,a=1,nt=2,dt=100,gt=200,r,v,e=g,c,y,p,w=null,et=10,ot=function(t){var i=n(t).closest("."+tt),u,r;if(i.length)return u=i.data("dxComponents"),n.each(u,function(n,t){var u=o[t];if(u===o.dxScrollable||u.subclassOf(o.dxScrollable))return r=i.data(t),!1}),r&&r.option("disabled")?ot(i.parent()):r._strategy},b=function(){e=g},ni=function(){t.utils.resetActiveElement()},si=function(n){n.preventDefault()},st=function(t){u.needSkipEvent(t)||(r=ot(t.target),r&&r._validateTarget(n(t.target))&&(v=r._$element.parents().length,p=t,w=c=y=u.eventData(t),e=a,r._handleStart(n(t.target))))},ht=function(n){var t,o,i,f;if(r){if(n.originalEvent&&(t=n.originalEvent.pointerMoveData,o=r.option("direction"),t&&t[o]!==v)){b();return}(p=n,e!==g)&&(i=u.eventData(n),f=u.eventDelta(c,i),e===a&&ti(f),e===nt&&ri(i,f))}},ti=function(t){if(!r._validateDirection(t)){b();return}n(":focus",r._$element).length&&ni(),r._handleFirstMove(),e=nt},ii=function(n){if(e===a&&n.originalEvent){var t=n.originalEvent.pointerMoveData||{},i=r.option("direction"),u=t[i];if(u&&u>v)return;t[i]=v,n.originalEvent.pointerMoveData=t}},ri=function(n,t){if(r._isLocked()){b();return}if(u.eventDelta(y,c).time>gt&&(y=c),c=n,w){var i=u.eventDelta(w,n);(f.abs(i.x)>et||f.abs(i.y)>et)&&(r._prepareGesture(),w=null)}r._handleMove(t)},ct=function(t){var i;if(r){if(p=t,e===nt){var o=u.eventData(t),s=u.eventDelta(c,o),f={x:0,y:0};s.time<dt&&(i=u.eventDelta(y,c),f={x:i.x*d/i.time,y:i.y*d/i.time}),r._handleMoveEnd(f).done(n.proxy(r._forgetGesture,r))}else e===a&&r._handleTapEnd();b()}},ui=function(n,t){st(n),n.pageY+=t,ht(n),ct(n)};n(function(){var i={context:o.dxScrollable,excludeValidators:["gesture"]},f=new t.Action(st,i),e=new t.Action(ht,i),h=new t.Action(ct,i),c=new t.Action(ii,i),r;n("body").on(u.addNamespace("dxpointermove",s),function(n){c.execute(n)});n(document).on(u.addNamespace("dxpointerdown",s),function(n){f.execute(n)}).on(u.addNamespace("dxpointermove",s),function(n){e.execute(n)}).on(u.addNamespace("dxpointerup dxpointercancel",s),function(n){h.execute(n)});if("mousewheel"in n.event.special){r=new t.Action(ui,i);n(document).on(u.addNamespace("mousewheel",s),function(n,t){r.execute(n,t)})}})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f="dx-scrollview",o="dx-scrollview-content",s="dx-scrollview-top-pocket",h="dx-scrollview-bottom-pocket",u=f+"-pull-down",a=u+"-image",v=u+"-indicator",y=u+"-text",e=f+"-scrollbottom",c=e+"-indicator",l=e+"-text";r.registerComponent("dxScrollView",r.dxScrollable.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{pullingDownText:Globalize.localize("dxScrollView-pullingDownText"),pulledDownText:Globalize.localize("dxScrollView-pulledDownText"),refreshingText:Globalize.localize("dxScrollView-refreshingText"),reachBottomText:Globalize.localize("dxScrollView-reachBottomText"),pullDownAction:null,reachBottomAction:null,refreshStrategy:"pullDown"})},_initMarkup:function(){this.callBase(),this._element().addClass(f),this._initContent(),this._initTopPocket(),this._initBottomPocket()},_initContent:function(){var t=n("<div>").addClass(o);this._$content.wrapInner(t)},_initTopPocket:function(){var t=this._$topPocket=n("<div>").addClass(s),i=this._$pullDown=n("<div>").addClass(u);t.append(i),this._$content.prepend(t)},_initBottomPocket:function(){var t=this._$bottomPocket=n("<div>").addClass(h),i=this._$reachBottom=n("<div>").addClass(e),r=n("<div>").addClass(c),u=n("<div>").dxLoadIndicator(),f=this._$reachBottomText=n("<div>").addClass(l);this._updateReachBottomText(),i.append(r.append(u)).append(f),t.append(i),this._$content.append(t)},_updateReachBottomText:function(){this._$reachBottomText.text(this.option("reachBottomText"))},_createStrategy:function(){var u=this.option("useNative")||t.designMode?this.option("refreshStrategy"):"simulated",i=r.scrollViewRefreshStrategies[u];if(!i)throw Error("Unknown dxScrollView refresh strategy "+this.option("refreshStrategy"));this._strategy=new i(this),this._strategy.pullDownCallbacks.add(n.proxy(this._handlePullDown,this)),this._strategy.releaseCallbacks.add(n.proxy(this._handleRelease,this)),this._strategy.reachBottomCallbacks.add(n.proxy(this._handleReachBottom,this)),this._strategy.render()},_createActions:function(){this.callBase(),this._pullDownAction=this._createActionByOption("pullDownAction",{excludeValidators:["gesture"]}),this._reachBottomAction=this._createActionByOption("reachBottomAction",{excludeValidators:["gesture"]}),this._pullDownEnable(!!this.option("pullDownAction")&&!t.designMode),this._reachBottomEnable(!!this.option("reachBottomAction")&&!t.designMode)},_pullDownEnable:function(n){this._$pullDown.toggle(n),this._strategy.pullDownEnable(n)},_reachBottomEnable:function(n){this._$reachBottom.toggle(n),this._strategy.reachBottomEnable(n)},_handlePullDown:function(){this._pullDownAction(),this._lock()},_handleRelease:function(){this._unlock()},_handleReachBottom:function(){this._reachBottomAction(),this._lock()},_optionChanged:function(n){switch(n){case"pullDownAction":case"reachBottomAction":this._createActions();break;case"pullingDownText":case"pulledDownText":case"refreshingText":this._invalidate();break;case"reachBottomText":this._updateReachBottomText();break;default:this.callBase.apply(this,arguments)}},content:function(){return this._$content.children().eq(1)},release:function(n){return n!==i&&this.toggleLoading(!n),this._strategy.release()},toggleLoading:function(n){this._reachBottomEnable(n)},isFull:function(){return this.content().height()>=this._$container.height()}})),r.scrollViewRefreshStrategies={}}(jQuery,DevExpress),function(n,t){var o=t.ui,y=Math,s="dx-scrollview-pull-down-loading",f="dx-scrollview-pull-down-ready",c="dx-scrollview-pull-down-image",l="dx-scrollview-pull-down-indicator",a="dx-scrollview-pull-down-text",e=0,r=1,u=2,h=3,v=o.NativeScrollableStrategy.inherit({_init:function(n){this.callBase(n),this._$topPocket=n._$topPocket,this._$pullDown=n._$pullDown,this._$bottomPocket=n._$bottomPocket,this._$refreshingText=n._$refreshingText,this._$scrollViewContent=n.content(),this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this.callBase(),this._renderPullDown(),this._releaseState()},_renderPullDown:function(){var i=n("<div>").addClass(c),r=n("<div>").addClass(l),u=n("<div>").dxLoadIndicator(),t=this._$pullDownText=n("<div>").addClass(a);this._$pullingDownText=n("<div>").text(this.option("pullingDownText")).appendTo(t),this._$pulledDownText=n("<div>").text(this.option("pulledDownText")).appendTo(t),this._$refreshingText=n("<div>").text(this.option("refreshingText")).appendTo(t),this._$pullDown.empty().append(i).append(r.append(u)).append(t)},_releaseState:function(){this._state=e,this._refreshPullDownText()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===e?1:0),this._$pulledDownText.css("opacity",this._state===r?1:0),this._$refreshingText.css("opacity",this._state===u?1:0)},update:function(){this.callBase(),this._setTopPocketOffset()},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.height(),this._bottomPocketSize=this._$bottomPocket.height(),this._scrollOffset=this._$container.height()-this._$content.height()},_setTopPocketOffset:function(){this._$topPocket.css({height:this._topPocketSize,top:-this._topPocketSize})},_handleEnd:function(){var n=this;n._state===r&&(n._setPullDownOffset(n._topPocketSize),setTimeout(function(){n._pullDownRefreshing()},400))},_setPullDownOffset:function(n){t.translator.move(this._$topPocket,{top:n},{cssTransform:!0}),t.translator.move(this._$scrollViewContent,{top:n},{cssTransform:!0})},_handleScroll:function(n){(this.callBase(n),this._state!==u)&&(this._location=this.location().top,this._isPullDown()?this._pullDownReady():this._isReachBottom()?this._reachBottom():this._stateReleased())},_isPullDown:function(){return this._pullDownEnabled&&this._location>=this._topPocketSize},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._scrollOffset+this._bottomPocketSize},_reachBottom:function(){this._state!==h&&(this._state=h,this.reachBottomCallbacks.fire())},_pullDownReady:function(){this._state!==r&&(this._state=r,this._$pullDown.addClass(f),this._refreshPullDownText())},_stateReleased:function(){this._state!==e&&(this._$pullDown.removeClass(s).removeClass(f),this._releaseState())},_pullDownRefreshing:function(){this._state!==u&&(this._state=u,this._$pullDown.addClass(s).removeClass(f),this._refreshPullDownText(),this.pullDownCallbacks.fire())},pullDownEnable:function(n){this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n},release:function(){var t=n.Deferred();return this._updateDimensions(),setTimeout(n.proxy(function(){this._setPullDownOffset(0),this._stateReleased(),this.releaseCallbacks.fire(),this._updateAction(),t.resolve()},this),400),t.promise()}});o.scrollViewRefreshStrategies.pullDown=v}(jQuery,DevExpress),function(n,t){var r=t.ui,s=r.events,h=Math,c="dx-scrollview-pull-down-loading",v="dx-scrollview-obsolete-android-browser",l=160,u=0,f=2,a=3,e=4,o=5,y=r.NativeScrollableStrategy.inherit({_init:function(n){this.callBase(n),this._$topPocket=n._$topPocket,this._$bottomPocket=n._$bottomPocket,this._$pullDown=n._$pullDown,this._$scrollViewContent=n.content(),this._initCallbacks(),this._initObsoleteBrowser(),this._releaseState(),this._location=0},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},_initObsoleteBrowser:function(){var n=DevExpress.devices.real,t=n.platform==="android"&&(n.version[0]<4||n.version[0]===4&&n.version[1]===0);this._$element.toggleClass(v,t)},render:function(){this.callBase(),this._renderPullDown()},_renderPullDown:function(){this._$pullDown.empty().append(n("<div class='dx-scrollview-pulldown-pointer1'>")).append(n("<div class='dx-scrollview-pulldown-pointer2'>")).append(n("<div class='dx-scrollview-pulldown-pointer3'>")).append(n("<div class='dx-scrollview-pulldown-pointer4'>"))},_releaseState:function(){this._state=u,this._$pullDown.css({width:"0%",opacity:0}),this._updateDimensions()},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.height(),this._bottomPocketSize=this._$bottomPocket.height(),this._scrollOffset=this._$container.height()-this._$content.height()},_handleStart:function(n){this._state===u&&this._location===0&&(this._startClientY=s.eventData(n).y,this._state=e)},_handleMove:function(n){if(this._deltaY=s.eventData(n).y-this._startClientY,this._state===e&&(this._deltaY>0?(n.preventDefault(),this._state=o):this._handleEnd()),this._state===o){if(this._deltaY<0){this._handleEnd();return}this._$pullDown.css({opacity:1,width:h.min(h.abs(this._deltaY*100/l),100)+"%"}),this._isPullDown()&&this._pullDownRefreshing()}},_isPullDown:function(){return this._pullDownEnabled&&this._deltaY>=l},_handleEnd:function(){(this._state===e||this._state===o)&&this._releaseState()},_handleScroll:function(n){(this.callBase(n),this._state!==f)&&(this._location=this.location().top,this._isReachBottom()?this._reachBottom():this._stateReleased())},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._scrollOffset+this._bottomPocketSize},_reachBottom:function(){this._state!==a&&(this._state=a,this.reachBottomCallbacks.fire())},_stateReleased:function(){this._state!==u&&(this._$pullDown.removeClass(c),this._releaseState())},_pullDownRefreshing:function(){if(this._state!==f){this._state=f;var n=this;setTimeout(function(){n._$pullDown.addClass(c),n.pullDownCallbacks.fire()},400)}},pullDownEnable:function(n){this._$topPocket.toggle(n),this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n},release:function(){var t=this,i=n.Deferred();return setTimeout(function(){t._updateDimensions(),t._stateReleased(),t.releaseCallbacks.fire(),t._updateAction(),i.resolve()},800),i.promise()}});r.scrollViewRefreshStrategies.swipeDown=y}(jQuery,DevExpress),function(n,t){var u=t.ui,nt=Math,o=u.events,s="dxSlideDownNativeScrollViewStrategy",h="dx-scrollview-locked",c="dx-scrollview-pull-down-refreshing",l="dx-scrollview-pull-down-loading",tt="dx-scrollview-pull-down-ready",w="dx-scrollview-pull-down-image",b="dx-scrollview-pull-down-indicator",k="dx-scrollview-pull-down-text",a=0,f=1,r=2,v=3,y=4,it=80,e=4,p=t.Animator.inherit({ctor:function(n){this.callBase(),this.refreshStrategy=n,this._$content=n._$content},_isFinished:function(){return this._$content.scrollTop()===0},_step:function(){this._lock();var n=this._$content.scrollTop();n-=Math.min(n,2*e),this._$content.scrollTop(n)},_complete:function(){this._unlock()},_stop:function(){this._unlock()},_lock:function(){this.refreshStrategy._$container.addClass(h)},_unlock:function(){this.refreshStrategy._$container.removeClass(h)}}),d=p.inherit({_isFinished:function(){return this._currentPosition=this._$content.scrollTop(),this._currentPosition===this.refreshStrategy._topPocketSize},_step:function(){this._lock();var n=this._$content.scrollTop(),t=this.refreshStrategy._topPocketSize-n;n+=t<0?-Math.min(Math.abs(t),e):Math.min(t,e),this._$content.scrollTop(n)},_complete:function(){this.callBase(),this.refreshStrategy._releaseState()}}),g=u.NativeScrollableStrategy.inherit({_init:function(t){this.callBase(t),this._$topPocket=t._$topPocket,this._$pullDown=t._$pullDown,this._$bottomPocket=t._$bottomPocket,this._$refreshingText=t._$refreshingText,this._$content=t._$content,this._$scrollViewContent=t.content(),this._initCallbacks(),this._initAnimators();n(document).on("dx.viewchanged",n.proxy(this._hidePullDown,this))},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},_initAnimators:function(){this._slideDown=new d(this),this._slideUp=new p(this)},render:function(){this.callBase(),this._renderPullDown(),this._renderBottom(),this._releaseState(),this._updateDimensions(),this._hidePullDown()},_renderPullDown:function(){var i=n("<div>").addClass(w),r=n("<div>").addClass(b),u=n("<progress>"),t=this._$pullDownText=n("<div>").addClass(k);this._$pullingDownText=n("<div>").text(this.option("pullingDownText")).appendTo(t),this._$pulledDownText=n("<div>").text(this.option("pulledDownText")).appendTo(t),this._$refreshingText=n("<div>").text(this.option("refreshingText")).appendTo(t),this._$pullDown.empty().append(i).append(r.append(u)).append(t)},_renderBottom:function(){this._$bottomPocket.empty().append("<progress>")},_releaseState:function(){this._state=a,this._$container.removeClass(c).removeClass(l),this._refreshPullDownText()},_hidePullDown:function(){this._$content.scrollTop()<this._topPocketSize&&this._$content.scrollTop(this._topPocketSize)},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===a?1:0),this._$pulledDownText.css("opacity",this._state===f?1:0),this._$refreshingText.css("opacity",this._state===r?1:0)},update:function(){this.callBase(),this._hidePullDown(),this._updateScrollbars()},_updateDimensions:function(){this._topPocketSize=this._$topPocket.height(),this._scrollOffset=this._$scrollViewContent.prop("scrollHeight")-this._$scrollViewContent.prop("clientHeight"),this._containerSize={height:this._$scrollViewContent.prop("clientHeight"),width:this._$scrollViewContent.prop("clientWidth")},this._contentSize={height:this._$scrollViewContent.prop("scrollHeight"),width:this._$scrollViewContent.prop("scrollWidth")}},_contentSize:function(){return{height:this._$scrollViewContent.prop("scrollHeight"),width:this._$scrollViewContent.prop("scrollWidth")}},location:function(){return{left:-this._$scrollViewContent.scrollLeft(),top:-this._$scrollViewContent.scrollTop()}},_attachScrollHandler:function(){this.callBase();n(this._$content).on(o.addNamespace("scroll",s),n.proxy(this._handleContentScroll,this));n(this._$scrollViewContent).on(o.addNamespace("scroll",s),n.proxy(this._handleScrollViewContentScroll,this))},_handleContentScroll:function(){var t=this._$content.scrollTop();this._isPullDown(t)?this._pullDownRefreshing():this._isReachBottom(t)?this._reachBottom():this._pullDownReady()},_isPullDown:function(n){return this._pullDownEnabled&&n===0},_pullDownRefreshing:function(){this._state!==r&&(this._state=r,this._stopAnimators(),this._refreshPullDownText(),this._$container.addClass(c),this.pullDownCallbacks.fire())},_isReachBottom:function(n){return this._scrollContent=this._$content.prop("scrollHeight")-this._$content.prop("clientHeight"),this._reachBottomEnabled&&n===this._scrollContent},_reachBottom:function(){this._state!==v&&this._reachBottomEnabled&&(this._state=v,this._stopAnimators(),this._$container.addClass(l),this.reachBottomCallbacks.fire())},_pullDownReady:function(){if(this._state!==f&&this._state!==y){if(this._state===r){this._slideUp.inProgress()||this._startUpAnimation();return}this._state=f,this._startDownAnimation()}},_startUpAnimation:function(){this._slideDown.stop(),this._slideUp.start()},_startDownAnimation:function(){this._slideUp.stop(),this._slideDown.start()},_stopAnimators:function(){this._slideDown.stop(),this._slideUp.stop()},_handleScrollViewContentScroll:function(n){this._handleScroll(n)},pullDownEnable:function(n){this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n,this._$bottomPocket.toggle(n)},release:function(){var t=n.Deferred();return this._updateDimensions(),this._updateScrollbars(),setTimeout(n.proxy(function(){this._state=y,this._startDownAnimation(),this.releaseCallbacks.fire(),this._updateAction(),t.resolve()},this),400),t.promise()},scrollBy:function(n){var t=this.location();this._component.content().scrollTop(-t.top-n.y),this._component.content().scrollLeft(-t.left-n.x)}});u.scrollViewRefreshStrategies.slideDown=g}(jQuery,DevExpress),function(n,t){var r=t.ui,h=Math,c="dx-scrollview-pull-down-loading",e="dx-scrollview-pull-down-ready",l="dx-scrollview-pull-down-image",a="dx-scrollview-pull-down-indicator",v="dx-scrollview-pull-down-text",u=0,f=1,o=2,s=3,y=r.ScrollViewScroller=r.Scroller.inherit({ctor:function(){this.callBase.apply(this,arguments),this._releaseState()},_releaseState:function(){this._state=u,this._refreshPullDownText()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===u?1:0),this._$pulledDownText.css("opacity",this._state===f?1:0),this._$refreshingText.css("opacity",this._state===o?1:0)},_initCallbacks:function(){this.callBase(),this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},_updateBounds:function(){var n=this._direction!=="horizontal";this._topPocketSize=n?this._$topPocket[this._dimension]():0,this._bottomPocketSize=n?this._$bottomPocket[this._dimension]():0,this._updateOffsets()},_updateOffsets:function(){this._minOffset=h.min(this._containerSize()-this._contentSize()+this._bottomPocketSize,-this._topPocketSize),this._maxOffset=-this._topPocketSize,this._bottomBound=this._minOffset-this._bottomPocketSize},_updateScrollbar:function(){this._scrollbar.update(this._containerSize(),this._contentSize()-this._topPocketSize-this._bottomPocketSize)},_calculateScrollBarPosition:function(){return this._topPocketSize+this._location},_moveContent:function(){this.callBase(),this._isPullDown()?this._pullDownReady():this._isReachBottom()?this._reachBottomReady():this._state!==u&&this._stateReleased()},_isPullDown:function(){return this._pullDownEnabled&&this._location>=0},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._bottomBound},_scrollComplete:function(){this._inBounds()&&this._state===f?this._pullDownRefreshing():this._inBounds()&&this._state===s?this._reachBottomLoading():this.callBase()},_reachBottomReady:function(){this._state!==s&&(this._state=s,this._minOffset=h.min(this._containerSize()-this._contentSize(),0))},_reachBottomLoading:function(){this.reachBottomCallbacks.fire()},_pullDownReady:function(){this._state!==f&&(this._state=f,this._maxOffset=0,this._$pullDown.addClass(e),this._refreshPullDownText())},_stateReleased:function(){this._state!==u&&(this._releaseState(),this._updateOffsets(),this._$pullDown.removeClass(c).removeClass(e),this.releaseCallbacks.fire())},_pullDownRefreshing:function(){this._state!==o&&(this._state=o,this._$pullDown.addClass(c).removeClass(e),this._refreshPullDownText(),this.pullDownCallbacks.fire())},_handleRelease:function(){return this._update(),t.utils.executeAsync(n.proxy(this._release,this))},_release:function(){this._stateReleased(),this._scrollComplete()},_handleReachBottomEnabling:function(n){this._reachBottomEnabled!==n&&(this._reachBottomEnabled=n,this._updateBounds())},_handlePullDownEnabling:function(n){this._pullDownEnabled!==n&&(this._pullDownEnabled=n,this._considerTopPocketChange(),this._handleUpdate())},_considerTopPocketChange:function(){this._location-=this._$topPocket.height()||-this._topPocketSize,this._move()}}),p=r.SimulatedScrollableStrategy.inherit({_init:function(n){this.callBase(n),this._$pullDown=n._$pullDown,this._$topPocket=n._$topPocket,this._$bottomPocket=n._$bottomPocket,this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this._renderPullDown(),this.callBase()},_renderPullDown:function(){var i=n("<div>").addClass(l),r=n("<div>").addClass(a),u=n("<div>").dxLoadIndicator(),t=this._$pullDownText=n("<div>").addClass(v);this._$pullingDownText=n("<div>").text(this.option("pullingDownText")).appendTo(t),this._$pulledDownText=n("<div>").text(this.option("pulledDownText")).appendTo(t),this._$refreshingText=n("<div>").text(this.option("refreshingText")).appendTo(t),this._$pullDown.empty().append(i).append(r.append(u)).append(t)},pullDownEnable:function(n){this._handleEvent("PullDownEnabling",n)},reachBottomEnable:function(n){this._handleEvent("ReachBottomEnabling",n)},_createScroller:function(n){var t=this,i=t._scrollers[n]=new y(t._scrollerOptions(n));i.pullDownCallbacks.add(function(){t.pullDownCallbacks.fire()}),i.releaseCallbacks.add(function(){t.releaseCallbacks.fire()}),i.reachBottomCallbacks.add(function(){t.reachBottomCallbacks.fire()})},_scrollerOptions:function(t){return n.extend(this.callBase(t),{$topPocket:this._$topPocket,$bottomPocket:this._$bottomPocket,$pullDown:this._$pullDown,$pullDownText:this._$pullDownText,$pullingDownText:this._$pullingDownText,$pulledDownText:this._$pulledDownText,$refreshingText:this._$refreshingText})},release:function(){return this._handleEvent("Release").done(this._updateAction)}});r.scrollViewRefreshStrategies.simulated=p}(jQuery,DevExpress),function(n,t,i){var r=t.ui,o=r.events,l=t.utils,s=t.support.winJS,f;r.MapProvider=t.Class.inherit({_defaultRouteWeight:function(){return 5},_defaultRouteOpacity:function(){return.5},_defaultRouteColor:function(){return"#0000FF"},ctor:function(n,t){this._mapInstance=n,this._$container=t},load:n.noop,render:t.abstract,updateDimensions:t.abstract,updateMapType:t.abstract,updateLocation:t.abstract,updateZoom:t.abstract,updateControls:t.abstract,updateMarkers:t.abstract,addMarkers:t.abstract,updateRoutes:t.abstract,addRoutes:t.abstract,clean:t.abstract,cancelEvents:!1,map:function(){return this._map},mapRendered:function(){return!!this._map},_option:function(n,t){if(t===i)return this._mapInstance.option(n);this._mapInstance.setOptionSilent(n,t)},_key:function(n){var t=this._option("key");return t[n]===i?t:t[n]},_parseTooltipOptions:function(n){return{text:n.text||n,visible:n.isShown||!1}},_createAction:function(){return this._mapInstance._createAction.apply(this._mapInstance,n.makeArray(arguments))},_handleClickAction:function(){var t=this._createAction(this._option("clickAction")||n.noop);t()}}),f={},r.registerMapProvider=function(n,t){f[n]=t};var h="dx-map",c="dx-map-container",e="dx-map-shield",u=function(t){return n.isArray(t)?t:[t]};r.registerComponent("dxMap",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{location:{lat:0,lng:0},width:300,height:300,zoom:1,type:"roadmap",provider:"google",markers:[],markerIconSrc:null,routes:[],key:{bing:"",google:"",googleStatic:""},controls:!1,readyAction:null,updateAction:null})},_init:function(){this.callBase(),this._initContainer(),this._grabEvents(),this._initProvider()},_initContainer:function(){this._$container=n("<div />").addClass(c),this._element().append(this._$container)},_grabEvents:function(){var t=o.addNamespace("dxpointerdown",this.NAME);this._element().on(t,n.proxy(this._cancelEvent,this))},_cancelEvent:function(n){var i=this._provider.cancelEvents&&!this.option("disabled");!t.designMode&&i&&n.stopPropagation()},_initProvider:function(){var n=this.option("provider");if(s&&this.option("provider")==="google")throw new Error("Google provider cannot be used in winJS application");this._provider&&this._provider.clean(),this._provider=new f[n](this,this._$container),this._mapLoader=this._provider.load()},_render:function(){this.callBase(),this._element().addClass(h),this._renderShield(),this._execAsyncProviderAction("render")},_renderShield:function(){var i;t.designMode||this.option("disabled")?(i=n("<div/>").addClass(e),this._element().append(i)):(i=this._element().find("."+e),i.remove())},_clean:function(){this._provider.clean()},_optionChanged:function(n){if(!this._cancelOptionChange)switch(n){case"disabled":this._renderShield(),this.callBase.apply(this,arguments);break;case"width":case"height":this.callBase.apply(this,arguments),this._execAsyncProviderAction("updateDimensions");break;case"type":this._execAsyncProviderAction("updateMapType");break;case"location":this._execAsyncProviderAction("updateLocation");break;case"zoom":this._execAsyncProviderAction("updateZoom");break;case"controls":this._execAsyncProviderAction("updateControls");break;case"markers":case"markerIcon":this._execAsyncProviderAction("updateMarkers");break;case"routes":this._execAsyncProviderAction("updateRoutes");break;case"key":throw new Error("Key option can not be modified after initialisation");case"provider":this._initProvider(),this._invalidate();break;case"readyAction":case"updateAction":break;default:this.callBase.apply(this,arguments)}},_execAsyncProviderAction:function(t){if(this._provider.mapRendered()||t==="render"){var i=n.Deferred(),r=this,u=n.makeArray(arguments).slice(1);return n.when(this._mapLoader).done(function(){var f=r._provider;f[t].apply(f,u).done(function(t){r._triggerUpdateAction(),t&&r._triggerReadyAction(),i.resolve.apply(i,n.makeArray(arguments).slice(1))})}),i.promise()}},_triggerReadyAction:function(){this._createActionByOption("readyAction")({originalMap:this._provider.map()})},_triggerUpdateAction:function(){this._createActionByOption("updateAction")()},setOptionSilent:function(n,t){this._cancelOptionChange=!0,this.option(n,t),this._cancelOptionChange=!1},addMarker:function(t){var r=n.Deferred(),e=this,f=this._options.markers,i=u(t);return f.push.apply(f,i),this._execAsyncProviderAction("addMarkers",i).done(function(n){r.resolveWith(e,i.length>1?[n]:n)}),r.promise()},removeMarker:function(t){var i=n.Deferred(),f=this,r=this._options.markers,e=u(t);return n.each(e,function(t,i){var u=n.isNumeric(i)?i:n.inArray(i,r);u!==-1&&r.splice(u,1)}),this._execAsyncProviderAction("updateMarkers").done(function(){i.resolveWith(f)}),i.promise()},addRoute:function(t){var r=n.Deferred(),e=this,f=this._options.routes,i=u(t);return f.push.apply(f,i),this._execAsyncProviderAction("addRoutes",i).done(function(n){r.resolveWith(e,i.length>1?[n]:n)}),r.promise()},removeRoute:function(t){var i=n.Deferred(),f=this,r=this._options.routes,e=u(t);return n.each(e,function(t,i){var u=n.isNumeric(i)?i:n.inArray(i,r);u!==-1&&r.splice(u,1)}),this._execAsyncProviderAction("updateRoutes").done(function(){i.resolveWith(f)}),i.promise()}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,o=t.support.winJS,r="_bingScriptReady",s="https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&s=1&onScriptLoad="+r,h="ms-appx:///Bing.Maps.JavaScript/js/veapicore.js",c="ms-appx:///Bing.Maps.JavaScript/js/veapiModules.js",l="AhuxC0dQ1DBTNo8L-H9ToVMQStmizZzBJdraTSgCzDSWPsA1Qd8uIvFSflzxdaLH",e=1e-16,u;f.registerMapProvider("bing",f.MapProvider.inherit({_mapType:function(n){var t={roadmap:Microsoft.Maps.MapTypeId.road,hybrid:Microsoft.Maps.MapTypeId.aerial};return t[n]||t.roadmap},_movementMode:function(n){var t={driving:Microsoft.Maps.Directions.RouteMode.driving,walking:Microsoft.Maps.Directions.RouteMode.walking};return t[n]||t.driving},_resolveLocation:function(t){var i=n.Deferred(),r,u;return typeof t=="string"?(r=new Microsoft.Maps.Search.SearchManager(this._map),u={where:t,count:1,callback:function(n){var t=n.results[0].location;i.resolve(new Microsoft.Maps.Location(t.latitude,t.longitude))}},r.geocode(u)):n.isPlainObject(t)&&n.isNumeric(t.lat)&&n.isNumeric(t.lng)?i.resolve(new Microsoft.Maps.Location(t.lat,t.lng)):n.isArray(t)&&i.resolve(new Microsoft.Maps.Location(t[0],t[1])),i.promise()},_normalizeLocation:function(n){return{lat:n.latitude,lng:n.longitude}},load:function(){return u||(u=n.Deferred(),window[r]=n.proxy(this._mapReady,this),o?n.when(n.getScript(h),n.getScript(c)).done(function(){Microsoft.Maps.loadModule("Microsoft.Maps.Map",{callback:window[r]})}):n.getScript(s)),this._markers=[],this._routes=[],u},_mapReady:function(){try{delete window[r]}catch(e){window[r]=i}var t=n.Deferred(),f=n.Deferred();Microsoft.Maps.loadModule("Microsoft.Maps.Search",{callback:n.proxy(t.resolve,t)}),Microsoft.Maps.loadModule("Microsoft.Maps.Directions",{callback:n.proxy(f.resolve,f)}),n.when(t,f).done(function(){u.resolve()})},render:function(){var r=n.Deferred(),t=n.Deferred(),i=this._option("controls"),f={credentials:this._key("bing")||l,mapTypeId:this._mapType(this._option("type")),zoom:this._option("zoom"),showDashboard:i,showMapTypeSelector:i,showScalebar:i},u;this._map=new Microsoft.Maps.Map(this._$container[0],f),u=Microsoft.Maps.Events.addHandler(this._map,"tiledownloadcomplete",n.proxy(t.resolve,t)),this._viewChangeHandler=Microsoft.Maps.Events.addHandler(this._map,"viewchange",n.proxy(this._handleViewChange,this)),this._clickHandler=Microsoft.Maps.Events.addHandler(this._map,"click",n.proxy(this._handleClickAction,this));var e=this._renderLocation(),o=this._refreshMarkers(),s=this._renderRoutes();return n.when(t,e,o,s).done(function(){Microsoft.Maps.Events.removeHandler(u),r.resolve(!0)}),r.promise()},_handleViewChange:function(){var n=this._map.getCenter();this._option("location",this._normalizeLocation(n)),this._option("zoom",this._map.getZoom())},updateDimensions:function(){return n.Deferred().resolve().promise()},updateMapType:function(){return this._map.setView({mapTypeId:this._mapType(this._option("type"))}),n.Deferred().resolve().promise()},updateLocation:function(){return this._renderLocation()},_renderLocation:function(){var t=n.Deferred(),i=this;return this._resolveLocation(this._option("location")).done(function(n){i._map.setView({animate:!1,center:n}),t.resolve()}),t.promise()},updateZoom:function(){return this._map.setView({animate:!1,zoom:this._option("zoom")}),n.Deferred().resolve().promise()},updateControls:function(){return this.clean(),this.render()},_clearBounds:function(){this._bounds=null},_extendBounds:function(n){this._bounds=this._bounds?new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(),this._bounds.getSoutheast(),n):new Microsoft.Maps.LocationRect(n,e,e)},_fitBounds:function(){this._bounds&&(this._bounds.height=this._bounds.height*1.1,this._bounds.width=this._bounds.width*1.1,this._map.setView({animate:!1,bounds:this._bounds}))},updateMarkers:function(){return this._refreshMarkers()},_refreshMarkers:function(){return this._clearMarkers(),this._renderMarkers()},_clearMarkers:function(){var t=this;this._clearBounds(),n.each(this._markers,function(n,i){t._map.entities.remove(i.pushpin),i.infobox&&t._map.entities.remove(i.infobox),i.handler&&Microsoft.Maps.Events.removeHandler(i.handler)}),this._markers=[]},addMarkers:function(n){return this._renderMarkers(n)},_renderMarkers:function(t){t=t||this._option("markers");var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addMarker(n)});return n.when.apply(n,u).done(function(){var t=n.map(n.makeArray(arguments),function(n){return n.pushpin});i.resolve(!1,t)}),i.done(function(){r._fitBounds()}),i.promise()},_addMarker:function(n){var t=this;return this._renderMarker(n).done(function(n){t._markers.push(n)})},_renderMarker:function(t){var r=n.Deferred(),i=this;return this._resolveLocation(t.location).done(function(u){var o=null,s=i._option("markerIconSrc"),f,e,h,c;s&&(o={icon:s}),t.iconSrc&&(o={icon:t.iconSrc}),f=new Microsoft.Maps.Pushpin(u,o),i._map.entities.push(f,null),e=i._renderTooltip(u,t.tooltip),(t.clickAction||t.tooltip)&&(c=i._createAction(t.clickAction||n.noop),h=Microsoft.Maps.Events.addHandler(f,"click",function(){c({location:i._normalizeLocation(u)}),e&&e.setOptions({visible:!0})})),i._extendBounds(u),r.resolve({pushpin:f,infobox:e,handler:h})}),r.promise()},_renderTooltip:function(n,t){if(t){t=this._parseTooltipOptions(t);var i=new Microsoft.Maps.Infobox(n,{description:t.text,offset:new Microsoft.Maps.Point(0,33),visible:t.visible});return this._map.entities.push(i,null),i}},updateRoutes:function(){return this._refreshRoutes()},addRoutes:function(n){return this._renderRoutes(n)},_refreshRoutes:function(){return this._clearRoutes(),this._renderRoutes()},_renderRoutes:function(t){t=t||this._option("routes");var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addRoute(n)});return n.when.apply(n,u).done(function(){i.resolve(!1,n.makeArray(arguments))}),i.promise()},_clearRoutes:function(){var t=this;n.each(this._routes,function(n,t){t.dispose()}),this._routes=[]},_addRoute:function(n){var t=this;return this._renderRoute(n).done(function(n){t._routes.push(n)})},_renderRoute:function(i){var u=n.Deferred(),r=this,f=n.map(i.locations,function(n){return r._resolveLocation(n)});return n.when.apply(n,f).done(function(){var s=n.makeArray(arguments),f=new Microsoft.Maps.Directions.DirectionsManager(r._map),h=new t.Color(i.color||r._defaultRouteColor()).toHex(),e=new Microsoft.Maps.Color.fromHex(h),o;e.a=(i.opacity||r._defaultRouteOpacity())*255,f.setRenderOptions({autoUpdateMapView:!1,displayRouteSelector:!1,waypointPushpinOptions:{visible:!1},drivingPolylineOptions:{strokeColor:e,strokeThickness:i.weight||r._defaultRouteWeight()},walkingPolylineOptions:{strokeColor:e,strokeThickness:i.weight||r._defaultRouteWeight()}}),f.setRequestOptions({routeMode:r._movementMode(i.mode),routeDraggable:!1}),n.each(s,function(n,t){var i=new Microsoft.Maps.Directions.Waypoint({location:t});f.addWaypoint(i)}),o=Microsoft.Maps.Events.addHandler(f,"directionsUpdated",function(){Microsoft.Maps.Events.removeHandler(o),u.resolve(f)}),f.calculateDirections()}),u.promise()},clean:function(){this._map&&(Microsoft.Maps.Events.removeHandler(this._viewChangeHandler),Microsoft.Maps.Events.removeHandler(this._clickHandler),this._clearMarkers(),this._clearRoutes(),this._map.dispose())},cancelEvents:!0}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,r="_googleScriptReady",e="https://maps.google.com/maps/api/js?v=3.9&sensor=false&callback="+r,u;f.registerMapProvider("google",f.MapProvider.inherit({_mapType:function(n){var t={hybrid:google.maps.MapTypeId.HYBRID,roadmap:google.maps.MapTypeId.ROADMAP};return t[n]||t.hybrid},_movementMode:function(n){var t={driving:google.maps.TravelMode.DRIVING,walking:google.maps.TravelMode.WALKING};return t[n]||t.driving},_resolveLocation:function(t){var i=n.Deferred(),r;return typeof t=="string"?(r=new google.maps.Geocoder,r.geocode({address:t},function(n,t){t===google.maps.GeocoderStatus.OK&&i.resolve(n[0].geometry.location)})):n.isArray(t)?i.resolve(new google.maps.LatLng(t[0],t[1])):n.isPlainObject(t)&&n.isNumeric(t.lat)&&n.isNumeric(t.lng)&&i.resolve(new google.maps.LatLng(t.lat,t.lng)),i.promise()},_normalizeLocation:function(n){return{lat:n.lat(),lng:n.lng()}},load:function(){if(!u){u=n.Deferred();var t=this._key("google");window[r]=n.proxy(this._mapReady,this),n.getScript(e+(t?"&key="+t:""))}return this._markers=[],this._routes=[],u.promise()},_mapReady:function(){try{delete window[r]}catch(n){window[r]=i}u.resolve()},render:function(){var r=n.Deferred(),i=n.Deferred(),t=this._option("controls"),f={zoom:this._option("zoom"),center:new google.maps.LatLng(0,0),mapTypeId:this._mapType(this._option("type")),panControl:t,zoomControl:t,mapTypeControl:t,streetViewControl:t},u;this._map=new google.maps.Map(this._$container[0],f),u=google.maps.event.addListener(this._map,"idle",n.proxy(i.resolve,i)),this._zoomChangeListener=google.maps.event.addListener(this._map,"zoom_changed",n.proxy(this._handleZoomChange,this)),this._centerChangeListener=google.maps.event.addListener(this._map,"center_changed",n.proxy(this._handleCenterChange,this)),this._clickListener=google.maps.event.addListener(this._map,"click",n.proxy(this._handleClickAction,this));var e=this._renderLocation(),o=this._refreshMarkers(),s=this._renderRoutes();return n.when(i,e,o,s).done(function(){google.maps.event.removeListener(u),r.resolve(!0)}),r.promise()},updateDimensions:function(){return google.maps.event.trigger(this._map,"resize"),n.Deferred().resolve().promise()},updateMapType:function(){return this._map.setMapTypeId(this._mapType(this._option("type"))),n.Deferred().resolve().promise()},updateLocation:function(){return this._renderLocation()},_handleCenterChange:function(){var n=this._map.getCenter();this._option("location",this._normalizeLocation(n))},_renderLocation:function(){var t=n.Deferred(),i=this;return this._resolveLocation(this._option("location")).done(function(n){i._map.setCenter(n),t.resolve()}),t.promise()},_handleZoomChange:function(){this._option("zoom",this._map.getZoom())},updateZoom:function(){return this._map.setZoom(this._option("zoom")),n.Deferred().resolve().promise()},updateControls:function(){var t=this._option("controls");return this._map.setOptions({panControl:t,zoomControl:t,mapTypeControl:t,streetViewControl:t}),n.Deferred().resolve().promise()},_clearBounds:function(){this._bounds=null},_extendBounds:function(n){this._bounds?this._bounds.extend(n):(this._bounds=new google.maps.LatLngBounds,this._bounds.extend(n))},_fitBounds:function(){this._bounds&&this._map.fitBounds(this._bounds)},updateMarkers:function(){return this._refreshMarkers()},_refreshMarkers:function(){return this._clearMarkers(),this._renderMarkers()},_clearMarkers:function(){var t=this;this._clearBounds(),n.each(this._markers,function(n,t){t.instance.setMap(null),t.listner&&google.maps.event.removeListener(t.listner)}),this._markers=[]},addMarkers:function(n){return this._renderMarkers(n)},_renderMarkers:function(t){t=t||this._option("markers");var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addMarker(n)});return n.when.apply(n,u).done(function(){var t=n.map(n.makeArray(arguments),function(n){return n.instance});i.resolve(!1,t)}),i.done(function(){r._fitBounds()}),i.promise()},_addMarker:function(n){var t=this;return this._renderMarker(n).done(function(n){t._markers.push(n)})},_renderMarker:function(t){var r=n.Deferred(),i=this;return this._resolveLocation(t.location).done(function(u){var f,e={position:u,map:i._map},s=i._option("markerIconSrc"),h,o,c;s&&(e.icon=s),t.iconSrc&&(e.icon=t.iconSrc),f=new google.maps.Marker(e),o=i._renderTooltip(f,t.tooltip),(t.clickAction||t.tooltip)&&(c=i._createAction(t.clickAction||n.noop),h=google.maps.event.addListener(f,"click",function(){c({location:i._normalizeLocation(u)}),o&&o.open(i._map,f)})),i._extendBounds(u),r.resolve({instance:f,listner:h})}),r.promise()},_renderTooltip:function(n,t){if(t){t=this._parseTooltipOptions(t);var i=new google.maps.InfoWindow({content:t.text});return t.visible&&i.open(this._map,n),i}},updateRoutes:function(){return this._refreshRoutes()},addRoutes:function(){return this._renderRoutes()},_refreshRoutes:function(){return this._clearRoutes(),this._renderRoutes()},_clearRoutes:function(){var t=this;n.each(this._routes,function(n,t){t.setMap(null)}),this._routes=[]},_renderRoutes:function(t){t=t||this._option("routes");var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addRoute(n)});return n.when.apply(n,u).done(function(){i.resolve(!1,n.makeArray(arguments))}),i.promise()},_addRoute:function(n){var t=this;return this._renderRoute(n).done(function(n){t._routes.push(n)})},_renderRoute:function(i){var u=n.Deferred(),r=this,f=new google.maps.DirectionsService,e=n.map(i.locations,function(n){return r._resolveLocation(n)});return n.when.apply(n,e).done(function(){var e=n.makeArray(arguments),o=e.shift(),s=e.pop(),h=n.map(e,function(n){return{location:n,stopover:!0}}),c={origin:o,destination:s,waypoints:h,optimizeWaypoints:!0,travelMode:r._movementMode(i.mode)};f.route(c,function(n,f){if(f===google.maps.DirectionsStatus.OK){var e=new t.Color(i.color||r._defaultRouteColor()).toHex(),o={directions:n,map:r._map,suppressMarkers:!0,preserveViewport:!0,polylineOptions:{strokeWeight:i.weight||r._defaultRouteWeight(),strokeOpacity:i.opacity||r._defaultRouteOpacity(),strokeColor:e}},s=new google.maps.DirectionsRenderer(o);u.resolve(s)}})}),u.promise()},clean:function(){this._map&&(google.maps.event.removeListener(this._zoomChangeListener),google.maps.event.removeListener(this._centerChangeListener),google.maps.event.removeListener(this._clickListener),this._clearMarkers(),this._clearRoutes(),delete this._map,this._$container.empty())},cancelEvents:!0}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="https://maps.google.com/maps/api/staticmap?";r.registerMapProvider("googleStatic",r.MapProvider.inherit({_locationToString:function(t){return n.isPlainObject(t)?t.lat+","+t.lng:t.toString().replace(/ /g,"+")},render:function(){return this._updateMap()},updateDimensions:function(){return this._updateMap()},updateMapType:function(){return this._updateMap()},updateLocation:function(){return this._updateMap()},updateZoom:function(){return this._updateMap()},updateControls:function(){return n.Deferred().resolve().promise()},updateMarkers:function(){return this._updateMap()},addMarkers:function(){return this._updateMap()},updateRoutes:function(){return this._updateMap()},addRoutes:function(){return this._updateMap()},clean:function(){this._$container.css("background-image","none")},mapRendered:function(){return!0},_updateMap:function(){var r=this._key("googleStatic"),t=["sensor=false","size="+this._option("width")+"x"+this._option("height"),"maptype="+this._option("type"),"center="+this._locationToString(this._option("location")),"zoom="+this._option("zoom"),this._markersSubstring()],i;return t.push.apply(t,this._routeSubstrings()),r&&t.push("key="+this._key("googleStatic")),i=u+t.join("&"),this._$container.css("background",'url("'+i+'") no-repeat 0 0'),n.Deferred().resolve(!0).promise()},_markersSubstring:function(){var r=this,t=[],i=this._option("markerIconSrc");return i&&t.push("icon:"+i),n.each(this._option("markers"),function(n,i){t.push(r._locationToString(i.location))}),"markers="+t.join("|")},_routeSubstrings:function(){var r=this,i=[];return n.each(this._option("routes"),function(u,f){var o=new t.Color(f.color||ROUTE_COLOR_DEFAULT).toHex().replace("#","0x"),s=Math.round((f.opacity||ROUTE_OPACITY_DEFAULT)*255).toString(16),h=f.weight||ROUTE_WEIGHT_DEFAULT,e=[];n.each(f.locations,function(n,t){e.push(r._locationToString(t))}),i.push("path=color:"+o+s+"|weight:"+h+"|"+e.join("|"))}),i}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f=r.events,u="dxSwipeable",e="dx-swipeable",o={startAction:"dxswipestart",updateAction:"dxswipe",endAction:"dxswipeend",cancelAction:"dxswipecancel"};r.registerComponent(u,r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{elastic:!0,direction:"horizontal",itemSizeFunc:null,startAction:null,updateAction:null,endAction:null,cancelAction:null})},_render:function(){this.callBase(),this._element().addClass(e),this._attachEventHandlers()},_attachEventHandlers:function(){if(!this.option("disabled")){var t=this.NAME;this._createEventData(),n.each(o,n.proxy(function(n,i){var r=this._createActionByOption(n,{context:this,excludeValidators:["gesture"]}),i=f.addNamespace(i,t);this._element().off(i).on(i,this._eventData,function(n){return r({jQueryEvent:n})})},this))}},_createEventData:function(){this._eventData={elastic:this.option("elastic"),itemSizeFunc:this.option("itemSizeFunc"),direction:this.option("direction")}},_detachEventHanlers:function(){this._element().off("."+u)},_optionChanged:function(n){switch(n){case"disabled":case"startAction":case"updateAction":case"endAction":case"cancelAction":case"elastic":case"itemSizeFunc":case"direction":this._detachEventHanlers(),this._attachEventHandlers();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f="dx-button",e="dx-button-content",u=".dx-button-content",o="dx-button-text",s=".dx-button-text",h="dx-button-back-arrow",c="dx-icon",l=".dx-icon",a=100;r.registerComponent("dxButton",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{type:"normal",text:"",icon:"",iconSrc:"",hoverStateEnabled:!0})},_init:function(){this.callBase(),this._feedbackHideTimeout=a},_render:function(){this.callBase(),this._element().addClass(f).append(n("<div />").addClass(e)),this._renderIcon(),this._renderType(),this._renderText()},_clean:function(){this.callBase(),this._removeTypesCss()},_removeTypesCss:function(){var n=this._element().attr("class");n=n.replace(/\bdx-button-[-a-z0-9]+\b/gi,""),this._element().attr("class",n)},_renderIcon:function(){var f=this._element().find(u),i=f.find(l),t=this.option("icon"),r=this.option("iconSrc");(i.remove(),this.option("type")!=="back"||t||(t="back"),t||r)&&(t?i=n("<span />").addClass("dx-icon-"+t):r&&(i=n("<img />").attr("src",r)),f.prepend(i.addClass(c)))},_renderType:function(){var t=this.option("type");t&&this._element().addClass("dx-button-"+t),t==="back"&&this._element().prepend(n("<span />").addClass(h))},_renderText:function(){var r=this.option("text"),f=this._element().find(u),e=this.option("type")==="back",i=f.find(s);if(!r&&!e){i.remove();return}i.length||(i=n("<span />").addClass(o).appendTo(f)),i.text(r||t.localization.localizeString("@Back"))},_optionChanged:function(n){switch(n){case"icon":case"iconSrc":this._renderIcon();break;case"text":this._renderText();break;case"type":this._invalidate();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,f="dx-checkbox",e="dx-checkbox-icon",o="dx-checkbox-checked",s=100;r.registerComponent("dxCheckBox",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{checked:!1,hoverStateEnabled:!0})},_init:function(){this.callBase(),this._feedbackHideTimeout=s},_render:function(){this.callBase(),this._element().addClass(f),n("<span />").addClass(e).appendTo(this._element()),this._renderValue()},_renderClick:function(){var n=this,t=u.addNamespace("dxclick",this.NAME),i=this._createActionByOption("clickAction",{beforeExecute:function(){n.option("checked",!n.option("checked"))}});this._element().off(t).on(t,function(n){i({jQueryEvent:n})})},_renderValue:function(){this._element().toggleClass(o,Boolean(this.option("checked")))},_optionChanged:function(n){switch(n){case"checked":this._renderValue();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,e=u.events,f=t.fx,r="dx-switch",o=r+"-wrapper",s=r+"-inner",h=r+"-handle",c=r+"-on-value",l=r+"-on",a=r+"-off",v=100;u.registerComponent("dxSwitch",u.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{onText:Globalize.localize("dxSwitch-onText"),offText:Globalize.localize("dxSwitch-offText"),value:!1,valueChangeAction:null})},_init:function(){this.callBase(),this._animating=!1,this._animationDuration=v},_render:function(){var t=this._element();this._$switchInner=n("<div />").addClass(s),this._$handle=n("<div />").addClass(h).appendTo(this._$switchInner),this._$labelOn=n("<div />").addClass(l).prependTo(this._$switchInner),this._$labelOff=n("<div />").addClass(a).appendTo(this._$switchInner),this._$switchWrapper=n("<div />").addClass(o).append(this._$switchInner),t.addClass(r).append(this._$switchWrapper),t.dxSwipeable({elastic:!1,startAction:n.proxy(this._handleSwipeStart,this),updateAction:n.proxy(this._handleSwipeUpdate,this),endAction:n.proxy(this._handleSwipeEnd,this)}),this._renderLabels(),this.callBase(),this._updateMarginBound(),this._renderValue(),this._renderValueChangeAction()},_renderValueChangeAction:function(){this._changeAction=this._createActionByOption("valueChangeAction")},_updateMarginBound:function(){this._marginBound=this._$switchWrapper.outerWidth(!0)-this._$handle.width()},_renderPosition:function(n,t){var i=n?1:0;this._$switchInner.css("marginLeft",this._marginBound*(i+t-1))},_validateValue:function(){var n=this.option("value");typeof n!="boolean"&&(this._options.value=!!n)},_renderClick:function(){this.callBase();var t=e.addNamespace("dxclick",this.NAME),i=this._createAction(n.proxy(this._handleClick,this));this._element().on(t,function(n){i({jQueryEvent:n})})},_handleClick:function(n){var t=n.component,i,r;t._animating||t._swiping||(t._animating=!0,i=t.option("value"),r=!i,f.animate(this._$switchInner,{from:{marginLeft:(Number(i)-1)*this._marginBound},to:{marginLeft:(Number(r)-1)*this._marginBound},duration:t._animationDuration,complete:function(){t._animating=!1,t.option("value",r)}}))},_handleSwipeStart:function(n){var t=this.option("value");n.jQueryEvent.maxLeftOffset=t?1:0,n.jQueryEvent.maxRightOffset=t?0:1,this._swiping=!0},_handleSwipeUpdate:function(n){this._renderPosition(this.option("value"),n.jQueryEvent.offset)},_handleSwipeEnd:function(n){var t=this;f.animate(this._$switchInner,{to:{marginLeft:this._marginBound*(t.option("value")+n.jQueryEvent.targetOffset-1)},duration:t._animationDuration,complete:function(){t._swiping=!1;var i=t.option("value")+n.jQueryEvent.targetOffset;t.option("value",Boolean(i))}})},_renderValue:function(){this._validateValue();var n=this.option("value");this._renderPosition(n,0),this._element().toggleClass(c,n)},_renderLabels:function(){this._$labelOn.text(this.option("onText")),this._$labelOff.text(this.option("offText"))},_optionChanged:function(n,t,i){switch(n){case"visible":case"width":this._refresh();break;case"value":this._renderValue(),this._changeAction(t);break;case"valueChangeAction":this._renderValueChangeAction();break;case"onText":case"offText":this._renderLabels();break;default:this.callBase(n,t,i)}},_feedbackOff:function(n){n||this.callBase.apply(this,arguments)}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events,h="dx-editbox",f="dx-editbox-input",c="."+f,l="dx-editbox-border",e="dx-placeholder",o=["focusIn","focusOut","keyDown","keyPress","keyUp","change"],s=function(){var n=document.createElement("input");return"placeholder"in n}();r.registerComponent("dxEditBox",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{value:"",valueUpdateEvent:"change",valueUpdateAction:null,placeholder:"",readOnly:!1,focusInAction:null,focusOutAction:null,keyDownAction:null,keyPressAction:null,keyUpAction:null,changeAction:null,enterKeyAction:null,mode:"text"})},_input:function(){return this._element().find(c)},_render:function(){this._element().addClass(h),this._renderInput(),this._renderInputType(),this._renderValue(),this._renderProps(),this._renderPlaceholder(),this._renderEvents(),this._renderEnterKeyAction(),this.callBase()},_renderInput:function(){this._element().append(n("<input />").addClass(f)).append(n("<div />").addClass(l))},_renderValue:function(){this._input().val()!==this.option("value")&&this._input().val(this.option("value"))},_renderProps:function(){this._input().prop({placeholder:this.option("placeholder"),readOnly:this._readOnlyPropValue(),disabled:this.option("disabled")})},_readOnlyPropValue:function(){return this.option("readOnly")},_renderPlaceholder:function(){if(!s){var t=this,f=t.option("placeholder"),i=t._input(),r=n("<div />").addClass(e).addClass("dx-hide").attr("data-dx_placeholder",f),o=u.addNamespace("dxpointerdown",this.NAME);r.on(o,function(){i.focus()});i.wrap(r).on("focus.dxEditBox focusin.dxEditBox",function(){t._setStatePlaceholder.call(t,!0)}).on("blur.dxEditBox focusout.dxEditBox",function(){t._setStatePlaceholder.call(t,!1)});t._setStatePlaceholder()}},_renderEvents:function(){var t=this,i=t._input();n.each(o,function(n,r){var f=u.addNamespace(r.toLowerCase(),t.NAME),e=t._createActionByOption(r+"Action");i.off(f).on(f,function(n){e({jQueryEvent:n})})}),t._renderValueUpdateEvent()},_renderValueUpdateEvent:function(){var t=u.addNamespace(this.option("valueUpdateEvent"),this.NAME);this._input().off("."+this.NAME,this._handleValueChange).on(t,n.proxy(this._handleValueChange,this));this._changeAction=this._createActionByOption("valueUpdateAction")},_setStatePlaceholder:function(n){if(!s){var t=this._input(),r=t.parent("."+e);n===i&&(t.val()||t.prop("disabled")||!t.prop("placeholder")||(n=!1)),t.val()&&(n=!0),r.toggleClass("dx-hide",n)}},_handleValueChange:function(n){this._currentValueUpdateEvent=n,this.option("value",this._input().val()),this._currentValueUpdateEvent&&this._dispatchChangeAction()},_renderEnterKeyAction:function(){if(this.option("enterKeyAction")){this._enterKeyAction=this._createActionByOption("enterKeyAction");this._input().on("keyup.enterKey.dxEditBox",n.proxy(this._onKeyDownHandler,this))}else this._input().off("keyup.enterKey.dxEditBox"),this._enterKeyAction=i},_onKeyDownHandler:function(n){n.which===13&&this._enterKeyAction({jQueryEvent:n})},_toggleDisabledState:function(){this.callBase.apply(this,arguments),this._renderProps()},_dispatchChangeAction:function(){this._changeAction({actionValue:this.option("value"),jQueryEvent:this._currentValueUpdateEvent}),this._currentValueUpdateEvent=i},_updateValue:function(){this._renderValue(),this._setStatePlaceholder(),this._dispatchChangeAction()},_optionChanged:function(t){if(n.inArray(t.replace("Action",""),o)>-1){this._renderEvents();return}switch(t){case"value":this._updateValue();break;case"valueUpdateEvent":case"valueUpdateAction":this._renderValueUpdateEvent();break;case"readOnly":this._renderProps();break;case"mode":this._renderInputType();break;case"enterKeyAction":this._renderEnterKeyAction();break;case"placeholder":this._invalidate();break;default:this.callBase.apply(this,arguments)}},_renderInputType:function(){var n=this._input();try{n.prop("type",this.option("mode"))}catch(t){n.prop("type","text")}},focus:function(){this._input().trigger("focus")}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,f="dx-textbox",e=[8,9,13,33,34,35,36,37,38,39,40,46];r.registerComponent("dxTextBox",r.dxEditBox.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{mode:"text",maxLength:null})},_render:function(){if(this.callBase(),this._element().addClass(f),this._isAndroid())this._input().on(u.addNamespace("keydown",this.NAME),n.proxy(this._onKeyDownAndroidHandler,this)).on(u.addNamespace("change",this.NAME),n.proxy(this._onChangeAndroidHandler,this))},_renderProps:function(){if(this.callBase(),!this._isAndroid()){var n=this.option("maxLength");n>0&&this._input().prop("maxLength",n)}},_optionChanged:function(n){switch(n){case"maxLength":this._renderProps();break;default:this.callBase.apply(this,arguments)}},_onKeyDownAndroidHandler:function(t){var r=this.option("maxLength"),i,u;return r?(i=n(t.target),u=t.keyCode,this._cutOffExtraChar(i),i.val().length<r||n.inArray(u,e)!==-1||window.getSelection().toString()!==""):!0},_onChangeAndroidHandler:function(t){var i=n(t.target);this.option("maxLength")&&this._cutOffExtraChar(i)},_cutOffExtraChar:function(n){var t=this.option("maxLength"),i=n.val();i.length>t&&n.val(i.substr(0,t))},_isAndroid:function(){var i=window.navigator.userAgent,n=t.devices.real.version.join(".");return t.devices.real.platform==="android"&&n&&/^(2\.|4\.0|4\.1)/.test(n)&&i.indexOf("Chrome")===-1}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,r=u.events,f="dx-textarea",e="dx-editbox-input",o="dx-editbox-border";u.registerComponent("dxTextArea",u.dxTextBox.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{})},_render:function(){this.callBase(),this._element().addClass(f)},_renderInput:function(){this._element().append(n("<textarea>").addClass(e)).append(n("<div />").addClass(o)),this._renderScrollHandler()},_renderScrollHandler:function(){var n=this._input(),t=0;n.on(r.addNamespace("dxpointerdown",this.NAME),function(n){t=r.eventData(n).y});n.on(r.addNamespace("dxpointermove",this.NAME),function(i){var u=n.scrollTop(),f=n.prop("scrollHeight")-n.prop("clientHeight")-u;if(u!==0||f!==0){var e=r.eventData(i).y,o=u===0&&t>=e,s=f===0&&t<=e,h=u>0&&f>0;(o||s||h)&&(i.originalEvent.isScrollingEvent=!0),t=e}})},_renderInputType:n.noop,_renderDimensions:function(){this.callBase();var n=this.option("width"),t=this.option("height");this._input().width(n),this._input().height(t)}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=Math,f=r.events;r.registerComponent("dxNumberBox",r.dxEditBox.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{value:0,min:-Number.MAX_VALUE,max:Number.MAX_VALUE,mode:"number"})},_render:function(){this.callBase(),this._element().addClass("dx-numberbox"),this._setInputInvalidHandler()},_renderProps:function(){this.callBase(),this._input().prop({min:this.option("min"),max:this.option("max")})},_setInputInvalidHandler:function(){var t=this,i=f.addNamespace(this.option("valueUpdateEvent"),this.NAME);this._input().on(i,function(){var n=t._input()[0];typeof n.checkValidity=="function"&&n.checkValidity()}).focusout(n.proxy(this._trimInputValue,this)).on("invalid",n.proxy(this._inputInvalidHandler,this))},_renderValue:function(){var n=this.option("value")?this.option("value").toString():this.option("value");this._input().val()!==n&&this._input().val(this.option("value"))},_trimInputValue:function(){var i=this._input(),t=n.trim(i.val());t[t.length-1]==="."&&(t=t.slice(0,-1)),this._forceRefreshInputValue(t)},_inputInvalidHandler:function(){var n=this._input(),t=n.val();if(this._oldValue){this.option("value",this._oldValue),n.val(this._oldValue),this._oldValue=null;return}(!t||/,/.test(t))&&(this.option("value",""),n.val(""))},_handleValueChange:function(){var i=this._input(),t=n.trim(i.val());(t=t.replace(",","."),this._validateValue(t))&&(t=this._parseValue(t),t||t===0)&&(this.option("value",t),i.val()!=t&&i.val(t))},_forceRefreshInputValue:function(n){var t=this._input();t.val("").val(n)},_validateValue:function(n){var i=f.addNamespace(this.option("valueUpdateEvent"),this.NAME),t=this._input();return(this._oldValue=null,this._hasCommaChar=null,!n)?(this._oldValue=this.option("value"),this.option("value",""),this._hasCommaChar&&t.trigger("invalid"),!1):n[n.length-1]==="."?!1:!0},_calcPointsCount:function(t){for(var i=0,r=-1;(r=n.inArray(".",t.split(""),r+1))>-1;)i++;return i},_parseValue:function(n){var t=Globalize.parseFloat(n,10,Globalize.cultures["default"].language);return isNaN(t)?(this._input().val(this.option("value")),i):(t=u.max(t,this.option("min")),t=u.min(t,this.option("max")))},_optionChanged:function(n){n==="min"||n==="max"?this._renderProps(arguments):this.callBase.apply(this,arguments)}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f=u.events,s=t.translator,e=t.utils,r="dx-slider",h=r+"-wrapper",o=r+"-handle",c="."+o,l=r+"-bar",a=r+"-range";u.registerComponent("dxSlider",u.Widget.inherit({_activeStateUnit:c,_defaultOptions:function(){return n.extend(this.callBase(),{min:0,max:100,step:1,value:50})},_init:function(){this.callBase(),e.windowResizeCallbacks.add(this._refreshHandler=n.proxy(this._refresh,this))},_dispose:function(){this.callBase(),e.windowResizeCallbacks.remove(this._refreshHandler)},_render:function(){this.callBase(),this._$wrapper=n("<div />").addClass(h),this._$bar=n("<div />").addClass(l).appendTo(this._$wrapper),this._$selectedRange=n("<div />").addClass(a).appendTo(this._$bar),this._$handle=n("<div />").addClass(o).appendTo(this._$bar),this._element().addClass(r).append(this._$wrapper),this._$wrapper.dxSwipeable({elastic:!1,startAction:n.proxy(this._handleSwipeStart,this),updateAction:n.proxy(this._handleSwipeUpdate,this),cancelAction:n.proxy(this._handleSwipeCancel,this),itemWidthFunc:n.proxy(this._itemWidthFunc,this)}),this._renderValue(),this._renderStartHandler()},_renderStartHandler:function(){var t=f.addNamespace("dxpointerdown",this.NAME),i=this._createAction(n.proxy(this._handleStart,this),{excludeValidators:["gesture"]});this._element().off(t).on(t,function(n){i({jQueryEvent:n})})},_itemWidthFunc:function(){return this._element().width()},_handleSwipeStart:function(n){this._startOffset=this._currentRatio,n.jQueryEvent.maxLeftOffset=this._startOffset,n.jQueryEvent.maxRightOffset=1-this._startOffset},_handleSwipeUpdate:function(n){this._handleValueChange(this._startOffset+n.jQueryEvent.offset)},_handleSwipeCancel:function(){this._feedbackOff()},_handleValueChange:function(n){var r=this.option("min"),e=this.option("max"),t=this.option("step"),o=n*(e-r),i=r+o,u,f;((!t||isNaN(t))&&(t=1),t=parseFloat(t.toFixed(5)),t===0&&(t=1e-5),t<0)||(i===e||i===r?this.option("value",i):(u=(t+"").split("."),f=u.length>1?u[1].length:f,i=Number((Math.round(o/t)*t+r).toFixed(f)),this.option("value",this._fitValue(i))))},_fitValue:function(n){return n=Math.min(n,this.option("max")),n=Math.max(n,this.option("min"))},_handleStart:function(n){var t=n.jQueryEvent;f.needSkipEvent(t)||(this._currentRatio=(u.events.eventData(t).x-this._$bar.offset().left)/this._$bar.width(),this._handleValueChange(this._currentRatio))},_renderValue:function(){var i=this.option("value"),n=this.option("min"),t=this.option("max");if(!(n>t)){if(i<n){this.option("value",n),this._currentRatio=0;return}if(i>t){this.option("value",t),this._currentRatio=1;return}var f=this._$handle.outerWidth(),u=this._$bar.width(),r=n===t?0:(i-n)/(t-n);this._$selectedRange.width(r*u),s.move(this._$handle,{left:r*u-f/2}),this._currentRatio=r}},_optionChanged:function(n){switch(n){case"min":case"max":case"step":case"value":this._renderValue();break;default:this.callBase.apply(this,arguments)}},_feedbackOff:function(n){n||this.callBase.apply(this,arguments)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f=r.events,u=t.translator,e="dx-slider-handle";r.registerComponent("dxRangeSlider",r.dxSlider.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{start:40,end:60,value:50})},_render:function(){this._$handleRight=n("<div />").addClass(e),this.callBase(),this._$handleRight.appendTo(this._$bar)},_handleStart:function(n){var r=n.jQueryEvent,u=f.eventData(r).x-this._$bar.offset().left,t=this._$handle.position().left,i=this._$handleRight.position().left;this._$handlersDistance=Math.abs(t-i),this._capturedHandle=(t+i)/2>u?this._$handle:this._$handleRight,this.callBase(n)},_handleSwipeUpdate:function(n){Math.abs(this.option("start")-this.option("end"))===0&&this._$handlersDistance<this._$handle.outerWidth()&&(this._feedbackOff(!0),this._capturedHandle=n.jQueryEvent.offset<=0?this._$handle:this._$handleRight,this._feedbackOn(this._capturedHandle,!0)),this.callBase(n)},_handleValueChange:function(n){this.callBase(n);var f=this._capturedHandle===this._$handle?"start":"end",t=this.option("start"),u=this.option("end"),r=this.option("value"),i=this.option("max"),e=this.option("min");t>i&&(t=i,this.option("start",i)),t<e&&(t=e,this.option("start",e)),u>i&&(u=i,this.option("end",i)),r>u&&f==="start"&&(r=u),r<t&&f==="end"&&(r=t),this.option(f,r)},_renderValue:function(){var i=this.option("start"),r=this.option("end"),n=this.option("min"),t=this.option("max");i<n&&(i=n),i>t&&(i=t),r>t&&(r=t),r<i&&(r=i);var o=this._$handle.outerWidth(),f=this._$bar.width(),e=t===n?0:(i-n)/(t-n),s=t===n?0:(r-n)/(t-n);this._$selectedRange.width((s-e)*f),u.move(this._$selectedRange,{left:e*f}),u.move(this._$handle,{left:e*f-o/2}),u.move(this._$handleRight,{left:s*f-o/2})},_optionChanged:function(n){switch(n){case"start":case"end":this._renderValue();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,v=r.events,f="dx-radio-group",o="dx-radio-group-vertical",s="dx-radio-group-horizontal",e="dx-radio-button",u="."+e,h="dx-radio-button-value",c="dx-radio-value-container",y="dx-state-active",l="dxRadioButtonData",a=100;r.registerComponent("dxRadioGroup",r.SelectableCollectionWidget.inherit({_activeStateUnit:u,_defaultOptions:function(){return n.extend(this.callBase(),{layout:"vertical",value:i,valueExpr:null,hoverStateEnabled:!0})},_itemClass:function(){return e},_itemDataKey:function(){return l},_itemContainer:function(){return this._element()},_init:function(){this.callBase(),this._dataSource||this._itemsToDataSource(),this._feedbackHideTimeout=a},_itemsToDataSource:function(){this._dataSource=new DevExpress.data.DataSource(this.option("items"))},_render:function(){this._element().addClass(f),this._compileValueGetter(),this.callBase(),this._renderLayout(),this._renderValue()},_compileValueGetter:function(){this._valueGetter=t.data.utils.compileGetter(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option("valueExpr")||this._dataSource&&this._dataSource._store._key||"this"},_renderLayout:function(){var n=this.option("layout");this._element().toggleClass(o,n==="vertical"),this._element().toggleClass(s,n==="horizontal")},_renderValue:function(){this.option("value")?this._setIndexByValue():this._setValueByIndex()},_setIndexByValue:function(n){var t=this;n=n===i?t.option("value"):n,t._searchValue(n).done(function(n){t._dataSource.isLoaded()?t._setIndexByItem(n):t._dataSource.load().done(function(){t._setIndexByItem(n)})})},_setIndexByItem:function(t){this.option("selectedIndex",n.inArray(t,this._dataSource.items()))},_searchValue:function(i){var r=this,u=r._dataSource.store(),e=r._valueGetterExpr(),f=n.Deferred();return e===u.key()||u instanceof t.data.CustomStore?u.byKey(i).done(function(n){f.resolveWith(r,[n])}):u.load({filter:[e,i]}).done(function(n){f.resolveWith(r,n)}),f.promise()},_setValueByIndex:function(){var n=this.option("selectedIndex"),u=this._itemElements(),t,r;if(n<0||n>=u.length)return i;t=this._selectedItemElement(n),r=this._getItemData(t),this.option("value",this._getItemValue(r))},_getItemValue:function(n){return this._valueGetter(n)||n.text},_renderSelectedIndex:function(n){var i=this._itemElements(),t,r;n>=0&&n<i.length&&(t=i.eq(n),r=t.closest("."+f),r.find(u).removeClass("checked"),t.closest(u).addClass("checked"))},_createItemByRenderer:function(n,t){var i=this.callBase.apply(this,arguments);return this._renderInput(i,t.item),i},_createItemByTemplate:function(n,t){var i=this.callBase.apply(this,arguments);return this._renderInput(i,t.item),i},_renderInput:function(t,i){if(!i.html){var r=n("<div>").addClass(h),u=n("<div>").append(r).addClass(c);t.prepend(u)}},_optionChanged:function(n,t){switch(n){case"value":this._setIndexByValue(t);break;case"selectedIndex":this.callBase.apply(this,arguments),this._setValueByIndex();break;case"layout":this._renderLayout();break;case"valueExpr":this._compileValueGetter(),this._setValueByIndex();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,v=r.events,e="dx-tabs",o="dx-indent-wrapper",s="dx-tab",h=".dx-tab",u="dx-tab-selected",c="dx-tab-text",f="dx-icon",l="dxTabData",a=100;r.registerComponent("dxTabs",r.SelectableCollectionWidget.inherit({_activeStateUnit:h,_defaultOptions:function(){return n.extend(this.callBase(),{})},_init:function(){this.callBase(),this._feedbackHideTimeout=a},_itemClass:function(){return s},_itemDataKey:function(){return l},_itemRenderDefault:function(t,i,r){if(this.callBase(t,i,r),!t.html){var s=t.text,e=t.icon,o=t.iconSrc,u;s&&r.wrapInner(n("<span />").addClass(c)),e?u=n("<span />").addClass(f+"-"+e):o&&(u=n("<img />").attr("src",o)),u&&u.addClass(f).prependTo(r)}},_render:function(){this.callBase(),this._element().addClass(e),this._renderWrapper()},_renderWrapper:function(){this._element().wrapInner(n("<div />").addClass(o))},_renderSelectedIndex:function(n,t){var i=this._itemElements();t>=0&&i.eq(t).removeClass(u),n>=0&&i.eq(n).addClass(u)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-navbar",f="dx-nav-item",e="dx-nav-item-content";r.registerComponent("dxNavBar",r.dxTabs.inherit({_render:function(){this.callBase(),this._element().addClass(u)},_renderItem:function(t,i){var r=this.callBase(t,i);return r.addClass(f).wrapInner(n("<div />").addClass(e))}}))}(jQuery,DevExpress),function(n,t,i){var o=t.ui,f=t.fx,u=t.translator,s=o.events,v="dx-pivottabs",l="dx-pivottabs-tab",e="dx-pivottabs-tab-selected",a="dx-pivottabs-ghosttab",y="dxPivotTabData",h=200,c="cubic-bezier(.40, .80, .60, 1)",r={moveTo:function(n,t,i){return f.animate(n,{type:"slide",to:{left:t},duration:h,easing:c,complete:i})},slideAppear:function(n,t){return f.animate(n,{type:"slide",to:{left:t,opacity:1},duration:h,easing:c})},slideDisappear:function(n,t){return f.animate(n,{type:"slide",to:{left:t,opacity:0},duration:h,easing:c})}},p=function(t){t&&n.each(t,function(n,t){f.stop(t,!0)})};o.registerComponent("dxPivotTabs",o.SelectableCollectionWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{selectedIndex:0,prepareAction:null,updatePositionAction:null,rollbackAction:null,completeAction:null})},_itemClass:function(){return l},_itemDataKey:function(){return y},_itemContainer:function(){return this._element()},_init:function(){this.callBase(),this._initGhostTab(),this._initSwipeHandlers(),this._initActions()},_initGhostTab:function(){this._$ghostTab=n("<div>").addClass(a)},_initActions:function(){var n={excludeValidators:["gesture"]};this._updatePositionAction=this._createActionByOption("updatePositionAction",n),this._rollbackAction=this._createActionByOption("rollbackAction",n),this._completeAction=this._createActionByOption("completeAction",n),this._prepareAction=this._createActionByOption("prepareAction",n)},_render:function(){this._element().addClass(v),this.callBase(),this._renderGhostTab()},_renderGhostTab:function(){this._itemContainer().append(this._$ghostTab),this._toggleGhostTab(!1)},_toggleGhostTab:function(n){var t=this._$ghostTab;n?(this._updateGhostTabContent(),t.css("opacity",1)):t.css("opacity",0)},_isGhostTabVisible:function(){return this._$ghostTab.css("opacity")==1},_updateGhostTabContent:function(n){n=n===i?this._previousIndex():n;var t=this._$ghostTab,r=this._itemElements();t.html(r.eq(n).html())},_updateTabsPositions:function(n){var r=this._allTabElements(),n=this._applyOffsetBoundaries(n),t=n>0,i=this._calculateTabPositions(t?"replace":"append");this._moveTabs(i,n),this._toggleGhostTab(t)},_moveTabs:function(t,i){i=i||0;var r=this._allTabElements();r.each(function(r){u.move(n(this),{left:t[r]+i})})},_applyOffsetBoundaries:function(n){n=n||0;var t=n>0?this._maxRightOffset:this._maxLeftOffset;return n*t},_animateRollback:function(){var u=this,t=this._itemElements(),i=this._calculateTabPositions("prepend");this._isGhostTabVisible()&&(this._swapGhostWithTab(t.eq(this._previousIndex())),r.moveTo(this._$ghostTab,i[this._indexBoundary()],function(){u._toggleGhostTab(!1)})),t.each(function(t){r.moveTo(n(this),i[t])})},_animateComplete:function(n,t){var i=this,r=this._itemElements(),f=this._isGhostTabVisible(),u;r.eq(t).removeClass(e),u=f?this._animateIndexDecreasing(n):this._animateIndexIncreasing(n),r.eq(n).addClass(e),u.done(function(){i._indexChangeOnAnimation=!0,i.option("selectedIndex",n),i._indexChangeOnAnimation=!1})},_animateIndexDecreasing:function(t){var f=this._itemElements(),u=this._calculateTabPositions("append",t),i=[];return f.each(function(t){i.push(r.moveTo(n(this),u[t]))}),i.push(r.slideDisappear(this._$ghostTab,u[this._indexBoundary()])),n.when.apply(n,i)},_animateIndexIncreasing:function(t){var s=this,f=this._itemElements(),o=this._calculateTabPositions("prepend",t),i=this._previousIndex(t),h=u.locate(f.eq(i)).left<0,e=[];return h||this._moveTabs(this._calculateTabPositions("append",i)),this._updateGhostTabContent(i),this._swapGhostWithTab(f.eq(i)),f.each(function(t){var u=n(this),f=o[t];e.push(t===i?r.slideAppear(u,f):r.moveTo(u,f))}),e.push(r.moveTo(this._$ghostTab,o[this._indexBoundary()],function(){s._toggleGhostTab(!1)})),n.when.apply(n,e)},_swapGhostWithTab:function(n){var t=this._$ghostTab,i=u.locate(n).left,r=n.css("opacity");u.move(n,{left:u.locate(t).left}),n.css("opacity",t.css("opacity")),u.move(t,{left:i}),t.css("opacity",r)},_calculateTabPositions:function(n,t){t=t===i?this.option("selectedIndex"):t;var r=t+n;return this._calculetedPositionsMark!==r&&(this._calculetedPositions=this._calculateTabPositionsImpl(t,n),this._calculetedPositionsMark=r),this._calculetedPositions},_calculateTabPositionsImpl:function(t,i){var f=this._normalizeIndex(t-1),h=this._itemElements(),u=[],e=0,r=[],o,s;h.each(function(){u.push(n(this).outerWidth())}),o=function(n,t){r.splice(n,0,e),e+=t},n.each(u.slice(t),o),n.each(u.slice(0,t),o);switch(i){case"replace":s=r[f],r.splice(f,1,-u[f]),r.push(s);break;case"prepend":r.push(-u[f]);break;case"append":r.push(e)}return r},_allTabElements:function(){return this._itemContainer().find("."+l+", ."+a)},_initSwipeHandlers:function(){this._element().on(s.addNamespace("dxswipestart",this.NAME),n.proxy(this._swipeStartHandler,this)).on(s.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(s.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._prepareAnimation(),this._prepareAction(),(this.option("disabled")||this._indexBoundary()<=1)&&(n.cancel=!0)},_prepareAnimation:function(){this._stopAnimation()},_stopAnimation:function(){p(this._allTabElements())},_swipeUpdateHandler:function(n){var t=n.offset;this._updatePositionAction({offset:t}),this._updateTabsPositions(t)},_swipeEndHandler:function(n){var i=this.option("selectedIndex"),r=n.targetOffset,t;r===0?(this._animateRollback(),this._rollbackAction()):(t=this._normalizeIndex(i-r),this._animateComplete(t,i),this._completeAction({newIndex:t}))},_previousIndex:function(n){return n=n===i?this.option("selectedIndex"):n,this._normalizeIndex(n-1)},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_onItemSelectAction:function(n){this._prepareAnimation(),this._prepareAction(),this._animateComplete(n,this.option("selectedIndex")),this._completeAction({newIndex:n})},_renderSelectedIndex:function(n,t){var i=this._itemElements();this._calculateMaxOffsets(n),this._indexChangeOnAnimation||(i.eq(t).removeClass(e),this._updateTabsPositions(),i.eq(n).addClass(e))},_calculateMaxOffsets:function(n){var t=this._itemElements();this._maxLeftOffset=t.eq(n).outerWidth(),this._maxRightOffset=t.eq(this._previousIndex(n)).outerWidth()},_itemRenderDefault:function(t,i,r){var u=n("<span>").text(t.title);r.html(u)},_optionChanged:function(n){n==="items"&&delete this._calculetedPositionsMark,this.callBase.apply(this,arguments)},prepare:function(){this._prepareAnimation()},updatePosition:function(n){this._updateTabsPositions(n)},rollback:function(){this._animateRollback()},complete:function(n){this._animateComplete(n,this.option("selectedIndex"))}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,f=u.events,r=t.fx,e=t.translator,c="dx-pivot",l="dx-pivottabs-container",a="dx-pivot-itemcontainer",v="dx-pivot-itemwrapper",y="dx-pivot-item",o="dx-pivot-item-hidden",p="dxPivotItemData",w=200,b=50,k=250,d="cubic-bezier(.10, 1, 0, 1)",s={returnBack:function(n){r.animate(n,{type:"slide",to:{left:0},duration:w})},slideAway:function(n,t,i){r.animate(n,{type:"slide",to:{left:t},duration:b,complete:i})},slideBack:function(n){r.animate(n,{type:"slide",to:{left:0},easing:d,duration:k})}},h=function(n){r.stop(n,!0)};u.registerComponent("dxPivot",u.SelectableCollectionWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{selectedIndex:0})},_itemClass:function(){return y},_itemDataKey:function(){return p},_itemContainer:function(){return this._$itemWrapper},_init:function(){this.callBase(),this._initTabs(),this._initItemContainer(),this._clearItemsCache(),this._initSwipeHandlers()},_initItemContainer:function(){var t=n("<div>").addClass(a);this._element().append(t),this._$itemWrapper=n("<div>").addClass(v),t.append(this._$itemWrapper)},_clearItemsCache:function(){this._itemsCache=[]},_initTabs:function(){var t=this,i=n("<div>").addClass(l);this._element().append(i),i.dxPivotTabs({items:this.option("items"),selectedIndex:this.option("selectedIndex"),prepareAction:function(){t._prepareAnimation()},updatePositionAction:function(n){t._updateContentPosition(n.offset)},rollbackAction:function(){t._animateRollback()},completeAction:function(n){t._animateComplete(n.newIndex)}}),this._tabs=i.dxPivotTabs("instance")},_render:function(){this._element().addClass(c),this.callBase()},_renderCurrentContent:function(n,t){var i=this._itemsCache;i[t]=this._selectedItemElement(),i[t].addClass(o),i[n]?i[n].removeClass(o):this._renderContent()},_updateContentPosition:function(n){e.move(this._$itemWrapper,{left:this._calculatePixelOffset(n)})},_animateRollback:function(){s.returnBack(this._$itemWrapper)},_animateComplete:function(n){var t=this,i=this._$itemWrapper,u=this._isRightSwipeHandled(),r=u?this._itemWrapperWidth:-this._itemWrapperWidth;s.slideAway(i,r,function(){e.move(i,{left:-r}),t._indexChangeOnAnimation=!0,t.option("selectedIndex",n),t._indexChangeOnAnimation=!1,s.slideBack(i)})},_calculatePixelOffset:function(n){return n=n||0,n*this._itemWrapperWidth},_isRightSwipeHandled:function(){return e.locate(this._$itemWrapper).left>0},_initSwipeHandlers:function(){this._element().on(f.addNamespace("dxswipestart",this.NAME),n.proxy(this._swipeStartHandler,this)).on(f.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(f.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._prepareAnimation(),this._tabs.prepare(),(this.option("disabled")||this._indexBoundary()<=1)&&(n.cancel=!0)},_prepareAnimation:function(){this._stopAnimation(),this._itemWrapperWidth=this._$itemWrapper.outerWidth()},_stopAnimation:function(){h(this._$itemWrapper),h(this._$itemWrapper)},_swipeUpdateHandler:function(n){var t=n.offset;this._updateContentPosition(t),this._tabs.updatePosition(t)},_swipeEndHandler:function(n){var i=this.option("selectedIndex"),r=n.targetOffset,t;r===0?(this._animateRollback(),this._tabs.rollback()):(t=this._normalizeIndex(i-r),this._animateComplete(t,i),this._tabs.complete(t))},_renderSelectedIndex:function(n,t){t!==i&&this._renderCurrentContent(n,t)},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_renderContentImpl:function(){var n=this.option("items"),t=this.option("selectedIndex");n.length&&this._renderItems([n[t]])},_selectedItemElement:function(){return this._$itemWrapper.children(":not(."+o+")")},_optionChanged:function(n,t){switch(n){case"selectedIndex":this._indexChangeOnAnimation||this._tabs.option("selectedIndex",t),this.callBase.apply(this,arguments);break;case"items":this._tabs.option("items",t),this._clearItemsCache(),this.callBase.apply(this,arguments);break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,s=t.fx,r=t.utils,h=t.translator,c="dx-toolbar",l="dx-toolbar-bottom",a="dx-toolbar-mini",v="dx-toolbar-item",e="dx-toolbar-label",u="dx-toolbar-button",y="dx-toolbar-menu-container",p="dx-toolbar-menu-button",w="dx-toolbar-items-container",o="."+e,b="dxToolbarItemDataKey",k="easeOutCubic",d=200,g=400,nt=function(n,t,i){var r=i?g:d;s.animate(n,{type:"slide",to:{top:t},easing:k,duration:r})};f.registerComponent("dxToolbar",f.CollectionContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{menuItemRender:null,menuItemTemplate:"item",submenuType:"dxDropDownMenu",renderAs:"topToolbar"})},_itemContainer:function(){return this._$toolbarItemsContainer.find(".dx-toolbar-left,.dx-toolbar-center,.dx-toolbar-right")},_itemClass:function(){return v},_itemDataKey:function(){return b},_itemRenderDefault:function(i,r,u){var f;if(this.callBase(i,r,u),f=i.widget,f){var e=n("<div>").appendTo(u),o=t.inflector.camelize("dx-"+f),s=i.options||{};e[o](s)}else i.text&&u.wrapInner("<div>")},_render:function(){this._renderToolbar(),this._renderSections(),this.callBase(),this._renderMenu(),this._arrangeTitle(),this._windowTitleResizeCallback=n.proxy(this._arrangeTitle,this),r.windowResizeCallbacks.add(this._windowTitleResizeCallback)},_renderToolbar:function(){this._element().addClass(c).toggleClass(l,this.option("renderAs")==="bottomToolbar"),this._$toolbarItemsContainer=n("<div>").appendTo(this._element()),this._$toolbarItemsContainer.addClass(w)},_renderSections:function(){var t=this._$toolbarItemsContainer,i=this;n.each(["left","center","right"],function(){var r="dx-toolbar-"+this,u=t.find("."+r);u.length||(i["_$"+this+"Section"]=u=n("<div>").addClass(r).appendTo(t))})},_arrangeTitle:function(){var h=this._$toolbarItemsContainer,t=this._$centerSection,i=t.children(o).eq(0),r,u;if(i.length!==0){var c=h.width(),f=this._$leftSection.outerWidth(),e=this._$rightSection.outerWidth(),s=10;t.children().not(o).each(function(){s+=n(this).outerWidth()}),r=c-f-e-s,u=i.width()>r,t.css({marginLeft:u?f:"",marginRight:u?e:""}),i.css("max-width",r)}},_renderItem:function(n,t){var r=t.location||t.align||"center",f=this._$toolbarItemsContainer.find(".dx-toolbar-"+r),i=this.callBase(n,t,f);return i.addClass(u),t.text&&i.addClass(e).removeClass(u),i},_hasVisibleMenuItems:function(){var i=this._getMenuItems(),t=!1,r=DevExpress.data.utils.compileGetter("visible");return n.each(i,function(n,i){var u=r(i,{functionsAsIs:!0});u!==!1&&(t=!0)}),t},_getToolbarItems:function(){return n.grep(this.option("items")||[],function(n){return n.location!=="menu"})},_getMenuItems:function(){return n.grep(this.option("items")||[],function(n){return n.location==="menu"})},_renderContentImpl:function(){var n=this._getToolbarItems();this._element().toggleClass(a,n.length===0),this._renderedItemsCount?this._renderItems(n.slice(this._renderedItemsCount)):this._renderItems(n)},_renderMenu:function(){var t=this,i=this._createActionByOption("itemClickAction"),n={itemRender:this.option("menuItemRender"),itemTemplate:this.option("menuItemTemplate"),itemClickAction:function(n){t._toggleMenuVisibility(!1,!0),i(n)}};this._menuType=this.option("submenuType"),this._menuType==="dxList"&&this.option("renderAs")==="topToolbar"&&(this._menuType="dxDropDownMenu");switch(this._menuType){case"dxActionSheet":this._renderActionSheet(n);break;case"dxDropDownMenu":this._renderDropDown(n);break;case"dxList":this._renderList(n)}},_renderMenuButton:function(t){var i=n.extend({clickAction:n.proxy(this._handleMenuButtonClick,this)},t);this._renderMenuButtonContainer(),this._$button=n("<div>").appendTo(this._$menuButtonContainer).addClass(p).dxButton(i)},_renderMenuButtonContainer:function(){var t=this._$rightSection;this._$menuButtonContainer=n("<div>").appendTo(t).addClass(u).addClass(y)},_renderDropDown:function(t){this._hasVisibleMenuItems()&&(this._renderMenuButtonContainer(),this._menu=n("<div>").appendTo(this._$menuButtonContainer).dxDropDownMenu(t).dxDropDownMenu("instance"),this._renderMenuItems())},_renderActionSheet:function(t){if(this._hasVisibleMenuItems()){this._renderMenuButton({icon:"overflow"});var i=n.extend({target:this._$button,showTitle:!1},t);this._menu=n("<div>").appendTo(this._element()).dxActionSheet(i).dxActionSheet("instance"),this._renderMenuItems()}},_renderList:function(t){this._renderMenuButton({activeStateEnabled:!1,text:"..."});var i=n.extend({width:"100%"},t);this._renderListOverlay(),this._renderContainerSwipe(),this._hasVisibleMenuItems()&&(this._menu=n("<div>").appendTo(this._listOverlay.content()).dxList(i).dxList("instance"),this._renderMenuItems()),this._changeListVisible(this.option("visible")),this._windowResizeCallback=n.proxy(this._toggleMenuVisibility,this),r.windowResizeCallbacks.add(this._windowResizeCallback)},_renderMenuItems:function(){this._menu.addExternalTemplate(this._templates),this._menu.option("items",this._getMenuItems())},_getListHeight:function(){var n=this._listOverlay.content().find(".dx-list").height(),t=this._$toolbarItemsContainer.height()-this._element().height();return n+t},_renderListOverlay:function(){var t=this._element();this._listOverlay=n("<div>").appendTo(t).dxOverlay({targetContainer:!1,deferRendering:!1,shading:!1,height:"auto",width:"100%",showTitle:!1,closeOnOutsideClick:n.proxy(this._handleListOutsideClick,this),position:null,animation:null,backButtonHandler:null}).dxOverlay("instance")},_backButtonHandler:function(){this._toggleMenuVisibility(!1,!0)},_toggleBackButtonCallback:function(){this._closeCallback&&t.backButtonCallback.remove(this._closeCallback),this._menuShown&&(this._closeCallback=n.proxy(this._backButtonHandler,this),t.backButtonCallback.add(this._closeCallback))},_renderContainerSwipe:function(){this._$toolbarItemsContainer.appendTo(this._listOverlay.content()).dxSwipeable({elastic:!1,startAction:n.proxy(this._handleSwipeStart,this),updateAction:n.proxy(this._handleSwipeUpdate,this),endAction:n.proxy(this._handleSwipeEnd,this),itemSizeFunc:n.proxy(this._getListHeight,this),direction:"vertical"})},_handleListOutsideClick:function(t){n(t.target).closest(this._listOverlay.content()).length||this._toggleMenuVisibility(!1,!0)},_calculatePixelOffset:function(n){n=(n||0)-1;var t=this._getListHeight();return n*t},_handleSwipeStart:function(n){n.jQueryEvent.maxTopOffset=this._menuShown?0:1,n.jQueryEvent.maxBottomOffset=this._menuShown?1:0},_handleSwipeUpdate:function(n){var t=this._menuShown?n.jQueryEvent.offset:1+n.jQueryEvent.offset;this._renderMenuPosition(t,!1)},_handleSwipeEnd:function(n){var t=n.jQueryEvent.targetOffset;t-=this._menuShown-1,this._toggleMenuVisibility(t===0,!0)},_renderMenuPosition:function(n,t){var i=this._calculatePixelOffset(n),r=this._listOverlay.content();t?nt(r,i,this._menuShown):h.move(r,{top:i})},_handleMenuButtonClick:function(){this._toggleMenuVisibility(!this._menuShown,!0)},_toggleMenuVisibility:function(n,t){this._menuShown=n;switch(this._menuType){case"dxList":this._toggleBackButtonCallback(),this._renderMenuPosition(this._menuShown?0:1,t);break;case"dxActionSheet":this._menu.toggle(this._menuShown),this._menuShown=!1}},_renderEmptyMessage:n.noop,_clean:function(){this._$toolbarItemsContainer.children().empty(),this._element().empty()},_changeMenuOption:function(n,t){this._menu&&this._menu.option(n,t)},_changeListVisible:function(n){this._listOverlay&&(this._listOverlay.option("visible",n),this._toggleMenuVisibility(!1,!1))},_optionChanged:function(n,t){switch(n){case"renderAs":case"submenuType":this._invalidate(),this.callBase.apply(this,arguments);break;case"visible":this._changeListVisible(t),this.callBase.apply(this,arguments);break;case"menuItemRender":this._changeMenuOption("itemRender",t);break;case"menuItemTemplate":this._changeMenuOption("itemTemplate",t);break;case"itemClickAction":this._changeMenuOption(n,t),this.callBase.apply(this,arguments);break;default:this.callBase.apply(this,arguments)}},_dispose:function(){this._windowResizeCallback&&r.windowResizeCallbacks.remove(this._windowResizeCallback),this._windowTitleResizeCallback&&r.windowResizeCallbacks.remove(this._windowTitleResizeCallback),this.callBase()}}))}(jQuery,DevExpress),function(n,t){var y=t.ui,r=y.events,p=t.translator,o=t.fx,nt=t.utils,w=[],b=function(n){w.push(n)};b("delete"),b("selection");var tt="dx-list-item-bag-container",it="dx-list-item-content",rt="dx-list-item-left-bag",ut="dx-list-item-right-bag",ft="leftBag",et="rightBag",ot="modifyElement",st=t.Class.inherit({ctor:function(n,t){this._list=n,this._config=t,this.isModifyingByDecorators()&&this._fetchRequiredDecorators()},dispose:function(){this._decorators&&this._decorators.length&&n.each(this._decorators,function(n,t){t.dispose()})},isModifyingByDecorators:function(){return!(this.isRenderingByRenderer()||this.isRenderingByTemplate())},isRenderingByRenderer:function(){return!!this.getItemRenderer()},getItemRenderer:function(){return this._config.itemRender},isRenderingByTemplate:function(){return!!this.getItemTemplateName()},getItemTemplateName:function(){return this._config.itemTemplate},_fetchRequiredDecorators:function(){var t=this;this._decorators=[],n.each(w,function(n,i){var u=i+"Enabled",f=i+"Mode",r;t._config[u]&&(r=t._createDecorator(i,t._config[f]),t._decorators.push(r))})},_createDecorator:function(n,t){var i=this._findDecorator(n,t);return new i(this._list)},_findDecorator:function(n,t){return e[n][t]},modifyItemElement:function(){var t=[this._modifyItemElementImpl,this];t.push.apply(t,arguments),nt.executeAsync(n.proxy.apply(n,t))},_modifyItemElementImpl:function(t){var i=n(t.itemElement),r;i.addClass(tt),this._wrapContent(i),r={$itemElement:i},this._prependLeftBags(i,r),this._appendRightBags(i,r),this._applyDecorators(ot,r)},_wrapContent:function(t){var i=n("<div />").addClass(it);t.wrapInner(i)},_prependLeftBags:function(n,t){var i=this._collectDecoratorsMarkup(ft,t,rt);n.prepend(i)},_appendRightBags:function(n,t){var i=this._collectDecoratorsMarkup(et,t,ut);n.append(i)},_collectDecoratorsMarkup:function(t,i,r){var u=n("<div />");return n.each(this._decorators,function(){var f=n("<div />").addClass(r);this[t](n.extend(i,{$container:f})),f.children().length&&u.append(f)}),u.children()},_applyDecorators:function(t,i){n.each(this._decorators,function(){this[t](i)})},_handlerExists:function(n){var i,r,t;if(!this._decorators)return!1;for(i=this._decorators,r=i.length,t=0;t<r;t++)if(i[t][n])return!0;return!1},_handleEvent:function(n,t){var i;if(!this._decorators)return!1;var r=!1,u=this._decorators,f=u.length;for(i=0;i<f;i++)if(r=u[i][n](t),r)break;return r},handleClick:function(n){return this._handleEvent("handleClick",n)},holdHandlerExists:function(){return this._handlerExists("handleHold")},handleHold:function(n){return this._handleEvent("handleHold",n)}}),e={},f=function(t,i,r){var u={};u[t]=e[t]?e[t]:{},u[t][i]=r,e=n.extend(e,u)},u="dxListEditDecorator",s=t.Class.inherit({ctor:function(n){this._list=n,this._init()},_init:n.noop,dispose:n.noop,modifyElement:n.noop,leftBag:n.noop,rightBag:n.noop,handleClick:n.noop,handleHold:n.noop}),l="dx-switchable-delete-ready",ht="dx-switchable-delete-button-container",ct="dx-switchable-delete-button-wrapper",lt="dx-switchable-delete-button-inner-wrapper",at="dx-switchable-delete-button",k=s.inherit({handleClick:function(){var i=this,t=this._list._element().find("."+l);return n.each(t,function(t,r){i._cancelDelete(n(r))}),t.length!==0},_isReadyToDelete:function(n){return n.hasClass(l)},_toggleDeleteReady:function(n,t){n.toggleClass(l,t)},_cancelDelete:function(n){this._toggleDeleteReady(n,!1)}}),d=k.inherit({modifyElement:function(t){var o=this,r=t.$itemElement,i=n("<div />").addClass(ht),u=n("<div />").addClass(ct),f=n("<div />").addClass(lt),e=n("<div />").addClass(at);e.dxButton({text:Globalize.localize("dxListEditDecorator-delete"),type:"danger",clickAction:function(n){o._list.deleteItem(r),n.jQueryEvent.stopPropagation()}}),i.append(u),u.append(f),f.append(e),r.append(i),this._bottonContainerWidth||(this._bottonContainerWidth=i.outerWidth()),i.css("right",-this._bottonContainerWidth)}}),vt="dx-toggle-delete-switch-container",yt="dx-toggle-delete-switch";f("delete","toggle",d.inherit({leftBag:function(t){var r=this,u=t.$itemElement,i=t.$container,f=n("<div />").dxButton({icon:"toggle-delete",clickAction:function(n){r._toggleDeleteReady(u),n.jQueryEvent.stopPropagation()}}).addClass(yt);i.addClass(vt),i.append(f)}})),f("delete","slideButton",d.inherit({modifyElement:function(n){this.callBase.apply(this,arguments);var i=this,t=n.$itemElement;t.on(r.addNamespace("dxswipeend",u),function(n){n.targetOffset!==0&&i._toggleDeleteReady(t)})}}));var pt="dx-slide-item-wrapper",h="dx-slide-item-content",c="dx-slide-item-delete-button-container",a="dx-slide-item-delete-button",ni="dx-slide-item-delete-button-hidden",wt="dx-slide-item-delete-button-content";f("delete","slideItem",k.inherit({modifyElement:function(t){var e=this,i=t.$itemElement,o=n("<div/>").addClass(wt).text(Globalize.localize("dxListEditDecorator-delete")),f=n("<div/>").addClass(a).append(o),s=n("<div/>").addClass(c).append(f);i.wrapInner(n("<div/>").addClass(h)).append(s).addClass(pt);f.on(r.addNamespace("dxclick",u),function(){e._list.deleteItem(i)});i.on(r.addNamespace("dxswipestart",u),n.proxy(this._handleSwipeStart,this)).on(r.addNamespace("dxswipe",u),n.proxy(this._handleSwipe,this)).on(r.addNamespace("dxswipeend",u),n.proxy(this._handleSwipeEnd,this))},_handleSwipeStart:function(t){var i=n(t.currentTarget);this._cachedItemWidth=i.width(),this._cacheButtonWidth(i)},_cacheButtonWidth:function(n){this._cachedButtonWidth=this._cachedButtonWidth||n.find("."+a).outerWidth()},_minBottonContainerLeftOffset:function(){return this._cachedItemWidth-this._cachedButtonWidth},_handleSwipe:function(t){var i=n(t.currentTarget),o=i.find("."+h),r=i.find("."+c),s=r.find("."+a),u=this._cachedItemWidth*t.offset,f=this._isReadyToDelete(i)?-this._cachedButtonWidth:0,e=u+f<0?u+f:0;p.move(o,{left:e}),r.css("left",Math.max(this._cachedItemWidth+e,this._minBottonContainerLeftOffset()))},_handleSwipeEnd:function(t){var i=n(t.currentTarget),r=this._cachedItemWidth*t.offset,u=!this._isReadyToDelete(i)&&-r>this._cachedButtonWidth*.8,f=t.targetOffset===-1||u;this._toggleDeleteState(i,f)},_toggleDeleteState:function(n,t){t?this._prepareToDelete(n):this._cancelDelete(n)},_prepareToDelete:function(t){var i=o.animate(t.find("."+h),{to:{left:-this._cachedButtonWidth},type:"slide",duration:200}),r=o.animate(t.find("."+c),{to:{left:this._minBottonContainerLeftOffset()},duration:200});n.when(i,r).done(n.proxy(this._toggleDeleteReady,this,t,!0))},_cancelDelete:function(n){this.callBase.apply(this,arguments),o.animate(n.find("."+h),{to:{left:0},type:"slide",duration:200});var t=n.find("."+c);o.animate(t,{to:{left:this._cachedItemWidth},duration:200,complete:function(){t.css("left","100%")}})}})),f("delete","swipe",s.inherit({modifyElement:function(t){var i=t.$itemElement;i.on(r.addNamespace("dxswipe",u),n.proxy(this._handleSwipe,this)).on(r.addNamespace("dxswipeend",u),n.proxy(this._handleSwipeEnd,this))},_renderItemPosition:function(t,i,r){var u=n.Deferred(),e=t.width(),f=i*e;return r?o.animate(t,{to:{left:f},type:"slide",complete:function(){u.resolve(t,i)}}):(p.move(t,{left:f}),u.resolve()),u.promise()},_handleSwipe:function(t){this._renderItemPosition(n(t.currentTarget),t.offset)},_handleSwipeEnd:function(t){var i=this,r=n(t.currentTarget),u=t.targetOffset;this._renderItemPosition(r,u,!0).done(function(n,t){Math.abs(t)&&i._list.deleteItem(n)})}}));var g="dx-holddelete-menu",bt="dx-holddelete-menucontent",kt="dx-holddelete-menuitem";f("delete","hold",s.inherit({_init:function(){var t=n("<div/>").addClass(g);this._list._element().append(t),this._overlay=this._renderOverlay(t)},_renderOverlay:function(t){var i=this;return t.dxOverlay({shading:!1,closeOnOutsideClick:function(t){return!n(t.target).closest("."+g).length},animation:{show:{type:"custom",duration:300,from:{height:0,opacity:1},to:{height:function(){return i._$menu.height()},opacity:1}},hide:{type:"custom",duration:0,from:{opacity:1},to:{opacity:0}},position:{my:"top",at:"bottom",of:function(){return i._$itemWithMenu},collision:"flip"},height:"auto"},contentReadyAction:n.proxy(this._renderMenu,this),height:function(){return i._$itemWithMenu}}).dxOverlay("instance")},_renderMenu:function(t){var f=n("<div/>").addClass(bt),i=n("<div/>").addClass(kt).text(Globalize.localize("dxListEditDecorator-delete"));i.on(r.addNamespace("dxclick",u),n.proxy(this._deleteItem,this));this._$menu=f.append(i),t.component.content().append(this._$menu)},_deleteItem:function(){this._overlay.hide(),this._list.deleteItem(this._$itemWithMenu)},dispose:function(){this._overlay._element().remove()},handleHold:function(n){var t=this._overlay;return t.beginUpdate(),t.option("position",{my:"top",at:"bottom",of:n,collision:"flip"}),t.option("width",function(){return n.width()}),t.endUpdate(),t.show(),this._$itemWithMenu=n,!0}}));var dt="dx-list-item-selected",gt="dx-select-checkbox-container",v="dx-select-checkbox";f("selection","control",s.inherit({leftBag:function(t){var f=this,i=t.$itemElement,r=t.$container,u=n("<div />").addClass(v);u.dxCheckBox({checked:this._isSelected(i),clickAction:function(n){f._processCheckedState(i,n.component.option("checked")),n.jQueryEvent.stopPropagation()}}),r.addClass(gt),r.append(u)},modifyElement:function(n){var i=this,t=n.$itemElement,r=t.find("."+v).dxCheckBox("instance");t.on("stateChanged",function(){r.option("checked",i._isSelected(t))})},_isSelected:function(n){return n.hasClass(dt)},_processCheckedState:function(n,t){t?this._list.selectItem(n):this._list.unselectItem(n)}})),f("selection","item",e.selection.control.inherit({handleClick:function(n){var t=!n.find("."+v).dxCheckBox("instance").option("checked");return this._processCheckedState(n,t),!0}})),y.ListEditProvider=st}(jQuery,DevExpress),function(n,t,i){var u=t.ui,f=u.events,et="dxPreventItemClickAction",c=t.Class.inherit({ctor:function(n){this._list=n},isItemIndex:t.abstract,getItemElementIndex:t.abstract,normalizeItemIndex:t.abstract,deleteItemAtIndex:t.abstract,updateSelectionAfterDelete:t.abstract,fetchSelectedItems:t.abstract,selectedItemIndecies:t.abstract,getItemByIndex:t.abstract}),p=c.inherit({isItemIndex:function(t){return n.isNumeric(t)},getItemElementIndex:function(n){return this._list._itemElements().index(n)},normalizeItemIndex:function(n){return n},deleteItemAtIndex:function(n){this._list.option("items").splice(n,1)},updateSelectionAfterDelete:function(t){var i=this._list._selectedItemIndices;n.each(i,function(n,r){r>t&&(i[n]-=1)})},fetchSelectedItems:function(){var i=this._list.option("items"),t=[];return n.each(this._list._selectedItemIndices,function(n,r){t.push(i[r])}),t},selectedItemIndecies:function(){var t=[],i=this._list.option("items"),r=this._list.option("selectedItems");return n.each(r,function(r,u){var f=n.inArray(u,i);f!==-1&&t.push(f)}),t},getItemByIndex:function(n){return this._list._itemElements().eq(n)}}),l=20,w=2303,e=function(n){return(n.group<<l)+n.item},r=function(n){return{group:n>>l,item:n&w}},a=function(t,i){var u=t.items,r={key:t.key,items:[]};return n.each(i,function(n,t){r.items.push(u[t])}),r},b=function(n,t){for(var r=n.length,i=0;i<r;i++)if(n[i].key===t)return n[i]},k=c.inherit({_groupElements:function(){return this._list._itemContainer().find("."+s)},_groupItemElements:function(n){return n.find("."+o)},isItemIndex:function(t){return n.isNumeric(t.group)&&n.isNumeric(t.item)},getItemElementIndex:function(t){var i=n(t),r=i.closest("."+s);return e({group:this._groupElements().index(r),item:this._groupItemElements(r).index(i)})},normalizeItemIndex:function(n){return e(n)},deleteItemAtIndex:function(n){var t=r(n),i=this._list.option("items")[t.group].items;i.splice(t.item,1)},updateSelectionAfterDelete:function(t){var i=r(t),u=this._list._selectedItemIndices;n.each(u,function(n,t){var f=r(t);f.group===i.group&&f.item>i.item&&(u[n]-=1)})},fetchSelectedItems:function(){var f=this._list.option("items"),e=this._list._selectedItemIndices,u=[],i,t;return e.sort(function(n,t){return n-t}),i=0,t=[],n.each(e,function(n,e){var o=r(e);o.group!==i&&t.length&&(u.push(a(f[i],t)),t.length=0),i=o.group,t.push(o.item)}),t.length&&u.push(a(f[i],t)),u},selectedItemIndecies:function(){var t=[],i=this._list.option("items"),r=this._list.option("selectedItems");return n.each(r,function(r,u){var f=b(i,u.key),o=n.inArray(f,i);n.each(u.items,function(i,r){var u=n.inArray(r,f.items);u!==-1&&t.push(e({group:o,item:u}))})}),t},getItemByIndex:function(n){var t=r(n),i=this._groupElements().eq(t.group);return this._groupItemElements(i).eq(t.item)}}),v=function(t,i){var r=[];return n.each(t,function(t,u){var f=n.inArray(u,i);f===-1&&r.push(u)}),r},d="dx-list",o="dx-list-item",g="."+o,s="dx-list-group",nt="dx-list-group-header",tt="dx-has-next",it="dx-list-next-button",rt="dx-list-editing",h="dx-list-item-selected",y="dx-list-item-response-wait",ut="dxListItemData",ft=70;u.registerComponent("dxList",u.CollectionContainerWidget.inherit({_activeStateUnit:g,_defaultOptions:function(){return n.extend(this.callBase(),{pullRefreshEnabled:!1,autoPagingEnabled:!0,scrollingEnabled:!0,showScrollbar:!0,useNativeScrolling:!0,pullingDownText:Globalize.localize("dxList-pullingDownText"),pulledDownText:Globalize.localize("dxList-pulledDownText"),refreshingText:Globalize.localize("dxList-refreshingText"),pageLoadingText:Globalize.localize("dxList-pageLoadingText"),scrollAction:null,pullRefreshAction:null,pageLoadingAction:null,showNextButton:!1,itemHoldAction:null,itemHoldTimeout:750,itemSwipeAction:null,grouped:!1,groupTemplate:"group",groupRender:null,editEnabled:!1,editConfig:{itemTemplate:null,itemRender:null,deleteEnabled:!1,deleteMode:"toggle",selectionEnabled:!1,selectionMode:"item"},itemDeleteAction:null,selectedItems:[],itemSelectAction:null,itemUnselectAction:null})},_itemClass:function(){return o},_itemDataKey:function(){return ut},_itemContainer:function(){return this._$container},_allowDinamicItemsAppend:function(){return!0},_init:function(){this.callBase(),this._$container=this._element(),this._initScrollView(),this._initEditProvider(),this._initEditStrategy(this.option("grouped")),this._initSelectedItems(),this._feedbackShowTimeout=ft},_initSelectedItems:function(){this._selectedItemIndices=this._editStrategy.selectedItemIndecies()},_clearSelectedItems:function(){this._selectedItemIndices=[],this._updateSelectedItems()},_dataSourceOptions:function(){return n.extend(this.callBase(),{paginate:!0})},_initScrollView:function(){var t=this.option("scrollingEnabled"),r=t&&this.option("pullRefreshEnabled"),i=t&&this.option("autoPagingEnabled")&&!!this._dataSource,u=this._element().dxScrollView({disabled:this.option("disabled")||!t,scrollAction:n.proxy(this._handleScroll,this),pullDownAction:r?n.proxy(this._handlePullDown,this):null,reachBottomAction:i?n.proxy(this._handleScrollBottom,this):null,showScrollbar:this.option("showScrollbar"),useNative:this.option("useNativeScrolling"),pullingDownText:this.option("pullingDownText"),pulledDownText:this.option("pulledDownText"),refreshingText:this.option("refreshingText"),reachBottomText:this.option("pageLoadingText")});this._scrollView=u.dxScrollView("instance"),this._scrollView.toggleLoading(i),this._$container=this._scrollView.content(),this._createScrollViewActions()},_createScrollViewActions:function(){this._scrollAction=this._createActionByOption("scrollAction",{excludeValidators:["gesture"]}),this._pullRefreshAction=this._createActionByOption("pullRefreshAction",{excludeValidators:["gesture"]}),this._pageLoadingAction=this._createActionByOption("pageLoadingAction",{excludeValidators:["gesture"]})},_handleScroll:function(n){this._scrollAction(n)},_afterItemsRendered:function(n){var r=this._isLastPage(),t=!n||r,u=this.option("autoPagingEnabled"),i=!u||t,f=this._scrollViewIsFull();i||f?(this._scrollView.release(i),this._shouldRenderNextButton()&&this._dataSource.isLoaded()&&this._toggleNextButton(!t)):this._infiniteDataLoading()},_isLastPage:function(){return!this._dataSource||this._dataSource.isLastPage()},_scrollViewIsFull:function(){return!this._scrollView||this._scrollView.isFull()},_handlePullDown:function(n){this._pullRefreshAction(n),this._dataSource&&!this._dataSource.isLoading()?(this._dataSource.pageIndex(0),this._dataSource.load()):this._afterItemsRendered()},_infiniteDataLoading:function(){var n=this._dataSource;this._scrollViewIsFull()||!n||n.isLoading()||this._isLastPage()||t.utils.executeAsync(this._loadNextPage,this)},_handleScrollBottom:function(n){this._pageLoadingAction(n);var t=this._dataSource;t&&!t.isLoading()?this._loadNextPage():this._afterItemsRendered()},_loadNextPage:function(){var n=this._dataSource;return this._expectNextPageLoading(),n.pageIndex(1+n.pageIndex()),n.load()},_renderItems:function(t){this.option("grouped")?(n.each(t,n.proxy(this._renderGroup,this)),this._renderEmptyMessage()):this.callBase.apply(this,arguments),this._afterItemsRendered(!0)},_handleDataSourceLoadError:function(){this.callBase.apply(this,arguments),this._initialized&&this._afterItemsRendered()},_initEditProvider:function(){this._editProvider&&this._editProvider.dispose(),this._editProvider=new u.ListEditProvider(this,this.option("editConfig"))},_initEditStrategy:function(n){var t=n?k:p;this._editStrategy=new t(this)},_render:function(){this._element().addClass(d),this._renderEditing(),this.callBase(),this._attachHoldEvent(),this._attachSwipeEvent()},_attachClickEvent:function(){var r=this,t=f.addNamespace("dxclick",this.NAME),i=this._itemSelector();this._itemContainer().off(t,i).on(t,i,n.proxy(this._handleItemClick,this))},_attachHoldEvent:function(){var t=this._element(),i=f.addNamespace("dxhold",this.NAME),r=this._itemSelector();if(t.off(i,r),this.option("itemHoldAction")||this._editProvider.holdHandlerExists())t.on(i,r,{timeout:this.option("itemHoldTimeout")},n.proxy(this._handleItemHold,this))},_attachSwipeEvent:function(){var t=this._element(),i=f.addNamespace("dxswipeend",this.NAME),r=this._itemSelector();if(t.off(i,r),this.option("itemSwipeAction"))t.on(i,r,n.proxy(this._handleItemSwipe,this))},_renderEditing:function(){this._element().toggleClass(rt,this.option("editEnabled"))},_shouldRenderNextButton:function(){return this.option("showNextButton")&&this._dataSource},_getNextButton:function(){return this._nextButton||(this._nextButton=this._createNextButton()),this._nextButton},_createNextButton:function(){var t=n("<div/>").addClass(it),i=n("<div/>").dxButton({text:"More",clickAction:n.proxy(this._handleNextButton,this)});return t.append(i)},_handleItemClick:function(n){this.option("editEnabled")&&this._editProvider.handleClick(this._closestItemElement(n.target))||this.callBase.apply(this,arguments)},_handleItemHold:function(n){this.option("editEnabled")&&this._editProvider.handleHold(this._closestItemElement(n.target))||this._handleItemJQueryEvent(n,"itemHoldAction")},_handleItemSwipe:function(n){this._handleItemJQueryEvent(n,"itemSwipeAction",{direction:n.offset<0?"left":"right"},{excludeValidators:["gesture"]})},_getItemRenderer:function(){return this.option("editEnabled")&&this._editProvider.isRenderingByRenderer()?this._editProvider.getItemRenderer():this.callBase()},_getItemTemplateName:function(){return this.option("editEnabled")&&this._editProvider.isRenderingByTemplate()?this._editProvider.getItemTemplateName():this.callBase()},_postprocessRenderItem:function(t){var i=n(t.itemElement);this.option("editEnabled")&&(this._isItemSelected(this._getItemIndex(i))&&i.addClass(h),this._editProvider.isModifyingByDecorators()&&this._editProvider.modifyItemElement(t))},_handleNextButton:function(){var n=this._dataSource;n&&!n.isLoading()&&(this._scrollView.toggleLoading(!0),this._expectNextPageLoading(),n.pageIndex(1+n.pageIndex()),n.load(),this._nextButton.detach())},_groupRenderDefault:function(n){return String(n.key||n)},_renderGroup:function(t,i){var r=this,e=n("<div />").addClass(s).appendTo(r._itemContainer()),o=r.option("groupRender"),c=r.option("groupTemplate"),h=r._getTemplate(i.template||c,t,i),u,f={index:t,group:i,container:e};u=o?r._createGroupByRenderer(o,f):h?r._createGroupByTemplate(h,f):r._createGroupByRenderer(r._groupRenderDefault,f),u.addClass(nt),this._renderingGroupIndex=t,n.each(i.items||[],function(n,t){r._renderItem(n,t,e)})},_createGroupByRenderer:function(t,i){var r=n("<div />").appendTo(i.container),u=t(i.group,i.index,r);return u&&r[0]!==u[0]&&r.append(u),r},_createGroupByTemplate:function(n,t){return n.render(t.container,t.group)},_clean:function(){this._toggleNextButton(!1),this.callBase.apply(this,arguments)},_dispose:function(){clearTimeout(this._holdTimer),this.callBase()},_toggleNextButton:function(n){var t=this._dataSource,i=this._getNextButton();this._element().toggleClass(tt,n),n&&t&&t.isLoaded()&&i.appendTo(this._itemContainer()),n||i.detach()},_optionChanged:function(n,t){switch(n){case"showNextButton":this._toggleNextButton(t);break;case"itemHoldAction":case"itemHoldTimeout":this._attachHoldEvent();break;case"dataSource":this.callBase.apply(this,arguments),this._initScrollView();break;case"showScrollbar":case"scrollingEnabled":case"pullRefreshEnabled":case"autoPagingEnabled":this._initScrollView();break;case"selectedItems":this._selectedItemsInternalChange||this._refreshSelectedItems();break;case"itemSwipeAction":this._attachSwipeEvent();break;case"scrollAction":case"pullRefresAction":case"pageLoadingAction":this._createScrollViewActions(),this._invalidate();break;case"grouped":this._clearSelectedItems(),delete this._renderingGroupIndex,this._initEditStrategy(t),this._invalidate();break;case"items":case"editEnabled":this._clearSelectedItems(),this._invalidate();break;case"editConfig":this._initEditProvider(),this._invalidate();break;default:this.callBase.apply(this,arguments)}},_getItemIndex:function(n){return this._editStrategy.isItemIndex(n)?this._editStrategy.normalizeItemIndex(n):this._editStrategy.getItemElementIndex(n)},_getItemElement:function(t){return this._editStrategy.isItemIndex(t)?this._editStrategy.getItemByIndex(this._editStrategy.normalizeItemIndex(t)):n(t)},_isItemSelected:function(t){return n.inArray(t,this._selectedItemIndices)>-1},_updateSelectedItems:function(){this._selectedItemsInternalChange=!0,this.option("selectedItems",this._editStrategy.fetchSelectedItems()),this._selectedItemsInternalChange=!1},_updateSelectionAfterDelete:function(t){var r=this,i=n.inArray(t,this._selectedItemIndices);i>-1&&this._selectedItemIndices.splice(i,1),this._editStrategy.updateSelectionAfterDelete(t),this._updateSelectedItems()},_selectItem:function(n){var t=this._getItemIndex(n);this.option("editEnabled")&&t>-1&&(n.addClass(h),this._selectedItemIndices.push(t),n.trigger("stateChanged"),this._updateSelectedItems(),this._handleItemEvent(n,"itemSelectAction"))},_unselectItem:function(t){var i=n.inArray(this._getItemIndex(t),this._selectedItemIndices);this.option("editEnabled")&&i>-1&&(t.removeClass(h),this._selectedItemIndices.splice(i,1),t.trigger("stateChanged"),this._updateSelectedItems(),this._handleItemEvent(t,"itemUnselectAction"))},_refreshSelectedItems:function(){var t=this,i=this._editStrategy.selectedItemIndecies(),u=v(this._selectedItemIndices,i),r;n.each(u,function(n,i){var r=t._editStrategy.getItemByIndex(i);t._unselectItem(r)}),r=v(i,this._selectedItemIndices),n.each(r,function(n,i){var r=t._editStrategy.getItemByIndex(i);t._selectItem(r)})},_deleteItemFromDS:function(t){var u=this,r=n.Deferred(),e=this.option("disabled"),f=this._dataSource.store();if(this.option("disabled",!0),!f.remove)throw new Error("You have to implement 'remove' method in dataStore used by dxList to be able to delete items");return f.remove(f.keyOf(this._getItemData(t))).done(function(n){n!==i?r.resolveWith(u):r.rejectWith(u)}).fail(function(){r.rejectWith(u)}),r.always(function(){u.option("disabled",e)}),r},_refreshLastPage:function(){return this._expectLastItemLoading(),this._dataSource.load()},deleteItem:function(t){var i=this,r=n.Deferred(),u=this._getItemElement(t),o=this._getItemIndex(t),f,e;return(this.option("editEnabled")&&o>-1?(u.addClass(y),this._dataSource?(f="dataSource",r=this._deleteItemFromDS(u)):(f="items",r.resolveWith(this))):r.rejectWith(this),r.done(function(){u.detach(),i._editStrategy.deleteItemAtIndex(o),i.optionChanged.fireWith(i,[f,i.option(f)]),i._updateSelectionAfterDelete(o),i._handleItemEvent(u,"itemDeleteAction",{},{excludeValidators:["gesture"]}),i._renderEmptyMessage()}).fail(function(){u.removeClass(y)}),this._isLastPage()||this.option("grouped"))?r.promise():(e=n.Deferred(),r.done(function(){i._refreshLastPage().done(function(){e.resolveWith(i)})}),r.fail(function(){e.rejectWith(i)}),e.promise())},isItemSelected:function(n){return this._isItemSelected(this._getItemIndex(n))},selectItem:function(n){this._selectItem(this._getItemElement(n))},unselectItem:function(n){this._unselectItem(this._getItemElement(n))},update:function(){var t=this,i=n.Deferred();return t._scrollView?t._scrollView.update().done(function(){i.resolveWith(t)}):i.resolveWith(t),i.promise()},scrollTop:function(){return this._scrollView.scrollOffset().top},clientHeight:function(){return this._scrollView.clientHeight()},scrollHeight:function(){return this._scrollView.scrollHeight()},scrollBy:function(n){this._scrollView.scrollBy(n)},scrollTo:function(n){this._scrollView.scrollTo(n)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.utils,e="dx-tileview",o="dx-tiles-wrapper",f="dx-tile",s="."+f,h="dxTileData";r.registerComponent("dxTileView",r.CollectionContainerWidget.inherit({_activeStateUnit:s,_defaultOptions:function(){return n.extend(this.callBase(),{items:null,showScrollbar:!1,listHeight:500,baseItemWidth:100,baseItemHeight:100,itemMargin:20})},_itemClass:function(){return f},_itemDataKey:function(){return h},_itemContainer:function(){return this._$wrapper},_init:function(){var n=this;n.callBase(),n._refreshHandler=function(){n._renderGeometry()},u.windowResizeCallbacks.add(n._refreshHandler)},_dispose:function(){this.callBase(),u.windowResizeCallbacks.remove(this._refreshHandler)},_render:function(){this.cellsPerColumn=1,this._element().addClass(e),this._renderListHeight(),this._$wrapper||this._renderWrapper(),this._initScrollable(),this.callBase(),this._renderGeometry(),this._fireContentReadyAction()},_renderListHeight:function(){this._element().height(this.option("listHeight"))},_renderContent:function(){this._renderContentImpl()},_renderWrapper:function(){this._$wrapper=n("<div />").addClass(o).appendTo(this._element())},_initScrollable:function(){this._scrollView=this._element().dxScrollable({direction:"horizontal",showScrollbar:this.option("showScrollbar"),disabled:this.option("disabled")}).data("dxScrollable")},_renderGeometry:function(){var t=this.option("items")||[],i=Math.max.apply(Math,n.map(t||[],function(n){return Math.round(n.heightRatio||1)}));this.cellsPerColumn=Math.floor(this._element().height()/(this.option("baseItemHeight")+this.option("itemMargin"))),this.cellsPerColumn=Math.max(this.cellsPerColumn,i),this.cells=[],this.cells.push(new Array(this.cellsPerColumn)),this._arrangeItems(t),this._$wrapper.width(this.cells.length*this.option("baseItemWidth")+(this.cells.length+1)*this.option("itemMargin"))},_arrangeItems:function(t){var i=this;n.each(t,function(n,t){var r={},f,u;r.widthRatio=t.widthRatio||1,r.heightRatio=t.heightRatio||1,r.text=t.text||"",r.widthRatio=r.widthRatio<=0?0:Math.round(r.widthRatio),r.heightRatio=r.heightRatio<=0?0:Math.round(r.heightRatio),f=i._itemElements().eq(n),u=i._getItemPosition(r),u.x===-1&&(u.x=i.cells.push(new Array(this.cellsPerColumn))-1),i._occupyCells(r,u),i._arrangeItem(f,r,u)})},_getItemPosition:function(n){for(var r={x:-1,y:0},i,t=0;t<this.cells.length;t++){for(i=0;i<this.cellsPerColumn;i++)if(this._itemFit(t,i,n)){r.x=t,r.y=i;break}if(r.x>-1)break}return r},_itemFit:function(n,t,i){var f=!0,r,u;if(t+i.heightRatio>this.cellsPerColumn)return!1;for(r=n;r<n+i.widthRatio;r++)for(u=t;u<t+i.heightRatio;u++)if(this.cells.length-1<r)this.cells.push(new Array(this.cellsPerColumn));else if(this.cells[r][u]){f=!1;break}return f},_occupyCells:function(n,t){for(var r,i=t.x;i<t.x+n.widthRatio;i++)for(r=t.y;r<t.y+n.heightRatio;r++)this.cells[i][r]=!0},_arrangeItem:function(n,t,i){var u=this.option("baseItemHeight"),f=this.option("baseItemWidth"),r=this.option("itemMargin");n.css({height:t.heightRatio*u+(t.heightRatio-1)*r,width:t.widthRatio*f+(t.widthRatio-1)*r,top:i.y*u+(i.y+1)*r,left:i.x*f+(i.x+1)*r,display:t.widthRatio<=0||t.heightRatio<=0?"none":""})},_optionChanged:function(n,t){switch(n){case"showScrollbar":this._initScrollable();break;case"disabled":this._scrollView.option("disabled",t);break;case"baseItemWidth":case"baseItemHeight":case"itemMargin":this._renderGeometry();break;case"listHeight":this._renderListHeight();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,c=t.utils,f=r.events,s=t.fx,l=t.translator,u="dx-gallery",a="dx-gallery-loop",b=u+"-wrapper",e=u+"-item",o=e+"-loop",k="."+e,v=e+"-selected",y=u+"-indicator",h=y+"-item",p="."+h,w=h+"-selected",d="dxGalleryItemData";r.registerComponent("dxGalleryNavButton",r.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{direction:"next"})},_render:function(){this.callBase(),this._element().addClass(u+"-nav-button-"+this.option("direction"))}})),r.registerComponent("dxGallery",r.CollectionContainerWidget.inherit({_activeStateUnit:k,_defaultOptions:function(){return n.extend(this.callBase(),{animationDuration:400,loop:!1,swipeEnabled:!0,indicatorEnabled:!0,showIndicator:!0,selectedIndex:0,slideshowDelay:0,showNavButtons:!1})},_dataSourceOptions:function(){return{paginate:!1}},_itemContainer:function(){return this._$container},_itemClass:function(){return e},_itemDataKey:function(){return d},_itemWidth:function(){return this._itemElements().first().outerWidth()},_itemsCount:function(){return(this.option("items")||[]).length},_itemRenderDefault:function(t,i,r){this.callBase(t,i,r),n.isPlainObject(t)||r.append(n("<img />").attr("src",String(t)))},_render:function(){this._element().addClass(u),this._element().toggleClass(a,this.option("loop")),this._renderDragHandler(),this._renderItemContainer(),this.callBase(),this._renderContainerPosition(),this._renderItemPositions(),this._renderIndicator(),this._renderSelectedIndicatorItem(),this._renderUserInteraction(),this._renderNavButtons(),this._setupSlideShow(),this._reviseDimensions(),this._windowResizeCallback=n.proxy(this._handleResize,this),c.windowResizeCallbacks.add(this._windowResizeCallback)},_renderDragHandler:function(){var n=f.addNamespace("dragstart",this.NAME);this._element().off(n).on(n,"img",function(){return!1})},_renderItems:function(n){this.callBase(n),this._renderDuplicateItems()},_renderItemContainer:function(){this._$container||(this._$container=n("<div />").addClass(b).appendTo(this._element()))},_renderDuplicateItems:function(){var t=this.option("items")||[],i=t.length,r,u,n;if(i){for(this._element().find("."+o).remove(),r=this._element().width()/this._itemWidth(),u=Math.min(r,i),n=0;n<u;n++)this._renderItem(0,t[n]).addClass(o);this._renderItem(0,t[this._itemsCount()-1]).addClass(o)}},_handleResize:function(){this._renderDuplicateItems(),this._renderItemPositions(),this._renderContainerPosition()},_renderItemPositions:function(){var t=this._itemWidth(),i=this._element().find("."+o).length,r=this._itemsCount()+i-1;this._itemElements().each(function(i){var u=i;i===r&&(u=-1),l.move(n(this),{left:u*t})})},_renderContainerPosition:function(t,i){t=t||0;var o=this,r=this._itemWidth(),h=this.option("selectedIndex"),c=this.option("animationDuration"),u=t-h,f=n.Deferred(),e=[];return i?e.push(s.animate(this._$container,{type:"slide",to:{left:u*r},duration:c})):l.move(this._$container,{left:u*r}),n.when.apply(n,e).done(function(){f.resolveWith(o)}),f.promise()},_reviseDimensions:function(){var n=this,t=n._itemElements().first();t&&(n.option("height")||n.option("height",t.outerHeight()),n.option("width")||n.option("width",t.outerWidth()))},_renderIndicator:function(){if(!this.option("showIndicator")){this._cleanIndicators();return}var t=this._$indicator=n("<div />").addClass(y).appendTo(this._element());n.each(this.option("items")||[],function(){n("<div />").addClass(h).appendTo(t)})},_cleanIndicators:function(){this._$indicator&&this._$indicator.remove()},_renderSelectedIndicatorItem:function(){var n=this.option("selectedIndex");this._itemElements().removeClass(v).eq(n).addClass(v),this._element().find(p).removeClass(w).eq(n).addClass(w)},_renderUserInteraction:function(){var t=this,i=t._element(),r=t.option("swipeEnabled")&&this._itemsCount()>1,e=r?"pointer":"default",u;i.dxSwipeable({startAction:r?n.proxy(t._handleSwipeStart,t):function(n){n.jQueryEvent.cancel=!0},disabled:this.option("disabled"),updateAction:n.proxy(t._handleSwipeUpdate,t),endAction:n.proxy(t._handleSwipeEnd,t),itemWidthFunc:n.proxy(t._itemWidth,t)}),u=this._createAction(this._handleIndicatorSelect);i.find(p).css({cursor:e}).off(f.addNamespace("dxclick",this.NAME)).on(f.addNamespace("dxclick",this.NAME),function(n){u({jQueryEvent:n})})},_handleIndicatorSelect:function(t){var u=t.jQueryEvent,i=t.component,r;f.needSkipEvent(u)||i.option("indicatorEnabled")&&(r=n(u.target).index(),i._renderContainerPosition(i.option("selectedIndex")-r,!0).done(function(){this._suppressRenderItemPositions=!0,i.option("selectedIndex",r)}))},_renderNavButtons:function(){var t=this;if(!t.option("showNavButtons")){t._cleanNavButtons();return}t._prevNavButton=n("<div />").dxGalleryNavButton({direction:"prev",clickAction:function(){t.prevItem(!0)}}).appendTo(this._element()),t._nextNavButton=n("<div />").dxGalleryNavButton({direction:"next",clickAction:function(){t.nextItem(!0)}}).appendTo(this._element()),this._renderNavButtonsVisibility()},_cleanNavButtons:function(){this._prevNavButton&&this._prevNavButton.remove(),this._prevNavButton&&this._nextNavButton.remove()},_renderNavButtonsVisibility:function(){if(this.option("showNavButtons")){var n=this.option("selectedIndex"),t=this.option("loop"),i=this._itemsCount();(n<i&&n>0||t)&&(this._prevNavButton.show(),this._nextNavButton.show()),this._itemsCount()<2&&(this._prevNavButton.hide(),this._nextNavButton.hide()),t||(n<1&&this._prevNavButton.hide(),n===i-1&&this._nextNavButton.hide())}},_setupSlideShow:function(){var n=this,t=n.option("slideshowDelay");t&&(clearTimeout(n._slideshowTimer),n._slideshowTimer=setTimeout(function(){if(n._userInteraction){n._setupSlideShow();return}n.nextItem(!0).done(n._setupSlideShow)},t))},_handleSwipeStart:function(n){var i=this._itemsCount(),t;if(!i){n.jQueryEvent.cancel=!0;return}this._stopItemAnimations(),this._userInteraction=!0,this.option("loop")||(t=this.option("selectedIndex"),n.jQueryEvent.maxLeftOffset=i-t-1,n.jQueryEvent.maxRightOffset=t)},_stopItemAnimations:function(){s.animating(this._$container)&&s.stop(this._$container,!0)},_handleSwipeUpdate:function(n){this._renderContainerPosition(n.jQueryEvent.offset)},_handleSwipeEnd:function(n){this._renderContainerPosition(n.jQueryEvent.targetOffset,!0).done(function(){var t=this.option("selectedIndex"),i=this._fitIndex(t-n.jQueryEvent.targetOffset);this._suppressRenderItemPositions=!0,this.option("selectedIndex",i),this._renderContainerPosition(),this._userInteraction=!1,this._setupSlideShow()})},_flipIndex:function(n){if(!this.option("loop"))return n;var t=this._itemsCount();return n=n%t,n>(t+1)/2&&(n-=t),n<-(t-1)/2&&(n+=t),n},_fitIndex:function(n){if(!this.option("loop"))return n;var t=this._itemsCount();return n=n%t,n<0&&(n+=t),n},_clean:function(){this.callBase(),this._cleanIndicators(),this._cleanNavButtons()},_dispose:function(){c.windowResizeCallbacks.remove(this._windowResizeCallback),clearTimeout(this._slideshowTimer),this.callBase()},_handleSelectedIndexChanged:function(){this._suppressRenderItemPositions||this._renderContainerPosition(),this._suppressRenderItemPositions=!1,this._renderSelectedIndicatorItem(),this._renderNavButtonsVisibility()},_optionChanged:function(n,t,i){switch(n){case"width":this.callBase(n,t,i),this._handleResize();break;case"animationDuration":this._renderNavButtonsVisibility();break;case"loop":this._element().toggleClass(a,t),this._renderNavButtonsVisibility();return;case"selectedIndex":this._handleSelectedIndexChanged();return;case"showIndicator":this._renderIndicator();return;case"showNavButtons":this._renderNavButtons();return;case"slideshowDelay":this._setupSlideShow();return;case"swipeEnabled":case"indicatorEnabled":this._renderUserInteraction();return;default:this.callBase(n,t,i)}},goToItem:function(t,i){var r=new n.Deferred,u=this.option("selectedIndex"),f=this._itemsCount();return(t=this._fitIndex(t),t>f-1||t<0)?r.resolveWith(this).promise():(this._renderContainerPosition(u-t,i).done(function(){this._suppressRenderItemPositions=!0,this.option("selectedIndex",t),r.resolveWith(this)}),r.promise())},prevItem:function(n){return this.goToItem(this.option("selectedIndex")-1,n)},nextItem:function(n){return this.goToItem(this.option("selectedIndex")+1,n)}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,o=t.utils,u=f.events,r="dx-overlay",h=r+"-wrapper",c=r+"-content",e=r+"-shader",l=r+"-modal",a=500,s=["showingAction","shownAction","hidingAction","hiddenAction","positioningAction","positionedAction"],v=1e3,y="dx-state-disabled";f.registerComponent("dxOverlay",f.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{activeStateEnabled:!1,visible:!1,shading:!0,closeOnOutsideClick:!1,closeOnTargetScroll:!1,position:{my:"center",at:"center",of:window},animation:{show:{type:"pop",duration:400},hide:{type:"pop",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}},showingAction:null,shownAction:null,hidingAction:null,hiddenAction:null,width:function(){return n(window).width()*.8},height:function(){return n(window).height()*.8},deferRendering:!0,disabled:!1,targetContainer:i,positioningAction:null,positionedAction:null})},_optionsByReference:function(){return n.extend(this.callBase(),{animation:!0})},_wrapper:function(){return this._$wrapper},_clickEventContainer:function(){return this._$container},_init:function(){this.callBase(),this._actions={},this._deferredAnimate=i,this._attachCloseOnOutsideClickHandler(),this._windowResizeCallback=n.proxy(this._repaint,this),o.windowResizeCallbacks.add(this._windowResizeCallback),this._$wrapper=n("<div>").addClass(h)},_initOptions:function(n){this._setTargetContainer(n.targetContainer),this._backButtonHandler=n.backButtonHandler!==i?this.backButtonHandler:this._defaultBackButtonHandler,this.callBase(n)},_setTargetContainer:function(r){r=r===i?t.overlayTargetContainer():r;var f=this._element(),u=f.closest(r);u.length||(u=n(r).first()),this._$targetContainer=u.length?u:f.parent()},_closeOnOutsideClickHandler:function(t){var i=this.option("closeOnOutsideClick"),u=this.option("visible");if(n.isFunction(i)&&(i=i(t)),i&&u){var r=this._$container,f=!r.is(t.target)&&!n.contains(r.get(0),t.target),e=Math.abs(t.timeStamp-this._showTimestamp)<a;f&&!e&&this.hide()}},_attachCloseOnOutsideClickHandler:function(){var t=this,i=u.addNamespace("dxpointerdown",t.NAME);this._myCloseOnOutsideClickHandler=function(){return t._closeOnOutsideClickHandler.apply(t,arguments)};n(document).on(i,this._myCloseOnOutsideClickHandler)},_detachCloseOnOutsideClickHandler:function(){var t=u.addNamespace("dxpointerdown",this.NAME);n(document).off(t,this._myCloseOnOutsideClickHandler)},_render:function(){var t=this._element(),i=this.option("deferRendering");this._$container=n("<div>").addClass(c),this._$wrapper.addClass(t.attr("class")),this._renderActions(),this.callBase(),this._renderStyles(),t.addClass(r)},_renderStyles:function(){this._renderShader(),this._renderModalState(),this._renderDimensions(),this._renderVisibility()},_renderShader:function(){this._$wrapper.toggleClass(e,this.option("shading"))},_renderModalState:function(){this._$wrapper.toggleClass(l,this.option("shading")&&!this.option("targetContainer"))},_renderDimensions:function(){this._$container.width(this.option("width")).height(this.option("height"))},_renderVisibility:function(){var n=this.option("visible");t.fx.stop(this._$container,!0),n&&(this._renderContent(),this._renderPosition()),this._toggleVisibility(n)},_renderActions:function(){var t=this;n.each(s,function(n,i){t._actions[i]=t._createActionByOption(i)})},_renderContent:function(){this._contentAlreadyRendered||!this.option("visible")&&this.option("deferRendering")||(this._contentAlreadyRendered=!0,this._moveFromTargetContainer(),this.callBase())},_moveFromTargetContainer:function(){this._$container.appendTo(this._element()),this._detachWrapperToTargetContainer()},_detachWrapperToTargetContainer:function(){this._$wrapper.detach()},_renderContentImpl:function(n){this._renderInnerContent(n),this._moveToTargetContainer()},_renderInnerContent:function(n){var t=this._element();this._$container.append(t.contents()).appendTo(t),(n||this._templates.template).render(this.content())},_moveToTargetContainer:function(){this._attachWrapperToTargetContainer(),this._$container.appendTo(this._$wrapper)},_attachWrapperToTargetContainer:function(){var n=this._element();!this._$targetContainer||this._$targetContainer[0]===n.parent()[0]?this._$wrapper.appendTo(n):this._$wrapper.appendTo(this._$targetContainer)},_renderPosition:function(){var f=this.option("position"),r,i,u,e;this.option("shading")&&(r=this._$wrapper.show(),i=n(f.of),t.position(r,{my:"top left",at:"top left",of:i}),r.css({width:i.outerWidth(),height:i.outerHeight()})),this._$container.css("transform","none"),u=t.calculatePosition(this._$container,f),this._actions.positioningAction({position:u}),e=t.position(this._$container,u),this._actions.positionedAction({position:e})},_subscribeParentScroll:function(){var i=this,r=this.option("closeOnTargetScroll"),t=this.option("position");if(r&&t&&t.of)n(t.of).parents().on(u.addNamespace("scroll",i.NAME),function(n){n.overlayProcessed||(n.overlayProcessed=!0,i.hide())})},_unsubscribeParentScroll:function(){var i=this,r=this.option("closeOnTargetScroll"),t=this.option("position");r&&t&&t.of&&n(t.of).parents().off(u.addNamespace("scroll",i.NAME))},_clean:function(){delete this._contentAlreadyRendered},_refresh:function(){this._renderStyles()},_repaint:function(){this.option("visible")&&(this._renderDimensions(),this._renderPosition())},_dispose:function(){t.fx.stop(this._$container),o.windowResizeCallbacks.remove(this._windowResizeCallback),this.closeCallback&&t.backButtonCallback.remove(this.closeCallback),this._detachCloseOnOutsideClickHandler(),this._actions=null,this.callBase(),this._$wrapper.remove(),this._$container.remove()},_renderVisibilityAnimate:function(){var i=this.option("visible");i&&(this._showTimestamp=n.now()),t.fx.stop(this._$container,!0),i?this._makeVisible():this._makeHidden()},_makeVisible:function(){var t=this,i=t.option("animation")||{},r;this._$wrapper.css("z-index",++v),this._actions.showingAction(),this._toggleVisibility(!0),this._renderContent(),this._renderPosition(),i.show?(r=i.show.complete||n.noop,t._animate(n.extend({},i.show,{complete:function(){r.apply(this,arguments),t._notifyShowComplete()}}))):t._notifyShowComplete()},_notifyShowComplete:function(){this._actions.shownAction(),this._deferredAnimate&&this._deferredAnimate.resolveWith(this)},_makeHidden:function(){var t=this,i=this.option("animation")||{},r;this._actions.hidingAction(),this._$wrapper.toggleClass(e,!1),i.hide?(r=i.hide.complete||n.noop,t._animate(n.extend({},i.hide,{complete:function(){t._toggleVisibility(!1),r.apply(this,arguments),t._notifyHideComplete()}}))):(t._toggleVisibility(!1),t._notifyHideComplete())},_notifyHideComplete:function(){this._actions.hiddenAction(),this._deferredAnimate&&this._deferredAnimate.resolveWith(this)},_animate:function(i){n.isPlainObject(i)&&t.fx.animate(this._$container,i)},_toggleVisibility:function(n){n&&(this._moveToTargetContainer(),this._subscribeParentScroll()),this._$container.toggle(n),n||(this._moveFromTargetContainer(),this._unsubscribeParentScroll()),this._$wrapper.toggleClass(e,this.option("shading")&&n)},_defaultBackButtonHandler:function(){this.hide()},_toggleBackButtonCallback:function(){this._backButtonHandler&&(this.option("visible")?(this.closeCallback=n.proxy(this._backButtonHandler,this),t.backButtonCallback.add(this.closeCallback)):this.closeCallback&&t.backButtonCallback.remove(this.closeCallback))},_toggleDisabledState:function(n){this.callBase.apply(this,arguments),this._$container.toggleClass(y,n)},_optionChanged:function(t,i){if(n.inArray(t,s)>-1){this._renderActions();return}switch(t){case"position":this.option("visible")&&this._renderPosition();break;case"visible":this._toggleBackButtonCallback(),this._renderVisibilityAnimate();break;case"targetContainer":this._setTargetContainer(i),this._moveToTargetContainer(),this._renderStyles();break;case"closeOnOutsideClick":break;default:this.callBase.apply(this,arguments)}},toggle:function(t){return(t=t===i?!this.option("visible"):t,t===this.option("visible"))?n.Deferred().resolve().promise():(this._deferredAnimate=n.Deferred(),this.option("visible",t),this._deferredAnimate.promise())},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)},content:function(){return this._$container},repaint:function(){this._repaint()}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f="dx-toast",r=f+"-",e=r+"wrapper",o=r+"content",s=r+"message",h=r+"icon",c="dxToast",l=["info","warning","error","success"];u.registerComponent(c,u.dxOverlay.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{message:"",type:"info",displayTime:2e3,position:{my:"bottom center",at:"bottom center",of:window,offset:"0 -20"},animation:{show:{type:"fade",duration:400,from:0,to:1},hide:{type:"fade",duration:400,to:0}},shading:!1,disabled:!1,height:"auto"})},_renderContentImpl:function(){this.option("message")&&(this._message=n("<div>").addClass(s).text(this.option("message")).appendTo(this.content())),n.inArray(this.option("type").toLowerCase(),l)>-1&&this.content().prepend(n("<div>").addClass(h)),this.callBase()},_render:function(){this.callBase(),this._element().addClass(f),this._wrapper().addClass(e),this._$container.addClass(r+String(this.option("type")).toLowerCase()),this.content().addClass(o)},_notifyShowComplete:function(){this.callBase(),clearTimeout(this._hideTimeout),this._hideTimeout=setTimeout(n.proxy(function(){this.hide()},this),this.option("displayTime"))},_dispose:function(){clearTimeout(this._hideTimeout),this.callBase()},_optionChanged:function(n,t,i){switch(n){case"type":this._$container.removeClass(r+i),this._$container.addClass(r+String(t).toLowerCase());break;case"message":this._message&&this._message.text(t);break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var e=t.ui,r="dx-popup",c=r+"-wrapper",o=r+"-fullscreen",l=r+"-content",s=r+"-title",h="."+s,a="dx-closebutton",u="dx-popup-bottom",v="dx-toolbar-left",y="dx-toolbar-right",f=".dx-overlay-content",p=function(i){var e=t.devices.current(i),r={cancel:{subclass:"dx-popup-cancel"},clear:{subclass:"dx-popup-clear"},done:{subclass:"dx-popup-done"}};return e.ios&&(n.extend(r.cancel,{parent:h,wraperClass:v}),n.extend(r.clear,{parent:h,wraperClass:y}),n.extend(r.done,{parent:f,wraperClass:u})),(e.android||e.platform==="desktop"||e.win8||e.tizen||e.generic)&&(n.extend(r.cancel,{parent:f,wraperClass:u}),n.extend(r.clear,{parent:f,wraperClass:u}),n.extend(r.done,{parent:f,wraperClass:u})),r};e.registerComponent("dxPopup",e.dxOverlay.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{title:"",showTitle:!0,fullScreen:!1,cancelButton:null,doneButton:null,clearButton:null,closeButton:null})},_render:function(){this.callBase(),this._element().addClass(r),this._wrapper().addClass(c),this._setContentHeight()},_renderDimensions:function(){this.option("fullScreen")?(this._wrapper().css({width:"100%",height:"100%"}),this._$container.css({width:"100%",height:"100%"})):this.callBase()},_renderPosition:function(){this.option("fullScreen")?this._$container.position(0,0):this.callBase()},_renderContentImpl:function(){this._$container.toggleClass(o,this.option("fullScreen")),this._$content=this._$container.wrapInner(n("<div />").addClass(l)).children().eq(0),this.callBase(this._templates.content),this._renderTitle(),this._renderCloseButton(),this._renderCancelButton(),this._renderClearButton(),this._renderDoneButton()},_renderContent:function(){this.callBase(),this._setContentHeight()},_setContentHeight:function(){var t;if(this._$content){var n=this._$container.height(),i=this.option("cancelButton")||this.option("doneButton")||this.option("clearButton"),r=this._$wrapper.find(".dx-popup-bottom");this._$title&&(n-=this._$title.outerHeight(!0)||0),i&&(t=r.outerHeight(!0)||0,n-=t,this._$content.css("margin-bottom",t)),this.option("height")==="auto"?this._$content.css("height","auto"):n>0&&this._$content.css("height",n)}},_renderTitle:function(){if(this.option("showTitle")){this._$title=this._$title||n("<div />").addClass(s),this._element().append(this._$title);var t=this._templates.title;t?t.render(this._$title):this._defaultTitleRender(),this._$title.prependTo(this._$container)}else this._$title&&this._$title.detach()},_defaultTitleRender:function(){this._$title.text(this.option("title"))},_renderCloseButton:function(){if(!this._templates.title&&this.option("closeButton")&&this.option("showTitle")){var t=this._createButtonAction();n("<div/>").addClass(a).on(e.events.addNamespace("dxclick",this.NAME+"TitleCloseButton"),function(n){t({jQueryEvent:n})}).appendTo(this._$title)}},_renderCancelButton:function(){this._renderSpecificButton(this.option("cancelButton"),{type:"cancel",text:Globalize.localize("Cancel")})},_renderClearButton:function(){this._renderSpecificButton(this.option("clearButton"),{type:"clear",text:Globalize.localize("Clear")})},_renderDoneButton:function(){this._renderSpecificButton(this.option("doneButton"),{type:"done",text:Globalize.localize("Done")})},_renderSpecificButton:function(n,t){var u=this._getRenderButtonParams(t.type),i;(this._removeButton(u),this._wrapper().toggleClass(r+"-"+t.type+"-visible",!!n),n)&&(i=this.option(t.type+"Button"),this._renderButton({text:i.text||t.text,clickAction:this._createButtonAction(i.clickAction)},u))},_createButtonAction:function(n){return this._createAction(n,{afterExecute:function(n){n.component.hide()}})},_getRenderButtonParams:function(t){return n.extend({parent:this.content()},p()[t])},_renderButton:function(t,i){var f=n("<div/>").addClass(i.subclass).dxButton(t),e=this._wrapper().find(i.parent),r=this._wrapper().find("."+i.wraperClass);r.length||(r=n("<div/>").addClass(i.wraperClass).appendTo(e)),f.appendTo(r),this._wrapper().find("."+u).addClass(i.subclass)},_removeButton:function(n){var t="."+(n.subclass||n.wraperClass);this.content()&&this.content().removeClass(n.subclass),this._wrapper().find(t).remove()},_optionChanged:function(n,t){switch(n){case"showTitle":case"title":this._renderTitle(),this._renderCloseButton(),this._setContentHeight();break;case"cancelButton":this._renderCancelButton();break;case"clearButton":this._renderClearButton();break;case"doneButton":this._renderDoneButton();break;case"closeButton":this._renderCloseButton();break;case"height":this.callBase.apply(this,arguments),this._setContentHeight();break;case"fullScreen":this._$container.toggleClass(o,t),this._invalidate();break;default:this.callBase.apply(this,arguments)}},content:function(){return this._$content}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-popover",f="dx-popover-wrapper",e="dx-popover-arrow",o="dx-popover-arrow-flipped",s="dx-popover-without-title";r.registerComponent("dxPopover",r.dxPopup.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{target:window,shading:!1,position:{my:"top center",at:"bottom center",collision:"fit flip"},closeOnOutsideClick:n.proxy(this._isOutsideClick,this),animation:{show:{type:"fade",to:1},hide:{type:"fade",to:0}},showTitle:!1,width:"auto",height:"auto"})},_render:function(){this._$arrow=n("<div>").addClass(e),this.callBase(),this._element().addClass(u),this._wrapper().addClass(f),this._renderTarget()},_renderContentImpl:function(){this.callBase(),this._$arrow.appendTo(this._wrapper()),this._updateContentSize()},_updateContentSize:function(){if(this._$content){var t=this._$container.outerHeight(),r=t-this._$content.height(),u=n(this.option("target")).outerHeight(),i=(n(window).height()-u)*.5-this._$arrow.height()-r;t>i&&this._$content.height(+i)}},_isOutsideClick:function(t){return!n(t.target).closest(this.option("target")).length},_animate:function(i){this.callBase(i),n.isPlainObject(i)&&t.fx.animate(this._$arrow,i)},_renderTitle:function(){this._wrapper().toggleClass(s,!this.option("showTitle")),this.callBase()},_renderTarget:function(){this.option("position.of",this.option("target"))},_renderPosition:function(){var u;t.translator.move(this._$arrow,{left:0,top:0}),t.translator.move(this._$container,{left:0,top:0}),this._updateContentSize();var i=n.extend({},this.option("position")),f=n.extend({},i,{offset:"0 "+this._$arrow.height()}),e=t.calculatePosition(this._$container,f),r=e.v.flip;this._$arrow.toggleClass(o,r),r&&n.extend(i,{my:i.at,at:i.my}),t.position(this._$arrow,i),u={my:i.my,at:i.at,offset:r?"0 1":"0 -1",of:this._$arrow,collision:"fit"},t.position(this._$container,u)},_optionChanged:function(n){switch(n){case"target":this._renderTarget();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,w=f.events,b=t.support,o=Globalize,k="dx-datebox",d="dx-datepicker",g="dx-datepicker-wrapper",nt="dx-datepicker-rollers",tt="dx-datepicker-roller",it="dx-state-active",rt="dx-datepicker-roller-current",ut="dx-datepicker-item",ft="dx-datepicker-item-selected",et="dx-datepicker-item-selected-frame",ot="dx-datepicker-button-up",st="dx-datepicker-button-down",ht="datepicker-formatter-container",ct="datepicker-value-formatter",lt="datepicker-name-formatter",at=["date","time","datetime"],vt=function(n){return n},p=function(t,i){var r=n("<div />").addClass(ht);return n("<span>").text(t).addClass(ct).appendTo(r),n("<span>").text(i).addClass(lt).appendTo(r),r},e="year",s="month",u="day",c="hours",l="minutes",a="seconds",v="milliseconds",yt=31536e7,r={};r[e]={getter:"getFullYear",setter:"setFullYear",possibleFormats:["yy","yyyy"],formatter:vt,startValue:i,endValue:i},r[u]={getter:"getDate",setter:"setDate",possibleFormats:["d","dd"],formatter:function(n,t,i){if(!t)return n;var r=new Date(i.getTime());return r.setDate(n),p(n,o.culture().calendar.days.names[r.getDay()])},startValue:1,endValue:i},r[s]={getter:"getMonth",setter:"setMonth",possibleFormats:["M","MM","MMM","MMMM"],formatter:function(n,t){var i=o.culture().calendar.months.names[n];return t?p(n+1,i):i},startValue:0,endValue:11},r[c]={getter:"getHours",setter:"setHours",possibleFormats:["H","HH","h","hh"],formatter:function(n){return o.format(new Date(0,0,0,n),"HH")},startValue:0,endValue:23},r[l]={getter:"getMinutes",setter:"setMinutes",possibleFormats:["m","mm"],formatter:function(n){return o.format(new Date(0,0,0,0,n),"mm")},startValue:0,endValue:59},r[a]={getter:"getSeconds",setter:"setSeconds",possibleFormats:["s","ss"],formatter:function(n){return o.format(new Date(0,0,0,0,0,n),"ss")},startValue:0,endValue:59},r[v]={getter:"getMilliseconds",setter:"setMilliseconds",possibleFormats:["f","ff","fff"],formatter:function(n){return o.format(new Date(0,0,0,0,0,0,n),"fff")},startValue:0,endValue:999};var h={date:{standardPattern:"yyyy-MM-dd",components:[e,u,s]},datetime:{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'",components:[e,u,s,c,l,a,v]},datetimeAndroid:{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm'Z'",components:[e,u,s,c,l,a,v]},time:{standardPattern:"HH:mm",components:[c,l]}},pt=function(n,t){return Globalize.format(n,h[t].standardPattern)},wt=function(n){return Globalize.parseDate(n,h.datetime.standardPattern)||Globalize.parseDate(n,h.datetimeAndroid.standardPattern)||Globalize.parseDate(n,h.time.standardPattern)||Globalize.parseDate(n,h.date.standardPattern)},y=function(n,t){return new Date(n,t+1,0).getDate()},bt=function(t,u,f){if(!u)return i;var e=h[f];return n.each(e.components,function(){var n=r[this];t[n.setter](u[n.getter]())}),t};f.registerComponent("dxDatePickerRoller",f.dxScrollable.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{showScrollbar:!1,useNative:!1,selectedIndex:0,items:[]})},_init:function(){this.callBase(),this._renderSelectedItemFrame(),this._renderControlButtons()},_render:function(){this.callBase(),this._element().addClass(tt),this._renderItems(),this._renderSelectedValue()},_renderItems:function(){var i=this.option("items")||[],t=n();this._$content.empty(),n.each(i,function(){t=t.add(n("<div>").addClass(ut).append(this))}),this._$content.append(t),this._$items=t,this.update()},_renderSelectedItemFrame:function(){n("<div>").addClass(et).insertAfter(this._$container)},_renderControlButtons:function(){n("<div>").addClass(ot).insertAfter(this._$container).dxButton({clickAction:n.proxy(this._handleUpButtonClick,this)}),n("<div>").addClass(st).insertAfter(this._$container).dxButton({clickAction:n.proxy(this._handleDownButtonClick,this)})},_renderSelectedValue:function(n){n===i&&(n=this.option("selectedIndex")),n=this._fitIndex(n);var t=this._getItemPosition(n);this.option().selectedIndex=n,this._moveTo({y:t}),this._renderActiveStateItem()},_fitIndex:function(n){var i=this.option("items")||[],t=i.length;return n>=t?t-1:n<0?0:n},_renderActiveStateItem:function(){var t=this.option("selectedIndex");n.each(this._$items,function(i){n(this).toggleClass(ft,t===i)})},_handleUpButtonClick:function(){this._animation=!0,this.option("selectedIndex",this.option("selectedIndex")-1)},_handleDownButtonClick:function(){this._animation=!0,this.option("selectedIndex",this.option("selectedIndex")+1)},_getItemPosition:function(n){return this._itemHeight()*n},_moveTo:function(i){i=this._normalizeLocation(i);var f=this._location(),r,u={x:-(f.left-i.x),y:-(f.top-i.y)};this._isVisible()&&(u.x||u.y)&&(this._animation?(r=t.fx.animate(this._$content,{duration:200,type:"slide",to:{top:i.y}}),delete this._animation):(r=n.Deferred().resolve().promise(),this._strategy._handleMove(u)),r.done(n.proxy(function(){this._strategy.update(),this._strategy._handleMoveEnd({x:0,y:0})},this)))},_handleEndAction:function(){var n=-this._location().top/this._itemHeight(),t=Math.round(n);this._renderSelectedValue(t)},_itemHeight:function(){var n=this._$items.first();return n.outerHeight()+parseFloat(n.css("margin-top"))},_toggleActive:function(n){this._element().toggleClass(it,n)},_isVisible:function(){return this._$container.is(":visible")},_optionChanged:function(n){switch(n){case"selectedIndex":this._renderSelectedValue();break;case"items":this._renderItems(),this._renderSelectedValue();break;default:this.callBase.apply(this,arguments)}}})),f.registerComponent("dxDatePicker",f.dxPopup.inherit({_valueOption:function(){return new Date(this.option("value"))=="Invalid Date"?new Date:new Date(this.option("value"))},_defaultOptions:function(){return n.extend(this.callBase(),{minDate:new Date(1990,1,1),maxDate:new Date(n.now()+yt),format:"date",value:new Date,culture:Globalize.culture().name,showNames:!1,cancelButton:{text:"Cancel",icon:"close",clickAction:n.proxy(function(){this._value=this._valueOption()},this)},doneButton:{text:"Done",icon:"save",clickAction:n.proxy(function(){this.option("value",new Date(this._value)),this.hide()},this)}})},_render:function(){this.callBase(),this._element().addClass(d),this._wrapper().addClass(g),this._value=this._valueOption()},_renderContentImpl:function(){this.callBase(),this._value=this._valueOption(),this._renderRollers()},_renderRollers:function(){var t=this;t._$rollersContainer||(t._$rollersContainer=n("<div>").appendTo(t.content()).addClass(nt)),t._$rollersContainer.empty(),t._createRollerConfigs(),t._rollers={},n.each(t._rollerConfigs,function(){var i=this,r=n("<div>").appendTo(t._$rollersContainer).dxDatePickerRoller({items:i.displayItems,selectedIndex:i.selectedIndex,startAction:function(n){var r=n.component;r._toggleActive.call(r,!0),t._setActiveRoller.call(t,i,r.option("selectedIndex"))},endAction:function(n){var r=n.component;r._animation=!0,r._handleEndAction.apply(r,arguments),t._setRollerState.call(t,i,r.option("selectedIndex")),r._toggleActive.call(r,!1)}});t._rollers[i.type]=r.dxDatePickerRoller("instance")})},_setActiveRoller:function(t){var i=this._rollers[t.type];n.each(this._rollers,function(){this._$element.toggleClass(rt,this===i)})},_refreshRollers:function(){var t=this;n.each(this._rollers,function(n){var i=t._rollerConfigs[n].getIndex(t._value);this.update(),this._renderSelectedValue(i)})},_setRollerState:function(n,t){var f,o;if(t!==n.selectedIndex){var r=n.valueItems[t],h=n.setValue,i=this._value.getDate();n.type===s?(i=Math.min(i,y(this._value.getFullYear(),r)),this._value.setDate(i)):n.type===e&&(i=Math.min(i,y(r,this._value.getMonth())),this._value.setDate(i)),this._value[h](r),n.selectedIndex=t}f=this._rollers[u],(n.type===s||n.type===e)&&f&&(this._createRollerConfig(u),o=this._rollerConfigs[u],window.setTimeout(function(){f.option("items",o.displayItems)},100))},_createRollerConfigs:function(t){var i=this;t=t||i.option("format"),i._rollerConfigs={},n.each(i._getFormatPattern(t).split(/\W+/),function(t,u){n.each(r,function(t,r){n.inArray(u,r.possibleFormats)>-1&&i._createRollerConfig(t)})})},_getFormatPattern:function(n){var t=Globalize.culture(this.option("culture")),i="";return n==="date"?i=t.calendar.patterns.d:n==="time"?i=t.calendar.patterns.t:n==="datetime"&&(i=[t.calendar.patterns.d,t.calendar.patterns.t].join(" ")),i},_createRollerConfig:function(n){var i=r[n],o=i.startValue,s=i.endValue,h=i.formatter,c=this.option("showNames"),t,f;for(n===e&&(o=this.option("minDate").getFullYear(),s=this.option("maxDate").getFullYear()),n===u&&(s=y(this._value.getFullYear(),this._value.getMonth())),t={type:n,setValue:i.setter,valueItems:[],displayItems:[],getIndex:function(n){return n[i.getter]()-o}},f=o;f<=s;f++)t.valueItems.push(f),t.displayItems.push(h(f,c,this._value));t.selectedIndex=t.getIndex(this._value),this._rollerConfigs[n]=t},_optionChanged:function(n,t,i){switch(n){case"minDate":case"maxDate":case"culture":case"format":this._renderRollers();break;case"visible":this.callBase(n,t,i),t&&this._refreshRollers();break;case"value":this._clean(),this._invalidate();default:this.callBase(n,t,i)}}})),f.registerComponent("dxDateBox",f.dxEditBox.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{format:"date",value:new Date,useNativePicker:!0})},_init:function(){this.callBase(),n.inArray(this.option("format"),at)===-1&&this.option("format","date"),this.option("mode",this.option("format"))},_render:function(){this.callBase(),this._element().addClass(k),this._renderDatePicker()},_renderDatePicker:function(){var t,i;if(!this._usingNativeDatePicker()&&!this.option("readOnly"))if(t={value:this.option("value"),format:this.option("format")},this._datePicker)this._datePicker.option(t);else{this._datePicker=n("<div>").appendTo(this._element()).dxDatePicker(n.extend(t,{hidingAction:n.proxy(function(n){this.option("value",n.component.option("value"))},this)})).dxDatePicker("instance"),i=this._createAction(function(n){n.component._datePicker.show()});this._input().on(w.addNamespace("dxclick",this.NAME),function(n){return i({jQuery:n})})}},_usingNativeDatePicker:function(){return b.inputType(this.option("format"))||this.option("useNativePicker")},_readOnlyPropValue:function(){return this._usingNativeDatePicker()?this.callBase():!0},_handleValueChange:function(){var i=wt(this._input().val()),n=new Date(this.option("value")&&this.option("value").valueOf()),t=bt(n,i,this.option("format"));this.option({value:t}),t!==n&&this._renderValue()},_renderValue:function(){this._input().val(pt(this.option("value"),this.option("format")))},_renderProps:function(){this.callBase(),this._input().attr("autocomplete","off")},_optionChanged:function(n,t,i){switch(n){case"value":this._renderValue(),this._changeAction(t),this._renderDatePicker();break;case"format":this.option("mode",t),this._renderValue(),this._renderDatePicker();break;case"readOnly":case"useNativePicker":this._invalidate();break;default:this.callBase(n,t,i)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,r="dx-loadindicator",s=r+"-wrapper",h=r+"-icon",f=r+"-segment",e=r+"-segment",c=r+"-win8-segment",l=r+"-win8-segment",a=r+"-win8-inner-segment",o=r+"-image",v=["small","medium","large"];u.registerComponent("dxLoadIndicator",u.Widget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{disabled:!1,visible:!0,size:""})},_render:function(){this.callBase(),this._element().addClass(r),this._setSize(),t.support.animation&&!this.option("viaImage")?this._renderMarkupForAnimation():this._renderMarkupForImage()},_renderMarkupForAnimation:function(){var i=n("<div>").addClass(h),t;for(i.append(n("<div>").addClass(f).addClass(e+"0")),t=15;t>0;--t)i.append(n("<div>").addClass(f).addClass(e+t));for(t=1;t<=5;++t)i.append(n("<div>").addClass(c).addClass(l+t).append(n("<div>").addClass(a)));n("<div>").addClass(s).append(i).appendTo(this._element())},_renderMarkupForImage:function(){var n=this.option("size");n==="small"||n==="large"?this._element().addClass(o+"-"+n):this._element().addClass(o)},_setSize:function(){var t=this.option("size");t&&n.inArray(t,v)!==-1&&this._element().addClass(r+"-"+t)},_optionChanged:function(n){switch(n){case"size":this._setSize();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,r="dx-loadpanel",o=r+"-wrapper",f=r+"-indicator",e=r+"-message",s=r+"-content",h=r+"-has-indicator";u.registerComponent("dxLoadPanel",u.dxOverlay.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{message:Globalize.localize("Loading"),width:200,height:70,animation:null,disabled:!1,showIndicator:!0})},_render:function(){this.callBase(),this._element().addClass(r),this._wrapper().addClass(o)},_renderContentImpl:function(){this.callBase(),this.content().addClass(s),this._cleanPreviousContent(),this._renderLoadIndicator(),this._renderMessage()},_cleanPreviousContent:function(){this.content().find("."+e).remove(),this.content().find("."+f).remove()},_renderMessage:function(){var t=n("<div>").addClass(e).toggleClass(h,this.option("showIndicator")).text(this.option("message"));this.content().append(t)},_renderLoadIndicator:function(){if(this.option("showIndicator")){var t=n("<div>").addClass(f);this.content().append(t),t.dxLoadIndicator()}},_clean:function(){this.callBase.apply(this,arguments),this.content().empty()},_optionChanged:function(n){switch(n){case"message":case"showIndicator":this._clean(),this._render();break;default:this.callBase.apply(this,arguments)}},_defaultBackButtonHandler:n.noop}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,c=t.utils,o=u.events,r="dx-lookup",f=r+"-selected",l=r+"-search",a=r+"-field",e=r+"-popup",v=e+"-wrapper",s=e+"-search",y=r+"-popover-mode",h=".dx-list-item",p="dxListItemData",w=200;u.registerComponent("dxLookup",u.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{dataSource:null,value:i,displayValue:i,title:"",valueExpr:null,displayExpr:"this",placeholder:Globalize.localize("Select"),searchPlaceholder:Globalize.localize("Search"),searchEnabled:!0,noDataText:Globalize.localize("dxCollectionContainerWidget-noDataText"),searchTimeout:1e3,minFilterLength:0,fullScreen:!1,valueChangeAction:null,itemTemplate:null,itemRender:null,showCancelButton:!0,cancelButtonText:Globalize.localize("Cancel"),showClearButton:!1,clearButtonText:Globalize.localize("Clear"),showDoneButton:!1,doneButtonText:Globalize.localize("Done"),contentReadyAction:null,shownAction:null,hiddenAction:null,popupWidth:function(){return n(window).width()*.8},popupHeight:function(){return n(window).height()*.8},usePopover:!1})},_optionsByReference:function(){return n.extend(this.callBase(),{value:!0})},_init:function(){this.callBase(),this._initDataSource(),this._checkExceptions(),this._searchTimer=null,this._compileValueGetter(),this._compileDisplayGetter(),this._createEventActions(),this._dataSource||this._itemsToDataSource()},_checkExceptions:function(){if(this._dataSource&&this._dataSource._mapFunc)throw Error("Data source with enabled map is not allowed in the lookup");},_compileValueGetter:function(){this._valueGetter=t.data.utils.compileGetter(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option("valueExpr")||this._dataSource&&this._dataSource._store._key||"this"},_compileDisplayGetter:function(){this._displayGetter=t.data.utils.compileGetter(this.option("displayExpr"))},_createEventActions:function(){this._valueChangeAction=this._createActionByOption("valueChangeAction")},_itemsToDataSource:function(){this._dataSource=new DevExpress.data.DataSource(this.option("items"))},_render:function(){this.callBase(),this._element().addClass(r).toggleClass(y,this.option("usePopover")),this._renderField(),this._needRenderContent=!0,this._calcSelectedItem(n.proxy(this._setFieldText,this))},_renderContent:n.noop,_renderField:function(){var t=this._createAction(this._handleFieldClick);this._$field=n("<div/>").addClass(a).appendTo(this._element()).on(o.addNamespace("dxclick",this.NAME),function(n){t({jQueryEvent:n})})},_handleFieldClick:function(n){var t=n.component;t._renderContentIfNeed(),t._setListDataSource(),t._refreshSelected(),t._popup.show();t._popup.content().on("MSPointerDown",function(){});t._lastSelectedItem=t._selectedItem},_renderContentIfNeed:function(){this._needRenderContent&&(this._renderPopup(),this._needRenderContent=!1)},_renderPopup:function(){var t=n("<div />").addClass(e).appendTo(this._element()),i={title:this.option("title"),contentReadyAction:n.proxy(this._popupContentReadyAction,this),width:this.option("popupWidth"),height:this.option("popupHeight"),cancelButton:this._getCancelButtonConfig(),doneButton:this._getDoneButtonConfig(),clearButton:this._getClearButtonConfig(),shownAction:this._createActionByOption("shownAction"),hiddenAction:this._createActionByOption("hiddenAction")};this._popup=this.option("usePopover")?this._createPopover(t,i):this._createPopup(t,i),this._popup._wrapper().addClass(v).toggleClass(s,this.option("searchEnabled"))},_createPopover:function(t,i){return t.dxPopover(n.extend(i,{showTitle:!0,target:this._element()})).dxPopover("instance")},_createPopup:function(t,i){return t.dxPopup(n.extend(i,{fullScreen:this.option("fullScreen"),shading:!this.option("fullScreen")})).dxPopup("instance")},_getCancelButtonConfig:function(){return this.option("showCancelButton")?{text:this.option("cancelButtonText")}:null},_getDoneButtonConfig:function(){return this.option("showDoneButton")?{text:this.option("doneButtonText"),clickAction:n.proxy(function(){this.option("value",this._valueGetter(this._lastSelectedItem))},this)}:null},_getClearButtonConfig:function(){return this.option("showClearButton")?{text:this.option("clearButtonText"),clickAction:n.proxy(function(){this.option("value","")},this)}:null},_renderCancelButton:function(){this._popup&&this._popup.option("cancelButton",this._getCancelButtonConfig())},_renderDoneButton:function(){this._popup&&this._popup.option("doneButton",this._getDoneButtonConfig())},_renderClearButton:function(){this._popup&&this._popup.option("clearButton",this._getClearButtonConfig())},_popupContentReadyAction:function(){this._renderSearch(),this._renderList(),this._setListDataSource()},_renderSearch:function(){this._$search=n("<div/>").addClass(l).dxTextBox({mode:"search",placeholder:this._getSearchPlaceholder(),valueUpdateEvent:"change input",valueUpdateAction:n.proxy(this._searchChangedHandler,this)}).toggle(this.option("searchEnabled")).appendTo(this._popup.content()),this._search=this._$search.dxTextBox("instance")},_getSearchPlaceholder:function(){var n=this.option("minFilterLength"),t=this.option("searchPlaceholder");return n&&t===Globalize.localize("Search")?c.stringFormat(Globalize.localize("dxLookup-searchPlaceholder"),n):t},_renderList:function(){this._list=n("<div/>").appendTo(this._popup.content()).dxList({dataSource:null,itemClickAction:n.proxy(function(n){this._toggleSelectedClass(n.jQueryEvent),this._updateOptions(n)},this),itemRenderedAction:n.proxy(function(n){this._setSelectedClass(n.itemElement,n.itemData)},this),contentReadyAction:this.option("contentReadyAction"),itemRender:this._getItemRender(),itemTemplate:this.option("itemTemplate"),noDataText:this.option("noDataText")}).data("dxList"),this._list.addExternalTemplate(this._templates),this._needSetItemRenderToList&&(this._updateListItemRender(),this._needSetItemRenderToList=!1)},_setListDataSource:function(n){if(this._list){var t=this._search.option("value").length>=this.option("minFilterLength"),r=!!this._list.option("dataSource"),u=t===r;(n||!u)&&(this._list.option("dataSource",t?this._dataSource:null),t||this._list.option("items",i))}},_refreshSelected:function(){var t=this;t._list&&n.each(this._list._element().find(h),function(){var i=n(this);t._setSelectedClass(i,i.data(p))})},_calcSelectedItem:function(n){function o(t){s._selectedItem=t,n()}var e=this._dataSource,r,u,s=this,f=this.option("value");if(!e||f===i){this._selectedItem=i,n();return}r=e.store(),u=this._valueGetterExpr(),u===r.key()||r instanceof t.data.CustomStore?r.byKey(f).done(o):r.load({filter:[u,f]}).done(function(n){o(n[0])})},_setFieldText:function(n){arguments.length||(n=this._getDisplayText()),this._$field.text(n),this.option("displayValue",n)},_getDisplayText:function(){return this.option("value")===i||!this._dataSource?this.option("placeholder"):this._displayGetter(this._selectedItem)||this.option("placeholder")},_searchChangedHandler:function(){if(this._search){var t=this._search.option("value"),i=t.length>=this.option("minFilterLength");if(clearTimeout(this._$searchTimer),this._search.option("placeholder",this._getSearchPlaceholder()),!i){this._setListDataSource();return}this.option("searchTimeout")?this._searchTimer=setTimeout(n.proxy(this._doSearch,this,t),this.option("searchTimeout")):this._doSearch(t)}},_doSearch:function(n){this._dataSource&&(arguments.length||(n=this.option("searchEnabled")?this._search.option("value"):""),this._filterStore(n),this._setListDataSource())},_filterStore:function(n){this._dataSource.searchExpr()||this._dataSource.searchExpr(this.option("displayExpr")),this._dataSource.searchValue(n),this._dataSource.pageIndex(0),this._dataSource.load()},_updateOptions:function(n){this._lastSelectedItem===n.itemData&&this._updateAndHidePopup(),this._lastSelectedItem=n.itemData,this.option("showDoneButton")||this._updateAndHidePopup()},_setSelectedClass:function(n,t){var i=this._valueGetter(t)===this.option("value");n.toggleClass(f,i)},_getItemRender:function(){if(!this.option("itemTemplate"))return this.option("itemRender")||n.proxy(this._displayGetter,this)},_toggleSelectedClass:function(t){var i=this._list._element().find("."+f);i.length&&i.removeClass(f),n(t.target).closest(h).addClass(f)},_hidePopup:function(){this._popup.content().off("MSPointerDown"),this._popup.hide()},_updateAndHidePopup:function(){this.option("value",this._valueGetter(this._lastSelectedItem)),clearTimeout(this._hidePopupTimer),this._hidePopupTimer=setTimeout(n.proxy(this._hidePopup,this),w),this._setFieldText(this._displayGetter(this._lastSelectedItem))},_updateListItemRender:function(){this._list?this._list.option("itemRender",this._getItemRender()):this._needSetItemRenderToList=!0},_updateListItemTemplate:function(){this._list&&this._list.option("itemTemplate",this.option("itemTemplate"))},_handleDataSourceChanged:function(){this._calcSelectedItem(n.proxy(this._setFieldText,this))},_clean:function(){this._popup&&this._popup._element().remove(),this._$field&&this._$field.remove(),this.callBase()},_dispose:function(){clearTimeout(this._searchTimer),clearTimeout(this._hidePopupTimer),n(window).off(o.addNamespace("popstate",this.NAME)),this.callBase()},_optionChanged:function(t,i){switch(t){case"valueExpr":case"value":this._calcSelectedItem(n.proxy(function(){t==="value"&&this._valueChangeAction({selectedItem:this._selectedItem}),this._compileValueGetter(),this._compileDisplayGetter(),this._refreshSelected(),this._setFieldText()},this));break;case"displayExpr":this._compileDisplayGetter(),this._updateListItemRender(),this._refreshSelected(),this._setFieldText();break;case"displayValue":break;case"itemRender":this._updateListItemRender();case"itemTemplate":this._updateListItemTemplate();break;case"items":case"dataSource":t==="items"?this._itemsToDataSource():this._initDataSource(),this._setListDataSource(!0),this._compileValueGetter(),this._calcSelectedItem(n.proxy(this._setFieldText,this));break;case"searchEnabled":this._$search.toggle(i),this._popup&&this._popup._wrapper().toggleClass(s,i);break;case"minFilterLength":this._setListDataSource(),this._setFieldText(),this._searchChangedHandler();break;case"placeholder":this._setFieldText();break;case"searchPlaceholder":this._$search&&this._$search.dxTextBox("instance").option("placeholder",i);break;case"title":case"fullScreen":this._popup&&this._popup.option(t,i);break;case"valueChangeAction":this._createEventActions();break;case"showClearButton":this._renderClearButton();break;case"showCancelButton":this._renderCancelButton();break;case"showDoneButton":this._renderDoneButton();break;case"contentReadyAction":this._list.option("contentReadyAction",i);break;case"popupWidth":this._popup&&this._popup.option("width",i);break;case"popupHeight":this._popup&&this._popup.option("height",i);break;default:this.callBase.apply(this,arguments)}this._checkExceptions()}}).include(u.DataHelperMixin))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-action-sheet",f="dx-action-sheet-container",e="dx-action-sheet-popup-wrapper",o="dx-action-sheet-popover-wrapper",s="dx-action-sheet-cancel",h="dx-action-sheet-item",c="dxActionSheetItemData",l="dx-action-sheet-without-title";r.registerComponent("dxActionSheet",r.CollectionContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{usePopover:!1,target:null,title:"",showTitle:!0,cancelText:Globalize.localize("Cancel"),noDataText:"",visible:!1})},_render:function(){this._element().addClass(u),this._createItemContainer(),this._renderPopup()},_createItemContainer:function(){this._$itemContainer=n("<div/>").addClass(f),this._toggleDisabled(this.option("disabled"))},_renderClick:function(){this._popup.option("clickAction",this.option("clickAction"))},_renderPopup:function(){this._$popup=n("<div/>").appendTo(this._element()),this._popup=this._isPopoverMode()?this._createPopover(this._$popup):this._createPopup(this._$popup),this._togglePopupTitle(this.option("showTitle")),this._popup.option("visible",this.option("visible"))},_clean:function(){this._$popup&&this._$popup.remove(),this.callBase()},_togglePopupTitle:function(n){this._popup.option("showTitle",n),this._popup._wrapper().toggleClass(l,!n)},_isPopoverMode:function(){return this.option("usePopover")&&this.option("target")},_createPopover:function(t){var i=t.dxPopover({showTitle:!0,title:this.option("title"),width:200,height:"auto",target:this.option("target"),hiddenAction:n.proxy(this.hide,this),contentReadyAction:n.proxy(this._popupContentReadyAction,this)}).dxPopover("instance");return i._wrapper().addClass(o),i},_createPopup:function(t){var i=t.dxPopup({title:this.option("title"),width:"100%",height:"auto",contentReadyAction:n.proxy(this._popupContentReadyAction,this),position:{my:"bottom",at:"bottom",of:window},animation:{show:{type:"slide",duration:400,from:{position:{my:"top",at:"bottom",of:window}},to:{position:{my:"bottom",at:"bottom",of:window}}},hide:{type:"slide",duration:400,from:{position:{my:"bottom",at:"bottom",of:window}},to:{position:{my:"top",at:"bottom",of:window}}}}}).dxPopup("instance");return i._wrapper().addClass(e),i},_popupContentReadyAction:function(){this._popup.content().append(this._$itemContainer),this._attachClickEvent(),this._renderContent(),this._renderCancel()},_renderCancel:function(){this._isPopoverMode()||(this._cancelButton=n("<div/>").addClass(s).appendTo(this._popup.content()).dxButton({text:this.option("cancelText"),clickAction:n.proxy(this.hide,this)}).dxButton("instance"))},_handleItemClick:function(t){this.callBase(t);var i=n(t.target).closest(this._itemSelector()).data("dxButton");i.option("disabled")||this.option("disabled")||this.hide()},_itemRenderDefault:function(n,t,i){i.dxButton(n)},_itemContainer:function(){return this._$itemContainer},_itemClass:function(){return h},_itemDataKey:function(){return c},_toggleVisibility:n.noop,_toggleDisabled:function(n){this._$itemContainer.toggleClass("dx-state-disabled",n)},_optionChanged:function(n,t){switch(n){case"disabled":this._toggleDisabled(t);break;case"visible":case"title":this._popup.option(n,t);break;case"showTitle":this._togglePopupTitle(t);break;case"cancelText":this._cancelButton.option("text",t);break;case"items":this._attachClickEvent(),this._$itemContainer.empty(),this._renderContent(),this._popup.repaint();break;default:this.callBase.apply(this,arguments)}},toggle:function(t){var i=this,r=n.Deferred();return i._popup.toggle(t).done(function(){i.option("visible",t),r.resolveWith(i)}),r.promise()},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,f=t.utils,e=40,o=38,c=13,l=27,a=39,s=9,h="dx-autocomplete",v=h+"-popup-wrapper",r="dx-autocomplete-selected",y="."+r,p=".dx-list",w=".dx-editbox-input",b=".dx-list-item",k="dxListItemData",d=["startswith","contains","endwith","notcontains"];u.registerComponent("dxAutocomplete",u.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{value:"",items:[],dataSource:null,itemTemplate:null,itemRender:null,minSearchLength:1,searchTimeout:0,placeholder:"",filterOperator:"contains",displayExpr:"this",valueUpdateAction:null,valueUpdateEvent:"change",maxLength:null})},_listElement:function(){return this._popup.content().find(p)},_listItemElement:function(){return this._popup.content().find(b)},_listSelectedItemElement:function(){return this._popup.content().find(y)},_inputElement:function(){return this._element().find(w)},_textboxElement:function(){return this._textbox._element()},_init:function(){this.callBase(),this._validateFilterOperator(),this._compileDisplayGetter(),this._initDataSource(),this._fillDataSourceFromItemsIfNeeded()},_fillDataSourceFromItemsIfNeeded:function(){!this.option("dataSource")&&this.option("items")&&this._itemsToDataSource()},_validateFilterOperator:function(){var i=this.option("filterOperator"),r=i.toLowerCase();if(!(n.inArray(r,d)>-1))throw Error(t.utils.stringFormat('Filter operator "{0}" is unavailable',i));},_compileDisplayGetter:function(){this._displayGetter=t.data.utils.compileGetter(this.option("displayExpr"))},_render:function(){this.callBase(),this._element().addClass(h),this._checkExceptions()},_renderContentImpl:function(){this._renderTextbox(),this._renderPopup(),this._renderValueUpdateEvent()},_renderTextbox:function(){this._textbox=n("<div />").dxTextBox({value:this.option("value"),placeholder:this.option("placeholder"),disabled:this.option("disabled"),maxLength:this.option("maxLength"),keyDownAction:n.proxy(this._handleTextboxKeyDown,this),keyUpAction:n.proxy(this._handleTextboxKeyUp,this),valueUpdateAction:n.proxy(this._updateValue,this),focusOutAction:n.proxy(function(){this._popup.hide()},this)}).appendTo(this._element()).data("dxTextBox"),this._caretPosition={start:0,end:0}},_renderValueUpdateEvent:function(){this._changeAction=this._createActionByOption("valueUpdateAction"),this._textboxOptionChange("valueUpdateEvent",this._getValueUpdateEvent())},_getValueUpdateEvent:function(){var n=this.option("valueUpdateEvent");return this._hasUpdateEvent("keyup")||(n+=" keyup"),this._hasUpdateEvent("change")||(n+=" change"),n},_hasUpdateEvent:function(n){return n&&this.option("valueUpdateEvent").indexOf(n)!==-1},_handleTextboxKeyDown:function(t){var i=this._listElement(),r=[s,o,e],u=t.jQueryEvent.which;i.is(":hidden")||n.inArray(u,r)>-1&&t.jQueryEvent.preventDefault()},_updateValue:function(n){var t=this._inputElement(),i;this.option("value",this._textbox.option("value")),t.prop("selectionStart",this._caretPosition.start),t.prop("selectionEnd",this._caretPosition.end),i=n.jQueryEvent&&this._hasUpdateEvent(n.jQueryEvent.type),(!n.jQueryEvent||i)&&this._changeAction(this.option("value"))},_handleTextboxKeyUp:function(n){var t=n.jQueryEvent.which;this._caretPosition={start:this._inputElement().prop("selectionStart"),end:this._inputElement().prop("selectionEnd")};switch(t){case e:this._handleTextboxDownKey();break;case o:this._handleTextboxUpKey();break;case c:this._handleTextboxEnterKey();break;case a:case s:this._handleTextboxCompleteKeys();break;case l:this._handleTextboxEscKey();break;default:return}},_handleTextboxDownKey:function(){var n=this._listSelectedItemElement(),t;n.length?(t=n.next(),t.addClass(r),n.removeClass(r)):this._listItemElement().first().addClass(r)},_handleTextboxUpKey:function(){var n=this._listSelectedItemElement(),t,i=this._listElement();if(!i.is(":hidden")){if(!n.length){this._listItemElement().last().addClass(r);return}n.removeClass(r),t=n.prev(),t.length&&t.addClass(r)}},_handleTextboxEnterKey:function(){var t=this._listSelectedItemElement(),n;if(!t.length){this._popup.hide();return}n=this._selectedItemDataGetter(),this._caretPosition={start:n.length,end:n.length},this.option("value",n),this._popup.hide(),this._inputElement().blur()},_handleTextboxCompleteKeys:function(){var i=this._listElement(),n,t;i.is(":hidden")||(t=this._selectedItemDataGetter(),n=t.length?t:this._dataSource.items()[0],this._caretPosition={start:n.length,end:n.length},n=this._displayGetter(n),this.option("value",n),this._popup.hide())},_selectedItemDataGetter:function(){var n=this._listSelectedItemElement();return n.length?this._displayGetter(n.data(k)):[]},_handleTextboxEscKey:function(){this._popup.hide()},_renderPopup:function(){var u=this._textboxElement(),e=u.width(),o=this._textbox._input(),i=0,r=0;t.devices.current().win8?i=-2:(t.devices.current().platform==="desktop"||t.devices.current().tizen)&&(i=-1),t.devices.current().platform==="desktop"&&(r=-1),this._popup=n("<div/>").appendTo(this._element()).dxPopup({shading:!1,closeOnOutsideClick:!0,closeOnTargetScroll:!0,showTitle:!1,width:e,shownAction:n.proxy(this._handlePopupShown,this),showingAction:n.proxy(this._handlePopupShowing,this),height:"auto",deferRendering:!1,position:{my:"left top",at:"left bottom",of:o,offset:{h:r,v:i},collision:"flip"},animation:{show:{type:"fade",duration:400,from:0,to:1},hide:{type:"fade",duration:400,from:1,to:0}}}).data("dxPopup"),this._popup._wrapper().addClass(v),this._renderList(),this._autocompleteResizeCallback=n.proxy(this._calculatePopupWidth,this),f.windowResizeCallbacks.add(this._autocompleteResizeCallback)},_handlePopupShown:function(){var t=n(window).height()*.5;this._popup.content().height()>t&&this._popup.option("height",t)},_handlePopupShowing:function(){this._calculatePopupWidth()},_calculatePopupWidth:function(){var n=this._textboxElement(),t=n.width();this._popup.option("width",t)},_renderList:function(){this._list=n("<div />").appendTo(this._popup.content()).dxList({itemClickAction:n.proxy(this._handleListItemClick,this),itemTemplate:this.option("itemTemplate"),itemRender:this._getItemRender(),noDataText:"",showNextButton:!1,autoPagingEnabled:!1,dataSource:this._dataSource}).data("dxList"),this._list.addExternalTemplate(this._templates)},_getItemRender:function(){if(!this.option("itemTemplate"))return this.option("itemRender")||n.proxy(this._displayGetter,this)},_handleListItemClick:function(n){var t=this._displayGetter(n.itemData);this._caretPosition={start:t.length,end:t.length},this.option("value",t),this._popup.hide(),this._inputElement().blur()},_itemsToDataSource:function(){return this._dataSource=new DevExpress.data.DataSource(this.option("items"))},_filterDataSource:function(){var n=this._textbox.option("value");this._reloadDataSource(n),this._clearSearchTimer()},_reloadDataSource:function(n,t){var i=this,r=i._dataSource;r.searchExpr(i.option("displayExpr")),r.searchOperation(t||i.option("filterOperator")),r.searchValue(n),i._dataSource.pageIndex(0),i._dataSource.load().done(function(){i._refreshVisibility()})},_refreshVisibility:function(){var i=this._textbox.option("value").length>=this.option("minSearchLength"),t=this._dataSource,n=t&&t.items(),r=n.length;i&&r?n.length===1&&this._displayGetter(n[0])===this.option("value")?this._popup.hide():this._displayGetter(n[0]).length<this.option("value").length?this._popup.hide():(this._popup._refresh(),this._popup.show()):this._popup.hide()},_dispose:function(){this._clearSearchTimer(),f.windowResizeCallbacks.remove(this._autocompleteResizeCallback),this.callBase()},_textboxOptionChange:function(n,t){this._textbox.option(n,t)},_optionChanged:function(n,t){switch(n){case"disabled":this.callBase(n,t),this._textboxOptionChange(n,t);break;case"value":this._checkExceptions(),this._textboxOptionChange(n,t),this._applyFilter();break;case"maxLength":case"placeholder":this._textboxOptionChange(n,t);break;case"items":case"dataSource":n==="items"?this._itemsToDataSource():this._initDataSource();case"itemTemplate":case"itemRender":this._list.option(n,t);break;case"filterOperator":this._validateFilterOperator();break;case"displayExpr":this._compileDisplayGetter(),this._list.option("itemRender",this._getItemRender());break;case"minSearchLength":case"searchTimeout":break;case"valueUpdateEvent":case"valueUpdateAction":this._renderValueUpdateEvent();break;default:this.callBase.apply(this,arguments)}},_applyFilter:function(){var t=this._textbox.option("value"),i=t.length>=this.option("minSearchLength");if(!i){this._clearSearchTimer(),this._popup.hide();return}this.option("searchTimeout")>0?this._searchTimer||(this._searchTimer=setTimeout(n.proxy(this._filterDataSource,this),this.option("searchTimeout"))):this._filterDataSource()},_clearSearchTimer:function(){clearTimeout(this._searchTimer),delete this._searchTimer},_checkExceptions:function(){if(this.option("value")===i)throw Error("Value option should not be undefined");},_clean:function(){this.callBase(),this._element().empty()}}).include(u.DataHelperMixin))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,f="dx-dropdownmenu",e=f+"-popup-wrapper",o="dx-dropdownmenu-list",s="dx-dropdownmenu-button";r.registerComponent("dxDropDownMenu",r.ContainerWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{items:[],itemClickAction:null,dataSource:null,itemTemplate:"item",itemRender:null,buttonText:"",buttonIcon:null,buttonIconSrc:null,buttonClickAction:null,usePopover:!1})},_init:function(){this.callBase(),this._initDataSource(),this._initItemClickAction()},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption("itemClickAction")},_render:function(){this._element().addClass(f),this._renderButton(),this.callBase()},_clean:function(){this.callBase(),this._popup._element().remove()},_renderContentImpl:function(){this._renderPopup()},_renderButton:function(){var t=this.option("buttonIconSrc"),n=this.option("buttonIcon");t||n||(n="overflow"),this._button=this._element().addClass(s).dxButton({text:this.option("buttonText"),icon:n,iconSrc:t,clickAction:this.option("buttonClickAction")}).dxButton("instance")},_renderClick:function(){this.callBase();var n=this._createAction(this._handleButtonClick);this._element().on(u.addNamespace("dxclick",this.NAME),function(t){n({jQueryEvent:t})});this._popup&&this._popup.option("clickAction",this.option("clickAction"))},_handleButtonClick:function(n){n.component._popup.toggle()},_renderList:function(t){var r=t.content(),i=this,u;i._list=r.addClass(o).dxList({autoPagingEnabled:!1,noDataText:"",itemRender:i.option("itemRender"),itemTemplate:i.option("itemTemplate"),itemClickAction:function(n){i._popup.hide(),i._itemClickAction(n)}}).data("dxList"),i._list.addExternalTemplate(i._templates),i._setListDataSource(),i._attachListClick(),u=n(window).height()*.5,r.height()>u&&r.height(u)},_toggleVisibility:function(n){this.callBase(n),this._button.option("visible",n)},_attachListClick:function(){var n=this._createAction(this._handleListClick);this._list._element().off("."+this.NAME).on(u.addNamespace("dxclick",this.NAME),function(t){n({jQueryEvent:t})})},_handleListClick:function(n){n.component._popup.hide()},_renderPopup:function(){var t=this._$popup=n("<div />").appendTo(this._element()),i={clickAction:this.option("clickAction"),contentReadyAction:n.proxy(this._popupContentReadyHandler,this),deferRendering:!1};this._popup=this.option("usePopover")?this._createPopover(t,i):this._createPopup(t,i),this._popup._wrapper().addClass(e)},_popupContentReadyHandler:function(){var n=this._$popup[this.option("usePopover")?"dxPopover":"dxPopup"]("instance");this._renderList(n)},_createPopover:function(t,i){return t.dxPopover(n.extend(i,{target:this._element()})).dxPopover("instance")},_createPopup:function(t,i){return t.dxPopup(n.extend(i,{showTitle:!1,width:"auto",height:"auto",shading:!1,closeOnOutsideClick:n.proxy(function(t){return!n(t.target).closest(this._button._element()).length},this),closeOnTargetScroll:!0,position:{my:"right top",at:"right bottom",of:this._element(),collision:"fit flip"},animation:{show:{type:"fade",to:1},hide:{type:"fade",to:0}}})).dxPopup("instance")},_setListDataSource:function(){this._list&&this._list.option("dataSource",this._dataSource||this.option("items"))},_optionChanged:function(n,t){if(/^button/.test(n)){this._renderButton();return}switch(n){case"items":case"dataSource":this._refreshDataSource(),this._setListDataSource();break;case"itemRender":case"itemTemplate":this._list&&this._list.option(n,t);break;case"itemClickAction":this._initItemClickAction();break;default:this.callBase.apply(this,arguments)}}}).include(r.DataHelperMixin))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=r.events,e="dx-selectbox",o="dx-selectbox-popup",u="dx-selectbox-arrow-container",s="dx-selectbox-arrow";r.registerComponent("dxSelectBox",r.dxAutocomplete.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{items:[],value:i,valueChangeAction:null,placeholder:Globalize.localize("Select"),valueExpr:null,tooltipEnabled:!1})},_init:function(){this.callBase(),this._dataSource||this._itemsToDataSource()},_itemsToDataSource:function(){this._dataSource=new DevExpress.data.DataSource(this.option("items"))},_getValueWidth:function(t){var i=n("<div />").html(t).css({width:"auto",position:"fixed",top:"-3000px",left:"-3000px"}).appendTo("body");return i.width()},_setTooltip:function(n){this.option("tooltipEnabled")&&(this._$element.context.title=this._$element.context.scrollWidth<=this._getValueWidth(n)?n:"")},_render:function(){this._compileValueGetter(),this.callBase(),this._setTooltip(this.option("value")),this._setWidgetClasses(),this._renderArrowDown()},_renderPopup:function(){if(this.callBase(),t.devices.current().win8){var i=this._popup.option("position");n.extend(i,{at:"left top",offset:{h:0,v:2}}),this._popup.option("position",i)}},_renderValueUpdateEvent:function(){this._changeAction=this._createActionByOption("valueChangeAction")},_setWidgetClasses:function(){var n=this._element(),t=this._popup._element();n.addClass(e),t.addClass(o)},_renderArrowDown:function(){var t=this._createAction(function(n){n.component._popup.toggle()});n("<div />").addClass(u).appendTo(this._element()).on(f.addNamespace("dxclick",this.NAME),function(n){t({jQueryEvent:n})});n("<div />").addClass(s).appendTo(this._element().find("."+u))},_applyFilter:n.noop,_updateValue:n.noop,_renderTextbox:function(){this.callBase(),this._searchValue(this.option("value")).done(n.proxy(this._updateTextBox,this))},_updateTextBox:function(t){this._selectedItem=t,this._textbox.option({readOnly:!0,value:this._displayGetter(this._selectedItem),clickAction:n.proxy(function(){this._popup.toggle()},this)})},_compileValueGetter:function(){this._valueGetter=t.data.utils.compileGetter(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option("valueExpr")||this._dataSource&&this._dataSource._store._key||"this"},_handleListItemClick:function(n){this.option("value",this._valueGetter(n.itemData)),this._popup.hide()},_searchValue:function(i){var f=this,r=this._dataSource.store(),e=this._valueGetterExpr(),u=n.Deferred();return e===r.key()||r instanceof t.data.CustomStore?r.byKey(i).done(function(n){u.resolveWith(f,[n])}):r.load({filter:[e,i]}).done(function(n){u.resolveWith(f,n)}),u.promise()},_changeValueExpr:function(){this._compileValueGetter(),this.option("value",this._valueGetter(this._selectedItem))},_changeValue:function(t){this._searchValue(t).done(n.proxy(this._handleSearchComplete,this)),this._setTooltip(t)},_handleSearchComplete:function(n){this._selectedItem=n,this._textboxOptionChange("value",this._displayGetter(n)),this._changeAction(this.option("value"))},_renderList:function(){this.callBase(),this._list.option("autoPagingEnabled",!0)},_optionChanged:function(n,t){switch(n){case"valueExpr":this._changeValueExpr();break;case"displayExpr":this._compileDisplayGetter(),this._refresh();break;case"value":this._changeValue(t);break;case"valueChangeAction":this._renderValueUpdateEvent();break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var o=t.ui,s=o.events,e=t.fx,c=t.translator,l=t.utils,w="dx-panorama",b="dx-panorama-title",k="dx-panorama-ghosttitle",d="dx-panorama-itemscontainer",a="dx-panorama-item",v="dx-panorama-ghostitem",g="dx-panorama-item-header",nt="dxPanoramaItemData",tt=.02,it=.02,rt=300,ut="cubic-bezier(.40, .80, .60, 1)",ft=300,et="cubic-bezier(.40, .80, .60, 1)",ot=300,st="cubic-bezier(.40, .80, .60, 1)",y=function(n,t){n.css("background-position",t+"px 0%")},f=function(n){return c.locate(n).left},r=function(n,t){c.move(n,{left:t})},u={backgroundMove:function(n,t,i){return e.animate(n,{to:{"background-position":t+"px 0%"},duration:rt,easing:ut,complete:i})},titleMove:function(n,t,i){return e.animate(n,{type:"slide",to:{left:t},duration:ft,easing:et,complete:i})},itemMove:function(n,t,i){return e.animate(n,{type:"slide",to:{left:t},duration:ot,easing:st,complete:i})}},p=function(t){t&&n.each(t,function(n,t){e.stop(t,!0)})},h=t.Class.inherit({ctor:function(n){this._panorama=n},init:n.noop,render:n.noop,allItemElements:function(){return this._panorama._itemElements()},updatePositions:t.abstract,animateRollback:t.abstract,detectBoundsTransition:t.abstract,animateComplete:t.abstract,_itemMargin:function(){return this._panorama._$itemsContainer.width()*tt},_indexBoundary:function(){return this._panorama._indexBoundary()},_normalizeIndex:function(n){return this._panorama._normalizeIndex(n)}}),ht=h.inherit({updatePositions:function(){var t=this._panorama._itemElements(),i=this._itemMargin();t.each(function(){r(n(this),i)})},animateRollback:n.noop,detectBoundsTransition:n.noop,animateComplete:n.noop}),ct=h.inherit({init:function(){this._initGhostItem()},render:function(){this._renderGhostItem()},_initGhostItem:function(){this._$ghostItem=n("<div>").addClass(v)},_renderGhostItem:function(){this._panorama._itemContainer().append(this._$ghostItem),this._toggleGhostItem(!1)},_toggleGhostItem:function(n){var t=this._$ghostItem;n?t.css("opacity",1):t.css("opacity",0)},_updateGhostItemContent:function(n){n!==!1&&n!==this._prevGhostIndex&&(this._$ghostItem.html(this._panorama._itemElements().eq(n).html()),this._prevGhostIndex=n)},_isGhostItemVisible:function(){return this._$ghostItem.css("opacity")==1},_swapGhostWithItem:function(n){var t=this._$ghostItem,i=f(n);r(n,f(t)),r(t,i)},allItemElements:function(){return this._panorama._itemContainer().find("."+a+", ."+v)},updatePositions:function(t){var e=this.allItemElements(),i=this._panorama.option("selectedIndex"),u=t>0&&i===0||t<0&&i===1,f=t<0&&i===0||t>0&&i===1,o=u&&"replaceLast"||f&&"replaceFirst",s=u&&1||f&&0,h=this._calculateItemPositions(i,o);this._updateGhostItemContent(s),this._toggleGhostItem(u||f),e.each(function(i){r(n(this),h[i]+t)})},animateRollback:function(t){var s=this,i=this._panorama._itemElements(),e=this._itemMargin(),h=f(i.eq(t))-e,r=f(this._$ghostItem)-e,o=this._calculateItemPositions(t,r>0?"prepend":"append"),c=t===0&&h>0&&r>0||t===1&&r<0;c?this._swapGhostWithItem(i.eq(1)):this._swapGhostWithItem(i.eq(0)),i.each(function(t){u.itemMove(n(this),o[t])}),u.itemMove(this._$ghostItem,o[2],function(){s._toggleGhostItem(!1)})},detectBoundsTransition:function(n,t){var i=f(this._$ghostItem),r=this._itemMargin();return n===0&&i<r?"left":t===0&&i>r?"right":void 0},animateComplete:function(t,i,r){var o=this,s=!t^!(r===0)?"prepend":"append",h=this._panorama._itemElements(),e=this._calculateItemPositions(i,s),f=[];return h.each(function(t){f.push(u.itemMove(n(this),e[t]))}),f.push(u.itemMove(this._$ghostItem,e[2],function(){o._toggleGhostItem(!1)})),n.when.apply(n,f)},_calculateItemPositions:function(n,t){var i=[],h=this._panorama._itemElements(),e=this._itemMargin(),o=h.eq(0).outerWidth(),s=o+e,u=n===0,f=-o,r=e;i.push(r),r+=s,u?i.push(r):i.splice(0,0,r),r+=s;switch(t){case"replaceFirst":i.push(i[0]),i[0]=u?r:f;break;case"replaceLast":u?i.splice(1,0,f):i.splice(1,0,r);break;case"prepend":i.push(f);break;case"append":i.push(r)}return i}}),lt=h.inherit({updatePositions:function(t){var i=this._panorama._itemElements(),u=this._calculateItemPositions(this._panorama.option("selectedIndex"),t<0);i.each(function(i){r(n(this),u[i]+t)})},animateRollback:function(){var i=this._panorama._itemElements(),t=this._panorama.option("selectedIndex"),e=this._calculateItemPositions(t),o=[t,this._normalizeIndex(t+1)];f(i.eq(t))>this._itemMargin()&&o.push(this._normalizeIndex(t-1)),i.each(function(t){var i=n(this);n.inArray(t,o)!==-1?u.itemMove(i,e[t]):r(i,e[t])})},detectBoundsTransition:function(n,t){var i=this._indexBoundary()-1;return t===i&&n===0?"left":t===0&&n===i?"right":void 0},animateComplete:function(t,i,f){var s=[],h=this._panorama._itemElements(),e=this._calculateItemPositions(i),o=this._normalizeIndex(f-1)===i,l=h.length===3&&o?this._normalizeIndex(f+1):null,a=e[this._indexBoundary()],c=[i,f],v=o?f:i;return o||c.push(this._normalizeIndex(v+1)),h.each(function(t){var i=n(this);if(n.inArray(t,c)===-1){r(i,e[t]);return}s.push(t!==l?u.itemMove(i,e[t]):u.itemMove(i,a,function(){r(i,e[t])}))}),n.when.apply(n,s)},_calculateItemPositions:function(n,t){for(var f=this._normalizeIndex(n-1),h=this._panorama._itemElements(),e=this._itemMargin(),o=h.eq(0).outerWidth(),s=o+e,i=[],c=-o,r=e,u=n;u!==f;u=this._normalizeIndex(u+1))i[u]=r,r+=s;return t?(i[f]=r,r+=s):i[f]=c,i.push(r),i}});o.registerComponent("dxPanorama",o.SelectableCollectionWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{selectedIndex:0,title:"panorama",backgroundImage:{url:null,width:0,height:0}})},_itemClass:function(){return a},_itemDataKey:function(){return nt},_itemContainer:function(){return this._$itemsContainer},_init:function(){this.callBase(),this._initItemsRenderStrategy(),this._initBackgroundImage(),this._initTitle(),this._initItemsContainer(),l.windowResizeCallbacks.add(this._windowResizeCallBack=n.proxy(this._handleWindowResize,this)),this._initSwipeHandlers()},_dispose:function(){this.callBase.apply(this,arguments),l.windowResizeCallbacks.remove(this._windowResizeCallBack)},_initItemsRenderStrategy:function(){var n;switch(this.option("items").length){case 0:case 1:n=ht;break;case 2:n=ct;break;default:n=lt}this._itemsRenderStrategy=new n(this),this._itemsRenderStrategy.init()},_initBackgroundImage:function(){var n=this.option("backgroundImage.url");n&&this._element().css("background-image","url("+n+")")},_initTitle:function(){this._$title=n("<div>").addClass(b),this._$ghostTitle=n("<div>").addClass(k),this._element().append(this._$title),this._element().append(this._$ghostTitle),this._updateTitle()},_updateTitle:function(){var n=this.option("title");this._$title.text(n),this._$ghostTitle.text(n),this._toggleGhostTitle(!1)},_toggleGhostTitle:function(n){var t=this._$ghostTitle;n?t.css("opacity",1):t.css("opacity",0)},_initItemsContainer:function(){this._$itemsContainer=n("<div>").addClass(d),this._element().append(this._$itemsContainer)},_handleWindowResize:function(){this._updatePositions()},_render:function(){this._element().addClass(w),this.callBase(),this._itemsRenderStrategy.render()},_updatePositions:function(n){n=n||0,this._updateBackgroundPosition(n*this._calculateBackgroundStep()),this._updateTitlePosition(n*this._calculateTitleStep()),this._itemsRenderStrategy.updatePositions(n*this._$itemsContainer.width())},_updateBackgroundPosition:function(n){y(this._element(),this._calculateBackgroundPosition(this.option("selectedIndex"))+n)},_updateTitlePosition:function(n){r(this._$title,this._calculateTitlePosition(this.option("selectedIndex"))+n)},_animateRollback:function(n){this._animateBackgroundMove(n),this._animateTitleMove(n),this._itemsRenderStrategy.animateRollback(n)},_animateBackgroundMove:function(n){return u.backgroundMove(this._element(),this._calculateBackgroundPosition(n))},_animateTitleMove:function(n){return u.titleMove(this._$title,this._calculateTitlePosition(n))},_animateComplete:function(t,i){var r=this,u=this._itemsRenderStrategy.detectBoundsTransition(t,i),f=this._performBackgroundAnimation(u,t),e=this._performTitleAnimation(u,t),o=this._itemsRenderStrategy.animateComplete(u,t,i);n.when(f,e,o).done(function(){r._indexChangeOnAnimation=!0,r.option("selectedIndex",t),r._indexChangeOnAnimation=!1})},_performBackgroundAnimation:function(n,t){return n?this._animateBackgroundBoundsTransition(n,t):this._animateBackgroundMove(t)},_animateBackgroundBoundsTransition:function(n,t){var r=this,f=n==="left",i=this._calculateBackgroundPosition(t),e=f?-this._calculateBackgroundScaledWidth():this._calculateBackgroundScaledWidth(),o=i+e;return u.backgroundMove(this._element(),o,function(){y(r._element(),i)})},_performTitleAnimation:function(n,t){return n?this._animateTitleBoundsTransition(n,t):this._animateTitleMove(t)},_animateTitleBoundsTransition:function(t,i){var l=this,f=this._$ghostTitle,o=f.outerWidth(),e=this._element().width(),s=t==="left",a=s?e:-o,v=s?-(e+o):e,h,c;return r(f,a),this._toggleGhostTitle(!0),this._swapGhostWithTitle(),h=u.titleMove(f,v,function(){l._toggleGhostTitle(!1)}),c=u.titleMove(this._$title,this._calculateTitlePosition(i)),n.when(h,c)},_swapGhostWithTitle:function(){var n=this._$ghostTitle,t=this._$title,i=f(t);r(t,f(n)),r(n,i)},_calculateTitlePosition:function(n){var t=this._element().width(),i=t*it;return i-n*this._calculateTitleStep()},_calculateTitleStep:function(){var i=this._element().width(),n=this._$title.outerWidth(),t=this._indexBoundary()||1;return Math.max((n-i)/t,n/t)},_calculateBackgroundPosition:function(n){return-(n*this._calculateBackgroundStep())},_calculateBackgroundStep:function(){var n=this._itemElements().eq(0).outerWidth(),t=this._calculateBackgroundScaledWidth();return Math.max((t-n)/(this._indexBoundary()||1),0)},_calculateBackgroundScaledWidth:function(){return this._element().height()*this.option("backgroundImage.width")/(this.option("backgroundImage.height")||1)},_initSwipeHandlers:function(){this._element().on(s.addNamespace("dxswipestart",this.NAME),n.proxy(this._swipeStartHandler,this)).on(s.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(s.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._stopAnimations(),(this.option("disabled")||this._indexBoundary()<=1)&&(n.cancel=!0)},_stopAnimations:function(){p([this._element(),this._$ghostTitle,this._$title]),p(this._itemsRenderStrategy.allItemElements())},_swipeUpdateHandler:function(n){this._updatePositions(n.offset)},_swipeEndHandler:function(n){var t=this.option("selectedIndex"),i=n.targetOffset;i===0?this._animateRollback(t):this._animateComplete(this._normalizeIndex(t-i),t)},_renderSelectedIndex:function(){this._indexChangeOnAnimation||this._updatePositions()},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_optionChanged:function(n){switch(n){case"title":this._updateTitle();break;case"items":this._initItemsRenderStrategy(),this.callBase.apply(this,arguments);break;default:this.callBase.apply(this,arguments)}},_itemRenderDefault:function(t,i,r){if(this.callBase(t,i,r),t.header){var u=n("<div>").addClass(g).text(t.header);r.prepend(u)}}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,y=r.events,e=t.fx,u=t.utils,o=t.translator,s="dx-slideout",h="dx-slideout-item-container",c="dx-slideout-menu",f="dx-slideout-item",l="dxSlideoutItemData",a=45,v=400;r.registerComponent("dxSlideOut",r.SelectableCollectionWidget.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{menuItemRender:null,menuItemTemplate:"menuItem",swipeEnabled:!0,menuVisible:!1})},_itemClass:function(){return f},_itemDataKey:function(){return l},_init:function(){this.callBase(),this._deferredAnimate=i},_render:function(){this._$shield=n("<div />").addClass("dx-slideout-shield"),this._renderItemsContainer(),this._renderList(),this._initSwipeHandlers(),this._element().addClass(s),this.callBase(),this._initWindowResizeCallback(),this._renderPosition(this.option("menuVisible")?1:0,!1)},_initWindowResizeCallback:function(){var n=this;this._windowResizeCallback=function(){n._renderPosition(n.option("menuVisible")?1:0,!1)},u.windowResizeCallbacks.add(this._windowResizeCallback)},_renderItemsContainer:function(){this._$container=n("<div />").addClass(h).appendTo(this._element());this._$container.on("MSPointerDown",function(){})},_renderContentImpl:function(){var t=this.option("items"),i=this.option("selectedIndex");t.length&&i>-1&&this._renderItems([t[i]])},_renderList:function(){this._$list=n("<div />").addClass(c).prependTo(this._element()),this._renderItemClickAction();var t=this._$list.dxList().dxList("instance");t.addExternalTemplate(this._templates),this._$list.dxList({height:"100%",itemClickAction:n.proxy(this._handleListItemClick,this),items:this.option("items"),dataSource:this.option("dataSource"),itemRender:this.option("menuItemRender"),itemTemplate:this.option("menuItemTemplate")})},_handleListItemClick:function(n){var t=this._$list.find(".dx-list-item").index(n.itemElement);this.option("selectedIndex",t),this._itemClickAction(n)},_renderItemClickAction:function(){this._itemClickAction=this._createActionByOption("itemClickAction")},_renderItem:function(n,t){this._$container.find("."+f).remove(),this.callBase(n,t,this._$container)},_renderSelectedIndex:function(){this._renderContent()},_initSwipeHandlers:function(){this._$container.dxSwipeable({elastic:!1,itemSizeFunc:n.proxy(this._getListWidth,this),startAction:n.proxy(this.option("swipeEnabled")?this._handleSwipeStart:function(n){n.jQueryEvent.cancel=!0},this),updateAction:n.proxy(this._handleSwipeUpdate,this),endAction:n.proxy(this._handleSwipeEnd,this)})},_handleSwipeStart:function(n){this._$shield.detach(),n.jQueryEvent.maxLeftOffset=this.option("menuVisible")?1:0,n.jQueryEvent.maxRightOffset=this.option("menuVisible")?0:1},_handleSwipeUpdate:function(n){var t=this.option("menuVisible")?n.jQueryEvent.offset+1:n.jQueryEvent.offset;this._renderPosition(t,!1)},_handleSwipeEnd:function(n){var t=n.jQueryEvent.targetOffset+this.option("menuVisible"),i=t!==0;this.option("menuVisible")===i?this._renderPosition(this.option("menuVisible")?1:0,!0):this.option("menuVisible",t!==0)},_handleMenuButtonClick:function(){this.option("menuVisible",!this.option("menuVisible"))},_toggleMenuVisibility:function(n){this.option("menuVisible",n)},_renderPosition:function(t,i){var r=this._calculatePixelOffset(t);i?(this._$shield.detach(),e.animate(this._$container,{type:"slide",to:{left:r},duration:v,complete:n.proxy(this._handleAnimationComplete,this)})):o.move(this._$container,{left:r})},_calculatePixelOffset:function(n){var n=n||0,t=this._getListWidth();return n*t},_getListWidth:function(){var n=this._$list.width(),t=this._element().width()-a;return Math.min(t,n)},_changeMenuOption:function(n,t){this._$list.dxList("instance").option(n,t)},_optionChanged:function(n,t,i){switch(n){case"menuVisible":this._renderPosition(t?1:0,!0);break;case"swipeEnabled":this._initSwipeHandlers();break;case"menuItemRender":this._changeMenuOption("itemRender",t);break;case"menuItemTemplate":this._changeMenuOption("itemTemplate",t);break;case"items":case"dataSource":this._changeMenuOption(n,t);break;case"itemClickAction":this._renderItemClickAction();break;default:this.callBase(n,t,i)}},_handleAnimationComplete:function(){this._$shield.appendTo(this._$container),this._deferredAnimate&&this._deferredAnimate.resolveWith(this)},_dispose:function(){u.windowResizeCallbacks.remove(this._windowResizeCallback),this.callBase()},showMenu:function(){return this.toggleMenuVisibility(!0)},hideMenu:function(){return this.toggleMenuVisibility(!1)},toggleMenuVisibility:function(t){return t=t===i?!this.option("menuVisible"):t,this._deferredAnimate=n.Deferred(),this.option("menuVisible",t),this._deferredAnimate.promise()}}))}(jQuery,DevExpress),DevExpress.MOD_WIDGETS=!0}if(!DevExpress.MOD_FRAMEWORK){if(!window.DevExpress)throw Error("Required module is not referenced: core");(function(n,t){var r=function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)i(n[r],t)||u.push(n[r]);return u.push.apply(u,t),u},u=function(){return function(t,i){return r(t,i,function(t,i){return n.grep(i,function(n){return t.option("id")===n.option("id")&&n.option("id")||t.option("behavior")===n.option("behavior")&&t.option("behavior")}).length})}};t.framework={utils:{mergeCommands:u()}}})(jQuery,DevExpress),function(n,t){var i=t.Class;t.framework.Route=i.inherit({_trimSeparators:function(n){return n.replace(/^[\/.]+|\/+$/g,"")},_escapeRe:function(n){return n.replace(/\W/g,"\\$1")},_checkConstraint:function(n,t){n=String(n),typeof t=="string"&&(t=new RegExp(t));var i=t.exec(n);return!i||i[0]!==n?!1:!0},_ensureReady:function(){var t=this;if(this._patternRe)return!1;this._pattern=this._trimSeparators(this._pattern),this._patternRe="",this._params=[],this._segments=[],this._separators=[],this._pattern.replace(/[^\/]+/g,function(n,i){t._segments.push(n),i&&t._separators.push(t._pattern.substr(i-1,1))}),n.each(this._segments,function(n){var u=!0,i=this,r=n?t._separators[n-1]:"";i.charAt(0)===":"?(u=!1,i=i.substr(1),t._params.push(i),t._patternRe+="(?:"+r+"([^/]+))",i in t._defaults&&(t._patternRe+="?")):t._patternRe+=r+t._escapeRe(i)}),this._patternRe=new RegExp("^"+this._patternRe+"$")},ctor:function(n,t,i){this._pattern=n||"",this._defaults=t||{},this._constraints=i||{}},parse:function(t){var u=this,i,r;return(this._ensureReady(),i=this._patternRe.exec(t),!i)?!1:(r=n.extend({},this._defaults),n.each(this._params,function(n){var t=n+1;i.length>=t&&i[t]&&(r[this]=u.parseSegment(i[t]))}),n.each(this._constraints,function(n){if(!u._checkConstraint(r[n],u._constraints[n]))return r=!1,!1}),r)},format:function(t){var r=this,u="",c,o;this._ensureReady();var f=n.extend({},this._defaults),s=0,i=[],h=[],e={};return(n.each(t,function(n,i){t[n]=r.formatSegment(i),n in f||(e[n]=!0)}),n.each(this._segments,function(n,u){if(i[n]=n?r._separators[n-1]:"",u.charAt(0)===":"){var o=u.substr(1);if(!(o in t)&&!(o in r._defaults)||o in r._constraints&&!r._checkConstraint(t[o],r._constraints[o]))return i=null,!1;o in t?(t[o]!==undefined&&(f[o]=t[o],i[n]+=t[o],s=n),delete e[o]):o in f&&(i[n]+=f[o],h.push(n))}else i[n]+=u,s=n}),n.each(f,function(u,f){if(!!f&&n.inArray(":"+u,r._segments)===-1&&t[u]!==f)return i=null,!1}),c=0,n.isEmptyObject(e)||(u="?",n.each(e,function(n){u+=n+"="+t[n]+"&",c++}),u=u.substr(0,u.length-1)),n.each(t,function(){if(!this in f)return i=null,!1}),i===null)?!1:(h.length&&n.map(h,function(n){n>=s&&(i[n]="")}),o=i.join(""),o=o.replace(/\/+$/,""),{uri:o+u,unusedCount:c})},formatSegment:function(t){return n.isArray(t)||n.isPlainObject(t)?"json:"+encodeURIComponent(JSON.stringify(t)):encodeURIComponent(t)},parseSegment:function(t){if(t.substr(0,5)==="json:")try{return n.parseJSON(decodeURIComponent(t.substr(5)))}catch(i){}return decodeURIComponent(t)}}),t.framework.MvcRouter=t.Class.inherit({ctor:function(){this._registry=[]},_trimSeparators:function(n){return n.replace(/^[\/.]+|\/+$/g,"")},_createRoute:function(n,i,r){return new t.framework.Route(n,i,r)},register:function(n,t,i){this._registry.push(this._createRoute(n,t,i))},_parseQuery:function(t){var i={},r=t.split("&");return n.each(r,function(n,t){var r=t.split("=");i[r[0]]=r[1]}),i},parse:function(t){var f=this,i;t=this._trimSeparators(t);var r=t.split("?",2),e=r[0],u=r[1];return n.each(this._registry,function(){var t=this.parse(e);if(t!==!1)return i=t,u&&(i=n.extend(i,f._parseQuery(u))),!1}),i?i:!1},format:function(t){var i=!1,r=99999;return t=t||{},n.each(this._registry,function(){var f=n.extend(!0,{},t),u=this.format(f);u!==!1&&r>u.unusedCount&&(r=u.unusedCount,i=u.uri)}),i}})}(jQuery,DevExpress),function(n,t){var i=t.ui;t.framework.dxCommand=i.Component.inherit({ctor:function(t,i){n.isPlainObject(t)&&(i=t,t=n("<div />")),this.beforeExecute=n.Callbacks(),this.afterExecute=n.Callbacks(),this.callBase(t,i)},_defaultOptions:function(){return n.extend(this.callBase(),{action:null,id:null,title:"",icon:"",iconSrc:"",visible:!0,disabled:!1})},execute:function(){var i=this._options.disabled;if(n.isFunction(i)&&(i=!!i.apply(this,arguments)),i)throw new Error(t.utils.stringFormat("Cannot execute command: {0}",this._options.id));this.beforeExecute.fire(arguments),this._createActionByOption("action",{allowedForGesture:!0}).apply(this,arguments),this.afterExecute.fire(arguments)},_render:function(){this.callBase(),this._element().addClass("dx-command")},_renderDisabledState:n.noop,_dispose:function(){this.callBase(),this._element().removeData(this.NAME),this.beforeExecute.empty(),this.afterExecute.empty()}}),i.registerComponent("dxCommand",t.framework.dxCommand)}(jQuery,DevExpress),function(n,t){t.framework.CommandMapping=t.Class.inherit({ctor:function(){this._commandMappings={},this._containerDefaults={}},setDefaults:function(n,t){return this._containerDefaults[n]=t,this},mapCommands:function(t,i){var r=this;return n.each(i,function(i,u){typeof u=="string"&&(u={id:u});var e=u.id,f=r._commandMappings[t]||{};f[e]=n.extend({showIcon:!0,showText:!0},r._containerDefaults[t]||{},u),r._commandMappings[t]=f}),this._initExistingCommands(),this},unmapCommands:function(t,i){var r=this;n.each(i,function(n,i){var u=r._commandMappings[t]||{};u&&delete u[i]}),this._initExistingCommands()},getCommandMappingForContainer:function(n,t){return(this._commandMappings[t]||{})[n]},checkCommandsExist:function(t){var r=this,i=n.grep(t,function(i,u){return n.inArray(i,r._existingCommands)<0&&n.inArray(i,t)===u});if(i.length!==0)throw new Error("The '"+i.join("', '")+"' command"+(i.length===1?" is":"s are")+" not registred in the application's command mapping. See http://dxpr.es/1bTjfj1 for more details.");},load:function(t){if(t){var i=this;return n.each(t,function(n,t){i.setDefaults(n,t.defaults),i.mapCommands(n,t.commands)}),this}},_initExistingCommands:function(){var t=this;this._existingCommands=[],n.each(t._commandMappings,function(i,r){n.each(r,function(i,r){n.inArray(r.id,t._existingCommands)<0&&t._existingCommands.push(r.id)})})}}),t.framework.CommandMapping.defaultMapping={"global-navigation":{defaults:{showIcon:!0,showText:!0},commands:[]},"ios-header-toolbar":{defaults:{showIcon:!1,showText:!0,location:"right"},commands:["edit","save",{id:"back",location:"left"},{id:"cancel",location:"left"},{id:"create",showIcon:!0,showText:!1}]},"ios-action-sheet":{defaults:{showIcon:!1,showText:!0},commands:[]},"ios-view-footer":{defaults:{showIcon:!1,showText:!0},commands:[{id:"delete",type:"danger"}]},"android-header-toolbar":{defaults:{showIcon:!0,showText:!1,location:"right"},commands:[{id:"back",showIcon:!1,location:"left"},"create","edit","save",{id:"cancel",showText:!0,location:"menu"},{id:"delete",showText:!0,location:"menu"}]},"android-simple-toolbar":{defaults:{showIcon:!0,showText:!1,location:"right"},commands:[{id:"back",showIcon:!1,location:"left"},{id:"create"},{id:"save",showText:!0,location:"left"},{id:"edit",showText:!0,location:"menu"},{id:"cancel",showText:!0,location:"menu"},{id:"delete",showText:!0,location:"menu"}]},"android-footer-toolbar":{defaults:{location:"right"},commands:[{id:"create",showText:!1,location:"center"},{id:"edit",showText:!1,location:"left"},{id:"delete",location:"menu"},{id:"save",showIcon:!1,location:"left"}]},"tizen-header-toolbar":{defaults:{showIcon:!0,showText:!1,location:"right"},commands:[{id:"back",showIcon:!1,location:"left"},"create","edit","save",{id:"cancel",showText:!0,location:"menu"},{id:"delete",showText:!0,location:"menu"}]},"tizen-footer-toolbar":{defaults:{location:"right"},commands:[{id:"create",showText:!1},{id:"edit",showText:!1,location:"left"},{id:"delete",location:"menu"},{id:"save",showIcon:!1,location:"left"}]},"tizen-simple-toolbar":{defaults:{showIcon:!0,showText:!1,location:"right"},commands:[{id:"back",showIcon:!1,location:"left"},{id:"create"},{id:"save",showText:!0,location:"left"},{id:"edit",showText:!0,location:"menu"},{id:"cancel",showText:!0,location:"menu"},{id:"delete",showText:!0,location:"menu"}]},"generic-header-toolbar":{defaults:{showIcon:!1,showText:!0,location:"right"},commands:["edit","save",{id:"back",location:"left"},{id:"cancel",location:"left"},{id:"create",showIcon:!0,showText:!1}]},"generic-view-footer":{defaults:{showIcon:!1,showText:!0},commands:[{id:"delete",type:"danger"}]},"win8-appbar":{defaults:{location:"right"},commands:["edit","cancel","save","delete",{id:"create",location:"left"}]},"win8-toolbar":{defaults:{showText:!1,location:"left"},commands:[{id:"previousPage"}]},"win8-phone-appbar":{defaults:{location:"center"},commands:["create","edit","cancel","save",{id:"delete",location:"menu"}]},"desktop-toolbar":{defaults:{showIcon:!1,showText:!0,location:"right"},commands:["cancel","create","edit","save",{id:"delete",type:"danger"}]}}}(jQuery,DevExpress),function(n,t){var r=t.Class;t.framework.ViewCache=r.inherit({ctor:function(){this._cache={}},setView:function(n,t){this._cache[n]=t},getView:function(n){return this._cache[n]},removeView:function(n){var t=this._cache[n];return delete this._cache[n],t},clear:function(){this._cache={}},hasView:function(n){return n in this._cache}}),t.framework.NullViewCache=r.inherit({setView:n.noop,getView:n.noop,removeView:n.noop,clear:n.noop,hasView:n.noop})}(jQuery,DevExpress),function(n,t){var r=t.Class;t.framework.MemoryKeyValueStorage=r.inherit({ctor:function(){this.storage={}},getItem:function(n){return this.storage[n]},setItem:function(n,t){this.storage[n]=t},removeItem:function(n){delete this.storage[n]}}),t.framework.StateManager=r.inherit({ctor:function(n){n=n||{},this.storage=n.storage||new t.framework.MemoryKeyValueStorage,this.stateSources=n.stateSources||[]},addStateSource:function(n){this.stateSources.push(n)},removeStateSource:function(t){var i=n.inArray(t,this.stateSources);i>-1&&(this.stateSources.splice(i,1),t.removeState(this.storage))},saveState:function(){var t=this;n.each(this.stateSources,function(n,i){i.saveState(t.storage)})},restoreState:function(){var t=this;n.each(this.stateSources,function(n,i){i.restoreState(t.storage)})},clearState:function(){var t=this;n.each(this.stateSources,function(n,i){i.removeState(t.storage)})}})}(jQuery,DevExpress),function(n,t){var u=t.Class,r="__root__";t.framework.DefaultBrowserAdapter=u.inherit({ctor:function(t){t=t||{},this._window=t.window||window,this.popState=n.Callbacks();n(this._window).on("hashchange",n.proxy(this._onHashChange,this))},replaceState:function(n){n=this._normalizeUri(n),this._window.history.replaceState(null,null,"#"+n)},pushState:function(n){n=this._normalizeUri(n),this._window.history.pushState(null,null,"#"+n)},createRootPage:function(){this._window.history.replaceState(null,null,"#"+r)},_onHashChange:function(){this.popState.fire()},back:function(){this._window.history.back()},getHash:function(){return this._normalizeUri(this._window.location.hash)},isRootPage:function(){return this.getHash()===r},_normalizeUri:function(n){return(n||"").replace(/^#+/,"")},canBack:function(){return this._window.history.length>2}}),t.framework.OldBrowserAdapter=t.framework.DefaultBrowserAdapter.inherit({ctor:function(){this._innerEventCount=0,this.callBase.apply(this,arguments)},replaceState:function(n){n=this._normalizeUri(n),this.getHash()!==n&&(this._skipNextEvent(),this.back(),this._skipNextEvent(),this._window.location.hash=n)},pushState:function(n){n=this._normalizeUri(n),this.getHash()!==n&&(this._skipNextEvent(),this._window.location.hash=n)},createRootPage:function(){this.pushState(r)},_onHashChange:function(){this._innerEventCount?this._innerEventCount--:this.popState.fire()},_skipNextEvent:function(){this._innerEventCount++}}),t.framework.HistorylessBrowserAdapter=t.framework.DefaultBrowserAdapter.inherit({ctor:function(t){t=t||{},this._window=t.window||window,this.popState=n.Callbacks();n(this._window).on("dxback",n.proxy(this._onHashChange,this));this._currentHash=this._window.location.hash},replaceState:function(n){this._currentHash=this._normalizeUri(n)},pushState:function(n){this._currentHash=this._normalizeUri(n)},createRootPage:function(){this.pushState(r)},_onHashChange:function(){this.back(),this.popState.fire()},getHash:function(){return this._normalizeUri(this._currentHash)},back:function(){this.replaceState(r)}})}(jQuery,DevExpress),function(n,t){var u=t.Class,r="dxPhoneJSApplication";t.framework.BrowserNavigationDevice=u.inherit({ctor:function(t){t=t||{},this._browserAdapter=this._createBrowserAdapter(t),this.uriChanged=n.Callbacks(),this.backInitiated=n.Callbacks(),this._deferredNavigate=null,this._browserAdapter.popState.add(n.proxy(this._onPopState,this)),window.sessionStorage&&!sessionStorage.getItem(r)&&(sessionStorage.removeItem(r),this._prepareBrowserHistory()),this._browserAdapter.isRootPage()&&this._browserAdapter.pushState(""),n(window).unload(this._saveBrowserState())},_isBuggyAndroid:function(){var n=t.devices.real.version;return t.devices.real.platform==="android"&&n.length>1&&(n[0]===2&&n[1]<4||n[0]<2)},_createBrowserAdapter:function(n){var i=n.window||window;return i===i.top?i.history.replaceState&&i.history.pushState&&!this._isBuggyAndroid()?new t.framework.DefaultBrowserAdapter(n):new t.framework.OldBrowserAdapter(n):new t.framework.HistorylessBrowserAdapter(n)},_saveBrowserState:function(){window.sessionStorage&&sessionStorage.setItem(r,!0)},_prepareBrowserHistory:function(){var n=this.getUri();this._browserAdapter.createRootPage(),this._browserAdapter.pushState(n)},getUri:function(){return this._browserAdapter.getHash()},setUri:function(n){this._browserAdapter.isRootPage()?this._browserAdapter.pushState(n):this._browserAdapter.replaceState(n)},_onPopState:function(){var i=this,r=this.getUri();this._deferredNavigate&&this._deferredNavigate.state()==="pending"?this._browserAdapter.isRootPage()?this._deferredNavigate.resolve():this._browserAdapter.back():this._browserAdapter.isRootPage()?this.backInitiated.fire():(this._deferredNavigate=n.Deferred().done(function(){i.uriChanged.fire(r)}),this._browserAdapter.back())},back:function(){this._browserAdapter.back()},canBack:function(){return this._browserAdapter.canBack()}})}(jQuery,DevExpress),function(n,t,i){var u=t.Class,r={current:"current",blank:"blank",back:"back"},f="__history";t.framework.NavigationStack=u.inherit({ctor:function(t){t=t||{},this.itemsRemoved=n.Callbacks(),this.clear()},currentItem:function(){return this.items[this.currentIndex]},back:function(n){if(this.currentIndex--,this.currentIndex<0)throw Error("Unable to go back");var t=this.currentItem();t.uri!==n&&this._updateItem(this.currentIndex,n)},forward:function(){if(this.currentIndex++,this.currentIndex>=this.items.length)throw Error("Unable to go forward");},navigate:function(n,t){if(!(this.currentIndex<this.items.length)||!(this.currentIndex>-1)||this.items[this.currentIndex].uri!==n){if(t&&this.currentIndex>-1&&this.currentIndex--,this.currentIndex+1<this.items.length&&this.items[this.currentIndex+1].uri===n)this.currentIndex++;else{var i=this.items.splice(this.currentIndex+1,this.items.length-this.currentIndex-1);this.items.push({}),this.currentIndex++,this._updateItem(this.currentIndex,n),this._deleteItems(i)}return this.currentItem()}},_updateItem:function(n,t){var i=this.items[n];i.uri=t,i.key=this.items[0].uri+"_"+n+"_"+t},_deleteItems:function(n){n&&this.itemsRemoved.fire(n)},getPreviousItem:function(){return this.items.length>1?this.items[this.currentIndex-1]:i},canBack:function(){return this.currentIndex>0},clear:function(){this._deleteItems(this.items),this.items=[],this.currentIndex=-1}}),t.framework.NavigationManager=u.inherit({ctor:function(r){r=r||{};var u=this;u.navigationStacks={},u._keepPositionInStack=r.keepPositionInStack,u.currentStack=new t.framework.NavigationStack,u.currentUri=i,u.navigating=n.Callbacks(),u.navigated=n.Callbacks(),u.navigatingBack=n.Callbacks(),u.navigationCanceled=n.Callbacks(),u.itemRemoved=n.Callbacks(),u._navigationDevice=r.navigationDevice||new t.framework.BrowserNavigationDevice,u._navigationDevice.uriChanged.add(n.proxy(u.navigate,u)),u._navigationDevice.backInitiated.add(n.proxy(u.back,u)),u._stateStorageKey=r.stateStorageKey||f},navigate:function(u,f){var e=this,o;for(f=n.extend({target:r.blank},f||{}),u===i&&(u=e._navigationDevice.getUri());t.backButtonCallback.fire(););if(/^_back$/.test(u)){e.back();return}o={currentUri:e.currentUri,uri:u,options:f,cancel:!1,navigateWhen:[]},e.navigating.fire(o),u=o.uri,o.cancel||e.currentUri===u?(e._navigationDevice.setUri(e.currentUri),e.navigationCanceled.fire(o)):n.when.apply(n,o.navigateWhen).done(function(){t.utils.executeAsync(function(){var n=e.currentUri;e.currentUri=u,e._updateHistory(u,f),e._navigationDevice.setUri(e.currentUri),e.navigated.fire({uri:u,previousUri:n,options:f,item:e.currentItem()})})})},_createNavigationStack:function(){var i=new t.framework.NavigationStack;return i.itemsRemoved.add(n.proxy(this._removeItems,this)),i},_updateHistory:function(n,u){var f=u.root,o=f,s=!1,h,c,e;if((f||!this.currentStack.items.length)&&(this.navigationStacks[n]=this.navigationStacks[n]||this._createNavigationStack(),this.currentStack===this.navigationStacks[n]?s=!0:this.currentStack=this.navigationStacks[n],o=!0),f&&this.currentStack.items.length)this._keepPositionInStack&&u.root&&!s?this.currentUri=this.currentItem().uri:(this.currentStack.currentIndex=0,this.currentItem().uri!==n&&this.currentStack.navigate(n,!0));else{h=this.currentStack.currentIndex,c=this.currentItem()||{};switch(u.target){case r.blank:this.currentStack.navigate(n);break;case r.current:this.currentStack.navigate(n,!0);break;case r.back:this.currentStack.currentIndex>0?this.currentStack.back(n):this.currentStack.navigate(n,!0);break;default:throw Error(t.utils.stringFormat('Unknown navigation target: "{0}". Use the DevExpress.framework.NavigationManager.NAVIGATION_TARGETS enumerable values',u.target));}u.direction===i&&(e=this.currentStack.currentIndex-h,u.direction=e<0?this.currentItem().backDirection||"backward":e>0&&this.currentStack.currentIndex>0?"forward":"none"),c.backDirection=u.direction==="forward"?"backward":"none"}u.root=o},_removeItems:function(t){var i=this;n.each(t,function(n,t){i.itemRemoved.fire(t)})},back:function(n){var u={cancel:t.backButtonCallback.fire()},i;if(u.cancel||this.navigatingBack.fire(u),u.cancel){this._navigationDevice.setUri(this.currentUri);return}i=this.getPreviousItem(),i?this.navigate(i.uri,{target:r.back,item:i}):n?this.navigate(n):this._navigateDeviceBack()},_navigateDeviceBack:function(){this._navigationDevice.back()},getPreviousItem:function(){return this.currentStack.getPreviousItem()},currentItem:function(){return this.currentStack.currentItem()},currentIndex:function(){return this.currentStack.currentIndex},rootUri:function(){return this.currentStack.items.length?this.currentStack.items[0].uri:this.currentUri},canBack:function(){return this.currentStack.canBack()||t.backButtonCallback.hasCallback()},getItemByIndex:function(n){return this.currentStack.items[n]},saveState:function(n){if(this.currentStack.items.length){var t={items:this.currentStack.items,currentIndex:this.currentStack.currentIndex,currentStackKey:this.currentStack.items[0].uri},i=JSON.stringify(t);n.setItem(this._stateStorageKey,i)}else this.removeState(n)},restoreState:function(n){var r,t,i;if(!this.disableRestoreState&&(r=n.getItem(this._stateStorageKey),r))try{if(t=JSON.parse(r),i=this._createNavigationStack(),!t.items[0].uri)throw Error("Error while application state restoring. State has been cleared. Refresh the page");i.items=t.items,i.currentIndex=t.currentIndex,this.navigationStacks[i.items[0].uri]=i,this.currentStack=this.navigationStacks[t.currentStackKey],this._navigationDevice.setUri(this.currentItem().uri)}catch(u){this.removeState(n);throw u;}},removeState:function(n){n.removeItem(this._stateStorageKey)},clearHistory:function(){this.currentStack.clear()}}),t.framework.NavigationManager.NAVIGATION_TARGETS=r}(jQuery,DevExpress),function(n,t,i){t.framework.createActionExecutors=function(r){return{routing:{execute:function(t){var u,f,i;n.isPlainObject(t.action)&&(u=t.action.backBehaviour,t.action.backBehaviour&&delete t.action.backBehaviour,f=t.action,i=r.router.format(f),u?r.back(i):r.navigate(i),t.handled=!0)}},hash:{execute:function(u){var o;if(typeof u.action=="string"&&u.action.charAt(0)==="#"){var f=u.action.substr(1),s=u.args[0],e=f,h=function(n){var i=t.data.utils.compileGetter(n),r=u.args[0].model;return i(r)},c=s.evaluate||h;e=f.replace(/\{([^}]+)\}/g,function(r,u){u=n.trim(u),u.indexOf(",")>-1&&(u=n.map(u.split(","),n.trim));var f=c(u);return f=t.framework.Route.prototype.formatSegment(f),f!==i?f:r}),o=(u.component||{}).NAME==="dxCommand"?u.component.option():{},r.navigate(e,o),u.handled=!0}}}}}}(jQuery,DevExpress),function(n,t){var f=t.Class,i,e="InProgress",r="Inited",u=t.framework;t.framework.Application=f.inherit({ctor:function(r){r=r||{},this._options=r,this.namespace=r.namespace||r.ns||window,this.components=[],i=t.localization.localizeString("@Back"),this.router=r.router||new t.framework.MvcRouter,this.navigationManager=r.navigationManager||new t.framework.NavigationManager({keepPositionInStack:r.navigateToRootViewMode==="keepHistory"}),this.navigationManager.navigating.add(n.proxy(this._onNavigating,this)),this.navigationManager.navigated.add(n.proxy(this._onNavigated,this)),this.navigationManager.navigationCanceled.add(n.proxy(this._onNavigationCanceled,this)),this.navigationManager.itemRemoved.add(n.proxy(this._onNavigationItemRemoved,this)),this.stateManager=r.stateManager||new t.framework.StateManager({storage:r.stateStorage||sessionStorage}),this.stateManager.addStateSource(this.navigationManager),this._viewCache=r.disableViewCache?new t.framework.NullViewCache:r.viewCache||new t.framework.ViewCache,this.navigation=this._createNavigationCommands(r.navigation),this.commandMapping=this._createCommandMapping(r.commandMapping,this.navigation),this.beforeViewSetup=n.Callbacks(),this.afterViewSetup=n.Callbacks(),this.viewShowing=n.Callbacks(),this.viewShown=n.Callbacks(),this.viewHidden=n.Callbacks(),this.viewDisposing=n.Callbacks(),this.viewDisposed=n.Callbacks(),this.navigating=n.Callbacks(),this.initialized=n.Callbacks(),this._isNavigating=!1,this._viewsToDispose=[],t.registerActionExecutor(t.framework.createActionExecutors(this)),t.overlayTargetContainer(".dx-viewport"),this.components.push(this.router),this.components.push(this.navigationManager)},_createCommandMapping:function(i,r){var u=i,f;return i instanceof t.framework.CommandMapping||(u=new t.framework.CommandMapping,u.load(t.framework.CommandMapping.defaultMapping||{}).load(i||{})),f=n.map(r,function(n){return n.option("id")}),u.mapCommands("global-navigation",f),u},_createNavigationCommands:function(t){if(!t)return[];var r=this,i=0;return n.map(t,function(t){var r;return r=t instanceof u.dxCommand?t:new u.dxCommand(n.extend({root:!0},t)),r.option("id")||r.option("id","navigation_"+i++),r})},_callComponentMethod:function(t,i){var r=[];return n.each(this.components,function(u,f){if(f[t]&&n.isFunction(f[t])){var e=f[t](i);e&&e.done&&r.push(e)}}),n.when.apply(n,r)},init:function(){var n=this;return n._initState=e,n._callComponentMethod("init").done(function(){n._initState=r,n._processEvent("initialized")})},_onNavigating:function(n){var i=this,u,r;if(i._isNavigating){i._pendingNavigationArgs=n,n.cancel=!0;return}if(i._isNavigating=!0,delete i._pendingNavigationArgs,u=this.router.parse(n.uri),!u)throw new Error(t.utils.stringFormat('Routing rule is not found for the "{0}" url',n.uri));r=this.router.format(u),n.uri!==r&&r?(n.cancel=!0,t.utils.executeAsync(function(){i.navigate(r,n.options)})):i._processEvent("navigating",n)},_onNavigated:function(i){var r=this,e=i.options.direction,f=n.Deferred(),u=r._acquireViewInfo(i.item);r._isViewReadyToShow(u)?f.resolve():r._setViewLoadingState(u,e).done(function(){t.utils.executeAsync(function(){r._createViewModel(u),r._createViewCommands(u),f.resolve()})}),f.done(function(){r._highlightCurrentNavigationCommand(u),r._showView(u,e).done(function(){r._isNavigating=!1;var n=r._pendingNavigationArgs;n&&t.utils.executeAsync(function(){r.navigate(n.uri,n.options)})})})},_isViewReadyToShow:function(n){return!!n.model},_onNavigationCanceled:function(n){var i=this,r;i._pendingNavigationArgs&&i._pendingNavigationArgs.uri===n.uri||(r=i.navigationManager.currentItem(),r&&t.utils.executeAsync(function(){var n=i._acquireViewInfo(r);i._highlightCurrentNavigationCommand(n)}),i._isNavigating=!1)},_onViewRemoved:function(n){this._viewsToDispose.push(n)},_disposeRemovedViews:function(){for(var t,n;t=this._viewsToDispose.shift();)n={viewInfo:t},this._processEvent("viewDisposing",n,n.viewInfo.model),this._disposeView(t),this._processEvent("viewDisposed",n,n.viewInfo.model)},_onNavigationItemRemoved:function(n){var t=this._viewCache.removeView(n.key);t&&this._onViewRemoved(t)},_onViewHidden:function(n){var t={viewInfo:n};this._processEvent("viewHidden",t,t.viewInfo.model)},_disposeView:function(t){if(t.model){var i=t.model.commands||[];n.each(i,function(n,t){t._dispose()})}},_acquireViewInfo:function(n){var t=this._viewCache.getView(n.key);return t||(t=this._createViewInfo(n),this._viewCache.setView(n.key,t)),t},_processEvent:function(n,t,i){this._callComponentMethod(n,t),this[n]&&this[n].fire&&this[n].fire(t);var r=(i||{})[n];r&&r.call(i,t)},_createViewInfo:function(n){var t=n.uri,i=this.router.parse(t);return{viewName:i.view,routeData:i,uri:t,key:n.key,canBack:this.canBack()}},_createViewModel:function(n){this._processEvent("beforeViewSetup",{viewInfo:n}),n.model=n.model||this._callViewCodeBehind(n.routeData),this._processEvent("afterViewSetup",{viewInfo:n})},_createViewCommands:function(n){n.commands=n.model.commands||[],n.canBack&&this._appendBackCommand(n)},_callViewCodeBehind:function(t){var i=n.noop;return t.view in this.namespace&&(i=this.namespace[t.view]),i.call(this.namespace,t)||{}},_appendBackCommand:function(n){var r=n.commands,u=[new t.framework.dxCommand({id:"back",title:i,behavior:"back",action:"#_back",icon:"arrowleft",type:"back"})],f=t.framework.utils.mergeCommands(u,r);r.length=0,r.push.apply(r,f)},_showView:function(n,t){var i=this,r={viewInfo:n,direction:t};return i._processEvent("viewShowing",r,n.model),i._showViewImpl(r.viewInfo,r.direction).done(function(){i._processEvent("viewShown",r,n.model),i._disposeRemovedViews()})},_highlightCurrentNavigationCommand:function(i){var f=this,r,e=i.uri,u=i.model&&i.model.currentNavigationItemId;u!==undefined&&n.each(this.navigation,function(n,t){if(t.option("id")===u)return r=t,!1}),r||n.each(this.navigation,function(n,i){var u=i.option("action");if(t.utils.isString(u)&&(u=u.replace(/^#+/,""),u===f.navigationManager.rootUri()))return r=i,!1}),n.each(this.navigation,function(n,t){t.option("highlighted",t===r)})},_initViewLoadingState:t.abstract,_setCurrentViewAsyncImpl:t.abstract,navigate:function(t,i){var u=this;if(n.isPlainObject(t)&&(t=u.router.format(t),t===!1))throw new Error("The passed object cannot be formatted into a uri string by router. An appropriate route should be registered.");if(u._initState)if(u._initState===r)u.navigationManager.navigate(t,i);else throw new Error("Unable to navigate. Application is being initialized. Consider using the 'HtmlApplication.navigating' event to alter the navigation logic.");else u.init().done(function(){u.restoreState(),u.navigate(t,i)})},canBack:function(){return this.navigationManager.canBack()},back:function(){this.navigationManager.back()},saveState:function(){this.stateManager.saveState()},restoreState:function(){this.stateManager.restoreState()},clearState:function(){this.stateManager.clearState()}})}(jQuery,DevExpress),function(n,t){t.framework.html={layoutControllers:[]}}(jQuery,DevExpress),function(n,t){var i=t.framework.html.commandToDXWidgetAdapters={addCommandBase:function(t,i,r,u,f){var o=n.extend(u,r,i.option()),s=t.option("items"),e;s.push(o),e=function(r,u,e){n.extend(o,i.option()),f(o,r,u,e),r!=="highlighted"&&t.option("items",s)},e(),i.optionChanged.add(e),t.disposing.add(function(){i.optionChanged.remove(e)})}};i.dxToolbar={addCommand:function(n,t,o){function c(n){var i=f(t,o,"location"),s;n.location=i,i==="menu"?n.text=u(t,o):(s={text:u(t,o),disabled:t.option("disabled"),icon:r(t,o,"icon"),iconSrc:r(t,o,"iconSrc"),type:e(t,o)},n.options=s,h.widget="button")}var s=n.data("dxToolbar"),h={command:t};s.option("itemClickAction",function(n){n.itemData.command&&n.itemData.command.execute()}),i.addCommandBase(s,t,o,h,c),s.option("visible",!0)}},i.dxActionSheet={addCommand:function(n,t,f){var e=n.data("dxActionSheet"),o={command:t};i.addCommandBase(e,t,f,o,function(n){n.text=u(t,f),n.icon=r(t,f,"icon"),n.iconSrc=r(t,f,"iconSrc")})}},i.dxList={addCommand:function(n,t,f){var e=n.data("dxList");i.addCommandBase(e,t,f,{},function(n){n.title=u(t,f),n.clickAction=function(){n.disabled||t.execute()},n.icon=r(t,f,"icon"),n.iconSrc=r(t,f,"iconSrc")})}},i.dxNavBar={addCommand:function(n,t,f){var e=n.data("dxNavBar"),s={command:t},o;e.option("itemClickAction",function(n){for(var i=e.option("items"),t=i.length;--t;)i[t].command.option("highlighted",!1);n.itemData.command.execute()}),o=function(){for(var t=e.option("items"),n=0,i=t.length;n<i;n++)if(t[n].highlighted){e.option("selectedIndex",n);break}},i.addCommandBase(e,t,f,s,function(n,i,e){i==="highlighted"?e&&o():(n.text=u(t,f),n.icon=r(t,f,"icon"),n.iconSrc=r(t,f,"iconSrc"),o())})}},i.dxPivot={addCommand:function(n,t,r){var f=n.data("dxPivot"),o={command:t},e;f.option("itemSelectAction",function(n){n.itemData.command.execute()}),e=function(){for(var t=f.option("items")||[],n=0,i=t.length;n<i;n++)if(t[n].highlighted){f.option("selectedIndex",n);break}},i.addCommandBase(f,t,r,o,function(n,i,f){i==="highlighted"?f&&e():(n.title=u(t,r),e())})}},i.dxSlideOut={addCommand:function(n,t,f){var e=n.data("dxSlideOut"),s={command:t},o;e.option("itemClickAction",function(n){n.itemData.command.execute()}),o=function(){for(var t=e.option("items")||[],n=0,i=t.length;n<i;n++)if(t[n].highlighted){e.option("selectedIndex",n);break}},i.addCommandBase(e,t,f,s,function(n,i,e){i==="highlighted"?e&&o():(n.title=u(t,f),n.icon=r(t,f,"icon"),n.iconSrc=r(t,f,"iconSrc"),o())})}};var f=function(n,t,i){var r=t?t[i]:undefined;return n.option(i)||r},u=function(n,t){var i=!!n.option("icon")||n.option("iconSrc"),r=f(n,t,"title");return t.showText||!i?r:""},r=function(n,t,i){var r=!!n.option("title"),u=f(n,t,i);return t.showIcon||!r?u:undefined},e=function(n,t){return f(n,t,"type")}}(jQuery,DevExpress),function(n,t){var u=t.Class,r=DevExpress.ui;t.framework.dxCommandContainer=r.Component.inherit({ctor:function(t,i){n.isPlainObject(t)&&(i=t,t=n("<div />")),this.callBase(t,i)},_render:function(){this.callBase(),this._element().addClass("dx-command-container")}}),r.registerComponent("dxCommandContainer",t.framework.dxCommandContainer),t.framework.html.CommandManager=u.inherit({ctor:function(n){n=n||{},this.globalCommands=n.globalCommands||[],this.commandsToWidgetRegistry=[this._commandsToDXWidget],this.commandMapping=n.commandMapping||new t.framework.CommandMapping},_commandsToDXWidget:function(i,r){var f=i.data("dxComponents"),o=t.framework.html.commandToDXWidgetAdapters,s,u,e;if(f)for(s in f)if(u=f[s],u in o)return e=i.data(u),e.beginUpdate(),n.each(r,function(n,t){o[u].addCommand(i,t.command,t.options)}),e.endUpdate(),!0;return!1},_findCommands:function(t){return n.map(t.addBack().find(".dx-command"),function(t){return n(t).dxCommand("instance")})},_findCommandContainers:function(t){return n.map(t.find(".dx-command-container"),function(t){return n(t).dxCommandContainer("instance")})},_checkCommandId:function(n,t){if(n===null)throw new Error("The command's 'id' option should be specified.\r\nProcessed markup: "+t._element().get(0).outerHTML);},_arrangeCommandsToContainers:function(t,i){var r=this,u={},f=[];n.each(t,function(n,t){var i=t.option("id");r._checkCommandId(i,t),f.push(i),u[i]=t}),r.commandMapping.checkCommandsExist(f),n.each(i,function(t,i){var f=[];n.each(u,function(n,t){var e=n,u=r.commandMapping.getCommandMappingForContainer(e,i.option("id"));u&&f.push({command:t,options:u})}),r._attachCommandsToContainer(i._element(),f)})},_attachCommandsToContainer:function(t,i){var r=!1;n.each(this.commandsToWidgetRegistry,function(n,u){return r=u(t,i),!r}),r||this._defaultCommandsToContainer(t,i)},_defaultCommandsToContainer:function(t,i){n.each(i,function(n,i){var u=i.command,r=u._element();if(r){t.append(r);r.on("dxclick",function(){u.execute()})}})},_collectCommands:function(n,i){var r=this._findCommands(n),u=t.framework.utils.mergeCommands(i,r);return t.framework.utils.mergeCommands(this.globalCommands,u)},layoutCommands:function(n,t){t=t||[];var i=this._collectCommands(n,t),r=this._findCommandContainers(n);this._arrangeCommandsToContainers(i,r)}})}(jQuery,DevExpress),function(n,t){var f=t.Class,r="__hidden-bag",u=".dx-transition:not(.dx-transition .dx-transition)",e=function(n){return".dx-transition-"+n};t.framework.html.DefaultLayoutController=f.inherit({ctor:function(n){n=n||{},this._layoutTemplateName=n.layoutTemplateName||"",this._disableViewLoadingState=n.disableViewLoadingState,this._layoutModel=n.layoutModel||{}},init:function(i){i=i||{},this._$viewPort=i.$viewPort||n("body"),this._$hiddenBag=i.$hiddenBag||n(document.getElementById(r))||n("<div/>").hide().appendTo("body"),this.viewReleased=n.Callbacks(),this.viewRendered=n.Callbacks(),this._commandManager=i.commandManager||new t.framework.html.CommandManager({commandMapping:i.commandMapping}),this._viewEngine=i.viewEngine,this._prepareTemplates(i.navigation||[])},activate:function(){this._justActivated=!0,this._visibleViews={},this._getRootElement().appendTo(this._$viewPort).show()},deactivate:function(){var t=this;n.each(this._visibleViews,function(n,i){t._hideView(i),t._releaseView(i)}),this._moveToHiddenBag(this._getRootElement())},_getPreviousViewInfo:function(n){return this._visibleViews[this._getTargetFrame(n)]},_prepareTemplates:function(n){var t=this,i=t._viewEngine.findLayoutTemplate(this._getLayoutTemplateName()).removeClass("dx-hidden");t._$layoutTemplate=i,t._$mainLayout=t._createEmptyLayout().show(),t._createNavigation(n),t._blankViewInfo=t._createBlankViewInfo(i)},_createNavigation:function(n){this._viewEngine._applyTemplate(this._$mainLayout,this._layoutModel),this._renderCommands(this._$mainLayout,n)},_getRootElement:function(){return this._$mainLayout},_getViewFrame:function(){return this._$mainLayout},_getLayoutTemplateName:function(){return this._layoutTemplateName},_createBlankViewInfo:function(t){var i=this,r=t.clone().addClass("blank-view").appendTo(i._$hiddenBag),u,f;return i._viewEngine._createComponents(r),u={title:ko.observable()},this._getTransitionElements(r).each(function(t,r){i._viewEngine._applyTemplate(n(r),u)}),f={model:u,renderResult:{$markup:r,$viewItems:n()},isBlankView:!0},i._appendViewToLayout(f),f},_createViewLayoutTemplate:function(){var n=this,t=n._$layoutTemplate.clone().appendTo(n._$hiddenBag);return n._viewEngine._createComponents(t),t},_createEmptyLayout:function(){var n=this,t=n._$layoutTemplate.clone().appendTo(n._$hiddenBag);return n._viewEngine._createComponents(t),n._removeTransitionContent(t),t},_removeTransitionContent:function(n){var t=this._getTransitionElements(n);t.children().remove()},_getTransitionElements:function(n){return n.find(u).addBack(u)},setViewLoadingState:function(t,i){var r=this,u;return r._disableViewLoadingState?n.Deferred().resolve().promise():(u=n.extend({},t,r._blankViewInfo),r._blankViewInfo.model.title((t.viewTemplateInfo||{}).title||"Loading..."),r._showViewImpl(u,i))},showView:function(n,t){var i=this,r=i._getPreviousViewInfo(n);return r&&r.isBlankView&&(t="none"),i._ensureViewRendered(n),this._showViewImpl(n,t).done(function(){i._onViewShown(n)})},disposeView:function(n){n.renderResult&&(n.renderResult.$markup.remove(),n.renderResult.$viewItems.remove(),delete n.renderResult)},_prepareViewTemplate:function(n){this._viewEngine._createComponents(n)},_renderView:function(t,i){var e=this,u=this._createViewLayoutTemplate(),o=t.children(),f,r;if(this._getTransitionElements(u).each(function(t,r){e._viewEngine._applyTemplate(n(r),i.model)}),this._viewEngine._applyLayoutCore(t,u),f=!0,r=n(),o.each(function(t,u){var o=n(u);e._viewEngine._applyTemplate(o,i.model),o.is(".dx-command,.dx-content,script")?f=!1:r=r.add(o)}),r.length&&!f)throw new Error("All the dxView element children should be either of the dxCommand or dxContent type.\r\nProcessed markup: "+r[0].outerHTML);i.renderResult={$markup:u,$viewItems:o}},_renderCommands:function(n,t){var i=this._findCommandContainers(n);this._commandManager._arrangeCommandsToContainers(t,i)},_applyViewCommands:function(n){var i=n.renderResult.$viewItems,r=n.renderResult.$markup,u=this._commandManager._findCommands(i);n.commands=t.framework.utils.mergeCommands(n.commands||[],u),this._renderCommands(r,n.commands)},_findCommandContainers:function(n){return this._viewEngine._createComponents(n,["dxCommandContainer"])},_ensureViewRendered:function(n){var t=this,i;n.renderResult||(i=n.$viewTemplate||this._viewEngine.findViewTemplate(n.viewName),this._prepareViewTemplate(i,n),this._renderView(i,n),this._applyViewCommands(n),t._appendViewToLayout(n),t._onRenderComplete(n),t.viewRendered.fire(n))},_appendViewToLayout:function(t){var i=this,f=i._getViewFrame(t),r=t.renderResult.$markup,u=n();n.each(r.find(".dx-content-placeholder"),function(t,i){var r=n(i).dxContentPlaceholder("instance");r.prepareTransition()}),n.each(i._getTransitionElements(f),function(t,f){var s=n(f),o=r.find(e(s.data("dx-transition-name"))).children();i._hideViewElements(o),s.append(o),u=u.add(o)}),i._$mainLayout.append(t.renderResult.$viewItems.filter(".dx-command")),r.remove(),t.renderResult.$markup=u},_onRenderComplete:function(){},_onViewShown:function(){n(document).trigger("dx.viewchanged")},_doTransition:function(t,i){var r=this,u=n.Deferred(),f=n.map(t.renderResult.$markup,function(t){var u=n(t),f=u.parent(),e=r._disableTransitions?"none":f.data("dx-transition-type");return{destination:f,source:u,type:e||"none",direction:i||"none"}});return r._executeTransitions(f).done(function(){u.resolve()}),u.promise()},_hideView:function(n){n.renderResult&&this._hideViewElements(n.renderResult.$markup)},_showViewImpl:function(t,i){var r=this,u=n.Deferred();return this._justActivated&&(this._justActivated=!1,i="none"),r._doTransition(t,i).done(function(){r._changeView(t)})},_releaseView:function(n){this.viewReleased.fireWith(this,[n])},_getViewPortElement:function(){return this._$viewPort},_getHiddenBagElement:function(){return this._$hiddenBag},_changeView:function(n){var i=this,t=i._getPreviousViewInfo(n);t&&t!==n&&(i._hideView(t),t.isBlankView||this._releaseView(t)),this._visibleViews[this._getTargetFrame(n)]=n},_getTargetFrame:function(){return"content"},_hideViewElements:function(n){this._patchIDs(n),this._disableInputs(n),n.removeClass("dx-active-view").addClass("dx-inactive-view")},_showViewElements:function(n){this._unpatchIDs(n),this._enableInputs(n),n.removeClass("dx-inactive-view").addClass("dx-active-view")},_executeTransitions:function(i){var r=this,u=n.map(i,function(n){return r._showViewElements(n.source),n.source.children().length?t.framework.html.TransitionExecutor.create(n.destination,n):void 0}),f=n.map(u,function(n){return n.options.source.addClass("dx-transition-source"),n.exec()});return n.when.apply(n,f).done(function(){n.each(u,function(n,t){t.finalize(),r._hideViewElements(t.options.source.parent().find(".dx-active-view:not(.dx-transition-source)")),t.options.source.removeClass("dx-transition-source")})})},_patchIDs:function(n){this._processIDs(n,function(n){var t=n;return n.indexOf(r)===-1&&(t=r+"-"+n),t})},_unpatchIDs:function(n){this._processIDs(n,function(n){var t=n;return n.indexOf(r)===0&&(t=n.substr(r.length+1)),t})},_processIDs:function(t,i){var r=t.find("[id]");n.each(r,function(t,r){var u=n(r),f=u.attr("id");u.attr("id",i(f))})},_enableInputs:function(t){var i=t.find(":input[data-dx-disabled=true]");n.each(i,function(t,i){n(i).removeAttr("disabled").removeAttr("data-dx-disabled")})},_disableInputs:function(t){var i=t.find(":input:not([disabled], [disabled=true])");n.each(i,function(t,i){n(i).attr({disabled:!0,"data-dx-disabled":!0})})},_moveToViewPort:function(n){this._unpatchIDs(n),n.appendTo(this._getViewPortElement())},_moveToHiddenBag:function(n){this._patchIDs(n),n.appendTo(this._getHiddenBagElement())}}),t.framework.html.layoutControllers.push({controller:new t.framework.html.DefaultLayoutController})}(jQuery,DevExpress),function(n,t){var r=t.Class;t.framework.html.KnockoutJSTemplateEngine=r.inherit({applyTemplate:function(t,i){ko.applyBindings(i,n(t).get(0))}})}(jQuery,DevExpress),function(n,t,i){var s=t.Class,r=t.ui,u="dxView",f="dxLayout",e,o;t.framework[u]=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{name:null,title:null,layout:null})},_render:function(){this.callBase(),this._element().addClass("dx-view")}}),r.registerComponent(u,t.framework.dxView),t.framework[f]=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{name:null})},_render:function(){this.callBase(),this._element().addClass("dx-layout")}}),r.registerComponent(f,t.framework.dxLayout),t.framework.dxViewPlaceholder=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{viewName:null})},_render:function(){this.callBase(),this._element().addClass("dx-view-placeholder")}}),r.registerComponent("dxViewPlaceholder",t.framework.dxViewPlaceholder),e=function(n,t,i,r){r==="absolute"?n.addClass("dx-transition-absolute"):n.addClass("dx-transition-static"),n.addClass("dx-transition").addClass("dx-transition-"+i),n.data("dx-transition-type",t),n.data("dx-transition-name",i)},o=function(n){n.addClass("dx-transition-inner-wrapper")},t.framework.dxTransition=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{name:null,type:"slide"})},_render:function(){this.callBase();var n=this._element();e(n,this.option("type"),this.option("name"),"absolute"),n.wrapInner("<div/>"),o(n.children())},_clean:function(){this.callBase(),this._element().empty()}}),r.registerComponent("dxTransition",t.framework.dxTransition),t.framework.dxContentPlaceholder=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{name:null,transition:"none",contentCssPosition:"absolute"})},_render:function(){this.callBase();var n=this._element();n.addClass("dx-content-placeholder").addClass("dx-content-placeholder-"+this.option("name")),e(n,this.option("transition"),this.option("name"),this.option("contentCssPosition"))},prepareTransition:function(){var n=this._element();n.children(".dx-content").length===0&&(n.wrapInner("<div>"),n.children().dxContent({targetPlaceholder:this.option("name")}))}}),r.registerComponent("dxContentPlaceholder",t.framework.dxContentPlaceholder),t.framework.dxContent=r.Component.inherit({_defaultOptions:function(){return n.extend(this.callBase(),{targetPlaceholder:null})},_optionChanged:function(){this._refresh()},_clean:function(){this.callBase(),this._element().removeClass(this._currentClass)},_render:function(){this.callBase();var n=this._element();n.addClass("dx-content"),this._currentClass="dx-content-"+this.option("targetPlaceholder"),n.addClass(this._currentClass),o(n)}}),r.registerComponent("dxContent",t.framework.dxContent),t.framework.html.ViewEngine=s.inherit({ctor:function(t){t=t||{},this.$root=t.$root,this.device=t.device||{},this.templateEngine=t.templateEngine,this.dataOptionsAttributeName=t.dataOptionsAttributeName||"data-options",this._templateMap={},this._pendingViewContainer=null,this.viewSelecting=n.Callbacks(),this.modelFromViewDataExtended=n.Callbacks(),this.layoutSelecting=n.Callbacks(),this.layoutApplying=n.Callbacks(),this.layoutApplied=n.Callbacks()},init:function(){var n=this;return this._initDefaultLayout(),this._loadTemplates().done(function(){n._enumerateTemplates(function(t){n._applyPartialViews(t._element())})})},_enumerateTemplates:function(t){var i=this;n.each(i._templateMap,function(i,r){n.each(r,function(i,r){n.each(r,function(n,i){t(i)})})})},_findComponent:function(n,t){return((this._templateMap[n]||{})[t]||[])[0]},_findTemplate:function(n,t){var f=this,r=f._findComponent(n,t),u,i;if(!r)throw new Error("Error 404: Template not found. role: "+t+", name: "+n);return u=r._element(),i=u.clone(),this._createComponents(i,[t]),i},findViewTemplate:function(t){var i={viewName:t};return this.viewSelecting.fire(i),i.view?n(i.view):this._findTemplate(t,u,!0)},_extendModelFromViewData:function(n,i){t.utils.extendFromObject(i,n.data(u).option()),this.modelFromViewDataExtended.fire({view:n,model:i})},_createComponents:function(i,r){var u=this,f=[];return i.find("*").addBack().filter("["+u.dataOptionsAttributeName+"]").each(function(i,e){var s=n(e),c=s.attr(u.dataOptionsAttributeName),h,o;try{h=new Function("return {"+c+"}")()}catch(l){throw new Error(t.utils.stringFormat("Unable to parse options.\nMessage: {0};\nOptions value: {1}",l,c));}for(o in h)(!r||n.inArray(o,r)>-1)&&s[o]&&(s[o](h[o]),f.push(s[o]("instance")))}),f},_loadTemplatesFromMarkup:function(i){var r,e;if(i.find("[data-dx-role]").length)throw Error("View templates should be updated according to the 13.1 changes. Go to http://dxpr.es/15ikrJA for more details");r=this,i.appendTo(this.$root),t.localization.localizeNode(i),e=r._createComponents(i,[u,f]),n.each(e,function(n,t){var i=t._element();i.addClass("dx-hidden"),r._registerTemplateComponent(t),t._element().detach()})},_registerTemplateComponent:function(n){var r=this,e=n._element(),i=n.NAME,f=n.option(),u=f.name,t=r._templateMap[u]||{};t[i]=t[i]||[],t[i].push(n),r._templateMap[u]=t},getViewTemplateInfo:function(n){return this._templateMap[n][u][0].option()},_applyPartialViews:function(t){var i=this;this._createComponents(t,["dxViewPlaceholder"]),n.each(t.find(".dx-view-placeholder"),function(){var r=n(this),f=r.data("dxViewPlaceholder").option("viewName"),t=i._findTemplate(f,u);i._applyPartialViews(t),r.append(t),t.removeClass("dx-hidden")})},_ajaxImpl:function(){return n.ajax.apply(n,arguments)},_loadTemplates:function(){var r=this,u,f;return this._templateMap={},this._loadTemplatesFromMarkup(this.$root.children()),u=[],location.protocol.indexOf("wmapp")>=0&&(f=location.protocol+"www/"),n("head").find("link[rel='dx-template']").each(function(e,o){var s=n(o).attr("href"),h=r._ajaxImpl({url:(f||"")+s,isLocal:f?!0:i,success:function(n){r._loadTemplatesFromMarkup(t.utils.createMarkupFromString(n))},dataType:"html"});u.push(h)}),n.when.apply(n,u).done(function(){n.each(r._templateMap,function(t,i){n.each(i,function(n,t){r._filterTemplatesByDevice(t)})})})},_filterTemplatesByDevice:function(i){var u=t.utils.findBestMatches(this.device,i,function(n){return n.option()}),r;this._checkMatchedTemplates(u),r=u[0],n.each(i,function(n,t){t!=r&&(t._dispose(),t._element().remove())}),i.length=0,r&&i.push(r)},_checkMatchedTemplates:function(t){if(t.length>1){var i="Concurrent templates are found:\r\n";n.each(t,function(n,t){i+=t._element().attr("data-options")+"\r\n"}),i+="Target device:\r\n",i+=JSON.stringify(this.device);throw Error(i);}},_extendModelFormViewTemplate:function(n,t){this._extendModelFromViewData(n,t)},_ensureTemplates:function(n){this._ensureViewTemplate(n)},_ensureViewTemplate:function(n){return n.$viewTemplate=n.$viewTemplate||this.findViewTemplate(n.viewName)},_wrapViewDefaultContent:function(n){n.wrapInner('<div class="dx-full-height"><\/div>'),n.children().eq(0).dxContent({targetPlaceholder:"content"})},_initDefaultLayout:function(){this._$defaultLayoutTemplate=n('<div class="dx-full-height" data-options="dxLayout : { name: \'default\' } "> <div class="dx-full-height" data-options="dxContentPlaceholder : { name: \'content\' } " ><\/div> <\/div>')},_getDefaultLayoutTemplate:function(){var n=this._$defaultLayoutTemplate.clone();return this._createComponents(n),n},findLayoutTemplate:function(t){if(!t)return this._getDefaultLayoutTemplate();var i={layoutName:t};return this.layoutSelecting.fire(i),i.layout?n(i.layout):this._findTemplate(t,f)},_applyTemplate:function(n,t){var i=this;n.each(function(n,r){i.templateEngine.applyTemplate(r,t)})},_applyLayoutCore:function(t,r){(r===i||r.length===0)&&(r=this._getDefaultLayoutTemplate()),t.children(".dx-content").length===0&&this._wrapViewDefaultContent(t);var u=n().add(r).add(t),f=u.find(".dx-content");return n.each(f,function(){var t=n(this),r=t.data("dxContent").option("targetPlaceholder"),i=u.find(".dx-content-placeholder-"+r);i.empty(),i.append(t)}),f.filter(":not(.dx-content-placeholder .dx-content)").remove(),r}})}(jQuery,DevExpress),function(n,t){var f=t.framework,r=f.html,u="dx-viewport",e="__hidden-bag",o="dx-hidden-bag";r.HtmlApplication=f.Application.inherit({ctor:function(i){i=i||{},this.callBase(i),this._$root=n(i.rootNode||document.body),this._initViewPort(i.viewPort),this.device=i.device||t.devices.current(),this._navigationType=i.navigationType||i.defaultLayout,this._initHiddenBag(),this.viewEngine=i.viewEngine||new r.ViewEngine({$root:this._$root,device:this.device,templateEngine:i.templateEngine||new r.KnockoutJSTemplateEngine({navigationManager:this.navigationManager})}),this.components.push(this.viewEngine),this.viewRendered=n.Callbacks(),this._layoutControllers=i.layoutControllers||r.layoutControllers,this._availableLayoutControllers=[],this.resolveLayoutController=n.Callbacks()},_initViewPort:function(i){this._$viewPort=this._getViewPort(),i=i||{},t.devices.current().platform==="desktop"&&(i=n.extend({disabled:!0},i)),i.disabled||t.ui.initViewport(i),t.devices.attachCss(this._$viewPort),this._$viewPort.addClass(this._getColorSchemeClass())},_getViewPort:function(){var t=n("."+u);return t.length||(t=n("<div>").addClass(u).appendTo(this._$root)),t},_initHiddenBag:function(){this._$hiddenBag=this._getHiddenBag(this._$root,this._$viewPort)},_getHiddenBag:function(t,i){var r=n("#"+e);return r.length||(r=n("<div/>").addClass(o).attr("id",e).appendTo(t)),r.addClass((i.attr("class")||"").replace(u,"")),r},_showViewImpl:function(n,t){return this._activateLayoutController(n.layoutController),this._activeLayoutController.showView(n,t)},_setViewLoadingState:function(n,t){return this._activateLayoutController(n.layoutController),this._activeLayoutController.setViewLoadingState(n,t)},_resolveLayoutController:function(n){var t={viewInfo:n,layoutController:null,availableLayoutControllers:this._availableLayoutControllers};return this._processEvent("resolveLayoutController",t,n.model),t.layoutController||this._resolveLayoutControllerImpl(n)},_resolveLayoutControllerImpl:function(i){var f=i.viewTemplateInfo||{},u=n.extend({root:!i.canBack,navigationType:f.navigationType||f.layout||this._navigationType},t.devices.current()),r=t.utils.findBestMatches(u,this._availableLayoutControllers);if(!r.length)throw Error("The layout controller cannot be resolved. There are no appropriate layout controllers for the current context. Make sure you have the corresponding *.js references in your main *.html file.");if(r.length>1)throw Error("The layout controller cannot be resolved. Two or more layout controllers suit the current context. Make the layout controllers registration more specific.");if(r[0].navigationType!==u.navigationType)throw Error("The layout controller cannot be resolved. There are no appropriate layout controllers for the specified navigation type: '"+u.navigationType+"'. Make sure you have the corresponding *.js references in your main *.html file.");return r[0].controller},_activateLayoutController:function(n){var t=this;t._activeLayoutController!==n&&(t._activeLayoutController&&t._activeLayoutController.deactivate(),n.activate(),t._activeLayoutController=n)},init:function(){var t=this,n=this.callBase();return n.done(function(){t._initLayoutControllers()}),n},_disposeView:function(n){n.layoutController.disposeView&&n.layoutController.disposeView(n),this.callBase(n)},viewPort:function(){return this._$viewPort},_getThemeClasses:function(n){var t={ios:"dx-theme-ios dx-theme-ios-typography",android:"dx-theme-android dx-theme-android-typography",desktop:"dx-theme-desktop dx-theme-desktop-typography",win8:"dx-theme-win8 dx-theme-win8-typography",win8phone:"dx-theme-win8 dx-theme-win8-typography",tizen:"dx-theme-tizen dx-theme-tizen-typography",generic:"dx-theme-generic dx-theme-generic-typography"};return t[n.platform]},_createViewInfo:function(n){var t=this.callBase(n);return t.viewTemplateInfo=this.viewEngine.getViewTemplateInfo(t.viewName)||{},t.layoutController=this._resolveLayoutController(t),t},_createViewModel:function(n){var i,r,t;this.callBase(n),i=n.viewTemplateInfo,r=n.model;for(t in i)t in r||(r[t]=i[t])},_checklayoutControllersRegistration:function(t){var i=[];if(n.each(t,function(n,t){t.controller||i.push(n)}),i.length!==0)throw new Error("A deprecated way is used for the registration of the following layout controllers: '"+i.join("' ,'")+"'.\r\nFor details, read the http://dxpr.es/1bTjfj1");},_initLayoutControllers:function(){var i=this;i._checklayoutControllersRegistration(i._layoutControllers),n.each(i._layoutControllers,function(n,r){var u=r.controller;t.utils.findBestMatches(t.devices.current(),[r]).length&&(i._availableLayoutControllers.push(r),u.init&&u.init({app:i,$viewPort:i._$viewPort,$hiddenBag:i._$hiddenBag,navigationManager:i.navigationManager,commandMapping:i.commandMapping,viewEngine:i.viewEngine,navigation:i.navigation}),u.viewReleased&&u.viewReleased.add(function(n){i._onViewReleased(n)}),u.viewRendered&&u.viewRendered.add(function(n){i._processEvent("viewRendered",n,n.model)}))})},_onViewReleased:function(n){this._onViewHidden(n),this._viewCache.hasView(n.key)||this._onViewRemoved(n)},_getColorSchemeClass:function(){var i=n("<div>").addClass("dx-color-scheme").appendTo(this._$viewPort),r="font-family",t=i.css(r).replace(/^['"]|['"]$/g,"");if(i.remove(),t&&t!=="#")return"dx-color-scheme-"+t}})}(jQuery,DevExpress),function(n,t){n.fn.extend({unwrapInner:function(t){return this.each(function(){var i=this,r=n(i).children(t);r.each(function(){var t=n(this);t.contents().appendTo(i),t.remove()})})}});var i=400,r=t.Class.inherit({ctor:function(n,t){this.container=n,this.options=t},exec:function(){var t=this,i=t.options,u=i.source,r=i.destination,f=u,o=r,e=t._getTransitionInnerElement(r);return this._finalize=function(){},t._animate(n.extend({},i,{source:f,destination:e}))},finalize:function(){if(!this._finalize)throw Error('The "exec" method should be called before the "finalize" one');this._finalize()},_getTransitionInnerElement:function(n){return n.children(".dx-active-view:not(.dx-transition-source)")},_animate:function(){return(new n.Deferred).resolve().promise()}}),u=r.inherit({_animate:function(i){var u=i.source,f=i.destination,r=this.container.width();return t.fx.animate(u,{type:"slide",from:{left:0},to:{left:0},duration:0}),t.fx.animate(f,{type:"slide",from:{left:-r},to:{left:-r},duration:0}),n.Deferred().resolve().promise()}}),f=r.inherit({_animate:function(r){var e,o;if(r.direction==="none")return alert("none"),n.Deferred().resolve().promise();var s=r.source,f=r.destination,u=this.container.width(),h=f.position().left;return r.direction==="backward"&&(u=-u),e=t.fx.animate(s,{type:"slide",from:{left:u},to:{left:0},duration:i}),o=t.fx.animate(f,{type:"slide",from:{left:0},to:{left:-u},duration:i}),n.when(o,e)}}),e=r.inherit({_animate:function(r){var a,v;if(r.direction==="none")return alert("none"),n.Deferred().resolve().promise();var f=r.source,u=r.destination,e=this.container.width(),l=e/5,o,s,h,c,w=u.position().left,y=f.css("z-index"),p=u.css("z-index");return r.direction==="backward"?(o=-l,s=0,h=0,c=e,f.css("z-index",1),u.css("z-index",2)):(o=e,s=0,h=0,c=-l,f.css("z-index",2),u.css("z-index",1)),a=t.fx.animate(f,{type:"slide",from:{left:o},to:{left:s},duration:i}),v=t.fx.animate(u,{type:"slide",from:{left:h},to:{left:c},duration:i}),n.when(v,a).done(function(){f.css("z-index",y),u.css("z-index",p)})}}),o=r.inherit({_animate:function(r){var s=r.source,o=r.destination,h=o.position().top,u=o.position().left,e=this.container.width(),f;return r.direction==="backward"&&(e=-e),f=[],r.direction==="forward"?f.push(t.fx.animate(s,{type:"slide",from:{top:h,left:e+u,"z-index":1},to:{left:u},duration:i})):(f.push(t.fx.animate(s,{type:"slide",from:{left:u,"z-index":1},to:{left:u},duration:i})),f.push(t.fx.animate(o,{type:"slide",from:{"z-index":2},to:{left:u-e},duration:i}))),n.when.apply(n,f)}}),s=r.inherit({_animate:function(t){var r=t.source,f=t.destination,u=new n.Deferred;return r.css({opacity:0}),f.animate({opacity:0},i),r.animate({opacity:1},i,function(){u.resolve()}),u.promise()}});r.create=function(n,i){var h=i.direction==="none"?"none":i.type,r=t.devices.current();switch(h){case"none":return new u(n,i);case"slide":return r.platform==="ios"&&r.version[0]===7?new e(n,i):new f(n,i);case"fade":return new s(n,i);case"overflow":return new o(n,i);default:throw Error(t.utils.formatString('Unknown transition type "{0}"',i.type));}},t.framework.html.TransitionExecutor=r}(jQuery,DevExpress),DevExpress.MOD_FRAMEWORK=!0}