{"version":3,"sources":["webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///(webpack)/buildin/module.js"],"names":["_typeof","Symbol","iterator","obj","constructor","prototype","this","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","call","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","m","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","key","setData","value","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","window","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","Object","defineProperty","get","name","data","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","ajax","options","response","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","encodeURIComponent","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","link","method","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","module","exports","factory","sparkMd5","fn","createCommonjsModule","undefined","hex_chr","md5cycle","x","k","a","b","c","d","md5blk","s","i","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","n","state","substring","toString","parseInt","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","str","test","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","String","fromCharCode","apply","concatenateArrayBuffers","first","second","byteLength","set","buffer","hexToBinaryString","bytes","substr","SparkMD5","reset","clamp","val","max","min","from","to","num","targetArray","sourceArray","begin","end","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","destroy","hashBinary","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","ceil","size","chunkIndex","create","_this","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","findElement","root","eventInit","initEvent","toArray$1","isArray","BlobRecord","checksum","attributes","filename","content_type","byte_size","responseType","getMetaValue","requestDidLoad","requestDidError","stringify","blob","direct_upload","directUploadData","toJSON","_xhr","BlobUpload","_blob$directUploadDat","headers","id","DirectUpload","notify","upload","object","methodName","_len","messages","_key","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","progress","loaded","total","alert","_this2","uploadRequestDidProgress","DirectUploadsController","files","controllers","createDirectUploadControllers","startNextController","controller","shift","processingAttribute","submitButtonsByForm","WeakMap","started","didClick","didSubmitForm","didSubmitRemoteElement","tagName","handleFormSubmissionEvent","hasAttribute","disable","removeAttribute","enable","focus","delete","submitForm","ActiveStorage","webpackPolyfill","deprecate","paths","children","l"],"mappings":"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","file":"js/vendors~application-b1a7f123176aee08ab84.chunk.js","sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActiveStorage = {});\n})(this, function (exports) {\n \"use strict\";\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var sparkMd5 = createCommonjsModule(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n });\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\n var FileChecksum = function () {\n createClass(FileChecksum, null, [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }]);\n return FileChecksum;\n }();\n\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n }\n\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n }\n\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n\n var BlobRecord = function () {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobRecord, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr,\n responseType = _xhr.responseType,\n response = _xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }]);\n return BlobRecord;\n }();\n\n var BlobUpload = function () {\n function BlobUpload(blob) {\n var _this = this;\n\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr,\n status = _xhr.status,\n response = _xhr.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n }]);\n return BlobUpload;\n }();\n\n var id = 0;\n\n var DirectUpload = function () {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n return DirectUpload;\n }();\n\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n }\n\n var DirectUploadController = function () {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }]);\n return DirectUploadController;\n }();\n\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\n var DirectUploadsController = function () {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray$1(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n }]);\n return DirectUploadsController;\n }();\n\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n\n function didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm.delete(form);\n }\n\n function disable(input) {\n input.disabled = true;\n }\n\n function enable(input) {\n input.disabled = false;\n }\n\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};"],"sourceRoot":""}