!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Bugsnag=e()}(function(){var r=["navigation","request","process","log","user","state","error","manual"],g=function(e,t,n){for(var r=n,o=0,a=e.length;o"].indexOf(n[0])?undefined:n[0];return new s({functionName:t,fileName:r,lineNumber:n[1],columnNumber:n[2],source:e})},this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter(function(e){return!e.match(r)},this).map(function(e){var t,n;return-1===(e=-1 eval")?e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1"):e).indexOf("@")&&-1===e.indexOf(":")?new s({functionName:e}):(t=(t=e.match(n=/((.*".+"[^@]*)?[^@]*)(?:@)/))&&t[1]?t[1]:undefined,n=this.extractLocation(e.replace(n,"")),new s({functionName:t,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:e}))},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,n=e.message.split("\n"),r=[],o=2,a=n.length;o/,"$2").replace(/\([^\)]*\)/g,"")||undefined,n=(t=n.match(/\(([^\)]*)\)/)?n.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"):t)===undefined||"[arguments not available]"===t?undefined:t.split(",");return new s({functionName:o,args:n,fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)}}}),E),j=function(e,t,n,r){var o=r&&r.redactedKeys?r.redactedKeys:[],r=r&&r.redactedPaths?r.redactedPaths:[];return JSON.stringify(B(e,o,r),t,n)},N=20,x=25e3,k=8,T="...";function R(e){return"[Throws: "+(e?e.message:"?")+"]"}function L(e,t){try{return e[t]}catch(n){return R(n)}}function B(e,d,f){var g=[],h=0;return function p(e,t){function n(){return t.length>k&&xN)return T;if(n())return T;if(null===e||"object"!=typeof e)return e;if(function(e,t){for(var n=0,r=e.length;n=e.length)return n(null,!0);t(e[r],function(e,t){return e?n(e):!1===t?n(null,!1):(r++,void o())})};o()},Z=function(e,o,a,t){Y(e,function(e,n){if("function"!=typeof e)return n(null);try{var t;if(2!==e.length)return(t=e(o))&&"function"==typeof t.then?t.then(function(e){return setTimeout(function(){return n(null,e)})},function(e){setTimeout(function(){return a(e),n(null,!0)})}):n(null,t);e(o,function(e,t){if(e)return a(e),n(null);n(null,t)})}catch(r){a(r),n(null)}},t)},ee=function(e,t,n,r){for(var o=!1,a=e.slice();!o&&a.length;)try{o=!1===a.pop()(t)}catch(i){r.error("Error occurred in "+n+" callback, continuing anyway…"),r.error(i)}return o},te=function(e,t){e="000000000"+e;return e.substr(e.length-t)},ne="object"==typeof window?window:self,re=0;for(J in ne)Object.hasOwnProperty.call(ne,J)&&re++;var e=navigator.mimeTypes?navigator.mimeTypes.length:0,oe=te((e+navigator.userAgent.length).toString(36)+re.toString(36),4),ae=function(){return oe},ie=0,se=4,ue=36,ce=Math.pow(ue,se);function le(){return te((Math.random()*ce<<0).toString(ue),se)}function de(){return"c"+(new Date).getTime().toString(ue)+te((ie=iethis._config.maxBreadcrumbs&&(this._breadcrumbs=this._breadcrumbs.slice(this._breadcrumbs.length-this._config.maxBreadcrumbs))))},e._isBreadcrumbTypeEnabled=function(e){var t=this._config.enabledBreadcrumbTypes;return null===t||l(t,e)},e.notify=function(e,t,n){void 0===n&&(n=c);e=Q.create(e,!0,undefined,"notify()",this._depth+1,this._logger);this._notify(e,t,n)},e._notify=function(n,e,r){var o=this;if(void 0===r&&(r=c),n.app=u({},n.app,{releaseStage:this._config.releaseStage,version:this._config.appVersion,type:this._config.appType}),n.context=n.context||this._context,n._metadata=u({},n._metadata,this._metadata),n._user=u({},n._user,this._user),n.breadcrumbs=this._breadcrumbs.slice(),ye(n._features,this._features,n._featuresIndex),null!==this._config.enabledReleaseStages&&!l(this._config.enabledReleaseStages,this._config.releaseStage))return this._logger.warn("Event not sent due to releaseStage/enabledReleaseStages configuration"),r(null,n);var a=n.severity,i=function(e){o._logger.error("Error occurred in onError callback, continuing anyway…"),o._logger.error(e)},e=[].concat(this._cbs.e).concat(e);Z(e,n,i,function(e,t){if(e&&i(e),!t)return o._logger.debug("Event not sent due to onError callback"),r(null,n);o._isBreadcrumbTypeEnabled("error")&&s.prototype.leaveBreadcrumb.call(o,n.errors[0].errorClass,{errorClass:n.errors[0].errorClass,errorMessage:n.errors[0].errorMessage,severity:n.severity},"error"),a!==n.severity&&(n._handledState.severityReason={type:"userCallbackSetSeverity"}),n.unhandled!==n._handledState.unhandled&&(n._handledState.severityReason.unhandledOverridden=!0,n._handledState.unhandled=n.unhandled),o._session&&(o._session._track(n),n._session=o._session),o._delivery.sendEvent({apiKey:n.apiKey||o._config.apiKey,notifier:o._notifier,events:[n]},function(e){return r(e,n)})})},s}(),we={},Ee=["events.[].metaData","events.[].breadcrumbs.[].metaData","events.[].request"],Oe=(we.event=function(e,t){var n=j(e,null,null,{redactedPaths:Ee,redactedKeys:t});return 1e6 "+n.join("");return n.join("")}(e.target,i)}catch(r){n=t="[hidden]",o._logger.error("Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z")}o.leaveBreadcrumb("UI click",{targetText:t,targetSelector:n},"user")},!0)}}},nt=/^\s*([^\s][\s\S]{0,139}[^\s])?\s*/;var rt=function(n){void 0===n&&(n=window);var e={load:function(t){var e;"addEventListener"in n&&t._isBreadcrumbTypeEnabled("navigation")&&(n.addEventListener("pagehide",(e=function(e){return function(){return t.leaveBreadcrumb(e,{},"navigation")}})("Page hidden"),!0),n.addEventListener("pageshow",e("Page shown"),!0),n.addEventListener("load",e("Page loaded"),!0),n.document.addEventListener("DOMContentLoaded",e("DOMContentLoaded"),!0),n.addEventListener("load",function(){return n.addEventListener("popstate",e("Navigated back"),!0)}),n.addEventListener("hashchange",function(e){e=e.oldURL?{from:ot(e.oldURL,n),to:ot(e.newURL,n),state:st(n)}:{to:ot(n.location.href,n)};t.leaveBreadcrumb("Hash changed",e,"navigation")},!0),n.history.replaceState&&it(t,n.history,"replaceState",n),n.history.pushState&&it(t,n.history,"pushState",n))}};return e},ot=function(e,t){t=t.document.createElement("A");return t.href=e,""+t.pathname+t.search+t.hash},at=function(e,t,n,r){var o=ot(e.location.href,e);return{title:n,state:t,prevState:st(e),to:r||o,from:o}},it=function(r,o,a,i){var s=o[a];o[a]=function(e,t,n){r.leaveBreadcrumb("History "+a,at(i,e,t,n),"navigation"),"function"==typeof r.resetEventCount&&r.resetEventCount(),r._config.autoTrackSessions&&r.startSession(),s.apply(o,[e,t].concat(n!==undefined?n:[]))}},st=function(e){try{return e.history.state}catch(t){}},ut="request",ct=function(e,t){void 0===e&&(e=[]),void 0===t&&(t=window);var n={load:function(i){var s,n,a,u,c;i._isBreadcrumbTypeEnabled("request")&&(s=[i._config.endpoints.notify,i._config.endpoints.sessions].concat(e),"addEventListener"in t.XMLHttpRequest.prototype&&(n=t.XMLHttpRequest.prototype.open,t.XMLHttpRequest.prototype.open=function(r,o){var a=this,e=function(){var e,t;e=r,(t=o)!==undefined?"string"==typeof t&&l(s,t.replace(/\?.*$/,""))||i.leaveBreadcrumb("XMLHttpRequest error",{request:e+" "+t},ut):i._logger.warn("The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.")},t=function(){var e,t,n;e=r,t=o,n=a.status,t!==undefined?"string"==typeof t&&l(s,t.replace(/\?.*$/,""))||(e={status:n,request:e+" "+t},400<=n?i.leaveBreadcrumb("XMLHttpRequest failed",e,ut):i.leaveBreadcrumb("XMLHttpRequest succeeded",e,ut)):i._logger.warn("The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.")};this.addEventListener("load",t),this.addEventListener("error",e),n.apply(this,arguments)}),"fetch"in t&&!t.fetch.polyfill&&(a=t.fetch,t.fetch=function(){var r,e=arguments,t=arguments[0],n=arguments[1],o=null;return t&&"object"==typeof t?(o=t.url,n&&"method"in n?r=n.method:t&&"method"in t&&(r=t.method)):(o=t,n&&"method"in n&&(r=n.method)),r===undefined&&(r="GET"),new Promise(function(t,n){a.apply(void 0,e).then(function(e){u(e,r,o),t(e)})["catch"](function(e){c(r,o),n(e)})})}),u=function(e,t,n){t={status:e.status,request:t+" "+n};400<=e.status?i.leaveBreadcrumb("fetch() failed",t,ut):i.leaveBreadcrumb("fetch() succeeded",t,ut)},c=function(e,t){i.leaveBreadcrumb("fetch() error",{request:e+" "+t},ut)})}};return n},lt={load:function(t){var n=0;t.addOnError(function(e){if(n>=t._config.maxEvents)return t._logger.warn("Cancelling event send due to maxEvents per session limit of "+t._config.maxEvents+" being reached"),!1;n++}),t.resetEventCount=function(){n=0}},configSchema:{maxEvents:{defaultValue:function(){return 10},message:"should be a positive integer ≤100",validate:function(e){return t(1,100)(e)}}}},dt={},ft=(dt={load:function(e){e.addOnError(function(e){e=g(e.errors,function(e,t){return e.concat(t.stacktrace)},[]);p(e,function(e){e.file=ft(e.file)})})}})._strip=function(e){return"string"==typeof e?e.replace(/\?.*$/,"").replace(/#.*$/,""):e},gt=function(e,d){return void 0===e&&(e=window),void 0===d&&(d="window onerror"),{load:function(c){var l;c._config.autoDetectErrors&&c._config.enabledErrorTypes.unhandledExceptions&&(l=e.onerror,e.onerror=function(e,t,n,r,o){var a,i,s,u;0===n&&/Script error\.?/.test(e)?c._logger.warn("Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z"):(a={severity:"error",unhandled:!0,severityReason:{type:"unhandledException"}},o?(u=c.Event.create(o,!0,a,d,1),ht(u.errors[0].stacktrace,t,n,r)):"object"!=typeof e||null===e||t&&"string"==typeof t||n||r||o?(u=c.Event.create(e,!0,a,d,1),ht(u.errors[0].stacktrace,t,n,r)):(i=e.type?"Event: "+e.type:"Error",s=e.message||e.detail||"",(u=c.Event.create({name:i,message:s},!0,a,d,1)).originalError=e,u.addMetadata(d,{event:e,extraParameters:t})),c._notify(u)),"function"==typeof l&&l.apply(this,arguments)})}}},ht=function(e,t,n,r){e[0]||e.push({});e=e[0];e.file||"string"!=typeof t||(e.file=t),!e.lineNumber&&pt(n)&&(e.lineNumber=n),e.columnNumber||(pt(r)?e.columnNumber=r:window.event&&pt(window.event.errorCharacter)&&(e.columnNumber=window.event.errorCharacter))},pt=function(e){return"number"==typeof e&&"NaN"!==String.call(e)},mt=function(t){return function(e){e.file!==t.toString()&&e.method&&(e.method=e.method.replace(/^\s+/,""))}},e={},vt=u({},v.schema,o),n={_client:null,createClient:function(e){e=(e="string"==typeof e?{apiKey:e}:e)||{};var t,n,r,o,a,i=[Te,(void 0===o&&(o=navigator),void 0===a&&(a=window),{load:function(t){var n={locale:o.browserLanguage||o.systemLanguage||o.userLanguage||o.language,userAgent:o.userAgent};a&&a.screen&&a.screen.orientation&&a.screen.orientation.type?n.orientation=a.screen.orientation.type:a&&a.document&&(n.orientation=a.document.documentElement.clientWidth>a.document.documentElement.clientHeight?"landscape":"portrait"),t._config.generateAnonymousId&&(n.id=Ke(a)),t.addOnSession(function(e){e.device=u({},e.device,n),t._config.collectUserIp||$e(e)}),t.addOnError(function(e){e.device=u({},e.device,n,{time:new Date}),t._config.collectUserIp||$e(e)},!0)},configSchema:{generateAnonymousId:{validate:function(e){return!0===e||!1===e},defaultValue:function(){return!0},message:"should be true|false"}}}),(void 0===r&&(r=window),{load:function(e){e.addOnError(function(e){e.context===undefined&&(e.context=r.location.pathname)},!0)}}),(void 0===n&&(n=window),{load:function(e){e.addOnError(function(e){e.request&&e.request.url||(e.request=u({},e.request,{url:n.location.href}))},!0)}}),lt,Ue,Je,dt,gt(),(void 0===t&&(t=window),{load:function(o){var n;o._config.autoDetectErrors&&o._config.enabledErrorTypes.unhandledRejections&&(n=function(e){var t=e.reason,n=!1;try{e.detail&&e.detail.reason&&(t=e.detail.reason,n=!0)}catch(r){}e=o.Event.create(t,!1,{severity:"error",unhandled:!0,severityReason:{type:"unhandledPromiseRejection"}},"unhandledrejection handler",1,o._logger);n&&p(e.errors[0].stacktrace,mt(t)),o._notify(e,function(e){var t;A(e.originalError)&&!e.originalError.stack&&e.addMetadata("unhandledRejection handler",((t={})[Object.prototype.toString.call(e.originalError)]={name:e.originalError.name,message:e.originalError.message,code:e.originalError.code},t))})},"addEventListener"in t?t.addEventListener("unhandledrejection",n):t.onunhandledrejection=function(e,t){n({detail:{reason:e,promise:t}})},0)}}),rt(),tt(),ct(),ze,Ye()],e=new Se(e,vt,i,{name:"Bugsnag JavaScript",version:"7.22.7",url:"https://github.com/bugsnag/bugsnag-js"});return e._setDelivery(window.XDomainRequest?fe:Ne),e._logger.debug("Loaded!"),e.leaveBreadcrumb("Bugsnag loaded",{},"state"),e._config.autoTrackSessions?e.startSession():e},start:function(e){return n._client?n._client._logger.warn("Bugsnag.start() was called more than once. Ignoring."):n._client=n.createClient(e),n._client},isStarted:function(){return null!=n._client}};return p(["resetEventCount"].concat(a(Se.prototype)),function(t){/^_/.test(t)||(n[t]=function(){if(!n._client)return console.log("Bugsnag."+t+"() was called before Bugsnag.start()");n._client._depth+=1;var e=n._client[t].apply(n._client,arguments);return--n._client._depth,e})}),(e=n).Client=Se,e.Event=Q,e.Session=pe,e.Breadcrumb=S,e["default"]=n,e}); //# sourceMappingURL=bugsnag.min.js.map