/* Sirius.js v1.3.3 (c) 2014-2020 fntz license: MIT */ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var b=0;return function(){return b=f}},"es6","es3");var Adapter,ComputedField,Sirius,VanillaJsAdapter;Sirius={VERSION:"1.0.3"}; Adapter=function(){var a=function(){};a.prototype.bind=function(a,c,d,e){};a.prototype.off=function(a,c,d){};a.prototype.fire=function(a,c,d){};a.prototype.get_properties=function(a,c){};a.prototype.get_attr=function(a,c){};a.prototype.swap=function(a,c){};a.prototype.append=function(a,c){};a.prototype.prepend=function(a,c){};a.prototype.clear=function(a){};a.prototype.set_attr=function(a,c,d){};a.prototype.all=function(a){return"object"===typeof a&&1===a.nodeType||9===a.nodeType?a:document.querySelectorAll(a)}; a.prototype.get=function(a){return document.querySelector(a)};a.prototype.as_string=function(a){if(a===document)return"document";if("[object String]"===Object.prototype.toString.call(a))return a;try{if(Array.isArray(a)&&1=b&&b>g;c=0<=g?++b:--b)a.item(c).addEventListener(d,e)};a.prototype.off=function(a,c,d){var b,f;a=this.all(a);var g=b=0;for(f=a.length;0<=f?0<=b&&b=b&&b>f;g=0<=f?++b:--b)a.item(g).removeEventListener(c,d)};a.prototype.fire=function(a,c,d){for(var b=[],f=2;f=a.weight};b.prototype.get_value=function(){return this.value};a.Debug=new b("debug",10);a.Info=new b("info",20);a.Warn=new b("warn",30);a.Error=new b("error",40);a.NoLog=new b("no-log",100);a.Levels=[a.Debug,a.Info,a.Warn,a.Error];a.Default={enable_logging:!1,minimum_log_level:a.Debug.get_value(),default_log_function:function(a,b,e){return console&&console.log?console.log(a+" ["+b+"]: "+e):alert("Not supported `console`. You should define own `logger` function for a Sirius.Application")}}; a.Configuration={minimum_log_level:null,log_function:null,enable_logging:null,_is_initialized:!1,configure:function(b){b=void 0===b?{}:b;var c;var e=b.enable_logging||a.Default.enable_logging;if((c=b.minimum_log_level)&&!this.is_valid_level(c))throw b=a.Levels.map(function(a){return a.get_value()}),Error("Invalid 'minimum_log_level' value: '"+c+"', available options are: "+b.join(", "));c=c||a.Default.minimum_log_level;this.minimum_log_level=e?this._get_logger_from_input(c):a.NoLog;this.enable_logging= e;if(b.log_to){if(!Sirius.Utils.is_function(b.log_to))throw Error("'log_to' argument must be a function");b=b.log_to}else b=a.Default.default_log_function;this.log_function=b;return this._is_initialized=!0},is_valid_level:function(b){return 0!==a.Levels.filter(function(a){return a.get_value()===b}).length},_get_logger_from_input:function(b){var c;return null!=b&&Sirius.Utils.is_string(b)?(c=a.Levels.filter(function(a){return a.get_value()===b.toLowerCase()}))&&0===c.length?a.Debug:c[0]:a.Debug}}; return a}.call(this);Sirius.Internal={DefaultProperty:"text",Errors:"errors"};var lib$sirius$classdecl$var1=function(a){this.value=a;this.fn=function(){}};lib$sirius$classdecl$var1.prototype.and_then=function(a){return null!=this.value?a(this.value):this.fn=a};lib$sirius$classdecl$var1.prototype.set_value=function(a){this.value=a;return this.fn(a)};Sirius.Promise=lib$sirius$classdecl$var1;var lib$sirius$classdecl$var2=function(){}; lib$sirius$classdecl$var2.is_function=function(a){return"[object Function]"===Object.prototype.toString.call(a)};lib$sirius$classdecl$var2.is_string=function(a){return"[object String]"===Object.prototype.toString.call(a)};lib$sirius$classdecl$var2.is_array=function(a){return"[object Array]"===Object.prototype.toString.call(a)};lib$sirius$classdecl$var2.is_object=function(a){return null!==a&&"object"===typeof a};lib$sirius$classdecl$var2.camelize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)}; lib$sirius$classdecl$var2.underscore=function(a){return a.replace(/([A-Z])/g,"_$1").replace(/^_/,"").toLowerCase()};lib$sirius$classdecl$var2.ie_version=function(){var a=window.navigator.userAgent;var b=a.indexOf("MSIE ");var c=a.indexOf("Trident/");return 0d;){d++;var e=$jscomp.makeIterator([this.parts[d],c[d]]);var f=e.next().value;e=e.next().value;if(!f||!e)break;if(Sirius.Internal.RoutePart._is_named_part(f))a.push(c[d]); else if(Sirius.Internal.RoutePart._is_regexp_part(f)){f=new RegExp("^"+f+"$");if(!f.test(e))return b.fail();a.push(f.exec(e)[0])}else{if(Sirius.Internal.RoutePart._is_end_part(f)){a=a.concat(c.slice(d));break}if(f!==e)return b.fail()}}return b.with_args(a).success()};Sirius.Internal.RoutePart=lib$sirius$classdecl$var5; var lib$sirius$classdecl$var6=function(a,b){b=void 0===b?function(a){return a}:b;this.logger=Sirius.Application.get_logger(this.constructor.name);var c;if(!(c=a.controller))throw Error("Params must contain a Controller definition");var d=a.action;if(Sirius.Utils.is_string(d))var e=c[d];else if(Sirius.Utils.is_function(d))e=d;else throw b="Action must be a string or a function",this.logger.error(b),Error(b);if(!e)throw b="The action '"+d+"' was not found in the controller",this.logger.error("ControlFlow: "+ b),Error(b);this.action=b(e);b=function(b,e){e=void 0===e?!1:e;var f=a[b];var g=c[b+"_"+d];var l=function(a){return Error("The "+a+" method must be a string or a function")};if(Sirius.Utils.is_string(f)){e=c[f];if(!Sirius.Utils.is_function(e))throw l(Sirius.Utils.camelize(b));return e}if(Sirius.Utils.is_function(f))return f;if(f)throw l(Sirius.Utils.camelize(b));if(g){if(!Sirius.Utils.is_function(g))throw l(Sirius.Utils.camelize(b));return g}return e?null:function(){}};this.before=b("before");this.after= b("after");this.guard=b("guard",!0);this.data=a.data||[];this.controller=c};lib$sirius$classdecl$var6.prototype.handle_event=function(a,b){for(var c=[],d=1;d "+e);var f=new Sirius.Internal.RoutePart(f);e=Sirius.Utils.is_function(e)?b(e):new Sirius.Internal.ControlFlow(e, b);d.push([f,e])}}return d},_get_plain_routes:function(a,b,c){var d=[];for(f in a){var e=a[f];if(this._is_plain_route(f)){c.debug("define route: '"+f+"' ~> "+e);var f=new Sirius.Internal.RoutePart(f);e=Sirius.Utils.is_function(e)?b(e):new Sirius.Internal.ControlFlow(e,b);d.push([f,e])}}return d},_convert_to_hash_routing:function(a,b,c){if(a.is_need_redirect_to_hash&&!a.has_push_state_support){c.info("Convert plain routing into hash routing");var d=[];c={};for(e in b){a=b[e];this._is_hash_route(e)&& d.push(e);if(this._is_plain_route(e)){var e="#"+e;-1!==d.indexOf(e)&&this.logger.warn("Routes already defined '"+e+"' url")}c[e]=a}b=c}return b},_try_to_call:function(a,b){var c;var d=!1;var e=0;for(c=a.length;e=d&&a<=c)return!0;this.msg="Required length in range [0.."+c+"], given: "+a;return!1}this.msg="Given null for LengthValidator";return!1};Sirius.LengthValidator=lib$sirius$classdecl$var8; var lib$sirius$classdecl$var9=function(){return Sirius.Validator.apply(this,arguments)||this};$jscomp.inherits(lib$sirius$classdecl$var9,Sirius.Validator);lib$sirius$classdecl$var9.prototype.validate=function(a,b){this.logger.info("ExclusionValidator: start validate '"+a+"'");if(-1===(b.within||[]).indexOf(a))return!0;this.msg="Value "+a+" reserved";return!1};Sirius.ExclusionValidator=lib$sirius$classdecl$var9; var lib$sirius$classdecl$var10=function(){return Sirius.Validator.apply(this,arguments)||this};$jscomp.inherits(lib$sirius$classdecl$var10,Sirius.Validator);lib$sirius$classdecl$var10.prototype.validate=function(a,b){this.logger.info("InclusionValidator: start validate '"+a+"'");b=b.within||[];if(-1d}).map(function(a){return--b["index_"+c][a]})}))};a.prototype.index=function(a){var b,d;var e=null;var f=this._array;var g=b=0;for(d=f.length;b "+this._transform+" ~> "+b+"#"+this._attribute};lib$sirius$classdecl$var24.build=function(a){return new Sirius.FieldMaker(a)};Sirius.FieldMaker=lib$sirius$classdecl$var24; var lib$sirius$classdecl$var25=function(a,b){this._from=a;this._to=b;this.fields=[];this.current=null;this.guid="Materializer#"+Sirius.Utils.guid();this.logger=Sirius.Application.get_logger(this.constructor.name)};lib$sirius$classdecl$var25.prototype.field=function(a){null!=this.current&&this.current.normalize();this.current=Sirius.FieldMaker.build(a);this.fields.push(this.current);return this}; lib$sirius$classdecl$var25.prototype._zoom_with=function(a,b){return Sirius.Utils.is_string(b)?a.zoom(b):b};lib$sirius$classdecl$var25.prototype.dump=function(){return this.fields.map(function(a){return a.to_string()}).join("\n")};lib$sirius$classdecl$var25.prototype.to_string=function(){return this.dump()};lib$sirius$classdecl$var25.prototype.get_from=function(){return this._from};lib$sirius$classdecl$var25.prototype.get_to=function(){return this._to()}; lib$sirius$classdecl$var25.prototype.has_to=function(){return null!=this._to};lib$sirius$classdecl$var25.prototype.fields_map=function(){var a;var b={};var c=this.fields;var d=0;for(a=c.length;d