From 5fd50040d3b6c1f726eba026938dca47d801ddec Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 15:31:47 -0800 Subject: [PATCH 1/7] Fixed weird migration --- ..._02_19_070119_add_remember_token_to_users_table.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/database/migrations/2016_02_19_070119_add_remember_token_to_users_table.php b/database/migrations/2016_02_19_070119_add_remember_token_to_users_table.php index d5595ac1d..6270018e5 100644 --- a/database/migrations/2016_02_19_070119_add_remember_token_to_users_table.php +++ b/database/migrations/2016_02_19_070119_add_remember_token_to_users_table.php @@ -12,9 +12,11 @@ class AddRememberTokenToUsersTable extends Migration */ public function up() { - Schema::table('users', function (Blueprint $table) { - $table->text('remember_token')->nullable()->default(NULL); - }); + if (!Schema::hasColumn('users', 'remember_token')) { + Schema::table('users', function (Blueprint $table) { + $table->text('remember_token')->nullable()->default(null); + }); + } } /** @@ -25,7 +27,7 @@ class AddRememberTokenToUsersTable extends Migration public function down() { Schema::table('users', function (Blueprint $table) { - // + $table->dropColumn('remember_token'); }); } } From f44b03f5a9fc78f2d447ce11e0de6dd24cc25d6d Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 15:36:21 -0800 Subject: [PATCH 2/7] Updated sticky table header extenion --- .../bootstrap-table-sticky-header.js | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js b/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js index 460baf130..d9fc6c5bd 100755 --- a/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js +++ b/public/js/extensions/sticky-header/bootstrap-table-sticky-header.js @@ -1,8 +1,9 @@ /** * @author vincent loh - * @version: v1.0.0 + * @version: v1.1.0 * https://github.com/vinzloh/bootstrap-table/ * Sticky header for bootstrap-table + * @update J Manuel Corona */ (function ($) { @@ -13,6 +14,12 @@ stickyHeader: false }); + var bootstrapVersion = 3; + try { + bootstrapVersion = parseInt($.fn.dropdown.Constructor.VERSION, 10); + } catch (e) { } + var hidden_class = bootstrapVersion > 3 ? 'd-none' : 'hidden'; + var BootstrapTable = $.fn.bootstrapTable.Constructor, _initHeader = BootstrapTable.prototype.initHeader; @@ -20,17 +27,19 @@ var that = this; _initHeader.apply(this, Array.prototype.slice.apply(arguments)); - if (!this.options.stickyHeader) return; + if (!this.options.stickyHeader) { + return; + } - var table = this.$tableBody.find('table'); - var table_id = table.attr('id'); - var header_id = table.attr('id') + '-sticky-header'; - var sticky_header_container_id = header_id +'-sticky-header-container'; - var anchor_begin_id = header_id +'_sticky_anchor_begin'; - var anchor_end_id = header_id +'_sticky_anchor_end'; + var table = this.$tableBody.find('table'), + table_id = table.attr('id'), + header_id = table.attr('id') + '-sticky-header', + sticky_header_container_id = header_id +'-sticky-header-container', + anchor_begin_id = header_id +'_sticky_anchor_begin', + anchor_end_id = header_id +'_sticky_anchor_end'; // add begin and end anchors to track table position - table.before(sprintf('', sticky_header_container_id)); + table.before(sprintf('
', sticky_header_container_id, hidden_class)); table.before(sprintf('
', anchor_begin_id)); table.after(sprintf('
', anchor_end_id)); @@ -38,7 +47,7 @@ // clone header just once, to be used as sticky header // deep clone header. using source header affects tbody>td width - this.$stickyHeader = $($('#'+header_id).clone()); + this.$stickyHeader = $($('#'+header_id).clone(true, true)); // avoid id conflict this.$stickyHeader.removeAttr('id'); @@ -48,7 +57,12 @@ // render sticky when table scroll left-right table.closest('.fixed-table-container').find('.fixed-table-body').on('scroll.'+table_id, table, match_position_x); - function render_sticky_header(event){ + this.$el.on('all.bs.table', function (e) { + that.$stickyHeader = $($('#'+header_id).clone(true, true)); + that.$stickyHeader.removeAttr('id'); + }); + + function render_sticky_header(event) { var table = event.data; var table_header_id = table.find('thead').attr('id'); // console.log('render_sticky_header for > '+table_header_id); @@ -75,7 +89,7 @@ $(item).css('min-width', $('#'+table_header_id+' tr').eq(0).find('th').eq(index).css('width')); }); // match bootstrap table style - $("#"+sticky_header_container_id).removeClass('hidden').addClass("fix-sticky fixed-table-container") ; + $("#"+sticky_header_container_id).removeClass(hidden_class).addClass("fix-sticky fixed-table-container") ; // stick it in position $("#"+sticky_header_container_id).css('top', header_height + 'px'); // create scrollable container for header @@ -86,7 +100,7 @@ match_position_x(event); } else { // hide sticky - $("#"+sticky_header_container_id).removeClass("fix-sticky").addClass('hidden'); + $("#"+sticky_header_container_id).removeClass("fix-sticky").addClass(hidden_class); } } From 991f182f89b2c886c23d425b0c54d7829ef7d07f Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 15:36:33 -0800 Subject: [PATCH 3/7] Added drop table to migration --- .../2016_02_19_073625_create_password_resets_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2016_02_19_073625_create_password_resets_table.php b/database/migrations/2016_02_19_073625_create_password_resets_table.php index 30637e15a..de4a4a9c5 100644 --- a/database/migrations/2016_02_19_073625_create_password_resets_table.php +++ b/database/migrations/2016_02_19_073625_create_password_resets_table.php @@ -32,6 +32,6 @@ class CreatePasswordResetsTable extends Migration */ public function down() { - // + Schema::drop('password_resets'); } } From 589c3a2be348c10476847a5e4555657d94550c03 Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 17:45:27 -0800 Subject: [PATCH 4/7] Fixed #4668 - wrong gate on manufacturer save --- app/Http/Controllers/ManufacturersController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ManufacturersController.php b/app/Http/Controllers/ManufacturersController.php index 39a8f7acf..323dfcbdf 100755 --- a/app/Http/Controllers/ManufacturersController.php +++ b/app/Http/Controllers/ManufacturersController.php @@ -67,7 +67,7 @@ class ManufacturersController extends Controller public function store(ImageUploadRequest $request) { - $this->authorize('edit', Manufacturer::class); + $this->authorize('create', Manufacturer::class); $manufacturer = new Manufacturer; $manufacturer->name = $request->input('name'); $manufacturer->user_id = Auth::user()->id; From 4c4dee0bf1e1b79610a9252d8aa555847005b62a Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 17:45:40 -0800 Subject: [PATCH 5/7] Use dropifexists for rollback --- .../2016_02_19_073625_create_password_resets_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2016_02_19_073625_create_password_resets_table.php b/database/migrations/2016_02_19_073625_create_password_resets_table.php index de4a4a9c5..113175711 100644 --- a/database/migrations/2016_02_19_073625_create_password_resets_table.php +++ b/database/migrations/2016_02_19_073625_create_password_resets_table.php @@ -32,6 +32,6 @@ class CreatePasswordResetsTable extends Migration */ public function down() { - Schema::drop('password_resets'); + Schema::dropIfExists('password_resets'); } } From ba5057181e688b896983785c50ec94ec302b1f19 Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 18:04:11 -0800 Subject: [PATCH 6/7] Check for model in asset view --- resources/views/hardware/view.blade.php | 55 ++++++++++++++++--------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 1e4120b46..666e43214 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -33,7 +33,16 @@ @section('content')
- + + @if (!$asset->model) +
+
+

