1<!doctype html> 2<html lang="no"> 3<head> 4<meta charset="utf-8"> 5 6<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 8<title>Smartout</title>
9<script type="text/javascript"> 10 window.bubble_session_uid = '1791212760491x731083496923379500'; 11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript"> 13 window.headers_source_maps = [["plugin_main_headers_1515787032525x876315403042684900",220,222],["plugin_main_headers_1540857498064x563539974936330200",223,226],["plugin_main_headers_1552401463205x225714219237769200",227,234],["plugin_main_headers_1580238841425x582072028873097200",235,266],["plugin_main_headers_1582601241392x653181519983018000",267,268],["plugin_main_headers_1618916043803x877032991371296800",269,486],["plugin_main_headers_1661717622628x490300288223674400",487,494],["custom_app_header",496,544]] 14</script>
vendor: 1 bytes, line 14
14
15<script type="text/javascript"> 16function make_proxy(target, name) { 17 return new Proxy(target, { 18 get: function(target, prop) { 19 if (prop in target) { 20 return target[prop]; 21 } 22 throw new Error('The variable ' + name + ' is not fully initialized yet'); 23 } 24 }); 25} 26window.appquery = make_proxy({ 27 app_version: function() { return "live"; }, 28 last_change: function() { return "61831481805";}, 29}, 'appquery'); 30window.Lib = new Proxy(function() {}, { 31 get: function(target, prop) { 32 if (prop === 'is_skeleton') { 33 return true; 34 } 35 throw new Error('The variable ' + Lib + ' is not fully initialized yet'); 36 }, 37 apply: function() { 38 return make_proxy({ 39 current_user: function() { 40 return make_proxy({ id: "1791212760491x731083496923379500" }, 'Lib().current_user'); 41 } 42 }, 'Lib()'); 43 } 44}); 45</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript"> 47function load_error_function (event) { 48 return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno }) 49} 50window.load_error_log = []; 51window.addEventListener('error', load_error_function); 52window.disableLoadErrorFunction = function () { 53 window.removeEventListener('error', load_error_function); 54} 55</script>
55 56<meta name="referrer" content="origin">
57<script type="text/javascript"> 58if (!window._bubble_page_load_data) { 59 window._bubble_page_load_data = {} 60} 61if (!window._bubble_page_load_data.js_execution_timings) { 62 window._bubble_page_load_data.js_execution_timings = {} 63} 64window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now(); 65</script>
65<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script>
65<script type="text/javascript"> 66if (!window._bubble_page_load_data) { 67 window._bubble_page_load_data = {} 68} 69if (!window._bubble_page_load_data.js_execution_timings) { 70 window._bubble_page_load_data.js_execution_timings = {} 71} 72window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now(); 73</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">(function () { 75 function onWebFontFinish () { 76 window.google_web_fonts_active = true; 77if (window.google_web_fonts_active_cb) { 78 window.google_web_fonts_active_cb(); 79} 80 (function fontface_loaded_snippet (font) { 81 if (window.fontface_loaded == null) { 82 window.fontface_loaded = {} 83 } 84 if (font != null) { 85 window.fontface_loaded[font] = true 86 } else { 87 window.all_fontface_loaded = true 88 } 89 if (window.fontface_webfonts_loaded_cb) { 90 return window.fontface_webfonts_loaded_cb(font) 91 } 92})() 93 } 94 const WebFontConfig = {'google': { families: ["Alex Brush:regular","Alex Brush:400","Inter:300","Inter:regular","Inter:regular","Inter:regular","Inter:500","Inter:500","Inter:500","Inter:600","Inter:600","Inter:600","Inter:700","Inter:700","Inter:800","Inter:900","Lato:regular","Lato:400","Lato:900","Lato:700","Montserrat:regular","Montserrat:600","Montserrat:700","Open Sans:regular","Open Sans:500","Open Sans:600","Open Sans:600","Open Sans:700","Open Sans:700","Poppins:regular","Poppins:regular","Poppins:500","Poppins:500","Poppins:600","Poppins:600","Poppins:700","Roboto:300","Roboto:regular","Roboto:500"] }, 95 active: function() { 96 onWebFontFinish() 97 }, 98 inactive: function() { 99 console.log('Failed to load all the fonts'); 100 onWebFontFinish() 101 }, 102 fontinactive: function(family_name, fvd) { 103 console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render'); 104 onWebFontFinish() 105 } 106 } 107 window.WebFont.load(WebFontConfig); 108})();</script>
vendor: 1 bytes, line 108
108
109<script> 110(function initialize_data() { 111const xhr = new XMLHttpRequest(); 112xhr.onreadystatechange = function() { 113 if (this.readyState === 4 && this.status === 200) { 114 const data = JSON.parse(this.responseText); 115 116 function init_data() { 117 data.forEach(function(d) { 118 Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version); 119 }) 120 } 121 122 if (window.Lib && window.Lib.is_skeleton == null) { 123 init_data(); 124 } else { 125 window.Lib_post_load = init_data; 126 } 127 } 128}; 129xhr.open("GET", "https://smartout.ai/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true); 130xhr.send(); 131})(); 132</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript">window.gm_key = "AIzaSyCSojxKyp7J445n-Oo5uUc7Fvy7hjN9alE";</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript">window.glrl_key_status = false;</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript">window.bubble_page_load_id = "1791212761524x1526";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791212762195.sdYSpax2OxcsvAvEUjRK5wpp87Eg50bj5IwpI6rhSeI=";</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript">window.bubble_is_leanjs = false;</script>
vendor: 1 bytes, line 137
137
138<script type="text/javascript">window.bubble_shim_modules = false;</script>
138 139<link rel="icon" type="image/png" href="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1680419688725x423597097966981200/Logo%20orange%20transp.%20400x400.png" /> 140<meta name="fragment" content="!"> 141<meta name="description" content="One app to replace them all"> 142<meta property="og:title" content="Employee managment" /> 143<meta name="twitter:title" content="Employee managment" /> 144<meta property="og:site_name" content="Smartout" /> 145<meta name="twitter:site_name" content="Smartout" /> 146<meta property="og:description" content="One app to replace them all" /> 147<meta name="twitter:description" content="One app to replace them all" /> 148<link rel="image_src" href="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1679377793445x596485070504803100/iPhone%2014%20Pro%20%E2%80%93%203.png" /> 149<meta property="og:image" content="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1679377793445x596485070504803100/iPhone%2014%20Pro%20%E2%80%93%203.png" /> 150<meta name="twitter:image:src" content="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1679377793445x596485070504803100/iPhone%2014%20Pro%20%E2%80%93%203.png" /> 151<meta property="og:url" content="https://smartout.ai/" /> 152<meta property="og:type" content="website" /> 153<meta name="twitter:card" content="summary_large_image" /> 154<meta name="apple-mobile-web-app-capable" content="yes"> 155<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 156<link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="//s3.amazonaws.com/appforest_uf/f1679377691208x720085914450876900/iPhone%2014%20Pro%20%E2%80%93%203.png"> 157<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="//s3.amazonaws.com/appforest_uf/f1679377698518x146042591044714940/iPhone%2014%20Pro%20%E2%80%93%203.png"> 158<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="//s3.amazonaws.com/appforest_uf/f1679377702984x619372749660810800/iPhone%2014%20Pro%20%E2%80%93%203.png"> 159<link rel="apple-touch-icon" href="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/cdn-cgi/image/w=192,h=,f=auto,dpr=1,fit=contain/f1680419738173x654282661798267500/Logo%20orange%20transp.%20400x400.png"> 160<meta name="viewport" content="width=device-width,initial-scale=1.0, user-scalable=no, minimal-ui">
161<script type="text/javascript">window._p = '{"id":"app_starter_mobile_web_2025","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 161
161
162<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 162
162
163<script type="text/javascript">window.__bubble_module_mode = false;</script>
163 164<link type="text/css" href="/package/run_css/926821180a12e847fd985f399d59daea4bc67dcb8efd9bf88a7bb63929745a8c/smart-out/live/index/xfalse/xfalse/run.css" rel="stylesheet">
165<script type="text/javascript"> 166if (!window._bubble_page_load_data) { 167 window._bubble_page_load_data = {} 168} 169if (!window._bubble_page_load_data.js_execution_timings) { 170 window._bubble_page_load_data.js_execution_timings = {} 171} 172window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now(); 173</script>
vendor: 1 bytes, line 173
173
174<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
vendor: 1 bytes, line 174
174
175<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/8cd6f3c6022bac6b5a05a34b3e121e04310de12eb44a836b95b38e08e6a0a41c/xfalse/x30/run.js"></script>
vendor: 1 bytes, line 175
175
176<script type="text/javascript"> 177if (!window._bubble_page_load_data) { 178 window._bubble_page_load_data = {} 179} 180if (!window._bubble_page_load_data.js_execution_timings) { 181 window._bubble_page_load_data.js_execution_timings = {} 182} 183window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now(); 184</script>
vendor: 1 bytes, line 184
184
185<script type="text/javascript"> 186if (!window._bubble_page_load_data) { 187 window._bubble_page_load_data = {} 188} 189if (!window._bubble_page_load_data.js_execution_timings) { 190 window._bubble_page_load_data.js_execution_timings = {} 191} 192window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now(); 193</script>
193<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/b803a65aca96ba067c6f5532e66d3e447f43192cc3dc18535572b7cf40b2ddbd/smart-out/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
193<script type="text/javascript"> 194if (!window._bubble_page_load_data) { 195 window._bubble_page_load_data = {} 196} 197if (!window._bubble_page_load_data.js_execution_timings) { 198 window._bubble_page_load_data.js_execution_timings = {} 199} 200window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now(); 201</script>
vendor: 1 bytes, line 201
201
202<script type="text/javascript"> 203if (!window._bubble_page_load_data) { 204 window._bubble_page_load_data = {} 205} 206if (!window._bubble_page_load_data.js_execution_timings) { 207 window._bubble_page_load_data.js_execution_timings = {} 208} 209window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now(); 210</script>
210<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/d3ba34e5e838c38bd57f24a3c0ca4bf4397038c7ada5d0e942d8f3340f3923e1/smart-out/live/index/xnull/xfalse/xfalse/no_no/xfalse/xfalse/dynamic.js"></script>
210<script type="text/javascript"> 211if (!window._bubble_page_load_data) { 212 window._bubble_page_load_data = {} 213} 214if (!window._bubble_page_load_data.js_execution_timings) { 215 window._bubble_page_load_data.js_execution_timings = {} 216} 217window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now(); 218</script>
vendor: 1 bytes, line 218
218
219<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
219 220<!-- 1515787032525x876315403042684900 --> 221<link rel="stylesheet" href="https://d2tf8y1b8kxrzw.cloudfront.net/serve_files/airalert/jquery.toast.min.css" />
222<script src="https://d2tf8y1b8kxrzw.cloudfront.net/serve_files/airalert/jquery-xss.toast.min.js"></script>
222 223<!-- 1540857498064x563539974936330200 -->
224<script> 225window.convertEnvToBase=function(e){return"object"==typeof e&&null!==e?e=e.get&&e.get("_id")?e.get("_id"):e:void 0===e&&(e=null),e},window.bdk_env={},window.initEnvVariable=function(e){e&&(window.bdk_env[e]||(window.bdk_env[e]={previous_value:null,current_value:null,previous_value_base:null,current_value_base:null,is_changed:!1,listeners:[],triggers:[],apply_value:function(e){this.previous_value=this.current_value,this.previous_value_base=this.current_value_base,this.current_value=e,this.current_value_base=window.convertEnvToBase(this.current_value),this.current_value_base!==this.previous_value_base&&(this.is_changed=!0)},publish_value:function(){var n=this.current_value;this.listeners.forEach(function(e){e(n)}),!0===this.is_changed&&(this.triggers.forEach(function(e){e(n)}),this.is_changed=!1)}}))},window.collectEnvVariable=function(e,n){e&&(window.initEnvVariable(e),window.bdk_env[e].apply_value(n),window.bdk_env[e].publish_value())},window.seekEnvVariable=function(e){if(e)return window.bdk_env[e]&&window.bdk_env[e].current_value?window.bdk_env[e].current_value:null},window.setEnv=window.setGlobalField=function(e,n){if("string"==typeof e)try{window.collectEnvVariable(e,n)}catch(e){conosle.log(e)}else console.log("Please check the name of env variable. It should be a string")},window.getEnv=window.getGlobalField=function(e){if("string"!=typeof e)return console.log("Please check the name of env variable. It should be a string"),null;try{return window.seekEnvVariable(e)}catch(e){return conosle.log(e),e}}; 226</script>
226 227<!-- 1552401463205x225714219237769200 -->
228<script> 229class evaluation{constructor(e=500){this.gap=e,this.queue=[],this.isExecuting=!1,this.url=window.location.href,this.url&&-1!=this.url.indexOf("version-test")&&(this.isTestVersion=!0),window.pendingRemoveLoading&&this.removeLoading()}addToQueue(e,i={},s={}){this.queue.push({command:e,options:i,config:s}),this.processQueue()}addToTopOfQueue(e,i={},s={}){this.queue.unshift({command:e,options:i,config:s})}isPendingRemoveLoading(){return this.queue.length>0&&"removeLoading"==this.queue[0].command}processItem(){this.isExecuting=!0;var data=this.queue[0],allowed=!0;if(data.config.minVersion&&this.releaseVersion&&this.releaseVersion<data.config.minVersion&&(allowed=!1,this.showWarning("Upgrade BDK Native Engine","to use this feature")),data.config.maxVersion&&this.releaseVersion&&this.releaseVersion>data.config.maxVersion&&(allowed=!1),data.config.platform&&this.platform&&this.platform.toLowerCase()!=data.config.platform.toLowerCase()&&(allowed=!1),allowed)try{eval("$agent.trigger('"+data.command+"',"+JSON.stringify(data.options)+");")}catch(e){data.config.errorMessage&&console.log(data.config.errorMessage)}this.isNative&&this.queue.shift(),this.isNative||this.isPendingRemoveLoading||this.addToTopOfQueue("removeLoading"),setTimeout(this.processQueue.bind(this,[!0]),this.gap)}processQueue(e){e?this.queue.length>0?this.processItem():this.isExecuting=!1:!this.isExecuting&&this.queue.length>0&&this.processItem()}removeLoading(){this.isNative||this.pendingRemoveLoading||(this.addToTopOfQueue("removeLoading"),this.processQueue())}showWarning(title,description){this.isTestVersion&&eval("$agent.trigger('showBanner',"+JSON.stringify({title:title,description:description})+");")}}window.nativeprocessor=new evaluation(500); 230</script>
vendor: 1 bytes, line 230
230
231<script> 232window.injectCSS=function(e){let o=document.createElement("style");return o.innerText=e,document.head.appendChild(o),o},window.adjustedPageHeight=!1,window.advancedconfig="",document.addEventListener("DOMContentLoaded",function(){if(window){if(window.advancedconfig)try{window.bdkusersettings=JSON.parse(window.advancedconfig)}catch(e){window.bdkusersettings={}}else window.bdkusersettings={remove_loading:"automatic"};window.nativeprocessor?("manual"!==window.bdkusersettings.remove_loading?window.nativeprocessor.removeLoading():console.log("user will remove loading via workflow"),window.nativeprocessor.addToQueue("sendDeviceInfoToBubble"),window.nativeprocessor.processQueue()):window.pendingRemoveLoading=!0}else console.log("could not find window object")},!1),window.NativeReceivers={AddressBook:{},TakePhoto:{},SelectPhoto:{},Screenshot:{},AppInfo:{},ListTypeMenu:{},Barcode:{},DeviceLocation:{},DeviceVariable:{},HeaderMenuClicked:{},CaptureAudio:{},TakeVideo:{},SelectVideo:{},collectPopup:{},BackButtonPressed:{},PurchaseSuccess_ios:{},PurchaseFailed_ios:{},ReceiptsReceived_ios:{},PurchaseSuccess_android:{},PurchaseFailed_android:{},ReceiptsReceived_android:{},Datepicker:{},Optionpicker:{},Biometrics:{},SmartLogin:{}},window.activeReceivers={AddressBook:null,TakePhoto:null,SelectPhoto:null,Screenshot:null,AppInfo:null,ListTypeMenu:null,Barcode:null,DeviceLocation:null,DeviceVariable:null,HeaderMenuClicked:null,CaptureAudio:null,TakeVideo:null,SelectVideo:null,collectPopup:null,Datepicker:null,Optionpicker:null,Biometrics:null,SmartLogin:null},window.validateData=function(e){return null!=e&&(-1===e.indexOf("{{")&&-1===e.indexOf("$env")&&-1===e.indexOf("$get")&&-1===e.indexOf("$cache")&&-1===e.indexOf("}}"))},window.collectDeviceInfo=function(e,o,i,n,c,t,r,a,d,s,w,v,l,u,f,h,p,g,R,k,N){try{window.bdkNativeInfo={playerId:e,pushToken:o,deviceWidth:i,deviceHeight:n,deviceOS:c,deviceOSVersion:t,deviceLanguage:r,cameraPermissionStatus:a,contactsPermissionStatus:d,audiorecordPermissionStatus:s,externalstoragePermissionStatus:w,locationPermissionStatus:v,versionName:l,versionCode:u,deviceModel:f,bdkRelease:h,biometricsAvailable:"available"==p,smartLoginAvailable:"available"==g},window.validateData(R)&&(window.bdkNativeInfo.appTrackingPermissionStatus=R),window.validateData(k)&&(window.bdkNativeInfo.idfa=k),window.validateData(N)&&(window.bdkNativeInfo.viewType=N),window.nativeprocessor.isNative=!0,window.nativeprocessor.platform=c,window.nativeprocessor.releaseVersion=parseFloat(h),Object.keys(window.NativeReceivers.AppInfo).forEach(function(e){window.NativeReceivers.AppInfo[e](window.bdkNativeInfo)}),"ios"===c.toLowerCase()&&window.detectLinks(),window.nativeprocessor.isNative&&!window.adjustedPageHeight&&(window.injectCSS("body {\n min-height: calc(100vh - 39px);\n }\n .main-page.bubble-element.Page {\n min-height: calc(100vh - 39px);\n }"),window.adjustedPageHeight=!0)}catch(e){}},window.checkIfVersion=function(e,o){var i=!0;return o&&Number(window.bdkNativeInfo.bdkRelease)>o?i=!1:Number(window.bdkNativeInfo.bdkRelease)<e&&(i=!1),i},window.getContacts=function(e){try{var o=window.activeReceivers.AddressBook;window.NativeReceivers.AddressBook[o](e)}catch(e){console.log("No receiver found for information")}},window.collectSnapshot=function(e){try{var o=window.activeReceivers.Screenshot;window.NativeReceivers.Screenshot[o](e)}catch(e){console.log("No receiver found for information")}},window.onBiometricAuthentication_ios=function(e,o){try{var i=window.activeReceivers.Biometrics;window.NativeReceivers.Biometrics[i](e,o)}catch(e){console.log("No receiver found for biometrics")}},window.onBiometricAuthentication_android=function(e,o){try{var i=window.activeReceivers.Biometrics;window.NativeReceivers.Biometrics[i](e,o)}catch(e){console.log("No receiver found for biometrics")}},window.onLoginViaCredentials=function(e,o){try{var i=window.activeReceivers.SmartLogin;-1!=e.indexOf("{{")&&(e=null),-1!=o.indexOf("{{")&&(o=null),window.NativeReceivers.SmartLogin[i](e,o)}catch(e){console.log("No receiver found for smartlogin")}},window.pickPhoto=function(e,o,i,n){try{var c=window.activeReceivers.SelectPhoto;window.NativeReceivers.SelectPhoto[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.pickVideo=function(e,o,i,n){try{var c=window.activeReceivers.SelectVideo;window.NativeReceivers.SelectVideo[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.capturePhoto=function(e,o,i,n){try{var c=window.activeReceivers.TakePhoto;window.NativeReceivers.TakePhoto[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}}
232,window.captureVideo=function(e,o,i,n){try{var c=window.activeReceivers.TakeVideo;window.NativeReceivers.TakeVideo[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.collectMenuClick=function(e){try{var o=window.activeReceivers.ListTypeMenu;window.NativeReceivers.ListTypeMenu[o](e)}catch(e){console.log("No receiver found for list type menu information")}},window.collectBarcode=function(e){try{var o=window.activeReceivers.Barcode;window.NativeReceivers.Barcode[o](e)}catch(e){console.log("No receiver found for barcode information")}},window.collectLocation=function(e){try{Object.keys(window.NativeReceivers.DeviceLocation).forEach(function(o){window.NativeReceivers.DeviceLocation[o](e)})}catch(e){console.log("error capturing location info to receivers")}},window.collectDeviceVariable=function(e,o){try{var i=window.activeReceivers.DeviceVariable;window.NativeReceivers.DeviceVariable[i](e,o)}catch(e){console.log("No receiver found for device variable")}},window.headerMenuClicked=function(){try{Object.keys(window.NativeReceivers.HeaderMenuClicked).forEach(function(e){window.NativeReceivers.HeaderMenuClicked[e]()})}catch(e){console.log("error sending header menu click event to receivers")}},window.recordAudio=function(e,o,i,n){try{var c=window.activeReceivers.CaptureAudio;window.NativeReceivers.CaptureAudio[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.collectPopup=function(e){try{var o=window.activeReceivers.collectPopup;window.NativeReceivers.collectPopup[o](e)}catch(e){console.log("No receiver found for information")}},window.collectDateTime=function(e){try{var o=window.activeReceivers.Datepicker;window.NativeReceivers.Datepicker[o](e)}catch(e){console.log("No receiver found for date information")}},window.collectOption=function(e){try{var o=window.activeReceivers.Optionpicker;window.NativeReceivers.Optionpicker[o](e)}catch(e){console.log("No receiver found for option information")}},window.backButtonPressed=function(){try{Object.keys(window.NativeReceivers.BackButtonPressed).forEach(function(e){window.NativeReceivers.BackButtonPressed[e]()})}catch(e){console.log("error sending header menu click event to receivers")}},window.BackButtonPressed=window.backButtonPressed,window.onPurchaseSuccess_ios=function(e){try{Object.keys(window.NativeReceivers.PurchaseSuccess_ios).forEach(function(o){window.NativeReceivers.PurchaseSuccess_ios[o](e)})}catch(e){console.log("error sending successful ios in app purchase data to receivers")}},window.onPurchaseFailed_ios=function(e){try{Object.keys(window.NativeReceivers.PurchaseFailed_ios).forEach(function(o){window.NativeReceivers.PurchaseFailed_ios[o](e)})}catch(e){console.log("error sending failed ios in app purchase data to receivers")}},window.onReceiptDataReceived_ios=function(e){try{Object.keys(window.NativeReceivers.ReceiptsReceived_ios).forEach(function(o){window.NativeReceivers.ReceiptsReceived_ios[o](e)})}catch(e){console.log("error sending receipts of ios in app purchase data to receivers")}},window.onPurchaseSuccess_android=function(e){try{Object.keys(window.NativeReceivers.PurchaseSuccess_android).forEach(function(o){window.NativeReceivers.PurchaseSuccess_android[o](e)})}catch(e){console.log("error sending successful android in app purchase data to receivers")}},window.onPurchaseFailed_android=function(e){try{Object.keys(window.NativeReceivers.PurchaseFailed_android).forEach(function(o){window.NativeReceivers.PurchaseFailed_android[o](e)})}catch(e){console.log("error sending failed android in app purchase data to receivers")}},window.onReceiptDataReceived_android=function(e){try{Object.keys(window.NativeReceivers.ReceiptsReceived_android).forEach(function(o){window.NativeReceivers.ReceiptsReceived_android[o](e)})}catch(e){console.log("error sending receipts of android in app purchase data to receivers")}},window.detectLinks=function(){if(!window.detection_status){console.log("started detection");var e=document.body,o={childList:!0,subtree:!0},i=function(e){if(!window.need_to_resolve){for(var o=0;o<e.length;++o)e[o].addedNodes.length>0&&document.querySelectorAll("a[target='_blank']").length>0&&(window.need_to_resolve=!0);window.need_to_resolve&&(document.querySelectorAll("a[target='_blank']").forEach(function(e){-1==e.href.indexOf("https://bubble.io/?utm_source=app_mention")&&(e.target="_self")}),window.need_to_resolve=!1)}},n=new MutationObserver(i);n.observe(e,o)}return window.detection_status=!0,!0}; 233</script>
vendor: 1 bytes, line 233
233
234<script src="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/f1664489218713x811279010926034800/URI.min.js"></script>
234 235<!-- 1580238841425x582072028873097200 --> 236<style> 237 238 blockquote { 239 border-left: 4px solid #ccc; 240 margin-bottom: 5px; 241 margin-top: 5px; 242 padding-left: 16px; 243 } 244 245 ul, ol { 246 list-style-position: outside; 247 } 248 249 .ql-font .ql-picker-label:first-child::before { 250 font-family: inherit; 251 overflow: hide; 252 } 253 254 .ql-font .ql-picker-label { 255 overflow: hidden; 256 } 257 258 .regular-header-icon { 259 color: #444; 260 } 261 262 .tooltip-header-icon { 263 color: #ccc; 264 } 265 266</style> 267<!-- 1582601241392x653181519983018000 -->
268<script src="https://2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/f1581785748644x612892952682557000/papaparse.min.js"></script>
268 269<!-- 1618916043803x877032991371296800 -->
270<script defer src="//meta.cdn.bubble.io/f1678588430465x230578802325048350/icons.js"></script>
270 271
272<script> 273 const allSelect2 = /\[(hi.*)\](.*)\[\/(hi.*)\]/; 274 const colormatch2 = /#[0-9A-f]{3,6}#/; 275 const fillMatcher2 = /fill="currentColor"/; 276 277 function replaceIcon(btn) { 278 let content = btn.getAttribute("title"); 279 280 if (!content) return; 281 282 let iconColor = content.match(colormatch2); 283 content = content.replace(colormatch2, ""); 284 const iconMarkup = content.match(allSelect2); 285 if (!iconMarkup) { 286 return; 287 } 288 289 if (iconMarkup[1] != iconMarkup[3]) return; 290 291 const iconProps = iconMarkup[1].slice(2).split("-"); 292 293 const props = { 294 name: iconMarkup[2], 295 size: "20px", 296 color: btn.innerHTML.match(colormatch2) 297 ? btn.innerHTML.match(colormatch2)[0].slice(0, -1) 298 : undefined, 299 set: "mini", 300 position: undefined, 301 iconHTML: undefined, 302 style: 'style="', 303 spacing: "8px", 304 stroke_width: "1.5px", 305 }; 306 307 if (props.color) { 308 props.iconHTML = props.iconHTML.replace( 309 fillMatcher2, 310 "fill=" + iconColor 311 ); 312 } 313 314 iconProps.forEach((property) => { 315 switch (property) { 316 case "l": 317 props.position = "left"; 318 break; 319 case "r": 320 props.position = "right"; 321 break; 322 case "b": 323 props.position = "center"; 324 break; 325 case "o": 326 props.set = "outlined"; 327 break; 328 case "s": 329 props.set = "solid"; 330 break; 331 } 332 if (/m[0-99]+/.test(property)) { 333 const matched = property.match(/m([0-99]+)/); 334 props.spacing = `${matched[1]}px`; 335 } 336 if (/w[0-99]+/.test(property)) { 337 const matched = property.match(/w([0-99]+)/); 338 props.stroke_width = `${matched[1]/10}px`; 339 } 340 341 const number = Number(property); 342 343 if (number && number > 0) { 344 props.size = String(number) + "px"; 345 } 346 }); 347 348 if (props.name == "no-icon") { 349 btn.classList.add("heroicon"); 350 351 btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, '')); 352 btn.childNodes.forEach((node) => { 353 if (node.nodeName !== "#text") { 354 node.remove(); 355 } 356 357 }); 358 return; 359 } 360 361 if (window[`heroicons_${props.set}`].has(props.name)) { 362 props.iconHTML = window[`heroicons_${props.set}`].get(props.name); 363 } else { 364 return; 365 } 366 367 btn.classList.add("heroicon"); 368 369 props.style += ` ${props.set == "outlined" ? ` stroke-width: ${props.stroke_width};` : "" 370 } height: ${props.size}; width: ${props.size}; `; 371 372 let insertBefore = props.iconHTML.lastIndexOf("viewBox"); 373 374 btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, '')); 375 btn.childNodes.forEach((node) => { 376 if (node.nodeName !== "#text") { 377 node.remove(); 378 } 379 }); 380 381 btn.style.display = "inline-flex"; 382 btn.style.alignItems = "center"; 383 384 if (props.position == "left") { 385 let styledHTML = 386 props.iconHTML.substring(0, insertBefore) + 387 props.style + 388 `margin-right:${props.spacing}"` + 389 props.iconHTML.substring(insertBefore); 390 btn.insertAdjacentHTML("afterbegin", styledHTML); 391 } else if (props.position == "right") { 392 let styledHTML = 393 props.iconHTML.substring(0, insertBefore) + 394 props.style + 395 `margin-left:${props.spacing}"` + 396 props.iconHTML.substring(insertBefore); 397 btn.insertAdjacentHTML("beforeend", styledHTML); 398 } else { 399 let styledHTML = 400 props.iconHTML.substring(0, insertBefore) + 401 props.style + 402 `"` + 403 props.iconHTML.substring(insertBefore); 404 btn.insertAdjacentHTML("beforeend", styledHTML); 405 } 406 } 407 408 document.addEventListener("DOMContentLoaded", function () {
409 let config = { 410 subtree: true, 411 childList: true, 412 attributes: true, 413 characterData: false, 414 attributeFilter: ["title"] 415 }; 416 417 let callback = function (mutationsList, observer) { 418 for (let mutation of mutationsList) { 419 if (mutation.target.tagName === "BUTTON") { 420 replaceIcon(mutation.target); 421 } else if (mutation.addedNodes) { 422 mutation.addedNodes.forEach((node) => { 423 if (node.tagName == "BUTTON") { 424 replaceIcon(node); 425 } 426 }); 427 } 428 } 429 }; 430 431 const observer = new MutationObserver(callback); 432 observer.observe(document, config); 433 }); 434</script>
434 435 436<style> 437 .animate-spin>circle { 438 color: inherit; 439 opacity: 25%; 440 } 441 442 .animate-spin { 443 animation: 1s linear infinite spin; 444 } 445 446 @keyframes spin { 447 from { 448 transform: rotate(0); 449 } 450 451 to { 452 transform: rotate(360deg); 453 } 454 } 455 456 .heroicon { 457 display: inline-flex; 458 align-items: center; 459 justify-content: center; 460 gap: 0 !important; 461 } 462 463 .dots_one { 464 stroke: currentColor; 465 fill: currentColor; 466 animation: dots 0.8s linear infinite; 467 animation-delay: -0.8s; 468 margin-right: 1px; 469 } 470 471 .dots_two { 472 animation-delay: -0.65s; 473 } 474 475 .dots_three { 476 animation-delay: -0.5s; 477 } 478 479 @keyframes dots { 480 481 93.75%, 482 100% { 483 opacity: 0.2; 484 } 485 } 486</style> 487<!-- 1661717622628x490300288223674400 -->
488<script type="text/javascript"> 489 (function(c,l,a,r,i,t,y){ 490 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 491 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i+"?ref=bubble"; 492 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 493 })(window, document, "clarity", "script", "rnbm5d1yx4"); 494</script>
vendor: 1 bytes, line 494
494
495<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
495 496<!-- custom app meta header --> 497<meta name="mobile-web-app-capable" content="yes"> 498<meta name="apple-mobile-web-app-capable" content="yes"> 499<meta name="theme-color" content=" 500#ffffff"> 501<meta name="apple-mobile-web-app-status-bar-style" content="default"> 502 503<style> 504#noScroll_shiftCard::-webkit-scrollbar { 505 display: none; 506} 507#noScroll_shiftCard { 508 -ms-overflow-style: none; /* IE and Edge */ 509 scrollbar-width: none; /* Firefox */ 510} 511 512#noScroll::-webkit-scrollbar { 513 display: none; 514} 515 516#noScroll { 517 -ms-overflow-style: none; /* IE and Edge */ 518 scrollbar-width: none; /* Firefox */ 519} 520 521#noScroll_shiftMonth, #noScroll_shiftMonth > :first-child { 522 -ms-overflow-style: none; /* IE and Edge */ 523 scrollbar-width: none; /* Firefox */ 524} 525 526#overflow { 527 overflow-x: scroll !important; 528} 529 530#overflow::-webkit-scrollbar { 531 display: none; 532} 533 534#overflow { 535 -ms-overflow-style: none; /* IE and Edge */ 536 scrollbar-width: none; /* Firefox */ 537} 538 539#overflow-bar { 540 overflow-x: scroll !important; 541 -ms-overflow-style: normal !important; 542 scrollbar-width: normal !important; 543} 544</style> 545</head> 546<body>
546<script type="text/javascript"> 547window.addEventListener('DOMContentLoaded', function () { 548 if (window.appquery == null) { 549 (function() { 550 const html = ` 551 <div class="error-card"> 552 <div class="error-section"> 553 <div class="error-title">Your browser was unable to load some necessary resources</div> 554 <div class="error-message">Contact your IT network administrator to allow access to: 555 ⢠d3dqmih97rcqmh.cloudfront.net 556 ⢠2c7b72955cb81ec1a99b821510a561cb.cdn.bubble.io/ 557 ⢠d1muf25xaso8hp.cloudfront.net</div> 558 </div> 559 </div> 560 ` 561 562 const css = document.createElement('style') 563 css.type = 'text/css' 564 css.appendChild( 565 document.createTextNode(` 566 .error-overlay { 567 width: 100%; 568 height: 100%; 569 background: rgba(0,0,0,0.30); 570 overflow: hidden; 571 display: flex; 572 justify-content: center; 573 align-items: flex-start; 574 position: fixed; 575 inset: 0; 576 z-index: 999999; 577 } 578 579 .error-card { 580 width: 500px; 581 margin: 40px; 582 background: white; 583 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 584 border-radius: 8px; 585 display: flex; 586 flex-direction: column; 587 } 588 589 .error-section { 590 padding: 40px; 591 display: flex; 592 flex-direction: column; 593 gap: 12px; 594 } 595 596 .error-title { 597 color: #1A1A1A; 598 font-size: 18px; 599 font-family: Arial, sans-serif; 600 font-weight: 600; 601 line-height: 28px; 602 } 603 604 .error-message { 605 color: #525252; 606 font-size: 14px; 607 font-family: Arial, sans-serif; 608 font-weight: 400; 609 line-height: 20px; 610 white-space: pre-wrap; 611 } 612 `) 613 ) 614 document.head.appendChild(css) 615 616 const container = document.createElement('div') 617 container.className = 'error-overlay' 618 container.innerHTML = html 619 document.body.appendChild(container) 620 })() 621 httpRequest = new XMLHttpRequest(); 622httpRequest.open('POST', '/user/m', true); 623httpRequest.setRequestHeader('Content-Type', 'application/json'); 624httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}})); 625 }; 626}); 627</script>
627<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() { 628 const html = ` 629 <div class="error-card"> 630 <div class="error-section"> 631 <div class="error-title">Your browser was unable to load the application</div> 632 <div class="error-message">We've been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div> 633 </div> 634 </div> 635 ` 636 637 const css = document.createElement('style') 638 css.type = 'text/css' 639 css.appendChild( 640 document.createTextNode(` 641 .error-overlay { 642 width: 100%; 643 height: 100%; 644 background: rgba(0,0,0,0.30); 645 overflow: hidden; 646 display: flex; 647 justify-content: center; 648 align-items: flex-start; 649 position: fixed; 650 inset: 0; 651 z-index: 999999; 652 } 653 654 .error-card { 655 width: 500px; 656 margin: 40px; 657 background: white; 658 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 659 border-radius: 8px; 660 display: flex; 661 flex-direction: column; 662 } 663 664 .error-section { 665 padding: 40px; 666 display: flex; 667 flex-direction: column; 668 gap: 12px; 669 } 670 671 .error-title { 672 color: #1A1A1A; 673 font-size: 18px; 674 font-family: Arial, sans-serif; 675 font-weight: 600; 676 line-height: 28px; 677 } 678 679 .error-message { 680 color: #525252; 681 font-size: 14px; 682 font-family: Arial, sans-serif; 683 font-weight: 400; 684 line-height: 20px; 685 white-space: pre-wrap; 686 } 687 `) 688 ) 689 document.head.appendChild(css) 690 691 const container = document.createElement('div') 692 container.className = 'error-overlay' 693 container.innerHTML = html 694 document.body.appendChild(container) 695 })()}});</script>
695 696<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /> 697</body> 698</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.