NO MODEL ASSOCIATED

+

This will break things in weird and horrible ways. Edit this asset now to assign it a model.

+
+
+ @endif + @if ($asset->deleted_at!='')
@@ -148,7 +157,7 @@ @endif - @if ($asset->model->manufacturer) + @if (($asset->model) && ($asset->model->manufacturer)) {{ trans('admin/hardware/form.manufacturer') }} @@ -162,21 +171,21 @@
  • {{ $asset->model->manufacturer->name }}
  • @endcan - @if ($asset->model->manufacturer->url) + @if (($asset->model) && ($asset->model->manufacturer->url))
  • {{ $asset->model->manufacturer->url }}
  • @endif - @if ($asset->model->manufacturer->support_url) + @if (($asset->model) && ($asset->model->manufacturer->support_url))
  • {{ $asset->model->manufacturer->support_url }}
  • @endif - @if ($asset->model->manufacturer->support_phone) + @if (($asset->model) && ($asset->model->manufacturer->support_phone))
  • {{ $asset->model->manufacturer->support_phone }}
  • @endif - @if ($asset->model->manufacturer->support_email) + @if (($asset->model) && ($asset->model->manufacturer->support_email))
  • {{ $asset->model->manufacturer->support_email }}
  • @endif @@ -188,7 +197,7 @@ {{ trans('general.category') }} - @if ($asset->model->category) + @if (($asset->model) && ($asset->model->category)) @can('view', \App\Models\Category::class) @@ -208,15 +217,21 @@ - {{ trans('admin/hardware/form.model') }} + {{ trans('admin/hardware/form.model') }} + - @can('view', \App\Models\AssetModel::class) - - {{ $asset->model->name }} - - @else - {{ $asset->model->name }} - @endcan + + @if ($asset->model) + + @can('view', \App\Models\AssetModel::class) + + {{ $asset->model->name }} + + @else + {{ $asset->model->name }} + @endcan + + @endif @@ -224,12 +239,12 @@ {{ trans('admin/models/table.modelnumber') }} - {{ $asset->model->model_number }} + {{ ($asset->model) ? $asset->model->model_number : ''}} - @if ($asset->model->fieldset) + @if (($asset->model) && ($asset->model->fieldset)) @foreach($asset->model->fieldset->fields as $field) @@ -326,7 +341,7 @@ @endif - @if ($asset->depreciation) + @if (($asset->model) && ($asset->depreciation)) {{ trans('general.depreciation') }} @@ -352,7 +367,7 @@ @endif - @if ($asset->model->eol) + @if (($asset->model) && ($asset->model->eol)) {{ trans('admin/hardware/form.eol_rate') }} @@ -448,7 +463,7 @@
    @if ($asset->image) - @elseif ($asset->model->image!='') + @elseif (($asset->model) && ($asset->model->image!='')) @endif From d8fc50c351870d5ca798bad31236e2142adbaf92 Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 16 Feb 2018 21:17:41 -0800 Subject: [PATCH 7/7] =?UTF-8?q?Fixed=20#5033=20-=20use=20PHP=E2=80=99s=20m?= =?UTF-8?q?ax=20filesize=20for=20image=20uploads?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Helpers/Helper.php | 57 +++++++++++++++++++ public/js/build/all.js | 2 +- public/js/dist/all.js | 2 +- public/mix-manifest.json | 4 +- resources/assets/js/snipeit.js | 19 +++++++ resources/lang/en/general.php | 2 +- resources/views/layouts/default.blade.php | 2 + .../forms/edit/image-upload.blade.php | 8 +-- .../partials/forms/edit/submit.blade.php | 4 +- 9 files changed, 89 insertions(+), 11 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 67f32b3f5..746ade929 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -731,5 +731,62 @@ class Helper } + // Nicked from Drupal :) + // Returns a file size limit in bytes based on the PHP upload_max_filesize + // and post_max_size + public static function file_upload_max_size() { + static $max_size = -1; + + if ($max_size < 0) { + // Start with post_max_size. + $post_max_size = Helper::parse_size(ini_get('post_max_size')); + if ($post_max_size > 0) { + $max_size = $post_max_size; + } + + // If upload_max_size is less, then reduce. Except if upload_max_size is + // zero, which indicates no limit. + $upload_max = Helper::parse_size(ini_get('upload_max_filesize')); + if ($upload_max > 0 && $upload_max < $max_size) { + $max_size = $upload_max; + } + } + return $max_size; + } + + public static function file_upload_max_size_readable() { + static $max_size = -1; + + if ($max_size < 0) { + // Start with post_max_size. + $post_max_size = Helper::parse_size(ini_get('post_max_size')); + if ($post_max_size > 0) { + $max_size = ini_get('post_max_size'); + } + + // If upload_max_size is less, then reduce. Except if upload_max_size is + // zero, which indicates no limit. + $upload_max = Helper::parse_size(ini_get('upload_max_filesize')); + if ($upload_max > 0 && $upload_max < $max_size) { + $max_size = ini_get('upload_max_filesize'); + } + } + return $max_size; + } + + public static function parse_size($size) { + $unit = preg_replace('/[^bkmgtpezy]/i', '', $size); // Remove the non-unit characters from the size. + $size = preg_replace('/[^0-9\.]/', '', $size); // Remove the non-numeric characters from the size. + if ($unit) { + // Find the position of the unit in the ordered string which is the power of magnitude to multiply a kilobyte by. + return round($size * pow(1024, stripos('bkmgtpezy', $unit[0]))); + } + else { + return round($size); + } + } + + + } diff --git a/public/js/build/all.js b/public/js/build/all.js index c17503e09..5d09311b2 100644 --- a/public/js/build/all.js +++ b/public/js/build/all.js @@ -23,4 +23,4 @@ var n=this;t.call(this,e,i),e.on("select",function(t){n._selectTriggered(t)}),e. f>=b.outerHeight())return void(y=!0);T.stop(!0,!0).fadeIn("fast"),s.railVisible&&D.stop(!0,!0).fadeIn("fast")}function l(){s.alwaysVisible||(d=setTimeout(function(){s.disableFadeOut&&u||c||h||(T.fadeOut("slow"),D.fadeOut("slow"))},1e3))}var u,c,h,d,p,f,g,m,v="
    ",_=30,y=!1,b=e(this);if(b.parent().hasClass(s.wrapperClass)){var w=b.scrollTop();if(T=b.siblings("."+s.barClass),D=b.siblings("."+s.railClass),r(),e.isPlainObject(i)){if("height"in i&&"auto"==i.height){b.parent().css("height","auto"),b.css("height","auto");var x=b.parent().parent().height();b.parent().css("height",x),b.css("height",x)}else if("height"in i){var C=i.height;b.parent().css("height",C),b.css("height",C)}if("scrollTo"in i)w=parseInt(s.scrollTo);else if("scrollBy"in i)w+=parseInt(s.scrollBy);else if("destroy"in i)return T.remove(),D.remove(),void b.unwrap();o(w,!1,!0)}}else if(!(e.isPlainObject(i)&&"destroy"in i)){s.height="auto"==s.height?b.parent().height():s.height;var k=e(v).addClass(s.wrapperClass).css({position:"relative",overflow:"hidden",width:s.width,height:s.height});b.css({overflow:"hidden",width:s.width,height:s.height});var D=e(v).addClass(s.railClass).css({width:s.size,height:"100%",position:"absolute",top:0,display:s.alwaysVisible&&s.railVisible?"block":"none","border-radius":s.railBorderRadius,background:s.railColor,opacity:s.railOpacity,zIndex:90}),T=e(v).addClass(s.barClass).css({background:s.color,width:s.size,position:"absolute",top:0,opacity:s.opacity,display:s.alwaysVisible?"block":"none","border-radius":s.borderRadius,BorderRadius:s.borderRadius,MozBorderRadius:s.borderRadius,WebkitBorderRadius:s.borderRadius,zIndex:99}),S="right"==s.position?{right:s.distance}:{left:s.distance};D.css(S),T.css(S),b.wrap(k),b.parent().append(T),b.parent().append(D),s.railDraggable&&T.bind("mousedown",function(i){var n=e(document);return h=!0,t=parseFloat(T.css("top")),pageY=i.pageY,n.bind("mousemove.slimscroll",function(e){currTop=t+e.pageY-pageY,T.css("top",currTop),o(0,T.position().top,!1)}),n.bind("mouseup.slimscroll",function(t){h=!1,l(),n.unbind(".slimscroll")}),!1}).bind("selectstart.slimscroll",function(t){return t.stopPropagation(),t.preventDefault(),!1}),D.hover(function(){a()},function(){l()}),T.hover(function(){c=!0},function(){c=!1}),b.hover(function(){u=!0,a(),l()},function(){u=!1,l()}),b.bind("touchstart",function(t,e){t.originalEvent.touches.length&&(p=t.originalEvent.touches[0].pageY)}),b.bind("touchmove",function(t){if(y||t.originalEvent.preventDefault(),t.originalEvent.touches.length){o((p-t.originalEvent.touches[0].pageY)/s.touchScrollStep,!0),p=t.originalEvent.touches[0].pageY}}),r(),"bottom"===s.start?(T.css({top:b.outerHeight()-T.outerHeight()}),o(0,!0)):"top"!==s.start&&(o(e(s.start).position().top,null,!0),s.alwaysVisible||T.hide()),function(t){window.addEventListener?(t.addEventListener("DOMMouseScroll",n,!1),t.addEventListener("mousewheel",n,!1)):document.attachEvent("onmousewheel",n)}(this)}}),this}}),e.fn.extend({slimscroll:e.fn.slimScroll})}(jQuery),function(t,e){"use strict";t.ajaxPrefilter(function(t,e,i){if(t.iframe)return t.originalURL=t.url,"iframe"}),t.ajaxTransport("iframe",function(e,i,n){function s(){l.each(function(e,i){var n=t(i);n.data("clone").replaceWith(n)}),o.remove(),r.one("load",function(){r.remove()}),r.attr("src","javascript:false;")}var o=null,r=null,a="iframe-"+t.now(),l=t(e.files).filter(":file:enabled"),u=null;if(e.dataTypes.shift(),e.data=i.data,l.length)return o=t("
    ").hide().attr({action:e.originalURL,target:a}),"string"==typeof e.data&&e.data.length>0&&t.error("data must not be serialized"),t.each(e.data||{},function(e,i){t.isPlainObject(i)&&(e=i.name,i=i.value),t("").attr({name:e,value:i}).appendTo(o)}),t("").appendTo(o),u=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+("*"!==e.dataTypes[0]?", */*; q=0.01":""):e.accepts["*"],t("").attr("value",u).appendTo(o),l.after(function(e){var i=t(this),n=i.clone().prop("disabled",!0);return i.data("clone",n),n}).next(),l.appendTo(o),{send:function(e,i){r=t(""),r.one("load",function(){r.one("load",function(){var t=this.contentWindow?this.contentWindow.document:this.contentDocument?this.contentDocument:this.document,e=t.documentElement?t.documentElement:t.body,n=e.getElementsByTagName("textarea")[0],o=n&&n.getAttribute("data-type")||null,r=n&&n.getAttribute("data-status")||200,a=n&&n.getAttribute("data-statusText")||"OK",l={html:e.innerHTML,text:o?n.value:e?e.textContent||e.innerText:null};s(),i(r,a,l,o?"Content-Type: "+o:null)}),o[0].submit()}),t("body").append(o,r)},abort:function(){null!==r&&(r.unbind("load").attr("src","javascript:false;"),s())}}})}(jQuery),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery-ui/ui/widget"],t):"object"==typeof exports?t(require("jquery"),require("./vendor/jquery.ui.widget")):t(window.jQuery)}(function(t){"use strict";function e(e){var i="dragover"===e;return function(n){n.dataTransfer=n.originalEvent&&n.originalEvent.dataTransfer;var s=n.dataTransfer;s&&-1!==t.inArray("Files",s.types)&&!1!==this._trigger(e,t.Event(e,{delegatedEvent:n}))&&(n.preventDefault(),i&&(s.dropEffect="copy"))}}t.support.fileInput=!(new RegExp("(Android (1\\.[0156]|2\\.[01]))|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)|(w(eb)?OSBrowser)|(webOS)|(Kindle/(1\\.0|2\\.[05]|3\\.0))").test(window.navigator.userAgent)||t('').prop("disabled")),t.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),t.support.xhrFormDataFileUpload=!!window.FormData,t.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),t.widget("blueimp.fileupload",{options:{dropZone:t(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(e,i){return e=this.messages[e]||e.toString(),i&&t.each(i,function(t,i){e=e.replace("{"+t+"}",i)}),e},formData:function(t){return t.serializeArray()},add:function(e,i){if(e.isDefaultPrevented())return!1;(i.autoUpload||!1!==i.autoUpload&&t(this).fileupload("option","autoUpload"))&&i.process().done(function(){i.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:t.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(t,e,i){var n=t-this.timestamp;return(!this.bitrate||!i||n>i)&&(this.bitrate=(e-this.loaded)*(1e3/n)*8,this.loaded=e,this.timestamp=t),this.bitrate}},_isXHRUpload:function(e){return!e.forceIframeTransport&&(!e.multipart&&t.support.xhrFileUpload||t.support.xhrFormDataFileUpload)},_getFormData:function(e){var i;return"function"===t.type(e.formData)?e.formData(e.form):t.isArray(e.formData)?e.formData:"object"===t.type(e.formData)?(i=[],t.each(e.formData,function(t,e){i.push({name:t,value:e})}),i):[]},_getTotal:function(e){var i=0;return t.each(e,function(t,e){i+=e.size||1}),i},_initProgressObject:function(e){var i={loaded:0,total:0,bitrate:0};e._progress?t.extend(e._progress,i):e._progress=i},_initResponseObject:function(t){var e;if(t._response)for(e in t._response)t._response.hasOwnProperty(e)&&delete t._response[e];else t._response={}},_onProgress:function(e,i){if(e.lengthComputable){var n,s=Date.now?Date.now():(new Date).getTime();if(i._time&&i.progressInterval&&s-i._time").prop("href",e.url).prop("host");e.dataType="iframe "+(e.dataType||""),e.formData=this._getFormData(e),e.redirect&&i&&i!==location.host&&e.formData.push({name:e.redirectParamName||"redirect",value:e.redirect})},_initDataSettings:function(t){this._isXHRUpload(t)?(this._chunkedUpload(t,!0)||(t.data||this._initXHRData(t),this._initProgressListener(t)),t.postMessage&&(t.dataType="postmessage "+(t.dataType||""))):this._initIframeSettings(t)},_getParamName:function(e){var i=t(e.fileInput),n=e.paramName;return n?t.isArray(n)||(n=[n]):(n=[],i.each(function(){for(var e=t(this),i=e.prop("name")||"files[]",s=(e.prop("files")||[1]).length;s;)n.push(i),s-=1}),n.length||(n=[i.prop("name")||"files[]"])),n},_initFormSettings:function(e){e.form&&e.form.length||(e.form=t(e.fileInput.prop("form")),e.form.length||(e.form=t(this.options.fileInput.prop("form")))),e.paramName=this._getParamName(e),e.url||(e.url=e.form.prop("action")||location.href),e.type=(e.type||"string"===t.type(e.form.prop("method"))&&e.form.prop("method")||"").toUpperCase(),"POST"!==e.type&&"PUT"!==e.type&&"PATCH"!==e.type&&(e.type="POST"),e.formAcceptCharset||(e.formAcceptCharset=e.form.attr("accept-charset"))},_getAJAXSettings:function(e){var i=t.extend({},this.options,e);return this._initFormSettings(i),this._initDataSettings(i),i},_getDeferredState:function(t){return t.state?t.state():t.isResolved()?"resolved":t.isRejected()?"rejected":"pending"},_enhancePromise:function(t){return t.success=t.done,t.error=t.fail,t.complete=t.always,t},_getXHRPromise:function(e,i,n){var s=t.Deferred(),o=s.promise();return i=i||this.options.context||o,!0===e?s.resolveWith(i,n):!1===e&&s.rejectWith(i,n),o.abort=s.promise,this._enhancePromise(o)},_addConvenienceMethods:function(e,i){var n=this,s=function(e){return t.Deferred().resolveWith(n,e).promise()};i.process=function(e,o){return(e||o)&&(i._processQueue=this._processQueue=(this._processQueue||s([this])).then(function(){return i.errorThrown?t.Deferred().rejectWith(n,[i]).promise():s(arguments)}).then(e,o)),this._processQueue||s([this])},i.submit=function(){return"pending"!==this.state()&&(i.jqXHR=this.jqXHR=!1!==n._trigger("submit",t.Event("submit",{delegatedEvent:e}),this)&&n._onSend(e,this)),this.jqXHR||n._getXHRPromise()},i.abort=function(){return this.jqXHR?this.jqXHR.abort():(this.errorThrown="abort",n._trigger("fail",null,this),n._getXHRPromise(!1))},i.state=function(){return this.jqXHR?n._getDeferredState(this.jqXHR):this._processQueue?n._getDeferredState(this._processQueue):void 0},i.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===n._getDeferredState(this._processQueue)},i.progress=function(){return this._progress},i.response=function(){return this._response}},_getUploadedBytes:function(t){var e=t.getResponseHeader("Range"),i=e&&e.split("-"),n=i&&i.length>1&&parseInt(i[1],10);return n&&n+1},_chunkedUpload:function(e,i){e.uploadedBytes=e.uploadedBytes||0;var n,s,o=this,r=e.files[0],a=r.size,l=e.uploadedBytes,u=e.maxChunkSize||a,c=this._blobSlice,h=t.Deferred(),d=h.promise();return!(!(this._isXHRUpload(e)&&c&&(l||("function"===t.type(u)?u(e):u)=a?(r.error=e.i18n("uploadedBytes"),this._getXHRPromise(!1,e.context,[null,"error",r.error])):(s=function(){var i=t.extend({},e),d=i._progress.loaded;i.blob=c.call(r,l,l+("function"===t.type(u)?u(i):u),r.type),i.chunkSize=i.blob.size,i.contentRange="bytes "+l+"-"+(l+i.chunkSize-1)+"/"+a,o._initXHRData(i),o._initProgressListener(i),n=(!1!==o._trigger("chunksend",null,i)&&t.ajax(i)||o._getXHRPromise(!1,i.context)).done(function(n,r,u){l=o._getUploadedBytes(u)||l+i.chunkSize,d+i.chunkSize-i._progress.loaded&&o._onProgress(t.Event("progress",{lengthComputable:!0,loaded:l-i.uploadedBytes,total:l-i.uploadedBytes}),i),e.uploadedBytes=i.uploadedBytes=l,i.result=n,i.textStatus=r,i.jqXHR=u,o._trigger("chunkdone",null,i),o._trigger("chunkalways",null,i),la._sending)for(var n=a._slots.shift();n;){if("pending"===a._getDeferredState(n)){n.resolve();break}n=a._slots.shift()}0===a._active&&a._trigger("stop")})};return this._beforeSend(e,l),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(this.options.limitConcurrentUploads>1?(o=t.Deferred(),this._slots.push(o),r=o.then(u)):(this._sequence=this._sequence.then(u,u),r=this._sequence),r.abort=function(){return s=[void 0,"abort","abort"],n?n.abort():(o&&o.rejectWith(l.context,s),u())},this._enhancePromise(r)):u()},_onAdd:function(e,i){var n,s,o,r,a=this,l=!0,u=t.extend({},this.options,i),c=i.files,h=c.length,d=u.limitMultiFileUploads,p=u.limitMultiFileUploadSize,f=u.limitMultiFileUploadSizeOverhead,g=0,m=this._getParamName(u),v=0;if(!h)return!1;if(p&&void 0===c[0].size&&(p=void 0),(u.singleFileUploads||d||p)&&this._isXHRUpload(u))if(u.singleFileUploads||p||!d)if(!u.singleFileUploads&&p)for(o=[],n=[],r=0;rp||d&&r+1-v>=d)&&(o.push(c.slice(v,r+1)),s=m.slice(v,r+1),s.length||(s=m),n.push(s),v=r+1,g=0);else n=m;else for(o=[],n=[],r=0;r").append(n)[0].reset(),i.after(n).detach(),s&&n.focus(),t.cleanData(i.unbind("remove")),this.options.fileInput=this.options.fileInput.map(function(t,e){return e===i[0]?n[0]:e}),i[0]===this.element[0]&&(this.element=n)},_handleFileTreeEntry:function(e,i){var n,s=this,o=t.Deferred(),r=[],a=function(t){t&&!t.entry&&(t.entry=e),o.resolve([t])},l=function(t){s._handleFileTreeEntries(t,i+e.name+"/").done(function(t){o.resolve(t)}).fail(a)},u=function(){n.readEntries(function(t){t.length?(r=r.concat(t),u()):l(r)},a)};return i=i||"",e.isFile?e._file?(e._file.relativePath=i,o.resolve(e._file)):e.file(function(t){t.relativePath=i,o.resolve(t)},a):e.isDirectory?(n=e.createReader(),u()):o.resolve([]),o.promise()},_handleFileTreeEntries:function(e,i){var n=this;return t.when.apply(t,t.map(e,function(t){return n._handleFileTreeEntry(t,i)})).then(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(e){e=e||{};var i=e.items;return i&&i.length&&(i[0].webkitGetAsEntry||i[0].getAsEntry)?this._handleFileTreeEntries(t.map(i,function(t){var e;return t.webkitGetAsEntry?(e=t.webkitGetAsEntry(),e&&(e._file=t.getAsFile()),e):t.getAsEntry()})):t.Deferred().resolve(t.makeArray(e.files)).promise()},_getSingleFileInputFiles:function(e){e=t(e);var i,n,s=e.prop("webkitEntries")||e.prop("entries");if(s&&s.length)return this._handleFileTreeEntries(s);if(i=t.makeArray(e.prop("files")),i.length)void 0===i[0].name&&i[0].fileName&&t.each(i,function(t,e){e.name=e.fileName,e.size=e.fileSize});else{if(!(n=e.prop("value")))return t.Deferred().resolve([]).promise();i=[{name:n.replace(/^.*\\/,"")}]}return t.Deferred().resolve(i).promise()},_getFileInputFiles:function(e){return e instanceof t&&1!==e.length?t.when.apply(t,t.map(e,this._getSingleFileInputFiles)).then(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(e)},_onChange:function(e){var i=this,n={fileInput:t(e.target),form:t(e.target.form)};this._getFileInputFiles(n.fileInput).always(function(s){n.files=s,i.options.replaceFileInput&&i._replaceFileInput(n),!1!==i._trigger("change",t.Event("change",{delegatedEvent:e}),n)&&i._onAdd(e,n)})},_onPaste:function(e){var i=e.originalEvent&&e.originalEvent.clipboardData&&e.originalEvent.clipboardData.items,n={files:[]};i&&i.length&&(t.each(i,function(t,e){var i=e.getAsFile&&e.getAsFile();i&&n.files.push(i)}),!1!==this._trigger("paste",t.Event("paste",{delegatedEvent:e}),n)&&this._onAdd(e,n))},_onDrop:function(e){e.dataTransfer=e.originalEvent&&e.originalEvent.dataTransfer;var i=this,n=e.dataTransfer,s={};n&&n.files&&n.files.length&&(e.preventDefault(),this._getDroppedFiles(n).always(function(n){s.files=n,!1!==i._trigger("drop",t.Event("drop",{delegatedEvent:e}),s)&&i._onAdd(e,s)}))},_onDragOver:e("dragover"),_onDragEnter:e("dragenter"),_onDragLeave:e("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste})),t.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop"),this._off(this.options.pasteZone,"paste"),this._off(this.options.fileInput,"change")},_destroy:function(){this._destroyEventHandlers()},_setOption:function(e,i){var n=-1!==t.inArray(e,this._specialOptions);n&&this._destroyEventHandlers(),this._super(e,i),n&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var e=this.options;void 0===e.fileInput?e.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):e.fileInput instanceof t||(e.fileInput=t(e.fileInput)),e.dropZone instanceof t||(e.dropZone=t(e.dropZone)),e.pasteZone instanceof t||(e.pasteZone=t(e.pasteZone))},_getRegExp:function(t){var e=t.split("/"),i=e.pop();return e.shift(),new RegExp(e.join("/"),i)},_isRegExpOption:function(e,i){return"url"!==e&&"string"===t.type(i)&&/^\/.*\/[igm]{0,3}$/.test(i)},_initDataAttributes:function(){var e=this,i=this.options,n=this.element.data();t.each(this.element[0].attributes,function(t,s){var o,r=s.name.toLowerCase();/^data-/.test(r)&&(r=r.slice(5).replace(/-[a-z]/g,function(t){return t.charAt(1).toUpperCase()}),o=n[r],e._isRegExpOption(r,o)&&(o=e._getRegExp(o)),i[r]=o)})},_create:function(){this._initDataAttributes(),this._initSpecialOptions(),this._slots=[],this._sequence=this._getXHRPromise(!0),this._sending=this._active=0,this._initProgressObject(this),this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(e){var i=this;e&&!this.options.disabled&&(e.fileInput&&!e.files?this._getFileInputFiles(e.fileInput).always(function(t){e.files=t,i._onAdd(null,e)}):(e.files=t.makeArray(e.files),this._onAdd(null,e)))},send:function(e){if(e&&!this.options.disabled){if(e.fileInput&&!e.files){var i,n,s=this,o=t.Deferred(),r=o.promise();return r.abort=function(){return n=!0,i?i.abort():(o.reject(null,"abort","abort"),r)},this._getFileInputFiles(e.fileInput).always(function(t){if(!n){if(!t.length)return void o.reject();e.files=t,i=s._onSend(null,e),i.then(function(t,e,i){o.resolve(t,e,i)},function(t,e,i){o.reject(t,e,i)})}}),this._enhancePromise(r)}if(e.files=t.makeArray(e.files),e.files.length)return this._onSend(null,e)}return this._getXHRPromise(!1,e&&e.context)}})}),function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(t){return e(t)}):"object"==typeof exports?module.exports=e(require("jquery")):jQuery&&!jQuery.fn.colorpicker&&e(jQuery)}(0,function(t){"use strict";var e=function(i,n,s,o,r){this.fallbackValue=s?s&&void 0!==s.h?s:this.value={h:0,s:0,b:0,a:1}:null,this.fallbackFormat=o||"rgba",this.hexNumberSignPrefix=!0===r,this.value=this.fallbackValue,this.origFormat=null,this.predefinedColors=n||{},this.colors=t.extend({},e.webColors,this.predefinedColors),i&&(void 0!==i.h?this.value=i:this.setColor(String(i))),this.value||(this.value={h:0,s:0,b:0,a:1})};e.webColors={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",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",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",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32",transparent:"transparent"},e.prototype={constructor:e,colors:{},predefinedColors:{},getValue:function(){return this.value},setValue:function(t){this.value=t},_sanitizeNumber:function(t){return"number"==typeof t?t:isNaN(t)||null===t||""===t||void 0===t?1:""===t?0:void 0!==t.toLowerCase?(t.match(/^\./)&&(t="0"+t),Math.ceil(100*parseFloat(t))/100):1},isTransparent:function(t){return!(!t||!("string"==typeof t||t instanceof String))&&("transparent"===(t=t.toLowerCase().trim())||t.match(/#?00000000/)||t.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/))},rgbaIsTransparent:function(t){return 0===t.r&&0===t.g&&0===t.b&&0===t.a},setColor:function(t){if(t=t.toLowerCase().trim()){if(this.isTransparent(t))return this.value={h:0,s:0,b:0,a:0},!0;var e=this.parse(t);e?(this.value=this.value={h:e.h,s:e.s,b:e.b,a:e.a},this.origFormat||(this.origFormat=e.format)):this.fallbackValue&&(this.value=this.fallbackValue)}return!1},setHue:function(t){this.value.h=1-t},setSaturation:function(t){this.value.s=t},setBrightness:function(t){this.value.b=1-t},setAlpha:function(t){this.value.a=Math.round(parseInt(100*(1-t),10)/100*100)/100},toRGB:function(t,e,i,n){0===arguments.length&&(t=this.value.h,e=this.value.s,i=this.value.b,n=this.value.a),t*=360;var s,o,r,a,l;return t=t%360/60,l=i*e,a=l*(1-Math.abs(t%2-1)),s=o=r=i-l,t=~~t,s+=[l,a,0,0,a,l][t],o+=[a,l,l,a,0,0][t],r+=[0,0,a,l,l,a][t],{r:Math.round(255*s),g:Math.round(255*o),b:Math.round(255*r),a:n}},toHex:function(t,e,i,n,s){arguments.length<=1&&(e=this.value.h,i=this.value.s,n=this.value.b,s=this.value.a);var o="#",r=this.toRGB(e,i,n,s);return this.rgbaIsTransparent(r)?"transparent":(t||(o=this.hexNumberSignPrefix?"#":""),o+((1<<24)+(parseInt(r.r)<<16)+(parseInt(r.g)<<8)+parseInt(r.b)).toString(16).slice(1))},toHSL:function(t,e,i,n){0===arguments.length&&(t=this.value.h,e=this.value.s,i=this.value.b,n=this.value.a);var s=t,o=(2-e)*i,r=e*i;return r/=o>0&&o<=1?o:2-o,o/=2,r>1&&(r=1),{h:isNaN(s)?0:s,s:isNaN(r)?0:r,l:isNaN(o)?0:o,a:isNaN(n)?0:n}},toAlias:function(t,e,i,n){var s,o=0===arguments.length?this.toHex(!0):this.toHex(!0,t,e,i,n),r="alias"===this.origFormat?o:this.toString(!1,this.origFormat);for(var a in this.colors)if((s=this.colors[a].toLowerCase().trim())===o||s===r)return a;return!1},RGBtoHSB:function(t,e,i,n){t/=255,e/=255,i/=255;var s,o,r,a;return r=Math.max(t,e,i),a=r-Math.min(t,e,i),s=0===a?null:r===t?(e-i)/a:r===e?(i-t)/a+2:(t-e)/a+4,s=(s+360)%6*60/360,o=0===a?0:a/r,{h:this._sanitizeNumber(s),s:o,b:r,a:this._sanitizeNumber(n)}},HueToRGB:function(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t},HSLtoRGB:function(t,e,i,n){e<0&&(e=0);var s;s=i<=.5?i*(1+e):i+e-i*e;var o=2*i-s,r=t+1/3,a=t,l=t-1/3;return[Math.round(255*this.HueToRGB(o,s,r)),Math.round(255*this.HueToRGB(o,s,a)),Math.round(255*this.HueToRGB(o,s,l)),this._sanitizeNumber(n)]},parse:function(e){if(0===arguments.length)return!1;var i,n,s=this,o=!1,r=void 0!==this.colors[e];return r&&(e=this.colors[e].toLowerCase().trim()),t.each(this.stringParsers,function(t,a){var l=a.re.exec(e);return!(i=l&&a.parse.apply(s,[l]))||(o={},n=r?"alias":a.format?a.format:s.getValidFallbackFormat(),o=n.match(/hsla?/)?s.RGBtoHSB.apply(s,s.HSLtoRGB.apply(s,i)):s.RGBtoHSB.apply(s,i),o instanceof Object&&(o.format=n),!1)}),o},getValidFallbackFormat:function(){var t=["rgba","rgb","hex","hsla","hsl"];return this.origFormat&&-1!==t.indexOf(this.origFormat)?this.origFormat:this.fallbackFormat&&-1!==t.indexOf(this.fallbackFormat)?this.fallbackFormat:"rgba"},toString:function(t,i,n){i=i||this.origFormat||this.fallbackFormat,n=n||!1;var s=!1;switch(i){case"rgb":return s=this.toRGB(),this.rgbaIsTransparent(s)?"transparent":"rgb("+s.r+","+s.g+","+s.b+")";case"rgba":return s=this.toRGB(),"rgba("+s.r+","+s.g+","+s.b+","+s.a+")";case"hsl":return s=this.toHSL(),"hsl("+Math.round(360*s.h)+","+Math.round(100*s.s)+"%,"+Math.round(100*s.l)+"%)";case"hsla":return s=this.toHSL(),"hsla("+Math.round(360*s.h)+","+Math.round(100*s.s)+"%,"+Math.round(100*s.l)+"%,"+s.a+")";case"hex":return this.toHex(t);case"alias":return s=this.toAlias(),!1===s?this.toString(t,this.getValidFallbackFormat()):n&&!(s in e.webColors)&&s in this.predefinedColors?this.predefinedColors[s]:s;default:return s}},stringParsers:[{re:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,format:"rgb",parse:function(t){return[t[1],t[2],t[3],1]}},{re:/rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"rgb",parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],1]}},{re:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"hsl",parse:function(t){return[t[1]/360,t[2]/100,t[3]/100,t[4]]}},{re:/hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"hsla",parse:function(t){return[t[1]/360,t[2]/100,t[3]/100,t[4]]}},{re:/#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,format:"hex",parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),1]}},{re:/#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,format:"hex",parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),1]}}],colorNameToHex:function(t){return void 0!==this.colors[t.toLowerCase()]&&this.colors[t.toLowerCase()]}};var i={horizontal:!1,inline:!1,color:!1,format:!1, input:"input",container:!1,component:".add-on, .input-group-addon",fallbackColor:!1,fallbackFormat:"hex",hexNumberSignPrefix:!0,sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"}},slidersHorz:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:100,maxTop:0,callLeft:"setHue",callTop:!1},alpha:{maxLeft:100,maxTop:0,callLeft:"setAlpha",callTop:!1}},template:'