1 2 3 4 5 6<!DOCTYPE html> 7<html> 8<head> 9 <title>CMA Interview Prep Courses | Career Success Launchpad</title> 10 <meta name="keywords" content="CMA Interview Training, CMA Placement Course, CMA Job Interview Skills, CMA Finance Interviews, Career Success for CMA, CMA Job Preparation"/> 11 <meta name="description" content="Browse CMA interview prep courses, company-specific blueprints, SAP FICO basics, and e-books by CMA Rohan Sharma. Designed for CMA freshers targeting PSU, MNC, and Big 4 placements."/> 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 69 70 71 72 73 74 75 76 77 78 79 80 81 <meta name="google" content="notranslate"> 82 83 84 <link rel="canonical" href="https://www.careersuccesslaunchpad.in/s/store" /> 85 86 87 88<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 89<link rel="icon" href="/favicon.ico" type="image/x-icon"> 90 91 92 93 94 95 96 97
97<script>var orgCountry = "IN";</script>
97 98 99 100 101 102<link id="theme" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre.min.css" rel="stylesheet"> 103 104<link rel="preconnect" href="https://fonts.googleapis.com"> 105<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 106 107<link rel="preload" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" as="style" onload="this.onload=null;this.rel='stylesheet'"> 108<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" ></noscript> 109 110<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" as="style" onload="this.onload=null;this.rel='stylesheet'"> 111<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" ></noscript> 112 113<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 114<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" ></noscript> 115 116<link id="theme-exp" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre-exp.min.css" rel="stylesheet"> 117 118 119 120 121 <link href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstyles_0f8f8346b730ed7f9d44d25335e652c6.css" rel="stylesheet"> 122 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstore_052a28d8fc16dab749345a09dfcd63bf.css"/> 123 124 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/stylesheets/gtheme3.css?v=7"/> 125 126 <style type="text/css"> 127 #loginLoader{ 128 position: absolute; 129 left: 0; 130 right: 0; 131 margin-left: auto; 132 margin-right: auto; 133 width: 100px; 134 top: 50%; 135 } 136 .customSocialBtn { 137 display: flex; 138 white-space: nowrap; 139 justify-content: center; 140 align-items: center; 141 padding: 11px 67px; 142 position: static; 143 left: 0px; 144 top: 40px; 145 cursor: pointer; 146 margin: auto; 147 border: none; 148 gap: 10px; 149 /*width: 364px; 150 height: 48px; 151 background: #000000; */ 152 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 153 background: white; 154 border-radius: 4px; 155 box-shadow: 0 2px 4px 0 rgb(0 0 0 / 25%); 156 width: 245px; 157 height: 40px; 158 } 159 160 .customSocialBtn img.icon { 161 height: 20px; 162 width: 20px; 163 } 164 .customSocialBtn span.buttonText { 165 font-style: normal; 166 font-weight: 900; 167 font-size: 16px; 168 line-height: 120%; 169 opacity: 0.9; 170 font-family: 'Roboto', sans-serif; 171 /* color: #F7F7F7; */ 172 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 173 color: #808080; 174 } 175 </style> 176 177 178 179 180 181 <style type="text/css"> 182 183 </style> 184 185 186 187 188 189 <style type="text/css"> 190 footer a, footer+div a { 191 color: var(--footerTextColor) !important; 192 } 193 footer .socialIcons {text-align: right;} 194 @media (max-width: 600px) { 195 footer .linksCont a { display: block !important; } 196 footer .socialIcons {text-align: center;margin-top: 20px;} 197 } 198 </style> 199 200 201 202 203 204 205 206<style type="text/css"> 207 :root { 208 --themeColor: #5755d9; 209 --themeBGColor: #fff; 210 --headerHeight: 80px; 211 --headerTextColor: #0a0959; 212 --headerBGColor: #fdfbfb; 213 214 } 215 216 217 :root { 218 --themeColor: #317AE7; 219 --themeBGColor: #EFF5FE; 220 --themeCornerRadius: 25px; 221 --themeGrayColor: #F5F5F5; 222 } 223 224</style> 225 226<style type="text/css"> 227 .is-overlay-bg { 228 opacity: 1; 229 } 230 231.navbar-section .nav-link:nth-child(8), .navbar-section .nav-link:nth-child(9), .navbar-section .nav-link:nth-child(10), .navbar-section .nav-link:nth-child(11){ 232 display:none!important; 233} 234 235 236</style> 237 238 239 240
241<script type="text/javascript"> 242 window.onload = function(event) { 243 document.querySelectorAll('header .avatar img').forEach(function(img){ 244 if(img.naturalWidth == 0) { 245 img.style.display='none'; 246 } 247 }) 248 }; 249 var RESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 250 251 function showCourseDefaultCover(img, cid) { 252 var rndm = ((parseInt(cid.replace(/[a-z]/g, '')) % 10) % 6) + 1; 253 rndm = isNaN(rndm) ? 1 : rndm; 254 if(img === null) { 255 return RESCDN + "/resources/images/cc"+rndm+".jpg"; 256 } 257 258 img.src = RESCDN + "/resources/images/cc"+rndm+".jpg"; 259 } 260</script>
260 261 262 263 264 265 266 267 268 269 270 271 272
273<script type="text/javascript">var learnerConsentMsg = `We've updated our <a href='/termsofuse' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='/privacy-policy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
273 274
275<script type="text/javascript">var creatorConsentMsg = `We've updated our <a href='https://graphy.com/legal/terms' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='https://graphy.com/legal/privacy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
275 276
277<script type="text/javascript">var cookieMsg = `We use cookies to personalise your experience and to analyse our website traffic. By continuing to use our website, you consent to our cookies.`;</script>
277 278 279 280 281 282 283
284<script type="text/template" id="consentPromptTemplate"> 285<div class="spectre"> 286 <div class="modal active" id="consentPrompt"> 287 <a href="javascript:void(0);" class="modal-overlay" aria-label="Close"></a> 288 <div class="modal-container" style="max-width:325px"> 289 <div class="modal-header" style="padding:0.8rem 0.8rem 0px 0.8rem;"> 290 <div class="modal-title h5 text-center">Updated Terms</div> 291 </div> 292 <div class="modal-body"> 293 294 <form id="consentForm" style="text-align:center; font-size:13px"> 295 <div class="content"></div><br> 296 <div class="text-center"> 297 <button id="consentBtn" type="button" class="btn close btn-primary">I Agree</button> 298 </div> 299 </form> 300 301 </div> 302 </div> 303</div> 304</script>
304 305 306
307<script> 308 var hideCookiePopup = false; 309 var cookieConsentEnabled = true; 310 if(!cookieConsentEnabled){ 311 hideCookiePopup = true; 312 } 313 var SPORG = {subscriptionPlan: "rise", checkout_version: "2", customer_type: "r"}; 314</script>
vendor: 1 bytes, line 314
314
315<script type="text/template" id="cookiePopupTemplate"> 316<div class="spectre" style="position: fixed; bottom: 0; width: 100%; opacity:1; z-index: 9999;"> 317 <div class="modal-container p-0" id="cookiePopup"> 318 <form id="cookiePopupForm"> 319 <div class="columns" style="align-items: center;"> 320 <div class="column col-sm-12 content text-center"></div> 321 <div class="column col-sm-12 text-center"> 322 <a href="/privacy-policy" class="btn" target="_blank" id="viewPrivacyPolicyBtn" style="margin-right:15px;">View privacy policy</a> 323 <button id="acceptCookiesBtn" type="button" class="btn close btn-primary">Accept cookies</button> 324 </div> 325 </div> 326 </form> 327 </div> 328</div> 329</script>
329 330 331 332 333 334 335 336
336<script type="application/ld+json"> 337{"@context":"https://schema.org","@type":"Organization","name":"Career Success Launchpad","alternateName":"Career Success Launchpad by CMA Rohan Sharma","url":"https://www.careersuccesslaunchpad.in","description":"India's most trusted CMA interview preparation platform. Courses on campus placement, PSU interviews, MNC prep and off-campus strategy taught by CMA Rohan Sharma FCMA.","email":"[email protected]","telephone":"+919315338315","address":{"@type":"PostalAddress","addressLocality":"Hajipur","addressRegion":"Bihar","addressCountry":"IN"},"founder":{"@type":"Person","name":"CMA Rohan Sharma","jobTitle":"FCMA, CMA Interview Mentor","url":"https://www.careersuccesslaunchpad.in/aboutus","knowsAbout":["CMA Interview Preparation","Campus Placement","PSU Finance Interviews","CMA Fresher Jobs"],"award":"WIRC Influencer Award 2025"},"legalName":"Career Success Launchpad Pvt. Ltd."} 338</script>
vendor: 1 bytes, line 338
338
339<script type="application/ld+json"> 340{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Who is CMA Rohan Sharma?","acceptedAnswer":{"@type":"Answer","text":"CMA Rohan Sharma (FCMA) is India's most trusted CMA interview mentor with 7+ years of corporate finance experience. He has mentored 2000+ CMA professionals placed at PSUs, MNCs and Big 4 firms. WIRC Influencer Award 2025 recipient."}},{"@type":"Question","name":"What courses does Career Success Launchpad offer?","acceptedAnswer":{"@type":"Answer","text":"Career Success Launchpad offers: Rock Your Interview (flagship), Rock Your CMA Campus, Rock Your Internship Interview, Interview Blueprints for PSU and MNC roles, and Interview Books - all focused on CMA interview preparation."}},{"@type":"Question","name":"What is the placement success rate?","acceptedAnswer":{"@type":"Answer","text":"Career Success Launchpad has a 90%+ interview success rate. Over 2000 CMA professionals have been placed at BPCL, IOCL, HPCL, ONGC, Deloitte, EY, KPMG, PwC, TCS, Infosys and more."}},{"@type":"Question","name":"Is Rock Your Interview suitable for CMA freshers?","acceptedA
340nswer":{"@type":"Answer","text":"Yes. Rock Your Interview is designed for CMA students and freshers preparing for campus placement, PSU interviews and MNC finance roles. It covers technical finance, behavioural rounds, resume writing, GD and salary negotiation."}},{"@type":"Question","name":"Does Career Success Launchpad offer free resources?","acceptedAnswer":{"@type":"Answer","text":"Yes. Free resources include a WhatsApp Channel with 5000+ followers, YouTube Channel with 16K+ subscribers and a community of 10000+ CMAs with interview tips and job alerts."}},{"@type":"Question","name":"What makes Career Success Launchpad different?","acceptedAnswer":{"@type":"Answer","text":"It is the only platform focused exclusively on CMA interview preparation, led by CMA Rohan Sharma FCMA who has real corporate experience at PSUs, MNCs and Big 4 firms giving students frameworks built from actual hiring room experience."}},{"@type":"Question","name":"How can I contact Career Success Launchpad?","acceptedAnswer":{"@type":"Answer","text":"Email: [email protected] | Phone: +91 93153 38315 | Location: Hajipur Bihar - Pan-India Online"}}]} 341</script>
341 342 343 344 345 346 347 348 349 350 351 352 353 354 355<!-- Google Tag Manager -->
356<script>
vendor: 327 bytes, lines 356-360
356(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 357new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 358j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 359'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 360})(window,document,'script','dataLayer','
360GTM-KW7N9P2
vendor: 4 bytes, line 360
360');
361</script>
361 362<!-- End Google Tag Manager --> 363 364
364<script defer type="text/javascript" src="https://api.pirsch.io/pirsch-extended.js" 365 id="pirschextendedjs" 366 data-code="4ORie9SpKotiJ9SlhWJ1IcBZnnIggLpg"></script>
366 367 368 <meta name="google-site-verification" content="" /> 369
370<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-3c5e94b79297c3f66ad","agent":"","beacon":"bam.nr-data.net","applicationTime":27,"applicationID":"1108160141","transactionName":"Y1RVZkAHVhIHBUZfWVoeZEJAD1YGJQlcQkRbXVtXQElLFQkUVxYec3RjGw==","queueTime":0}; 371(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1134555315",accountID:"3033394",trustKey:"3033394",xpid:"VwYEUlVaDBABVVFaBgcHV1AA",licenseKey:"NRJS-3c5e94b79297c3f66ad",applicationID:"1108160141",browserID:"1134555315"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */ 372(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
372e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
372const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
372if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
372o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
372(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
372;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
372{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
372ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
372{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
372null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
372dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
372imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
372return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
372!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
372if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
372);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
372class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
372h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
372</head> 373<body class="theme3"> 374 375 376 377 378 379 380 381<div class="header spectre " 382 style="background-color: #fdfbfb;"> 383 384 <header class="navbar container" style="min-height: 80px;"> 385 386 <div id="navbar-section-btn"> 387 388 <a href="javascript:void(0);" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.careersuccesslaunchpad.in","button":"cart"}' class="nav-link badge cartBtn mr-2" data-badge="0"><i class="material-icons">shopping_cart</i></a> 389 390 <a class="btn btn-link btn-action ml-2" id="header-collapse-btn" href="javascript:void(0);"> 391 <i class="icon-menu material-icons">menu</i> 392 </a> 393 </div> 394 <section class="navbar-section" style="min-height: 80px;"> 395 <a href="/" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.careersuccesslaunchpad.in","button":"profile_logo"}'><img alt="logo" onerror="this.src='https://d502jbuhuh9wk.cloudfront.net/resources/images/yourlogohere.jpg'" src='https://d502jbuhuh9wk.cloudfront.net/logos/647ddedce4b0265070006b3b.png?v=10'/></a> 396 </section> 397 398 <section class="navbar-section hide-md"> 399 <form class="input-group p-0 relative" action="/s/store/courses" method="GET" style="width:100%;background:transparent"> 400 <div class="input-group" style="width: 100%;"> 401 <input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search"> 402 <button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button> 403 </div> 404 </form> 405 </section> 406 407 <section class="navbar-section menu-links"> 408 409 410 411 412 413 <a class="nav-link" href="/s/store" data-id="x49yiqodm" >Courses</a> 414 415 <a class="nav-link" href="/sessions#nav_bar" data-id="s59ea5ec7" >Webinars</a> 416 417 <a class="nav-link" href="/s/avatar" data-id="6ya1nki8n" >AI Avatar</a> 418 419 <a class="nav-link" href="/s/pages/halloffame" data-id="fi2tuofi1" >Hall of Fame</a> 420 421 <a class="nav-link" href="/blog" data-id="486bzcoml" >Blog</a> 422 423 <a class="nav-link" href="/aboutus" data-id="0hnqw2b69" >About</a> 424 425 <a class="nav-link" href="/s/pages/faq" data-id="fuqexzvvx" target='_blank'>FAQs</a> 426 427 428 429 <a href="/s/avatar" target="_blank" class="nav-link" amplitude-event="aiavatar_tapped" amplitude-payload='{"source":"nav_bar"}'>AI Avatar</a> 430 431 432 <a href="/sessions#nav_bar" class="nav-link" amplitude-event="livesessions_tapped" amplitude-payload='{"source":"nav_bar"}' href="javascript:void(0);">Webinars</a> 433 434 435 436 <a href="/memberships" class="nav-link" amplitude-event="membership_tapped" amplitude-payload='{"membership_id": "6765bf7b4f09c42c7adc12a2","source":"nav_bar"}' href="javascript:void(0);">Membership</a> 437 438 439 440 441 442 443 444 <a href="javascript:void(0);" class="nav-link badge cartBtn hide-md" data-badge="0"><i class="fa-regular fa-cart-shopping"></i></a> 445 446 447 <a href="javascript:void(0);" class="btn btn-primary loginBtn">Login</a> 448 449 450 </section> 451 </header> 452 453 454 <form class="show-md container" action="/s/store/courses" method="GET" style="background:transparent;"> 455 <div class="input-group relative" style="width: 100%;"> 456 <input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search"> 457 <button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button> 458 </div> 459 </form> 460 461</div> 462 463 464 <div class="spectre"> 465 <div class="main container" style=""> 466 <div class="columns pt-2"> 467 <div class="column col-4 col-sm-12"> 468 <div class="dropdown categoriesBtn col-12"> 469 <a href="#" class="btn btn-lg btn-primary dropdown-toggle" tabindex="0"><span class="icon-text">Category</span> <i class="material-icons">arrow_drop_down</i></a> 470 <ul class="menu"></ul> 471 </div> 472 </div> 473 </div> 474 475 476 477 478 <div class="border-bottom" style="margin-top: 50px;" > 479 <h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Main Courses">Main Courses</label> <a href="/s/store/courses/Main Courses" class='btn float-right'>View All</a></h2> 480 </div> 481 <div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Main Courses"></div> 482 483 <div class="border-bottom" style="margin-top: 50px;" > 484 <h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Micro Course">Micro Course</label> <a href="/s/store/courses/Micro Courses" class='btn float-right'>View All</a></h2> 485 </div> 486 <div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Micro Courses"></div> 487 488 <div class="border-bottom" style="margin-top: 50px;" > 489 <h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Interview Blueprints">Interview Blueprints</label> <a href="/s/store/courses/Interview Blueprints" class='btn float-right'>View All</a></h2> 490 </div> 491 <div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Interview Blueprints"></div> 492 493 <div class="border-bottom" style="margin-top: 50px;" > 494 <h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Interview Books">Interview Books</label> <a href="/s/store/courses/Interview Books" class='btn float-right'>View All</a></h2> 495 </div> 496 <div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Interview Books"></div> 497 498 <div class="border-bottom" style="margin-top: 50px;" > 499 <h2><label class="text-ellipsis d-inline-block" style="max-width: calc(100% - 100px);" title="Free Resources">Free Resources</label> <a href="/s/store/courses/Free Resources" class='btn float-right'>View All</a></h2> 500 </div> 501 <div class="columns itemsContainer loading loading-lg" data-url="/store/courses/Free Resources"></div> 502 503 504 505 </div> 506 </div> 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525<div class="yogya-footer" style="display: flex !important;align-items:center;justify-content:center;clear:both;width: 100%;flex-direction: column; row-gap:30px; background: #F7F7F7; color: #232228; padding: 80px 10px;"> 526 527 528 529 530 531 532 <a style="display: flex !important;align-items:center;justify-content:center;text-decoration: none !important;background: #000 !important;color: #fff !important;padding: 12px 20px !important;border-radius: 4px !important;font-size: 14px !important;font-weight: 600 !important;line-height: 20px !important;" rel="nofollow" href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=rohansharma4787&utm_source=gc&utm_device=website&gref=rohansharma4787" target="_blank"><img alt="Launch your Graphy" style="height: 20px; width: 11px; margin-right: 12px;" src="/resources/images/grvector.svg">Launch your Graphy</a> 533 <div class="text-center" style="font-size: 12px;font-weight: 400;line-height: 20px;letter-spacing: 0.015em;">100K+ creators trust <a href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=rohansharma4787&utm_source=gc&utm_device=website&gref=rohansharma4787" target="_blank" rel="nofollow" style="color: #000 !important;text-decoration: underline !important;padding: 0 !important;font-size: inherit !important;">Graphy</a> to teach online</div> 534 535 536 537 538 <div style="display: flex !important;align-items:center;justify-content:center;column-gap: 12px;"> 539 540 <a href="https://www.instagram.com/cma_rohan/" class="instaPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;
540display: flex;align-items:center;justify-content:center;"><i class="fa-brands fa-instagram" style="font-size: 11px"></i></a> 541 542 <a href="https://www.linkedin.com/in/cmarohansharma/" class="linkedinPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-linkedin-in" style="font-size: 11px"></i></a> 543 <a href="https://www.youtube.com/c/cmarohansharma" class="yPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-youtube" style="font-size: 11px"></i></a> 544 <a href="https://t.me/cmarohansharma" class="telegramPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-telegram" style="font-size: 11px"></i></a> 545 </div> 546 <div style="display: flex !important;align-items:center;justify-content:center;font-size: 14px;font-weight: 500;line-height: 20px;letter-spacing: 0.015em;column-gap: 12px;flex-wrap: wrap;"> 547 <span>Career Success Launchpad by CMA Rohan Sharma <i class="fa-regular fa-copyright"></i> 2026</span> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 548 <a href="/privacypolicy" style="color: #232228 !important; padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Privacy policy</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 549 <a href="/termsofuse" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Terms of use</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 550 <a href="/contactus" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Contact us</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 551 <a href="/refundpolicy" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Refund policy</a> 552 </div> 553</div> 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568
569<script>const customDomain = "www.careersuccesslaunchpad.in";</script>
569 570 571 572 573
574<script> 575var disabledLocleVar='Disabled'; 576var enabledLocaleVar='Enabled'; 577var smsLocaleVar='SMS'; 578var webpushLocaleVar='Web Push'; 579var mobilepushLocaleVar='Mobile Push'; 580var invoicenumberLocaleVar='Invoice Number'; 581var productLocaleVar='Product'; 582var dateLocaleVar='Date'; 583var amountLocaleVar='Amount'; 584var detailsLocaleVar='Details'; 585var subscriptionPlanLocaleVar='Subscription Plan'; 586var addonsLocaleVar='Add Ons'; 587var showLocalVar='Show'; 588var hideLocaleVar='Hide'; 589</script>
589 590<div class="spectre"> 591 592 593 594 595 596 597 598
598<script> 599 var isPopupLogin = true; 600 var login = ''; 601 var message = ''; 602 function closeLoginPopup() { 603 $("#loginFormHtml").removeClass("active"); 604 $("body").removeClass("overflowYDisable"); 605 } 606 </script>
606 607 608 609 610 611 612 613 <div class="modal" id="loginFormHtml"> 614 <iframe id="microfe-popup-login" src="/t/public/login" loading="lazy" 615 style="width: calc(100% + 10px); height: 100vh; border: none;" 616 onload="$(this).parent().removeClass('loading');"></iframe> 617 </div> 618 619 620 621 622 623 <div class="modal" id="cartHtml"> 624 <a href="javascript:void(0);" class="modal-overlay close" 625 aria-label="Close"></a> 626 <div class="modal-container" style="max-width: 800px;"> 627 <div class="modal-header"> 628 <a href="javascript:void(0);" 629 class="close btn btn-clear float-right" aria-label="Close"></a> 630 <div class="modal-title h5"> 631 <i class="fa-regular fa-shopping-cart"></i> 632 Cart 633 (<span class="cartCount">0</span> 634 Items 635 ) 636 </div> 637 </div> 638 <div class="modal-body" style="max-height: 70vh;"> 639 <div class="content"> 640 641 <div class="text-center msg loading"></div> 642 <div class="text-center msg noItems" style="display: none;"> 643 There are no items in your cart<br/> 644 <a class="btn btn-primary" href="/s/store" 645 style="margin: 20px auto;"> 646 Add More 647 </a> 648 </div> 649 <div class="items msg" style="display: none;"> 650 <div class="m-0 cartDiv"> 651 <table class="table cartTable"> 652 <thead> 653 <tr> 654 <th colspan="2">Item Details</th> 655 <th class="text-right">Price</th> 656 <th style="width: 50px;"></th> 657 </tr> 658 </thead> 659 <tbody></tbody> 660 </table> 661 </div> 662 <div class="suggestCart mt-2 bg-gray p-2" style="display: none;"> 663 <h6>You may also be interested in</h6> 664 <div class="columns loading" id="cartRelatedCont"></div> 665 </div> 666 </div> 667 </div> 668 </div> 669 <div class="modal-footer"> 670 <div class="msg items clearfix"> 671 672 673 674 <div class="float-left text-gray"> 675 Note: Promo Codes can be applied after checkout 676 </div> 677 678 679 680 <div class="float-right"> 681 Total Amount 682 <span class="text-primary curr">₹<span 683 class="totalAmount">0</span></span> 684 </div> 685 </div> 686 <div class="msg items clearfix mt-2"> 687 <a class="btn float-left" href="/s/store" amplitude-event="add_more_course_checkout"> 688 Add More 689 </a> 690 691 692 693 694 695 696 697 <a class="btn btn-primary float-right" href="/s/checkout" amplitude-event="checkout_tapped_course_checkout" amplitude-payload='{"currency": "INR" }'>Checkout</a> 698 </div> 699 </div> 700 </div> 701 </div> 702 <div class="modal" id="newCheckoutHtml" style="padding: 0; z-index: 10000;"> 703 <div id="newCheckoutLoader" class="loading loading-lg" style="position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); z-index: 1000;display:none;"></div> 704 <!-- <a href="javascript:void(0);" class="modal-overlay close" 705 aria-label="Close"></a> 706 <div class="modal-container" style=""> --> 707 708 709 <iframe onload="hideCheckoutLoader()" id="newCheckoutIframe" sandbox="allow-top-navigation allow-modals allow-popups allow-presentation allow-orientation-lock allow-pointer-lock allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation allow-scripts allow-same-origin allow-forms" style = "width: calc(100% + 10px); height: 100%; border: none;" src=""></iframe> 710 711 <!-- </div> --> 712 </div> 713</div> 714
715<script type="text/template" id="cartItemTemplate"> 716 <tr data-id="<@- item.id @>" data-type="<@- item.type @>" data-title="<@- item.title @>" data-price="<@- item.price @>" data-coursecategory="<@- item.courseCategory @>"> 717 <@ var itemType = item.type; @> 718 <td style="width:150px;"> 719 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item.id +"/"+ item.id +"_scaled_cover.jpg?v=" + coverVersion; if(isNaN(coverVersion)) { curl = showCourseDefaultCover(null, item.id) } @> 720 <img alt="<@- item.title @> cover" style="width:100%;max-height:100px;" class="img-fit-contain lazy" onerror="showCourseDefaultCover(this, '<@- item.id @>')" 721 data-src='<@- curl @>' /> 722 </td> 723 <td class="itemTitle"><@- item.title @><@ if(item.description !== undefined) { @><div class='text-gray variantDescription'><@ print(item.description) @></div><@ } @></td> 724 <td class="text-right curr"><@ if(item.priceWithoutTax !== undefined && 'GST' != '') { @><@ print(getDisplayAmount(item.priceWithoutTax)) @><br><small><@ print(getDisplayAmount(item.price)) @> incl. <@- item.gstRate @>% GST</small><@ } else { @><@ print(getDisplayAmount(item.price)) @> <@ if(item.gstRate > 0 && 'GST' != '') { print("<br><small>incl. " +item.gstRate+"% GST</small>") } @><@ } @> 725 <@ if(item.pgChargesLearnerPercent !==undefined && getDisplayAmount(item.pgChargesLearnerPercent).includes('₹')) {@> <br><small>Internet handling fees: <@print(getDisplayAmount(item.pgChargesLearnerPercent/100*item.price))@></small> <@} @> 726 </td> 727 <td>
727<button class="btn btn-sm btn-error btn-action circle removeItemBtn" data-url="/s/cart/remove/<@- item.id @>"><i class="material-icons">clear</i></button></td> 728 </tr> 729 </script>
vendor: 1 bytes, line 729
729
730<script type="text/template" id="cartcoursecard-template"> 731 <div class="column col-2 col-md-4 scourse <@- item['spayee:resource']['spayee:courseType'] @>" title="<@- item["spayee:resource"]["spayee:title"] @>"> 732 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 733 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id) } @> 734 <img style="width: 100%;" alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 735 <div class="card-footer" style="padding: 0.2rem;"><span class="ctitle text-ellipsis d-block" style="color:#2f4f4f;font-size:small;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 736 </a> 737 </div> 738 </script>
vendor: 1 bytes, line 738
738
739<script type="text/template" id="coursecard-template"> 740 <div class="column scourse <@- item['spayee:resource']['spayee:courseType'] @> hidePackageRibbon<@- item['spayee:resource']['spayee:hidePackageRibbon'] @>"> 741 742 743 744 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 745 746 <a class="card courseDiscId" style="height:100%" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" data-id="<@- item._id@>" data-dcid="<@-item._id@>" 747 amplitude-event="course_card_tapped_checkout" 748 amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', '', item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable('', item) @>","wallet_coins_enabled_on_school":"true","category":"<@- itemCategory @>"}' 749 > 750 751 752 753 <div class="card-image relative <@ print(item["spayee:resource"]["spayee:availableForMembership"] ? 'includedInMembership' : '') @>"> 754 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id + "/" + item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id); } @> 755 <div class="blurbg lazy" data-bg="<@- curl @>"></div> 756 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 757 </div> 758 <div class="card-body text-ellipsis"> 759 <span class="ctitle" style="color:#2f4f4f;text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;"><@- item["spayee:resource"]["spayee:title"] @></span><br> 760 761 <@ if(item.rating !== undefined) { @> 762 <span class="text-gray ratingIcons icon-text"> 763 <@ for(var i=1;i<6;i++) { @> 764 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 765 <i class="material-icons">star_border</i> 766 <@ } } @></span><small class="d-inline-block pl-1 text-dark"><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</small> 767 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @> 768 <br> 769 <span class="text-gray"> 770 <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> 771 <@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses 772 <@ }else { @> 773 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:publisher"]):" ") @> 774 <@ } @> 775 </span> 776 </div> 777 <div class="card-footer"> 778 <@ print(getCourseDisplayPrice('₹', '', item, '18.0', '', true)) @> 779 <span class="text-gray" style="font-size:small"> 780 <@ if(item['spayee:resource']['spayee:instalmentPlanId']!=null && item['spayee:resource']['spayee:instalmentPlanId'] !== "") { @> 781 <@ print(getCourseInstalmentDisplayPrice('', item))@> 782 <@ }else { @> 783 <@ " " @> 784 <@ } @> 785 </span> 786 </div> 787 <div style="padding: 0 0.8rem 0.8rem 0.8rem;"> 788 <span class="text-gray" style="font-size:small"> 789 <@ if(getMultiplePlanLabel('', item)>1) {@> 790 <i class="material-icons text-primary" style="font-size:small">discount</i> 791 <@ print(' Flexible pricing plans') } @> 792 </span> 793 </div> 794 </a> 795 </div> 796 </script>
796 797
798<script type="text/template" id="blogcard-template"> 799 <div class="column col-3 col-md-6 col-sm-6 col-xs-12 scourse" style="margin-bottom: 20px;"> 800 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="/blog/<@- item['spayee:resource']['spayee:url'] @>"> 801 <div class="card-image relative"> 802 <@ if(item['spayee:resource']['spayee:cover'] !== undefined && item['spayee:resource']['spayee:cover']) { @> 803 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg<@ print(item["spayee:resource"]["spayee:coverVersion"] !== undefined?"?v="+item["spayee:resource"]["spayee:coverVersion"]:"") @>"></div> 804 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg?v=<@- item['spayee:resource']['spayee:coverVersion'] @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 805 <@ }else { @> 806 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png"></div> 807 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src='https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png'> 808 <@ } @> 809 </div> 810 <div class="card-body text-ellipsis"><span style="color:#2f4f4f;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 811 <div class="card-footer" style="padding: 0.4rem;"> 812 <span class="text-gray float-left text-ellipsis" style="max-width: calc(100% - 110px);"><@ print(item["spayee:resource"]["spayee:author"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:author"]):"") @></span> 813 <@ var pdate = item.createdDate.$date; if(item['spayee:resource']['spayee:publishDate'] !== undefined && item['spayee:resource']['spayee:publishDate'] !== '') { pdate = item['spayee:resource']['spayee:publishDate']; } @> 814 <time class="float-right text-warning"><@ print(formatDate(new Date(pdate))) @></time> 815 </div> 816 </a> 817 </div> 818 </script>
818 819 820
820<script type="text/javascript"> 821 var uuid = function (a) { 822 // https://github.com/amplitude/Amplitude-Javascript/blob/master/src/uuid.js 823 return a // if the placeholder was passed, return 824 ? // a random number from 0 to 15 825 ( 826 a ^ // unless b is 8, 827 ((Math.random() * // in which case 828 16) >> // a random number from 829 (a / 4)) 830 ) // 8 to 11 831 .toString(16) // in hexadecimal 832 : // or otherwise a concatenated string: 833 ( 834 [1e7] + // 10000000 + 835 -1e3 + // -1000 + 836 -4e3 + // -4000 + 837 -8e3 + // -80000000 + 838 -1e11 839 ) // -100000000000, 840 .replace( 841 // replacing 842 /[018]/g, // zeroes, ones, and eights with 843 uuid, // random hex digits 844 ); 845 }; 846 847 (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script") 848 ;r.type="text/javascript" 849 ;r.integrity="sha384-tzcaaCH5+KXD4sGaDozev6oElQhsVfbJvdi3//c2YvbY02LrNlbpGdt3Wq4rWonS" 850 ;r.crossOrigin="anonymous";r.async=true 851 ;r.src="https://cdn.amplitude.com/libs/amplitude-8.5.0-min.gz.js" 852 ;r.onload=function(){if(!e.amplitude.runQueuedFunctions){ 853 console.log("[Amplitude] Error: could not load SDK")}} 854 ;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i) 855 ;function s(e,t){e.prototype[t]=function(){ 856 this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}} 857 var o=function(){this._q=[];return this} 858 ;var a=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove"] 859 ;for(var c=0;c<a.length;c++){s(o,a[c])}n.Identify=o;var u=function(){this._q=[] 860 ;return this} 861 ;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"] 862 ;for(var p=0;p<l.length;p++){s(u,l[p])}n.Revenue=u 863 ;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"] 864 ;function v(e){function t(t){e[t]=function(){ 865 e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}} 866 for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){ 867 e=(!e||e.length===0?"$default_instance":e).toLowerCase() 868 ;if(!Object.prototype.hasOwnProperty.call(n._iq,e)){n._iq[e]={_q:[]};v(n._iq[e]) 869 }return n._iq[e]};e.amplitude=n})(window,document); 870 871 amplitude.getInstance().init('e56929a4c3888c23e97a7e70e34ccf6c'); 872 amplitude.getInstance().setUserId(null); 873 //amplitude.getInstance().regenerateDeviceId(); 874 875 var userProperties = { 876 custom_domain: "www.careersuccesslaunchpad.in", 877 org_id: "647ddedce4b0265070006b3b", 878 default_google_login_enabled: 'true' == 'true', 879 personalized_google_login_enabled: '' != '' && 'true' == 'false' ? true : false, 880 facebook_login_enabled: '' == 'true' ? true : false 881 }; 882 amplitude.getInstance().setUserProperties(userProperties); 883 884/* var deviceId = uuid(); 885 amplitude.getInstance().setDeviceId(deviceId); 886 sessionStorage.setItem('amplitudeDeviceId', deviceId); */ 887 </script>
887 888 889
889<script type="text/javascript"> 890 window.signupParams = {source: "store", platform: "web", sourceId: null}; 891 var showGraphyFomoFlag = ''; 892 893 showGraphyFomoFlag = '647ddedce4b0265070006b3b'; 894 895 </script>
895 896 897
897<script type="text/javascript"> 898 function hideCheckoutLoader() { 899 if(typeof window.hideLoader =="function") { 900 window.hideLoader(); 901 } 902 } 903 var checkoutRedirectGuestUsers = 'signup'; 904 </script>
904 905 906 907 908 909 910
911<script type="text/template" id="spcoursecard-2-template"> 912 <div class="column third"> 913 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 914 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 915 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 916 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 917 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 918 <p class="size-16"><@ if(item.rating !== undefined) { @> 919 <span class="text-gray ratingIcons icon-text"> 920 <@ for(var i=1;i<6;i++) { @> 921 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 922 <i class="material-icons">star_border</i> 923 <@ } } @></span><span><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</span> 924 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @></p> 925 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 926 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 927 928 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 929 <div style="margin:1em 0"></div> 930 </a> 931 </div> 932 </script>
vendor: 1 bytes, line 932
932
933<script type="text/template" id="spcoursecard-1-template"> 934 <div class="column third"> 935 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 936 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 937 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 938 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 939 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 940 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 941 942 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 943 <div style="margin:1em 0"></div> 944 </a> 945 </div> 946 </script>
vendor: 1 bytes, line 946
946
947<script type="text/template" id="spcoursecard-3-template"> 948 <div class="column third"> 949 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 950 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 951 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 952 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 953 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 954 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 955 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 956 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 957 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 958 <div style="margin:1em 0"></div> 959 </a> 960 </div> 961 </script>
961 962
963<script type="text/template" id="spcoursecard-4-template"> 964 <div class="column third text-center" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 965 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 966 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 967 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 968 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 969 </a> 970 <h3 class="size-18 text-center" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><b class="text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h3> 971 <div class="discription"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 972 <p class="size-18 price text-primary"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p> 973 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now<br></a> 974 </div> 975 </script>
975
976<script type="text/template" id="spcoursecard-5-template"> 977 <div class="column third" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 978 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 979 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 980 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 981 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 982 </a> 983 <h3 class="sub-heading"><b class="size-18 text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h4> 984 <p class="size-16 description text-primary"> <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 985 Instructor : <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 986 <@if(item.rating){@> 987 <p class="size-16 description text-primary">Rating: 988 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 989 <@if(item.rating){@> 990 <@if(item.rating.avgRating){@> 991 <@ if(item.rating.avgRating >= ratingsSize) {@> 992 <i class="icon ion-android-star text-primary"></i> 993 <@ } else if(item.rating.avgRating > ratingsSize-1 && item.rating.avgRating < ratingsSize) { @> 994 <i class="icon ion-android-star-half text-primary"></i> 995 <@ } @> 996 <@}@> 997 <@}@> 998 <@}@> 999 </p> 1000 <@}@> 1001 1002 <p class="size-18 price text-primary">Price : <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p> 1003 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now</a> 1004 </div> 1005 </script>
1005 1006
1007<script type="text/template" id="spcoursecard-6-template"> 1008 <div class="column third"> 1009 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1010 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1011 1012 1013 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:''@> 1014 1015 <@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) { @> 1016 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1017 <@ } else { @> 1018 <a title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1019 <@ } @> 1020 1021 1022 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" style="border-radius: 20px; margin-bottom: 0px; width: 100%; height: 190px;object-fit:cover;"> 1023 </a> 1024 <div style="font-weight: 800; line-height: 1.1; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;" class="text-ellipsis"><@- item['spayee:resource']['spayee:title'] @></div> 1025 <p class="size-16 description text-primary"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> Courses<@ } @></p> 1026 <p class="size-18 price text-primary"><@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) @> <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @></p> 1027 <@ if (item.isMembershipPage != undefined && !item.isMembershipPage) { @> 1028 1029 1030 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 1031 <@ if(isMultiplePlansAvailable(sessionCountry, item) === false) { @> 1032 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="/single-checkout/<@- item['_id'] @>?pid=<@ print(getCoursePid(sessionCountry, item)) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1033 Buy now 1034 </a> 1035 <@ } else { @> 1036 1037 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1038 Buy now 1039 </a> 1040 <@ } @> 1041 1042 1043 1044 <@ } @> 1045 </div> 1046 </script>
1046 1047 1048
1049<script type="text/template" id="spcoursecard-7-template"> 1050 <div class="column third course-mob-block"> 1051 <div class="inner-course-block"> 1052 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1053 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1054 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1055 <img class="lazy" data-style="width: 100%; height: auto;" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" > 1056 </a> 1057 <div class="course-price-block"> 1058 <p class="text-ellipsis" title="<@- item['spayee:resource']['spayee:title'] @>" style="font-size: 18px; font-weight: 700; line-height: 1.3rem; width: 100%; margin-top: 0px; margin-bottom: 0px; min-height: 47px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1059 <@- item['spayee:resource']['spayee:title'] @> 1060 </p> 1061 <p class="text-primary" style="word-break: break-all; font-size: 14px; font-weight: 500; line-height: 1.5; margin-top: 16px; margin-bottom: 0px;"> 1062 <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1063 </p> 1064 </div> 1065 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border: none; cursor: pointer; border-radius: 4px; padding: 13px 28px; line-height: 1.5; font-weight: 600; font-size: 14px; letter-spacing: 0.15px; margin-top: 28px;"> 1066 Enroll now 1067 </a> 1068 </div> 1069 </div> 1070</script>
1070 1071
1072<script type="text/template" id="spcoursecard-8-template"> 1073 <div class="row clearfix" style="margin-bottom: 24px; margin-top: 14px;"> 1074 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1075 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1076 <div class="column third center" style="padding-left: 0px; padding-right: 0px;"> 1077 <img 1078 class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" 1079 style="margin-top: 0px; margin-bottom: 0px;" 1080 /> 1081 </div> 1082 <div class="column two-third course-block-mob" style="display: flex; flex-direction: column; justify-content: center;"> 1083 <div class="course-price-block"> 1084 <h3 style="color: rgb(255, 255, 255); font-size: 18px; font-weight: 700; line-height: 1.1; margin-bottom: 0px; margin-top: 0px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1085 <@- item['spayee:resource']['spayee:title'] @> 1086 </h3> 1087 <div class="sortDescription8"> 1088 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @> 1089 </div> 1090 </div> 1091 1092 <a class="buy-btn btn btn-primary" title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" style="width: fit-content; text-align: left; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; background-color: rgb(231, 215, 73); color: rgb(0, 0, 0);border-radius: 0px;padding: 16px 48px;line-height: 16px;font-weight: 700;font-size: 16px;letter-spacing: 0.08px;border-image: initial;"> 1093 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1094 </a> 1095 </div> 1096 </div> 1097 </script>
1097 1098 1099 1100 <!-- vegas TEMPLATE 9 NEW--> 1101
1101<script type="text/template" id="spcoursecard-9-template" > 1102 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1103 <div style="border:1px solid #D7D7D7; border-radius:24px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1104 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1105 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1106 1107 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1108 <img style="height:200px; width:100%; object-fit:fill; margin:0px 0px; border-top-left-radius:24px; border-top-right-radius:24px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1109 </a> 1110 1111 <div style="padding:10px 20px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1112 <h3 1113 class="size-18 text-left" 1114 title="<@- item['spayee:resource']['spayee:title'] @>" 1115 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1116 > 1117 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1118 </h3> 1119 1120 <div 1121 class="size-16 text-ellipsis course-card-text" 1122 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1123 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1124 > 1125 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1126 </div> 1127 </div> 1128 1129 <div style="margin-top: auto; margin-left:10px;"> 1130 <a style="background-color:#FB5607 !important; border:0px !important; border-radius:62px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1131 class="buy-btn btn btn-primary" 1132 title="<@- item['spayee:resource']['spayee:title'] @>" 1133 amplitude-event="buy_now_tapped_course_checkout" 1134 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1135 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1136 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1137 </a> 1138 </div> 1139 </div> 1140 </div> 1141 </div> 1142</script>
1142 1143 1144 <!--Blaze Course nEW tEMPLATE 10--> 1145
1145<script type="text/template" id="spcoursecard-10-template"> 1146 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 10px;margin-top:10px; text-align:left;"> 1147 <div style="height: 100%; display: flex; flex-direction: column;"> 1148 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1149 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1150 1151 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none; color:black; font-size:24px;"> 1152 <img style="height:320px; object-fit:cover; margin:0px 0px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1153 </a> 1154 1155 <div style=" flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1156 <h3 1157 class="size-18 text-left" 1158 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: white;" 1159 > 1160 <b title="<@= item['spayee:resource']['spayee:title'] @>" style="color:white;"> 1161 <@- item['spayee:resource']['spayee:title'] @> 1162 </b> 1163 </h3> 1164 1165 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;color:white;"> 1166 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1167 </div> 1168 1169 <div style="margin-top: auto;"> 1170 <a style="width:100% !important;font-weight:600 !important; letter-spacing:0px; color:black !important; background-color:#D8FD46 !important; border:0px !important; border-radius:0px !important; padding:20px 36px !important; width: fit-content; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; padding: 16px 28px; line-height: 16px; font-weight: 700; font-size: 16px; letter-spacing: 0px; border-image: initial;" 1171 class="buy-btn btn btn-primary" 1172 title="<@- item['spayee:resource']['spayee:title'] @>" 1173 amplitude-event="buy_now_tapped_course_checkout" 1174 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1175 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1176 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1177 </a> 1178 1179 </div> 1180 </div> 1181 </div> 1182 </div> 1183 </script>
1183 1184 1185 <!--Olive Course 11--> 1186
1186<script type="text/template" id="spcoursecard-11-template" > 1187 <@ 1188 // Calculate colors based on index 1189 var colorIndex = (typeof window.courseCardColorIndex === 'undefined') ? 0 : window.courseCardColorIndex; 1190 var colors = [ 1191 { bg: '#FFA46B', btnBg: '#361500' }, // Orange card → Dark brown button 1192 { bg: '#87A1F6', btnBg: '#001A71' }, // Blue card → Dark blue button 1193 { bg: '#B073DC', btnBg: '#34005A' } // Purple card → Dark brown button (default) 1194 ]; 1195 var currentColor = colors[colorIndex % 3]; 1196 window.courseCardColorIndex = colorIndex + 1; 1197 @> 1198 1199 <div class="column third text-center course-card course-card-fixed-height" style="padding: 0 15px; margin-bottom: 30px;"> 1200 <div class="course-card-wrapper" style="background-color: <@- currentColor.bg @>; height: 100%; border-radius: 32px; overflow: hidden;"> 1201 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; 1202 if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1203 1204 <a class="course-image-link" style="display: block; padding: 16px;padding-bottom:0px" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1205 <img style="height:320px; width:100%; object-fit:cover; border-radius: 32px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1206 </a> 1207 1208 <div style="padding: 20px;" class="course-card-content"> 1209 <h3 style="font-size:24px; text-transform:uppercase; color: black; margin: 0 0 15px 0; text-align: left;white-space:nowrap; overflow: hidden; text-overflow: ellipsis;width: 100%;display:block;"> 1210 <b title="<@= item['spayee:resource']['spayee:title'] @>"><@- item['spayee:resource']['spayee:title'] @></b> 1211 </h3> 1212 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; color:black; margin-bottom: 12px;text-align: left;"> 1213 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:" ") @> 1214 </div> 1215 <a class="enroll-button" 1216 style="display: block; 1217 background-color: <@- currentColor.btnBg @>; 1218 color: white !important; 1219 padding: 12px; 1220 text-align: center; 1221 font-weight: 600; 1222 text-decoration: none; 1223 border-radius: 32px;" 1224 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1225 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1226 </a> 1227 </div> 1228 </div> 1229 </div> 1230 1231 </script>
1231 1232 1233 1234 <!-- Nebula Course 12--> 1235
1235<script type="text/template" id="spcoursecard-12-template" > 1236 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1237 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1238 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1239 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1240 1241 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1242 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1243 </a> 1244 1245 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1246 <h3 1247 class="size-18 text-left" 1248 title="<@- item['spayee:resource']['spayee:title'] @>" 1249 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1250 > 1251 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1252 </h3> 1253 1254 <div 1255 class="size-16 text-ellipsis course-card-text" 1256 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1257 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1258 > 1259 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1260 </div> 1261 </div> 1262 1263 <div style="margin-top: auto; margin-left:0px;"> 1264 <a style="background-color:#6715FF !important; border-radius:12px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1265 class="buy-btn btn btn-primary" 1266 title="<@- item['spayee:resource']['spayee:title'] @>" 1267 amplitude-event="buy_now_tapped_course_checkout" 1268 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1269 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1270 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1271 </a> 1272 </div> 1273 </div> 1274 </div> 1275 </div> 1276 </script>
1276 1277 1278 1279 1280 <!--Dusk Course-13--> 1281
1281<script type="text/template" id="spcoursecard-13-template" > 1282 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1283 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1284 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1285 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1286 1287 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1288 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1289 </a> 1290 1291 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1292 <h3 1293 class="size-18 text-left" 1294 title="<@- item['spayee:resource']['spayee:title'] @>" 1295 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1296 > 1297 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1298 </h3> 1299 1300 <div 1301 class="size-16 text-ellipsis course-card-text" 1302 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1303 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1304 > 1305 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1306 </div> 1307 </div> 1308 1309 1310 1311 <div style="margin-top: auto; margin-left:0px;"> 1312 <a style="background-color:#282400 !important;border:0px ; border-radius:41px !important; padding:10px 24px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1313 class="buy-btn btn btn-primary" 1314 title="<@- item['spayee:resource']['spayee:title'] @>" 1315 amplitude-event="buy_now_tapped_course_checkout" 1316 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1317 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1318 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1319 </a> 1320 </div> 1321 </div> 1322 </div> 1323 </div> 1324 </script>
1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334<!-- Curriculum 1st Template -->
1335<script type="text/template" id="coursecurr-1-template"> 1336 <table class="table courseContents"> 1337 <thead> 1338 <tr> 1339 <td style="width: 50px;"></td> 1340 <td style="width: 50px;"></td> 1341 <td></td> 1342 </tr> 1343 </thead> 1344 <tbody> 1345 <@ $.each(item, function(index, value) { @> 1346 <tr> 1347 <td><i class="material-icons courseItemIcon" data-type="<@- value.type @>"></i></td> 1348 <td colspan="2"> 1349 <@- value.title @> 1350 <@ if(value.type == 'aiheading') { @> 1351 <small>(coming soon)</small><@ } @> 1352 <@ if(assetInfo && value.type == 'video' && value.duration !== undefined && value.duration > 0) { @> 1353 <small>(<@ print(Math.floor(value.duration)) @>:00)</small><@ } @> 1354 <@ if(assetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @> 1355 <small>(<@- value.pages @> pages)</small> 1356 <@ } @> 1357 </td> 1358 </tr> 1359 <@ if(value.items != undefined) { @> <@ $.each(value['items'], function(index1, value1) { @> 1360 <tr> 1361 <td></td> 1362 <td><i class="material-icons courseItemIcon" data-type="<@- value1.type @>"></i></td> 1363 <td> 1364 <@- value1.title @> 1365 <@ if(assetInfo && value.type == 'video' && value1.duration !== undefined && value1.duration > 0) { @><small>(<@ print(Math.floor(value1.duration)) @>:00)</small><@ } @> 1366 <@ if(assetInfo && value1.type =='pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1367 <@ if(value1.type =='aiheading') { @><small>(coming soon)</small><@ } @> 1368 </td> 1369 </tr> 1370 <@ }); @> <@ } @> <@ }); @> 1371 </tbody> 1372 </table> 1373</script>
1373 1374 1375 1376<!-- Curriculum 2nd Template -->
1377<script type="text/template" id="coursecurr-2-template"> 1378 <div class="column full curriculum2" spellcheck="false"> 1379 <div class="course-content1" > 1380 <p style="font-size: 15px; font-weight: 400; margin-top: 0px;"> 1381 <@if(summary.modules && summary.modules>0){@> 1382 <@print(summary.modules)@> Modules <i class="icon ion-android-folder-open"></i> <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@>|<@}@> 1383 <@}@> 1384 <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@> 1385 <@print(summary.sessions)@> Sessions <i class="icon ion-android-laptop"></i> <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>|<@}@> 1386 <@}@> 1387 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1388 <@print(millisecondsToHHMMSSStr(summary.durations))@> Total Time <i class="icon ion-ios-clock-outline"></i> 1389 <@}@> 1390 </p> 1391 </div> 1392 1393 1394 <@ $.each(item, function(index, value) { @> 1395 <div class="course-course-content-box" > 1396 <div class="course-content-blue-title <@if(value && value.contents){@> bg-primary <@}else if($('#'+id).closest('div.is-section').hasClass("is-bg-grey")){@>bg-white<@}else{@>is-bg-grey<@}@>" > 1397 <span class="title-icon"> 1398 <span class="material-icons <@if(value && !value.contents){@> text-primary <@}@>"><@ print(getCourseAssetIcon(value.type))@></span> 1399 </span> 1400 <div class="titl5b" > 1401 <h3 class="<@if(value && !value.contents){@> text-primary <@}@>"> 1402 <@print(value.title)@> <@ if(curriculumAssetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @><small>(<@- value.pages @> pages)</small><@ } @> 1403 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 1404 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value.id)@>" class="previewBtn"><span class="<@if(value && !value.contents){@> text-primary <@}@>">Preview</span></a> 1405 <@}@> 1406 </h3> 1407 <p class="<@if(value && !value.contents){@> text-primary <@}@>"><@if(value && value.contents && curriculumAssetInfo){@> 1408 Sessions: <@print(value.contents)@> 1409 <@}@> 1410 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@>|<@}@> 1411 Time: <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1412 <@}@> 1413 <@if(value && value.contents>0){@><span class="material-icons">expand_more</span><@}@> </p> 1414 </div> 1415 </div> 1416 <@if(value && value.items){@> 1417 <@ $.each(value['items'], function(index1, value1) { @> 1418 <div class="course-content-body <@if(index==0){@>showing<@ }@>" > 1419 <div class="desc1 " > 1420 <div class="is-box-9" > 1421 <div class="boxa1" > 1422 <span class="material-icons text-primary"><@ print(getCourseAssetIcon(value1.type))@></span> 1423 <p> <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1424 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1425 </p> 1426 1427 </div> 1428 </div> 1429 <div class="is-box-1" > 1430 <div class="boxa2" > 1431 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1432 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>#<@print(value1.id)@>"> 1433 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1434 </a> 1435 <@}@> 1436 </div> 1437 </div> 1438 <div class="is-box-2" > 1439 <div class="boxa2" > 1440 <p class="duration"><@if(value1.duration && curriculumAssetInfo){@><@print(millisecondsToHHMMSSStr(value1.duration))@><@}@></p> 1441 </div> 1442 </div> 1443 </div> 1444 </div> 1445 <@ }); @> 1446 <@}@> 1447 </div> 1448 <@ }); @> 1449 1450 </div> 1451</script>
1451 1452 1453 1454 1455 1456 1457<!-- Curriculum 3rd Template -->
1458<script type="text/template" id="coursecurr-3-template"> 1459 <div class="column full" spellcheck="false" data-gramm="false"> 1460 <div class="accordion-syllabus" > 1461 <@ $.each(item, function(index, value) { @> 1462 <div class="accordion-syllabus-item"> 1463 <header class="accordion-syllabus-header"> 1464 <h4 class="accordion-syllabus-header__title"> 1465 <span class="text-primary"> 1466 <@if(index<9){@> 1467 0<@print(index+1)@> 1468 <@ } else {@> 1469 <@print(index+1)@> 1470 <@ } @> 1471 </span> 1472 <p><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 1473 <@if(value && value.items){@> 1474 <@ print(value.items.length) @> attachment(s) 1475 <@}@> 1476 <@if(value.moduleDurations && curriculumAssetInfo){@> 1477 <@if(value && value.contents){@> • <@}@> 1478 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1479 <@}@> 1480 </span></p> 1481 1482 </h4> 1483 <div class="accordion-syllabus-header__info"> 1484 <p class="text-primary hide-sm"> 1485 <@if(value && value.items){@> 1486 <@ print(value.items.length) @> attachment(s) 1487 <@}@> 1488 <@if(value.moduleDurations && curriculumAssetInfo){@> 1489 <@if(value && value.contents){@> • <@}@> 1490 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1491 <@}@> 1492 </p> 1493 <@if(value && value.items){@> 1494 <div class="accordion-syllabus-header__icon text-primary"> 1495 <i class="fa fa-angle-left" aria-hidden="true"></i> 1496 </div> 1497 <@}@> 1498 </div> 1499 </header> 1500 <@if(value && value.items){@> 1501 <div class="accordion-content" style=""> 1502 <div class="accordian-content-block"> 1503 <ul class="accordian-list"> 1504 <@ $.each(value['items'], function(index1, value1) { @> 1505 <li class="accordian-list__item"> 1506 <div class="accordian-content-card"> 1507 <div class="accordian-content-card__info"> 1508 <div class="accordian-content-card__ico"> 1509 <@ if(value1.type == 'code'){ @> 1510 <img src="/resources/images/CodeIcon.svg"> 1511 <@ } else { @> 1512 <span class="material-icons text-primary"> 1513 <@ print(getCourseAssetIcon(value1.type))@> 1514 </span> 1515 <@ } @> 1516 </div> 1517 <div class="accordian-content-card__title"> 1518 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1519 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1520 </div> 1521 </div> 1522 <div class="accordian-content-card__link"> 1523 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1524 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 1525 <span class="text-primary"> 1526 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @><span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 1527 </span> 1528 </a> 1529 <@}@> 1530 </div> 1531 </div> 1532 </li> 1533 <@ }); @> 1534 </ul> 1535 </div> 1536 </div> 1537 <@ } @> 1538 </div> 1539 <@ }); @> 1540 </div> 1541 </div> 1542</script>
1542 1543 1544 1545 1546<!-- Curriculum 4th Template -->
1547<script type="text/template" id="coursecurr-4-template"> 1548 <div class="column full coursecurr4"> 1549 <@ $.each(item, function(index, value) { @> 1550 <div class="accordion-syllabus-item"> 1551 <header class="accordion-syllabus-header" > 1552 <h4 class="accordion-syllabus-header__title"> 1553 <span> 1554 <@if(index<9){@>0<@print(index+1)@><@ } else {@> <@print(index+1)@> <@ } @> 1555 </span> 1556 <div class="accordion-syllabus-header__title-block" > 1557 <p style="font-size: 20px; font-weight: 700;"> 1558 <@print(value.title)@> 1559 </p> 1560 <p class="text-primary" style="font-weight: 500; font-size: 14px; line-height: 150%; margin-top: 10px; "> 1561 <@if(value && value.type == 'aiheading'){@> 1562 (coming soon) 1563 <@}@> 1564 <@if(value && value.items){@> 1565 <@ print(value.items.length) @> attachment(s) 1566 <@}@> 1567 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@> • <@}@> 1568 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1569 <@}@> 1570 </p> 1571 </div> 1572 </h4> 1573 <@if(value && value.items){@> 1574 <div class="accordion-syllabus-header__info" > 1575 <div class="accordion-syllabus-header__icon" > 1576 <i class="fa fa-angle-left" aria-hidden="true"></i> 1577 </div> 1578 </div> 1579 <@ } @> 1580 </header> 1581 <@if(value && value.items){@> 1582 <div class="accordion-content" style=""> 1583 <div class="accordian-content-block" > 1584 <ul class="accordian-list"> 1585 <@ $.each(value['items'], function(index1, value1) { @> 1586 <li class="accordian-list__item"> 1587 <div class="accordian-content-card" > 1588 <div class="accordian-content-card__info" > 1589 <div class="accordian-content-card__ico" > 1590 <@ if(value1.type == 'code'){ @> 1591 <img src="/resources/images/CodeIcon.svg"> 1592 <@ } else { @> 1593 <span class="material-icons text-primary"> 1594 <@ print(getCourseAssetIcon(value1.type))@>262 1595 </span> 1596 <@ } @> 1597 </div> 1598 <div class="accordian-content-card__title" > 1599 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1600 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1601 </div> 1602 </div> 1603 <div class="accordian-content-card__link" > 1604 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1605 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 1606 <span class="text-primary"> 1607 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 1608 </span> 1609 </a> 1610 <@ } @> 1611 </div> 1612 </div> 1613 </li> 1614 <@ }); @> 1615 </ul> 1616 </div> 1617 </div> 1618 <@ } @> 1619 </div> 1620 <@ }); @> 1621 </div> 1622 </script>
1622 1623 1624 <!-- vegas curriculum-5--> 1625
1625<script> 1626 // Simple responsive positioning 1627 function updatePosition() { 1628 const element = document.getElementById('totalTimeElement'); 1629 if(element){ 1630 if (window.innerWidth > 768) { 1631 element.style.position = 'absolute'; 1632 element.style.top = "5px"; 1633 element.style.right = '122px'; 1634 } else { 1635 element.style.position = 'static'; 1636 element.style.margin = '0 0'; 1637 } 1638 } 1639 } 1640 1641 // Run on load and resize 1642 window.addEventListener('load', updatePosition); 1643 window.addEventListener('resize', updatePosition); 1644 </script>
1644 1645
1645<script type="text/template" id="coursecurr-5-template"> 1646 <div class="total-time" id="totalTimeElement" style=" 1647 font-size: 18px; 1648 font-weight: 600; 1649 color: #FB5607; 1650 padding: 8px 12px; 1651 border-radius: 4px; 1652 white-space: nowrap;"> 1653 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1654 <@print(millisecondsToHHMMSSStr(summary.durations))@> 1655 <@}@> 1656</div> 1657 1658<div class="accordion-syllabus" style="max-width:1000px !important"> 1659 <@ $.each(item, function(index, value) { @> 1660 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 1661 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:0px;box-shadow:none;padding:0.5rem !important"> 1662 <h4 class="accordion-syllabus-header__title"> 1663 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 1664 <@if(index < 9) {@> 1665 Week <@print(index + 1)@>: 1666 <@ } else {@> 1667 Week <@print(index + 1)@>: 1668 <@ } @> 1669 </span> 1670 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 1671 <@if(value && value.items){@> 1672 <@ print(value.items.length) @> attachment(s) 1673 <@} else {@> 1674 1 attachment(s) 1675 <@}@> 1676 <@if(value.moduleDurations && curriculumAssetInfo){@> 1677 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1678 <@}@> 1679 </span></p> 1680 </h4> 1681 1682 <div class="accordion-syllabus-header__info"> 1683 <p class="text-primary hide-sm" style="color:#FB5607 !important;"> 1684 <@if(value && value.items){@> 1685 <@ print(value.items.length) @> attachment(s) 1686 <@} else {@> 1687 1 attachment(s) 1688 <@}@> 1689 <@if(value.moduleDurations && curriculumAssetInfo){@> 1690 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1691 <@}@> 1692 </p> 1693 <div class="accordion-syllabus-header__icon text-primary"> 1694 <i class="fa fa-angle-left" aria-hidden="true" style="color:#FB5607;"></i> 1695 </div> 1696 </div> 1697 </header> 1698 <div class="accordion-content" style="filter:none;"> 1699 <div class="accordian-content-block" style="background:#F5F5F5 !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 1700 <ul class="accordian-list"> 1701 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 1702 <@ if(value['items'] && value['items'].length > 0) { @> 1703 <@ $.each(value['items'], function(index1, value1) { @> 1704 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 1705 <style> 1706 @media (max-width: 768px) { 1707 .accordian-content-card { 1708 flex-direction: column !important; 1709 align-items: stretch !important; 1710 } 1711 1712 .accordian-content-card__top { 1713 flex-direction: row !important; 1714 justify-content: space-between !important; 1715 align-items: center !important; 1716 width: 100% !important; 1717 } 1718 1719 .accordian-content-card__title { 1720 flex: 1 !important; 1721 margin: 0 10px !important; 1722 white-space: nowrap; 1723 overflow: hidden; 1724 text-overflow: ellipsis; 1725 } 1726 1727 .accordian-content-card__bottom { 1728 flex-direction: row !important; 1729 justify-content: space-between !important; 1730 align-items: center !important; 1731 width: 100% !important; 1732 margin-top: 6px !important; 1733 } 1734 1735 .accordian-content-card__link { 1736 flex: 1 !important; 1737 min-width: 0 !important; 1738 text-align: left !important; 1739 } 1740 1741 .accordian-content-card__time { 1742 flex-shrink: 0 !important; 1743 text-align: right !important; 1744 } 1745 } 1746 </style> 1747 1748 <div class="accordian-content-card" 1749 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 1750 1751 1752 <!-- Row 1: Icon + Title + Collapse Icon --> 1753 <div class="accordian-content-card__top" 1754 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 1755 1756 <!-- Icon --> 1757 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 1758 <@ if(value1.type == 'code'){ @> 1759 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 1760 <@ } else { @>
1761 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 1762 <@ print(getCourseAssetIcon(value1.type))@> 1763 </span> 1764 <@ } @> 1765 </div> 1766 1767 <!-- Title --> 1768 <div class="accordian-content-card__title" 1769 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 1770 <@print(value1.title)@> 1771 </div> 1772 1773 <!-- Collapse Icon (optional) --> 1774 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 1775 <!-- Example placeholder, add real icon if needed --> 1776 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 1777 </div> 1778 </div> 1779 1780 <!-- Row 2: Preview Button and Time --> 1781 <div class="accordian-content-card__bottom" 1782 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 1783 1784 <!-- Preview Button --> 1785 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 1786 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1787 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 1788 class="previewBtn" 1789 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 1790 <span class="text-primary" style="color:#FB5607;"> 1791 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1792 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 1793 </span> 1794 </a> 1795 <@}@> 1796 </div> 1797 1798 <!-- Time --> 1799 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 1800 <p class="text-primary course-asset-time" 1801 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 1802 <@ if(value1.duration && value1.duration > 0) { @> 1803 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 1804 <@ } else { @> 1805 -- 1806 <@ } @> 1807 </p> 1808 </div> 1809 1810 </div> 1811 </div> 1812 1813 1814 </li> 1815 <@ }); @> 1816 <@ } else { @> 1817 <li class="accordian-list__item" style="padding:0px 0px !important;"> 1818 <div class="accordian-content-card" 1819 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 1820 1821 <!-- Row 1: Icon + Title + Collapse Icon --> 1822 <div class="accordian-content-card__top" 1823 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 1824 1825 <!-- Icon --> 1826 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 1827 <@ if(value.type == 'code'){ @> 1828 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 1829 <@ } else { @> 1830 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 1831 <@ print(getCourseAssetIcon(value.type))@> 1832 </span> 1833 <@ } @> 1834 </div> 1835 1836 <!-- Title --> 1837 <div class="accordian-content-card__title" 1838 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 1839 <@print(value.title)@> 1840 </div> 1841 1842 <!-- Collapse Icon (optional) --> 1843 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 1844 <!-- Example placeholder, add real icon if needed --> 1845 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 1846 </div> 1847 </div> 1848 1849 <!-- Row 2: Preview Button and Time --> 1850 <div class="accordian-content-card__bottom" 1851 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 1852 1853 <!-- Preview Button --> 1854 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 1855 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 1856 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 1857 class="previewBtn" 1858 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
1859 <span class="text-primary" style="color:#FB5607;"> 1860 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1861 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 1862 </span> 1863 </a> 1864 <@}@> 1865 </div> 1866 1867 <!-- Time --> 1868 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 1869 <p class="text-primary course-asset-time" 1870 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 1871 <@ if(value.duration && value.duration > 0) { @> 1872 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 1873 <@ } else { @> 1874 -- 1875 <@ } @> 1876 </p> 1877 </div> 1878 </div> 1879 </div> 1880 </li> 1881 <@ } @> 1882 </ul> 1883 1884 <@ if(itemsCount > 5) { @> 1885 <div style="text-align: center; margin-top: 10px;"> 1886 <button style="background-color: #FB5607; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 1887 onclick=" 1888 var parentAccordion = this.closest('.accordion-content'); 1889 parentAccordion.style.maxHeight = 'none'; 1890 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 1891 this.style.display = 'none'; 1892 "> 1893 View All 1894 </button> 1895 </div> 1896 <@ } @> 1897 </div> 1898 </div> 1899 </div> 1900 <@ }); @> 1901 <@ if(item.length > 5) { @> 1902 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 1903 <button style="background-color: #FB5607; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 1904 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 1905 View All Sessions 1906 </button> 1907 </div> 1908 <@ } @> 1909</div> 1910 </div> 1911</script>
1911 1912 1913 1914<!--Blaze-Curriculum-6-->
1915<script type="text/template" id="coursecurr-6-template"> 1916 <div class="column full" spellcheck="false" data-gramm="false"> 1917 <div class="total-time" id="totalTimeElement" style=" 1918 font-size: 18px; 1919 font-weight: 600; 1920 color: #D8FD46; 1921 padding: 8px 12px; 1922 border-radius: 4px; 1923 white-space: nowrap; 1924 background: #232323; 1925 margin-bottom: 20px;"> 1926 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1927 <@print(millisecondsToHHMMSSStr(summary.durations))@> 1928 <@}@> 1929 </div> 1930 1931 <div class="accordion-syllabus"> 1932 <@ $.each(item, function(index, value) { @> 1933 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 1934 <header class="accordion-syllabus-header" style="background:#232323 !important; border-radius:0px;box-shadow:none;padding:20px 20px !important"> 1935 <h4 class="accordion-syllabus-header__title"> 1936 <span class="text-primary" style="font-size:18px ; font-weight:600; color:white;"> 1937 <@if(index < 9) {@> 1938 Week <@print(index + 1)@>: 1939 <@ } else {@> 1940 Week <@print(index + 1)@>: 1941 <@ } @> 1942 </span> 1943 <p style="font-size:18px ; font-weight:600;color:white;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;color:#D8FD46 !important;"> 1944 <@if(value && value.items){@> 1945 <@ print(value.items.length) @> attachment(s) 1946 <@} else {@> 1947 1 attachment(s) 1948 <@}@> 1949 <@if(value.moduleDurations && curriculumAssetInfo){@> 1950 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1951 <@}@> 1952 </span></p> 1953 </h4> 1954 <div class="accordion-syllabus-header__info"> 1955 <p class="text-primary hide-sm" style="color:#D8FD46 !important;"> 1956 <@if(value && value.items){@> 1957 <@ print(value.items.length) @> attachment(s) 1958 <@} else {@> 1959 1 attachment(s) 1960 <@}@> 1961 <@if(value.moduleDurations && curriculumAssetInfo){@> 1962 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1963 <@}@> 1964 </p> 1965 <div class="accordion-syllabus-header__icon text-primary"> 1966 <i class="fa fa-angle-left" aria-hidden="true" style="color:#D8FD46;"></i> 1967 </div> 1968 </div> 1969 </header> 1970 <div class="accordion-content" style="filter:none;background:#181818;"> 1971 <div class="accordian-content-block" style="box-shadow:none;padding:16px 20px !important;background:transparent !important;"> 1972 <ul class="accordian-list"> 1973 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 1974 <@ if(value['items'] && value['items'].length > 0) { @> 1975 <@ $.each(value['items'], function(index1, value1) { @> 1976 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 1977 <style> 1978 @media (max-width: 768px) { 1979 .accordian-content-card { 1980 flex-direction: column !important; 1981 align-items: stretch !important; 1982 } 1983 1984 .accordian-content-card__top { 1985 flex-direction: row !important; 1986 justify-content: space-between !important; 1987 align-items: center !important; 1988 width: 100% !important; 1989 } 1990 1991 .accordian-content-card__title { 1992 flex: 1 !important; 1993 margin: 0 10px !important; 1994 white-space: nowrap; 1995 overflow: hidden; 1996 text-overflow: ellipsis; 1997 } 1998 1999 .accordian-content-card__bottom { 2000 flex-direction: row !important; 2001 justify-content: space-between !important; 2002 align-items: center !important; 2003 width: 100% !important; 2004 margin-top: 6px !important; 2005 } 2006 2007 .accordian-content-card__link { 2008 flex: 1 !important; 2009 min-width: 0 !important; 2010 text-align: left !important; 2011 } 2012 2013 .accordian-content-card__time { 2014 flex-shrink: 0 !important; 2015 text-align: right !important; 2016 } 2017 } 2018 </style> 2019 2020 <div class="accordian-content-card" 2021 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2022 2023 <!-- Row 1: Icon + Title + Collapse Icon --> 2024 <div class="accordian-content-card__top" 2025 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2026 2027 <!-- Icon --> 2028 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2029 <@ if(value1.type == 'code'){ @> 2030 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2031 <@ } else { @>
2032 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2033 <@ print(getCourseAssetIcon(value1.type))@> 2034 </span> 2035 <@ } @> 2036 </div> 2037 2038 <!-- Title --> 2039 <div class="accordian-content-card__title" 2040 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2041 <@print(value1.title)@> 2042 <!-- <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @> 2043 <small style="color: #999;">(<@- value1.pages @> pages)</small> 2044 <@ } @> 2045 <@ if(value1.type == 'aiheading') { @> 2046 <small style="color: #999;">(coming soon)</small> 2047 <@ } @> --> 2048 </div> 2049 2050 <!-- Collapse Icon --> 2051 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2052 </div> 2053 </div> 2054 2055 <!-- Row 2: Preview Button and Time --> 2056 <div class="accordian-content-card__bottom" 2057 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2058 2059 <!-- Preview Button --> 2060 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2061 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2062 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2063 class="previewBtn" 2064 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2065 <span class="text-primary" style="color:#D8FD46;"> 2066 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2067 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2068 </span> 2069 </a> 2070 <@}@> 2071 </div> 2072 2073 <!-- Time --> 2074 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2075 <p class="text-primary course-asset-time" 2076 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2077 <@ if(value1.duration && value1.duration > 0) { @> 2078 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2079 <@ } else { @> 2080 -- 2081 <@ } @> 2082 </p> 2083 </div> 2084 </div> 2085 </div> 2086 </li> 2087 <@ }); @> 2088 <@ } else { @> 2089 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2090 <div class="accordian-content-card" 2091 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2092 2093 <!-- Row 1: Icon + Title + Collapse Icon --> 2094 <div class="accordian-content-card__top" 2095 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2096 2097 <!-- Icon --> 2098 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2099 <@ if(value.type == 'code'){ @> 2100 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2101 <@ } else { @> 2102 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2103 <@ print(getCourseAssetIcon(value.type))@> 2104 </span> 2105 <@ } @> 2106 </div> 2107 2108 <!-- Title --> 2109 <div class="accordian-content-card__title" 2110 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2111 <@print(value.title)@> 2112 </div> 2113 2114 <!-- Collapse Icon (optional) --> 2115 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2116 <!-- Example placeholder, add real icon if needed --> 2117 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2118 </div> 2119 </div> 2120 2121 <!-- Row 2: Preview Button and Time --> 2122 <div class="accordian-content-card__bottom" 2123 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2124 2125 <!-- Preview Button --> 2126 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2127 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2128 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2129 class="previewBtn" 2130 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2131 <span class="text-primary" style="color:#D8FD46;"> 2132 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2133 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2134 </span> 2135 </a> 2136 <@}@> 2137 </div> 2138 2139 <!-- Time --> 2140 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2141 <p class="text-primary course-asset-time" 2142 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2143 <@ if(value.duration && value.duration > 0) { @> 2144 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2145 <@ } else { @> 2146 -- 2147 <@ } @> 2148 </p> 2149 </div> 2150 </div> 2151 </div> 2152 </li> 2153 <@ } @> 2154 </ul> 2155 2156 <@ if(itemsCount > 5) { @> 2157 <div style="text-align: center; margin-top: 10px;"> 2158 <button style="background-color: #D8FD46; color: black; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2159 onclick=" 2160 var parentAccordion = this.closest('.accordion-content'); 2161 parentAccordion.style.maxHeight = 'none'; 2162 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2163 this.style.display = 'none'; 2164 "> 2165 View All 2166 </button> 2167 </div> 2168 <@ } @> 2169 </div> 2170 </div> 2171 </div> 2172 <@ }); @> 2173 <@ if(item.length > 5) { @> 2174 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2175 <button style="background-color: #D8FD46; color: black; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2176 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2177 View All Sessions 2178 </button> 2179 </div> 2180 <@ } @> 2181 </div> 2182 </div> 2183</script>
2183 2184
2185<script> 2186 // Simple responsive positioning (same as Vegas) 2187 function updatePosition() { 2188 const element = document.getElementById('totalTimeElement'); 2189 if(element){ 2190 if (window.innerWidth > 768) { 2191 element.style.position = 'absolute'; 2192 element.style.top = "5px"; 2193 element.style.right = '122px'; 2194 } else { 2195 element.style.position = 'static'; 2196 element.style.margin = '0 0'; 2197 } 2198 } 2199 } 2200 2201 // Run on load and resize 2202 window.addEventListener('load', updatePosition); 2203 window.addEventListener('resize', updatePosition); 2204</script>
2204 2205 2206 2207 2208 2209<!--Nebula Curriculum 7--> 2210 2211
2212<script> 2213 // Simple responsive positioning 2214 function updatePosition() { 2215 const element = document.getElementById('totalTimeElement'); 2216 if(element){ 2217 if (window.innerWidth > 768) { 2218 element.style.position = 'absolute'; 2219 element.style.top = "5px"; 2220 element.style.right = '122px'; 2221 } else { 2222 element.style.position = 'static'; 2223 element.style.margin = '0 0'; 2224 } 2225 } 2226 } 2227 2228 // Run on load and resize 2229 window.addEventListener('load', updatePosition); 2230 window.addEventListener('resize', updatePosition); 2231 </script>
2231 2232
2232<script type="text/template" id="coursecurr-7-template"> 2233 <div class="total-time" id="totalTimeElement" style=" 2234 font-size: 18px; 2235 font-weight: 600; 2236 color: #6715FF; 2237 padding: 8px 12px; 2238 border-radius: 4px; 2239 white-space: nowrap;"> 2240 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2241 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2242 <@}@> 2243</div> 2244 2245<div class="accordion-syllabus" style="max-width:1000px !important"> 2246 <@ $.each(item, function(index, value) { @> 2247 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2248 <header class="accordion-syllabus-header" style="background:#F1ECFB !important; border-radius16px;box-shadow:none;padding:20px !important"> 2249 <h4 class="accordion-syllabus-header__title"> 2250 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2251 <@if(index < 9) {@> 2252 Week <@print(index + 1)@>: 2253 <@ } else {@> 2254 Week <@print(index + 1)@>: 2255 <@ } @> 2256 </span> 2257 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2258 <@if(value && value.items){@> 2259 <@ print(value.items.length) @> attachment(s) 2260 <@} else {@> 2261 1 attachment(s) 2262 <@}@> 2263 <@if(value.moduleDurations && curriculumAssetInfo){@> 2264 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2265 <@}@> 2266 </span></p> 2267 </h4> 2268 2269 <div class="accordion-syllabus-header__info"> 2270 <p class="text-primary hide-sm" style="color:#6715FF !important;"> 2271 <@if(value && value.items){@> 2272 <@ print(value.items.length) @> attachment(s) 2273 <@} else {@> 2274 1 attachment(s) 2275 <@}@> 2276 <@if(value.moduleDurations && curriculumAssetInfo){@> 2277 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2278 <@}@> 2279 </p> 2280 <div class="accordion-syllabus-header__icon text-primary"> 2281 <i class="fa fa-angle-left" aria-hidden="true" style="color:#6715FF;"></i> 2282 </div> 2283 </div> 2284 </header> 2285 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2286 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2287 <ul class="accordian-list"> 2288 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2289 <@ if(value['items'] && value['items'].length > 0) { @> 2290 <@ $.each(value['items'], function(index1, value1) { @> 2291 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2292 <style> 2293 @media (max-width: 768px) { 2294 .accordian-content-card { 2295 flex-direction: column !important; 2296 align-items: stretch !important; 2297 } 2298 2299 .accordian-content-card__top { 2300 flex-direction: row !important; 2301 justify-content: space-between !important; 2302 align-items: center !important; 2303 width: 100% !important; 2304 } 2305 2306 .accordian-content-card__title { 2307 flex: 1 !important; 2308 margin: 0 10px !important; 2309 white-space: nowrap; 2310 overflow: hidden; 2311 text-overflow: ellipsis; 2312 } 2313 2314 .accordian-content-card__bottom { 2315 flex-direction: row !important; 2316 justify-content: space-between !important; 2317 align-items: center !important; 2318 width: 100% !important; 2319 margin-top: 6px !important; 2320 } 2321 2322 .accordian-content-card__link { 2323 flex: 1 !important; 2324 min-width: 0 !important; 2325 text-align: left !important; 2326 } 2327 2328 .accordian-content-card__time { 2329 flex-shrink: 0 !important; 2330 text-align: right !important; 2331 } 2332 } 2333 </style> 2334 2335 <div class="accordian-content-card" 2336 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2337 2338 2339 <!-- Row 1: Icon + Title + Collapse Icon --> 2340 <div class="accordian-content-card__top" 2341 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2342 2343 <!-- Icon --> 2344 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2345 <@ if(value1.type == 'code'){ @> 2346 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2347 <@ } else { @>
2348 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 2349 <@ print(getCourseAssetIcon(value1.type))@> 2350 </span> 2351 <@ } @> 2352 </div> 2353 2354 <!-- Title --> 2355 <div class="accordian-content-card__title" 2356 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2357 <@print(value1.title)@> 2358 </div> 2359 2360 <!-- Collapse Icon (optional) --> 2361 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2362 <!-- Example placeholder, add real icon if needed --> 2363 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2364 </div> 2365 </div> 2366 2367 <!-- Row 2: Preview Button and Time --> 2368 <div class="accordian-content-card__bottom" 2369 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2370 2371 <!-- Preview Button --> 2372 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2373 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2374 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2375 class="previewBtn" 2376 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2377 <span class="text-primary" style="color:#6715FF;"> 2378 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2379 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 2380 </span> 2381 </a> 2382 <@}@> 2383 </div> 2384 2385 <!-- Time --> 2386 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2387 <p class="text-primary course-asset-time" 2388 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 2389 <@ if(value1.duration && value1.duration > 0) { @> 2390 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2391 <@ } else { @> 2392 -- 2393 <@ } @> 2394 </p> 2395 </div> 2396 2397 </div> 2398 </div> 2399 2400 2401 </li> 2402 <@ }); @> 2403 <@ } else { @> 2404 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2405 <div class="accordian-content-card" 2406 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2407 2408 <!-- Row 1: Icon + Title + Collapse Icon --> 2409 <div class="accordian-content-card__top" 2410 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2411 2412 <!-- Icon --> 2413 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2414 <@ if(value.type == 'code'){ @> 2415 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2416 <@ } else { @> 2417 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 2418 <@ print(getCourseAssetIcon(value.type))@> 2419 </span> 2420 <@ } @> 2421 </div> 2422 2423 <!-- Title --> 2424 <div class="accordian-content-card__title" 2425 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2426 <@print(value.title)@> 2427 </div> 2428 2429 <!-- Collapse Icon (optional) --> 2430 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2431 <!-- Example placeholder, add real icon if needed --> 2432 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2433 </div> 2434 </div> 2435 2436 <!-- Row 2: Preview Button and Time --> 2437 <div class="accordian-content-card__bottom" 2438 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2439 2440 <!-- Preview Button --> 2441 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2442 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2443 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2444 class="previewBtn" 2445 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2446 <span class="text-primary" style="color:#6715FF;"> 2447 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2448 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 2449 </span> 2450 </a> 2451 <@}@> 2452 </div> 2453 2454 <!-- Time --> 2455 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2456 <p class="text-primary course-asset-time" 2457 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 2458 <@ if(value.duration && value.duration > 0) { @> 2459 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2460 <@ } else { @> 2461 -- 2462 <@ } @> 2463 </p> 2464 </div> 2465 </div> 2466 </div> 2467 </li> 2468 <@ } @> 2469 </ul> 2470 2471 <@ if(itemsCount > 5) { @> 2472 <div style="text-align: center; margin-top: 10px;"> 2473 <button style="background-color: #6715FF; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2474 onclick=" 2475 var parentAccordion = this.closest('.accordion-content'); 2476 parentAccordion.style.maxHeight = 'none'; 2477 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2478 this.style.display = 'none'; 2479 "> 2480 View All 2481 </button> 2482 </div> 2483 <@ } @> 2484 </div> 2485 </div> 2486 </div> 2487 <@ }); @> 2488 <@ if(item.length > 5) { @> 2489 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2490 <button style="background-color: #6715FF; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2491 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2492 View All Sessions 2493 </button> 2494 </div> 2495 <@ } @> 2496</div> 2497 </div> 2498</script>
2498 2499 2500 2501 2502<!--Olive Curriculum 8-->
2503<script> 2504 // Simple responsive positioning 2505 function updatePosition() { 2506 const element = document.getElementById('totalTimeElement'); 2507 if(element){ 2508 if (window.innerWidth > 768) { 2509 element.style.position = 'absolute'; 2510 element.style.top = "5px"; 2511 element.style.right = '122px'; 2512 } else { 2513 element.style.position = 'static'; 2514 element.style.margin = '0 0'; 2515 } 2516 } 2517 } 2518 2519 // Run on load and resize 2520 window.addEventListener('load', updatePosition); 2521 window.addEventListener('resize', updatePosition); 2522 </script>
2522 2523
2523<script type="text/template" id="coursecurr-8-template"> 2524 <div class="total-time" id="totalTimeElement" style=" 2525 font-size: 18px; 2526 font-weight: 600; 2527 color: #064400; 2528 padding: 8px 12px; 2529 border-radius: 4px; 2530 white-space: nowrap;"> 2531 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2532 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2533 <@}@> 2534</div> 2535 2536<div class="accordion-syllabus" style="max-width:1000px !important"> 2537 <@ $.each(item, function(index, value) { @> 2538 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2539 <header class="accordion-syllabus-header" style="background:#E5E5E5 !important; border-radius16px;box-shadow:none;padding:20px !important"> 2540 <h4 class="accordion-syllabus-header__title"> 2541 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2542 <@if(index < 9) {@> 2543 Week <@print(index + 1)@>: 2544 <@ } else {@> 2545 Week <@print(index + 1)@>: 2546 <@ } @> 2547 </span> 2548 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2549 <@if(value && value.items){@> 2550 <@ print(value.items.length) @> attachment(s) 2551 <@} else {@> 2552 1 attachment(s) 2553 <@}@> 2554 <@if(value.moduleDurations && curriculumAssetInfo){@> 2555 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2556 <@}@> 2557 </span></p> 2558 </h4> 2559 2560 <div class="accordion-syllabus-header__info"> 2561 <p class="text-primary hide-sm" style="color:#064400 !important;"> 2562 <@if(value && value.items){@> 2563 <@ print(value.items.length) @> attachment(s) 2564 <@} else {@> 2565 1 attachment(s) 2566 <@}@> 2567 <@if(value.moduleDurations && curriculumAssetInfo){@> 2568 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2569 <@}@> 2570 </p> 2571 <div class="accordion-syllabus-header__icon text-primary"> 2572 <i class="fa fa-angle-left" aria-hidden="true" style="color:#064400;"></i> 2573 </div> 2574 </div> 2575 </header> 2576 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2577 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2578 <ul class="accordian-list"> 2579 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2580 <@ if(value['items'] && value['items'].length > 0) { @> 2581 <@ $.each(value['items'], function(index1, value1) { @> 2582 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2583 <style> 2584 @media (max-width: 768px) { 2585 .accordian-content-card { 2586 flex-direction: column !important; 2587 align-items: stretch !important; 2588 } 2589 2590 .accordian-content-card__top { 2591 flex-direction: row !important; 2592 justify-content: space-between !important; 2593 align-items: center !important; 2594 width: 100% !important; 2595 } 2596 2597 .accordian-content-card__title { 2598 flex: 1 !important; 2599 margin: 0 10px !important; 2600 white-space: nowrap; 2601 overflow: hidden; 2602 text-overflow: ellipsis; 2603 } 2604 2605 .accordian-content-card__bottom { 2606 flex-direction: row !important; 2607 justify-content: space-between !important; 2608 align-items: center !important; 2609 width: 100% !important; 2610 margin-top: 6px !important; 2611 } 2612 2613 .accordian-content-card__link { 2614 flex: 1 !important; 2615 min-width: 0 !important; 2616 text-align: left !important; 2617 } 2618 2619 .accordian-content-card__time { 2620 flex-shrink: 0 !important; 2621 text-align: right !important; 2622 } 2623 } 2624 </style> 2625 2626 <div class="accordian-content-card" 2627 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2628 2629 2630 <!-- Row 1: Icon + Title + Collapse Icon --> 2631 <div class="accordian-content-card__top" 2632 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2633 2634 <!-- Icon --> 2635 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2636 <@ if(value1.type == 'code'){ @> 2637 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2638 <@ } else { @>
2639 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 2640 <@ print(getCourseAssetIcon(value1.type))@> 2641 </span> 2642 <@ } @> 2643 </div> 2644 2645 <!-- Title --> 2646 <div class="accordian-content-card__title" 2647 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2648 <@print(value1.title)@> 2649 </div> 2650 2651 <!-- Collapse Icon (optional) --> 2652 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2653 <!-- Example placeholder, add real icon if needed --> 2654 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2655 </div> 2656 </div> 2657 2658 <!-- Row 2: Preview Button and Time --> 2659 <div class="accordian-content-card__bottom" 2660 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2661 2662 <!-- Preview Button --> 2663 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2664 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2665 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2666 class="previewBtn" 2667 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2668 <span class="text-primary" style="color:#064400;"> 2669 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2670 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 2671 </span> 2672 </a> 2673 <@}@> 2674 </div> 2675 2676 <!-- Time --> 2677 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2678 <p class="text-primary course-asset-time" 2679 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 2680 <@ if(value1.duration && value1.duration > 0) { @> 2681 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2682 <@ } else { @> 2683 -- 2684 <@ } @> 2685 </p> 2686 </div> 2687 2688 </div> 2689 </div> 2690 2691 2692 </li> 2693 <@ }); @> 2694 <@ } else { @> 2695 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2696 <div class="accordian-content-card" 2697 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2698 2699 <!-- Row 1: Icon + Title + Collapse Icon --> 2700 <div class="accordian-content-card__top" 2701 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2702 2703 <!-- Icon --> 2704 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2705 <@ if(value.type == 'code'){ @> 2706 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2707 <@ } else { @> 2708 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 2709 <@ print(getCourseAssetIcon(value.type))@> 2710 </span> 2711 <@ } @> 2712 </div> 2713 2714 <!-- Title --> 2715 <div class="accordian-content-card__title" 2716 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2717 <@print(value.title)@> 2718 </div> 2719 2720 <!-- Collapse Icon (optional) --> 2721 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2722 <!-- Example placeholder, add real icon if needed --> 2723 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2724 </div> 2725 </div> 2726 2727 <!-- Row 2: Preview Button and Time --> 2728 <div class="accordian-content-card__bottom" 2729 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2730 2731 <!-- Preview Button --> 2732 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2733 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2734 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2735 class="previewBtn" 2736 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2737 <span class="text-primary" style="color:#064400;"> 2738 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2739 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 2740 </span> 2741 </a> 2742 <@}@> 2743 </div> 2744 2745 <!-- Time --> 2746 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2747 <p class="text-primary course-asset-time" 2748 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 2749 <@ if(value.duration && value.duration > 0) { @> 2750 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2751 <@ } else { @> 2752 -- 2753 <@ } @> 2754 </p> 2755 </div> 2756 </div> 2757 </div> 2758 </li> 2759 <@ } @> 2760 </ul> 2761 2762 <@ if(itemsCount > 5) { @> 2763 <div style="text-align: center; margin-top: 10px;"> 2764 <button style="background-color: #064400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2765 onclick=" 2766 var parentAccordion = this.closest('.accordion-content'); 2767 parentAccordion.style.maxHeight = 'none'; 2768 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2769 this.style.display = 'none'; 2770 "> 2771 View All 2772 </button> 2773 </div> 2774 <@ } @> 2775 </div> 2776 </div> 2777 </div> 2778 <@ }); @> 2779 <@ if(item.length > 5) { @> 2780 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2781 <button style="background-color: #064400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2782 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2783 View All Sessions 2784 </button> 2785 </div> 2786 <@ } @> 2787</div> 2788 </div> 2789</script>
2789 2790 2791 2792 2793<!--Dusk Curriculum 9-->
2794<script> 2795 // Simple responsive positioning 2796 function updatePosition() { 2797 const element = document.getElementById('totalTimeElement'); 2798 if(element){ 2799 if (window.innerWidth > 768) { 2800 element.style.position = 'absolute'; 2801 element.style.top = "5px"; 2802 element.style.right = '122px'; 2803 } else { 2804 element.style.position = 'static'; 2805 element.style.margin = '0 0'; 2806 } 2807 } 2808 } 2809 2810 // Run on load and resize 2811 window.addEventListener('load', updatePosition); 2812 window.addEventListener('resize', updatePosition); 2813 </script>
2813 2814
2814<script> 2815 // Simple responsive positioning 2816 function updatePosition() { 2817 const element = document.getElementById('totalTimeElement'); 2818 if(element){ 2819 if (window.innerWidth > 768) { 2820 element.style.position = 'absolute'; 2821 element.style.top = "5px"; 2822 element.style.right = '122px'; 2823 } else { 2824 element.style.position = 'static'; 2825 element.style.margin = '0 0'; 2826 } 2827 } 2828 } 2829 2830 // Run on load and resize 2831 window.addEventListener('load', updatePosition); 2832 window.addEventListener('resize', updatePosition); 2833 </script>
2833 2834
2834<script type="text/template" id="coursecurr-9-template"> 2835 <div class="total-time" id="totalTimeElement" style=" 2836 font-size: 18px; 2837 font-weight: 600; 2838 color: #282400; 2839 padding: 8px 12px; 2840 border-radius: 4px; 2841 white-space: nowrap;"> 2842 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2843 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2844 <@}@> 2845</div> 2846 2847<div class="accordion-syllabus" style="max-width:1000px !important"> 2848 <@ $.each(item, function(index, value) { @> 2849 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2850 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:8px;box-shadow:none;padding:20px !important"> 2851 <h4 class="accordion-syllabus-header__title"> 2852 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2853 <@if(index < 9) {@> 2854 Week <@print(index + 1)@>: 2855 <@ } else {@> 2856 Week <@print(index + 1)@>: 2857 <@ } @> 2858 </span> 2859 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2860 <@if(value && value.items){@> 2861 <@ print(value.items.length) @> attachment(s) 2862 <@} else {@> 2863 1 attachment(s) 2864 <@}@> 2865 <@if(value.moduleDurations && curriculumAssetInfo){@> 2866 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2867 <@}@> 2868 </span></p> 2869 </h4> 2870 2871 <div class="accordion-syllabus-header__info"> 2872 <p class="text-primary hide-sm" style="color:#282400 !important;"> 2873 <@if(value && value.items){@> 2874 <@ print(value.items.length) @> attachment(s) 2875 <@} else {@> 2876 1 attachment(s) 2877 <@}@> 2878 <@if(value.moduleDurations && curriculumAssetInfo){@> 2879 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2880 <@}@> 2881 </p> 2882 <div class="accordion-syllabus-header__icon text-primary"> 2883 <i class="fa fa-angle-left" aria-hidden="true" style="color:#282400;"></i> 2884 </div> 2885 </div> 2886 </header> 2887 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2888 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2889 <ul class="accordian-list"> 2890 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2891 <@ if(value['items'] && value['items'].length > 0) { @> 2892 <@ $.each(value['items'], function(index1, value1) { @> 2893 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2894 <style> 2895 @media (max-width: 768px) { 2896 .accordian-content-card { 2897 flex-direction: column !important; 2898 align-items: stretch !important; 2899 } 2900 2901 .accordian-content-card__top { 2902 flex-direction: row !important; 2903 justify-content: space-between !important; 2904 align-items: center !important; 2905 width: 100% !important; 2906 } 2907 2908 .accordian-content-card__title { 2909 flex: 1 !important; 2910 margin: 0 10px !important; 2911 white-space: nowrap; 2912 overflow: hidden; 2913 text-overflow: ellipsis; 2914 } 2915 2916 .accordian-content-card__bottom { 2917 flex-direction: row !important; 2918 justify-content: space-between !important; 2919 align-items: center !important; 2920 width: 100% !important; 2921 margin-top: 6px !important; 2922 } 2923 2924 .accordian-content-card__link { 2925 flex: 1 !important; 2926 min-width: 0 !important; 2927 text-align: left !important; 2928 } 2929 2930 .accordian-content-card__time { 2931 flex-shrink: 0 !important; 2932 text-align: right !important; 2933 } 2934 } 2935 </style> 2936 2937 <div class="accordian-content-card" 2938 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2939 2940 2941 <!-- Row 1: Icon + Title + Collapse Icon --> 2942 <div class="accordian-content-card__top" 2943 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2944 2945 <!-- Icon --> 2946 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2947 <@ if(value1.type == 'code'){ @> 2948 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2949 <@ } else { @>
2950 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 2951 <@ print(getCourseAssetIcon(value1.type))@> 2952 </span> 2953 <@ } @> 2954 </div> 2955 2956 <!-- Title --> 2957 <div class="accordian-content-card__title" 2958 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2959 <@print(value1.title)@> 2960 </div> 2961 2962 <!-- Collapse Icon (optional) --> 2963 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2964 <!-- Example placeholder, add real icon if needed --> 2965 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2966 </div> 2967 </div> 2968 2969 <!-- Row 2: Preview Button and Time --> 2970 <div class="accordian-content-card__bottom" 2971 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2972 2973 <!-- Preview Button --> 2974 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2975 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2976 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2977 class="previewBtn" 2978 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2979 <span class="text-primary" style="color:#282400;"> 2980 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2981 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 2982 </span> 2983 </a> 2984 <@}@> 2985 </div> 2986 2987 <!-- Time --> 2988 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2989 <p class="text-primary course-asset-time" 2990 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 2991 <@ if(value1.duration && value1.duration > 0) { @> 2992 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2993 <@ } else { @> 2994 -- 2995 <@ } @> 2996 </p> 2997 </div> 2998 2999 </div> 3000 </div> 3001 3002 3003 </li> 3004 <@ }); @> 3005 <@ } else { @> 3006 <li class="accordian-list__item" style="padding:0px 0px !important;"> 3007 <div class="accordian-content-card" 3008 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3009 3010 <!-- Row 1: Icon + Title + Collapse Icon --> 3011 <div class="accordian-content-card__top" 3012 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3013 3014 <!-- Icon --> 3015 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3016 <@ if(value.type == 'code'){ @> 3017 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3018 <@ } else { @> 3019 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 3020 <@ print(getCourseAssetIcon(value.type))@> 3021 </span> 3022 <@ } @> 3023 </div> 3024 3025 <!-- Title --> 3026 <div class="accordian-content-card__title" 3027 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3028 <@print(value.title)@> 3029 </div> 3030 3031 <!-- Collapse Icon (optional) --> 3032 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3033 <!-- Example placeholder, add real icon if needed --> 3034 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3035 </div> 3036 </div> 3037 3038 <!-- Row 2: Preview Button and Time --> 3039 <div class="accordian-content-card__bottom" 3040 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3041 3042 <!-- Preview Button --> 3043 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3044 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 3045 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 3046 class="previewBtn" 3047 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3048 <span class="text-primary" style="color:#282400;"> 3049 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3050 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 3051 </span> 3052 </a> 3053 <@}@> 3054 </div> 3055 3056 <!-- Time --> 3057 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3058 <p class="text-primary course-asset-time" 3059 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 3060 <@ if(value.duration && value.duration > 0) { @> 3061 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 3062 <@ } else { @> 3063 -- 3064 <@ } @> 3065 </p> 3066 </div> 3067 </div> 3068 </div> 3069 </li> 3070 <@ } @> 3071 </ul> 3072 3073 <@ if(itemsCount > 5) { @> 3074 <div style="text-align: center; margin-top: 10px;"> 3075 <button style="background-color: #282400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3076 onclick=" 3077 var parentAccordion = this.closest('.accordion-content'); 3078 parentAccordion.style.maxHeight = 'none'; 3079 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 3080 this.style.display = 'none'; 3081 "> 3082 View All 3083 </button> 3084 </div> 3085 <@ } @> 3086 </div> 3087 </div> 3088 </div> 3089 <@ }); @> 3090 <@ if(item.length > 5) { @> 3091 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 3092 <button style="background-color: #282400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3093 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 3094 View All Sessions 3095 </button> 3096 </div> 3097 <@ } @> 3098</div> 3099 </div> 3100</script>
3100 3101 3102 3103 3104 3105 3106 3107<!-- Feedback Template First -->
3108<script type="text/template" id="widget-1-template"> 3109<div class="column full feedbackContainer feedback1 spectre"> 3110<@if(msg){@> 3111 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3112<@}else{@> 3113<div class="avgratingbox"> 3114 <div class="flex-row" > 3115 <div class="is-box-2" > 3116 <p style="color: rgb(247, 247, 247); font-weight: 700!important; font-size: 40px!important; text-align: center; letter-spacing: 3px; padding-bottom: 0px; margin-bottom: 0px; line-height: 1; margin-top: 0px;"> 3117 <@ if(ratings && ratings.avgRating) {@> 3118 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3119 <@}else{@> 3120 0 3121 <@}@> 3122 </p> 3123 <h5 class="ratings1" style="text-align: center; margin-bottom: 0px; margin-top: 0px; line-height: 1;"> 3124 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3125 <@if(ratings){@> 3126 <@ if(ratings.avgRating >= ratingsSize) {@> 3127 <i class="icon ion-android-star"></i> 3128 <@ } else if(ratings.avgRating > ratingsSize-1 && ratings.avgRating < ratingsSize) { @> 3129 <i class="icon ion-android-star-half"></i> 3130 <@ } else { @> 3131 <i class="icon ion-android-star-outline"></i> 3132 <@ } @> 3133 <@} else {@> 3134 <i class="icon ion-android-star-outline"></i> 3135 <@}@> 3136 <@}@> 3137 </h5> 3138 <p style="margin: 10px 0 0 !important;text-align: center;line-height: 1;font-size: 30px!important;"><i class="fa-light fa-users t-white"></i> </p> 3139 <p style="margin-bottom: 10px; margin-top: 0px; font-size: 12px!important; letter-spacing: 1px; font-weight: 500!important; color: rgb(247, 247, 247); text-align: center;"> 3140 Total <@ if(ratings){print(ratings.total) }else{0}@> Reviews 3141 </p> 3142 </div> 3143 <div class="is-box-9"> 3144 <@ for (i = 0; i < 5; i++) {@> 3145 <div class="box7878"> 3146 <div style="flex:1;"> 3147 <div class="meter <@print(ratingsPer[(parseInt(i)+1)+'-star'].cls)@> nostripes"> 3148 <span style="width: <@print(ratingsPer[(parseInt(i)+1)+'-star'].rates)@>%"></span> 3149 </div> 3150 </div> 3151 <div id="ratingbox"> 3152 <p class="ratings2" style=" line-height: 1;"> 3153 <@ for (ratingsSize = 5; ratingsSize >=1; ratingsSize--) {@> 3154 <@if(ratingsSize>i){@> 3155 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3156 <@} else {@> 3157 <i class="fa fa-solid fa-star-sharp"></i> 3158 <@}@> 3159 <@}@> 3160 <span class="t-white"> 3161 <@ if(ratings && ratings.ratingsCount){print(ratings.ratingsCount[(parseInt(5)-i)+'-stars'])}else{0} @> 3162 </span> 3163 </p> 3164 3165 </div> 3166 </div> 3167 <@}@> 3168 </div> 3169 </div> 3170</div> 3171 <div class="bg-secondary" style="padding:15px 15px;border-radius:10px;border-top-right-radius: 0;border-top-left-radius: 0;" > 3172 <p 3173 style="font-size: 16px!important; font-weight: 500!important; letter-spacing: 1px;" class="text-primary"> 3174 Reviews 3175 </p> 3176 3177<div class="review-box" id="createCustomReview" style="display:none"> 3178<div class="flex-row"> 3179 <div class="is-box-2 centerbox"> 3180 <div class="spectre"> 3181 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3182 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3183 </figure> 3184 <@if(typeof SPUSER !== 'undefined'){ @><p class="review-name"><@ print(SPUSER.name) @> </p><@ } @> 3185 </div> 3186 </div> 3187 <div class="is-box-10"> 3188 <textarea rows="3" class="form-input" 3189 placeholder="Add your review here"></textarea> 3190 <div class="rating3"> 3191 <p id="rating-stars"> 3192 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 3193 class="fa fa-solid fa-star-sharp text-primary rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 3194 </p> 3195 3196 <button class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3197 data-reviewData="reviewlist" 3198 style="padding: 2px 28px; text-transform: uppercase; border-radius: 40px;">Post</button> 3199 </div> 3200 </div> 3201</div> 3202</div> 3203 3204 <div id="reviewlist"> 3205 <@ $.each(items, function(index, item) { @> 3206 <div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3207 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3208 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3209 <@ } @> 3210 <div class="flex-row"> 3211 <div class="is-box-2 centerbox"> 3212 <div class="spectre"> 3213 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3214 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3215 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3216 <@ } else {@> 3217 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="uppercase avatar avatar-lg figsize" > 3218 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3219 <@ } @> 3220 </figure> 3221 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3222 </div> 3223 </div> 3224 <div class="is-box-10"> 3225 <div class="rating4"> 3226 <p> 3227 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3228 if(item.rating >= ratingsSize) {@> 3229 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3230 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3231 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3232 <@ } else { @> 3233 <i class="fa fa-solid fa-star-sharp"></i> 3234 <@}@> 3235 <@ }@> 3236 </p> 3237 <p 3238 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3239 <time class="timestamp"
3240 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3241 print(parseDate(item.createdDate.$date)) @></time> 3242 </p> 3243 </div> 3244 <p class="reviewTxt" 3245 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3246 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3247 <div class="comment-tag"> 3248 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3249 </div> 3250 </div> 3251 </div> 3252 </div> 3253 <@ }); @> 3254 </div> 3255 <button class="bg-primary loadMoreReviewsBtn reviewLMbtn" data-itemTemplate="feedback-1-item-template" data-reviewData="reviewlist" >Load More Reviews</button> 3256</div> 3257<@}@> 3258</script>
3258 3259 3260
3261<script type="text/template" id="feedback-1-item-template"> 3262<div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>""> 3263<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3264 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3265<@ } @> 3266<div class="flex-row"> 3267 <div class="is-box-2 centerbox"> 3268 <div class="spectre"> 3269 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3270 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="avatar avatar-lg figsize" > 3271 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3272 <@ } else {@> 3273 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="avatar avatar-lg figsize" > 3274 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3275 <@ } @> 3276 </figure> 3277 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3278 </div> 3279 </div> 3280 <div class="is-box-10"> 3281 <div class="rating4"> 3282 <p> 3283 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3284 if(item.rating >= ratingsSize) {@> 3285 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3286 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3287 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3288 <@ } else { @> 3289 <i class="fa fa-solid fa-star-sharp-outline"></i> 3290 <@}@> 3291 <@ } @> 3292 </p> 3293 <p 3294 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3295 <time class="timestamp" 3296 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3297 print(parseDate(item.createdDate.$date)) @></time> 3298 </p> 3299 </div> 3300 <p class="reviewTxt" 3301 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3302 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3303 <div class="comment-tag"> 3304 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3305 </div> 3306 </div> 3307</div> 3308</div> 3309</script>
3309 3310 3311 3312<!-- Feedback Template Second -->
3313<script type="text/template" id="feedback-2-template"> 3314<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3315<@if(msg){@> 3316 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3317<@}else{@> 3318<@ if(total > 0 && ratings && ratings.avgRating) {@> 3319<div class="avgratingbox"> 3320<div class="column third"> 3321 <div class="is-card avgRatingContainer" > 3322 <div class="avgRatingInnerContainer"> 3323 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3324 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3325 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 3326 <div style="margin-left: 25px;"> 3327 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3328 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 3329 <@ if(ratings && ratings.avgRating) {@> 3330 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3331 <@}else{@> 3332 0 3333 <@}@> 3334 </h3> 3335 <p class="avgRatingReviews">/5</p> 3336 </span> 3337 <p class="avgRatingReviews"> 3338 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3339 </p> 3340 </div> 3341 </div> 3342 </div> 3343 </div> 3344</div> 3345</div> 3346<@ } @> 3347<div id="feedback2Reviewlist" class="reviewslist"> 3348 <@ $.each(items, function(index, item) { @> 3349 <@ var template = _.template($("#feedback-2-item-template").html()); print(template({item: item})) @> 3350 <@ }); @> 3351 <@}@> 3352</div> 3353<div class="row clearfix"> 3354 <div class="column full"> 3355 <p class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-2-item-template" data-reviewData="feedback2Reviewlist" style="text-align: right; font-size: 14px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none;"> 3356 View more 3357 </p> 3358 </div> 3359</div> 3360</script>
3360 3361
3362<script type="text/template" id="feedback-2-item-template"> 3363 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3364 <div class="is-card avgRatingContainer"> 3365 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3366 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3367 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3368 <@ } @> 3369 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 80px; max-height: 80px; overflow: hidden;"> 3370 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3371 </p> 3372 <div class="reviewerName"> 3373 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px;"> 3374 <@ print(item.userName) @> 3375 </p></div> 3376 3377 <p style="margin: 0px;"> 3378 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3379 <@ if(item.rating >= ratingsSize) {@> 3380 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3381 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3382 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3383 <@ } @> 3384 <@ }@> 3385 </p> 3386 3387 </div> 3388 </div> 3389 </div> 3390</script>
vendor: 1 bytes, line 3390
3390
3391<script type="text/template" id="feedback-2-createTemplate"> 3392 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3393 <div class="is-boxes"> 3394 <div class="is-box-centered"> 3395 <div class="is-container container" style="max-width: 940px;"> 3396 3397 <div class="review-box review-add-box"> 3398 <div class="is-container container is-content-800" > 3399 <div class="row clearfix" > 3400 <div class="column full" > 3401 <h1 style="text-align: center; font-size: 28px; line-height: 1.1; font-weight: 700; letter-spacing: 0px; color: var(--themeColor); margin-bottom: 44px;">Add a review</h1> 3402 </div> 3403 </div> 3404 <div class="textarea-cont"> 3405 <div class="review-star text-primary" style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;"> 3406 <span id="rating-stars"> 3407 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 3408 class="fa fa-solid fa-star-sharp rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 3409 </span> 3410 </div> 3411 <textarea class="add-review-textarea" id="reviewText" style="background: transparent;width: 100%; border-width: 0px; padding-right: 28px; padding-bottom: 28px; min-height: 150px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;" placeholder="Add your review here"></textarea> 3412 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3413 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3414 <@ } @> 3415 </div> 3416 <div style="margin-top: 20px; display: flex; justify-content: flex-end;"> 3417 <button id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3418 data-reviewData="feedback2Reviewlist" disabled >Submit</button> 3419 </div> 3420 </div> 3421 </div> 3422 </div> 3423 </div> 3424 </div> 3425</div> 3426</script>
3426 3427 3428<!-- Vegas 4th feedback Template--> 3429 3430
3431<script type="text/template" id="feedback-4-template"> 3432 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3433 <@if(msg){@> 3434 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3435 <@}else{@> 3436 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3437 <div class="avgratingbox"> 3438 <div class="column third"> 3439 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3440 <div class="avgRatingInnerContainer"> 3441 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3442 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3443 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 3444 <div style="margin-left: 25px;"> 3445 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3446 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 3447 <@ if(ratings && ratings.avgRating) {@> 3448 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3449 <@}else{@> 3450 0 3451 <@}@> 3452 </h3> 3453 <p class="avgRatingReviews">/5</p> 3454 </span> 3455 <p class="avgRatingReviews"> 3456 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3457 </p> 3458 </div> 3459 </div> 3460 </div> 3461 </div> 3462 </div> 3463 </div> 3464 <@ } @> 3465 <div id="feedback4Reviewlist" class="reviewslist"> 3466 <@ $.each(items, function(index, item) { @> 3467 <@ var template = _.template($("#feedback-4-item-template").html()); print(template({item: item})) @> 3468 <@ }); @> 3469 <@}@> 3470 </div> 3471 <div class="row clearfix"> 3472 <div class="column full" style="text-align: center;"> 3473 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-4-item-template" data-reviewData="feedback4Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#FB5607; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3474 View All Reviews 3475 </a> 3476 </div> 3477 </div> 3478 </script>
3478 3479 3480
3480<script type="text/template" id="feedback-4-item-template"> 3481 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3482 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3483 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3484 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3485 <a style="color:#FB5607 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3486 <@ } @> 3487 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3488 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3489 </p> 3490 <div class="reviewerName"> 3491 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3492 <@ print(item.userName) @> 3493 </p></div> 3494 3495 <p style="margin: 0px;"> 3496 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3497 <@ if(item.rating >= ratingsSize) {@> 3498 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#FB5607 !important;"></i> 3499 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3500 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#FB5607 !important;"></i> 3501 <@ } @> 3502 <@ }@> 3503 </p> 3504 3505 </div> 3506 </div> 3507 </div> 3508 </script>
3508 3509
3509<script type="text/template" id="feedback-4-createTemplate"> 3510 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3511 <div class="is-boxes"> 3512 <div class="is-box-centered"> 3513 <div class="is-container container" style="max-width: 1200px;"> 3514 3515 <div class="review-box review-add-box"> 3516 <div class="is-container container is-content-1200" > 3517 <div class="row clearfix" > 3518 <div class="column full" > 3519 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3520 </div> 3521 </div> 3522 <div class="textarea-cont"> 3523 <div style="display:flex; gap:30px;"> 3524 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3525 <div class="review-star1 text-primary" 3526 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3527 <span id="rating-stars" > 3528 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3529 <i class="fa fa-solid fa-star-sharp rating-star" 3530 data-value='<@- ratingsSize @>' 3531 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3532 <@}@> 3533 </span> 3534 </div> 3535 <style></style> 3536 3537 3538 </div> 3539 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3540 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3541 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3542 <@ } @> 3543 </div> 3544 <div style=" display: flex; justify-content: center;"> 3545 <button style="letter-spacing:0px !important ; background-color:#FB5607;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3546 data-reviewData="feedback4Reviewlist" disabled >Submit</button> 3547 </div> 3548 </div> 3549 </div> 3550 </div> 3551 </div> 3552 </div> 3553 </div> 3554 </script>
3554 3555 3556 3557 3558 3559<!-- Blaze 5th feedback Template-->
3560<script type="text/template" id="feedback-5-template"> 3561 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3562 <@if(msg){@> 3563 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3564 <@}else{@> 3565 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3566 <div class="avgratingbox"> 3567 <div class="column third"> 3568 <div class="is-card avgRatingContainer" style="background:#232323; border-radius:0px;padding:21px;" > 3569 <div class="avgRatingInnerContainer"> 3570 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;color:white;">Customer ratings</h3> 3571 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3572 <i class="icon ion-android-star text-primary" style="font-size: 80px;color:rgb(216, 253, 70);"></i> 3573 <div style="margin-left: 25px;"> 3574 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3575 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: rgb(216, 253, 70); line-height: 1.3;"> 3576 <@ if(ratings && ratings.avgRating) {@> 3577 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3578 <@}else{@> 3579 0 3580 <@}@> 3581 </h3> 3582 <p class="avgRatingReviews" style="color:white;">/5</p> 3583 </span> 3584 <p class="avgRatingReviews" style="color:white;"> 3585 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3586 </p> 3587 </div> 3588 </div> 3589 </div> 3590 </div> 3591 </div> 3592 </div> 3593 <@ } @> 3594 <div id="feedback5Reviewlist" class="reviewslist"> 3595 <@ $.each(items, function(index, item) { @> 3596 <@ var template = _.template($("#feedback-5-item-template").html()); print(template({item: item})) @> 3597 <@ }); @> 3598 <@}@> 3599 </div> 3600 <div class="row clearfix"> 3601 <div class="column full" style="text-align: center;"> 3602 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-5-item-template" data-reviewData="feedback5Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#D8FD46; color:black; padding:12px 28px; border-radius:0px;text-decoration:none;"> 3603 View All Reviews 3604 </a> 3605 </div> 3606 </div> 3607 </script>
3607 3608 3609 3610
3610<script type="text/template" id="feedback-5-item-template"> 3611 <style> 3612 .template5-review .reviewTxt{ 3613 color:white !important; 3614 } 3615 .template5-review .reviewerName p{ 3616 color:white !important; 3617 } 3618 </style> 3619 <div class="column third reviewcontainer template5-review <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> selfreview <@ } @>"> 3620 <div class="is-card avgRatingContainer" style="border:1px solid #232323;padding:20px;"> 3621 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;"> 3622 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3623 <a style="color:#D8FD46 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"> 3624 <i class="material-icons">delete</i> 3625 </a> 3626 <@ } @> 3627 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3628 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3629 </p> 3630 <div class="reviewerName"> 3631 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5; "> 3632 <@ print(item.userName) @> 3633 </p> 3634 </div> 3635 3636 <p style="margin: 0px;"> 3637 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) { @> 3638 <@ if(item.rating >= ratingsSize) { @> 3639 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#D8FD46 !important;"></i> 3640 <@ } else if(item.rating > ratingsSize - 1 && item.rating < ratingsSize) { @> 3641 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#D8FD46 !important;"></i> 3642 <@ } @> 3643 <@ } @> 3644 </p> 3645 </div> 3646 </div> 3647 </div> 3648 </script>
3648 3649 3650
3650<script type="text/template" id="feedback-5-createTemplate"> 3651 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3652 <div class="is-boxes"> 3653 <div class="is-box-centered" style="background:#181818;"> 3654 <div class="is-container container" style="max-width: 1200px;"> 3655 3656 <div class="review-box review-add-box"> 3657 <div class="is-container container is-content-1200" > 3658 <div class="row clearfix" > 3659 <div class="column full" > 3660 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: white; ">Add a review</h1> 3661 </div> 3662 </div> 3663 <div class="textarea-cont" style="background:transparent"> 3664 <div style="display:flex; gap:30px;"> 3665 <div><h3 style="font-size:18px;font-weight:600; color:white;">Overall Rating</h3></div> 3666 <div class="review-star text-primary" 3667 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3668 <span id="rating-stars" > 3669 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3670 <i class="fa fa-solid fa-star-sharp rating-star" 3671 data-value='<@- ratingsSize @>' 3672 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3673 <@}@> 3674 </span> 3675 </div> 3676 3677 3678 </div> 3679 <textarea class="add-review-textarea" id="reviewText" style="color:white;background:#232323;width: 100%; border: 1px solid #636363; padding: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:0px !important" placeholder="Add your review here"></textarea> 3680 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3681 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3682 <@ } @> 3683 </div> 3684 <div style=" display: flex; justify-content: center;margin-top:20px;"> 3685 <button style="letter-spacing:0px !important ; background-color:#D8FD46;padding:12px 28px !important; border-radius:0px !important; color:black;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3686 data-reviewData="feedback5Reviewlist" disabled >Submit</button> 3687 </div> 3688 </div> 3689 </div> 3690 </div> 3691 </div> 3692 </div> 3693 </div> 3694 </script>
3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710<!-- Nebula Feedback 6--> 3711
3712<script type="text/template" id="feedback-6-template"> 3713 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3714 <@if(msg){@> 3715 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3716 <@}else{@> 3717 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3718 <div class="avgratingbox"> 3719 <div class="column third"> 3720 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3721 <div class="avgRatingInnerContainer"> 3722 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3723 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3724 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #6715FF !important;"></i> 3725 <div style="margin-left: 25px;"> 3726 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3727 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #6715FF !important; line-height: 1.3;"> 3728 <@ if(ratings && ratings.avgRating) {@> 3729 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3730 <@}else{@> 3731 0 3732 <@}@> 3733 </h3> 3734 <p class="avgRatingReviews">/5</p> 3735 </span> 3736 <p class="avgRatingReviews"> 3737 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3738 </p> 3739 </div> 3740 </div> 3741 </div> 3742 </div> 3743 </div> 3744 </div> 3745 <@ } @> 3746 <div id="feedback6Reviewlist" class="reviewslist"> 3747 <@ $.each(items, function(index, item) { @> 3748 <@ var template = _.template($("#feedback-6-item-template").html()); print(template({item: item})) @> 3749 <@ }); @> 3750 <@}@> 3751 </div> 3752 <div class="row clearfix"> 3753 <div class="column full" style="text-align: center;"> 3754 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-6-item-template" data-reviewData="feedback6Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#6715FF; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3755 View All Reviews 3756 </a> 3757 </div> 3758 </div> 3759 </script>
3759 3760 3761
3761<script type="text/template" id="feedback-6-item-template"> 3762 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3763 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3764 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3765 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3766 <a style="color:#6715FF !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3767 <@ } @> 3768 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3769 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3770 </p> 3771 <div class="reviewerName"> 3772 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3773 <@ print(item.userName) @> 3774 </p></div> 3775 3776 <p style="margin: 0px;"> 3777 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3778 <@ if(item.rating >= ratingsSize) {@> 3779 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#6715FF !important;"></i> 3780 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3781 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#6715FF !important;"></i> 3782 <@ } @> 3783 <@ }@> 3784 </p> 3785 3786 </div> 3787 </div> 3788 </div> 3789 </script>
3789 3790
3790<script type="text/template" id="feedback-6-createTemplate"> 3791 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3792 <div class="is-boxes"> 3793 <div class="is-box-centered"> 3794 <div class="is-container container" style="max-width: 1200px;"> 3795 3796 <div class="review-box review-add-box"> 3797 <div class="is-container container is-content-1200" > 3798 <div class="row clearfix" > 3799 <div class="column full" > 3800 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3801 </div> 3802 </div> 3803 <div class="textarea-cont" style="background:transparent"> 3804 <div style="display:flex; gap:30px;"> 3805 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3806 <div class="review-star1 text-primary" 3807 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3808 <span id="rating-stars" > 3809 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3810 <i class="fa fa-solid fa-star-sharp rating-star" 3811 data-value='<@- ratingsSize @>' 3812 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3813 <@}@> 3814 </span> 3815 </div> 3816 <style></style> 3817 3818 3819 </div> 3820 <textarea class="add-review-textarea" id="reviewText" style="background:white;width: 100%; border: 1px solid #c3c0c0; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3821 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3822 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: grey; margin-top: 0px;"><@ print(SPUSER.name) @></p> 3823 <@ } @> 3824 </div> 3825 <div style=" display: flex; justify-content: center;"> 3826 <button style="letter-spacing:0px !important ; background-color:#6715FF;padding:12px 28px !important;margin-top:30px;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3827 data-reviewData="feedback6Reviewlist" disabled >Submit</button> 3828 </div> 3829 </div> 3830 </div> 3831 </div> 3832 </div> 3833 </div> 3834 </div> 3835 </script>
3835 3836 3837 3838 3839 3840 3841<!-- Olive Feedback 7-->
3842<script type="text/template" id="feedback-7-template"> 3843 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3844 <@if(msg){@> 3845 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3846 <@}else{@> 3847 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3848 <div class="avgratingbox"> 3849 <div class="column third"> 3850 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3851 <div class="avgRatingInnerContainer"> 3852 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3853 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3854 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #064400 !important;"></i> 3855 <div style="margin-left: 25px;"> 3856 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3857 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #064400 !important; line-height: 1.3;"> 3858 <@ if(ratings && ratings.avgRating) {@> 3859 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3860 <@}else{@> 3861 0 3862 <@}@> 3863 </h3> 3864 <p class="avgRatingReviews">/5</p> 3865 </span> 3866 <p class="avgRatingReviews"> 3867 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3868 </p> 3869 </div> 3870 </div> 3871 </div> 3872 </div> 3873 </div> 3874 </div> 3875 <@ } @> 3876 <div id="feedback7Reviewlist" class="reviewslist"> 3877 <@ $.each(items, function(index, item) { @> 3878 <@ var template = _.template($("#feedback-7-item-template").html()); print(template({item: item})) @> 3879 <@ }); @> 3880 <@}@> 3881 </div> 3882 <div class="row clearfix"> 3883 <div class="column full" style="text-align: center;"> 3884 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-7-item-template" data-reviewData="feedback7Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#064400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3885 View All Reviews 3886 </a> 3887 </div> 3888 </div> 3889 </script>
3889 3890 3891
3891<script type="text/template" id="feedback-7-item-template"> 3892 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3893 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3894 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3895 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3896 <a style="color:#064400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3897 <@ } @> 3898 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3899 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3900 </p> 3901 <div class="reviewerName"> 3902 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3903 <@ print(item.userName) @> 3904 </p></div> 3905 3906 <p style="margin: 0px;"> 3907 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3908 <@ if(item.rating >= ratingsSize) {@> 3909 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#064400 !important;"></i> 3910 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3911 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#064400 !important;"></i> 3912 <@ } @> 3913 <@ }@> 3914 </p> 3915 3916 </div> 3917 </div> 3918 </div> 3919 </script>
3919 3920
3920<script type="text/template" id="feedback-7-createTemplate"> 3921 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3922 <div class="is-boxes"> 3923 <div class="is-box-centered"> 3924 <div class="is-container container" style="max-width: 1200px;"> 3925 3926 <div class="review-box review-add-box"> 3927 <div class="is-container container is-content-1200" > 3928 <div class="row clearfix" > 3929 <div class="column full" > 3930 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3931 </div> 3932 </div> 3933 <div class="textarea-cont"> 3934 <div style="display:flex; gap:30px;"> 3935 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3936 <div class="review-star1 text-primary" 3937 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3938 <span id="rating-stars" > 3939 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3940 <i class="fa fa-solid fa-star-sharp rating-star" 3941 data-value='<@- ratingsSize @>' 3942 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3943 <@}@> 3944 </span> 3945 </div> 3946 <style></style> 3947 3948 3949 </div> 3950 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3951 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3952 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3953 <@ } @> 3954 </div> 3955 <div style=" display: flex; justify-content: center;"> 3956 <button style="letter-spacing:0px !important ; background-color:#064400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3957 data-reviewData="feedback7Reviewlist" disabled >Submit</button> 3958 </div> 3959 </div> 3960 </div> 3961 </div> 3962 </div> 3963 </div> 3964 </div> 3965 </script>
3965 3966 3967 3968 3969 3970 <!--Dusk Feedback-8--> 3971
3971<script type="text/template" id="feedback-8-template"> 3972 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3973 <@if(msg){@> 3974 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3975 <@}else{@> 3976 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3977 <div class="avgratingbox"> 3978 <div class="column third"> 3979 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;background:#F5F5F5;" > 3980 <div class="avgRatingInnerContainer"> 3981 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3982 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3983 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #282400 !important;"></i> 3984 <div style="margin-left: 25px;"> 3985 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3986 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #282400 !important; line-height: 1.3;"> 3987 <@ if(ratings && ratings.avgRating) {@> 3988 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3989 <@}else{@> 3990 0 3991 <@}@> 3992 </h3> 3993 <p class="avgRatingReviews">/5</p> 3994 </span> 3995 <p class="avgRatingReviews"> 3996 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3997 </p> 3998 </div> 3999 </div> 4000 </div> 4001 </div> 4002 </div> 4003 </div> 4004 <@ } @> 4005 <div id="feedback8Reviewlist" class="reviewslist"> 4006 <@ $.each(items, function(index, item) { @> 4007 <@ var template = _.template($("#feedback-8-item-template").html()); print(template({item: item})) @> 4008 <@ }); @> 4009 <@}@> 4010 </div> 4011 <div class="row clearfix"> 4012 <div class="column full" style="text-align: center;"> 4013 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-8-item-template" data-reviewData="feedback8Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#282400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4014 View All Reviews 4015 </a> 4016 </div> 4017 </div> 4018 </script>
4018 4019 4020
4020<script type="text/template" id="feedback-8-item-template"> 4021 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4022 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:#F5F5F5; padding:20px; "> 4023 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4024 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4025 <a style="color:#282400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4026 <@ } @> 4027 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4028 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4029 </p> 4030 <div class="reviewerName"> 4031 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4032 <@ print(item.userName) @> 4033 </p></div> 4034 4035 <p style="margin: 0px;"> 4036 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4037 <@ if(item.rating >= ratingsSize) {@> 4038 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#282400 !important;"></i> 4039 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4040 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#282400 !important;"></i> 4041 <@ } @> 4042 <@ }@> 4043 </p> 4044 4045 </div> 4046 </div> 4047 </div> 4048 </script>
4048 4049
4049<script type="text/template" id="feedback-8-createTemplate"> 4050 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4051 <div class="is-boxes"> 4052 <div class="is-box-centered"> 4053 <div class="is-container container" style="max-width: 1200px;"> 4054 4055 <div class="review-box review-add-box"> 4056 <div class="is-container container is-content-1200" > 4057 <div class="row clearfix" > 4058 <div class="column full" > 4059 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4060 </div> 4061 </div> 4062 <div class="textarea-cont"> 4063 <div style="display:flex; gap:30px;"> 4064 <div><h3 style="font-size:18px;font-weight:600;">Overall rating</h3></div> 4065 <div class="review-star1 text-primary" 4066 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4067 <span id="rating-stars" > 4068 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4069 <i class="fa fa-solid fa-star-sharp rating-star" 4070 data-value='<@- ratingsSize @>' 4071 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4072 <@}@> 4073 </span> 4074 </div> 4075 <style></style> 4076 4077 4078 </div> 4079 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4080 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4081 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4082 <@ } @> 4083 </div> 4084 <div style=" display: flex; justify-content: center;"> 4085 <button style="letter-spacing:0px !important ; background-color:#282400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4086 data-reviewData="feedback8Reviewlist" disabled >Submit</button> 4087 </div> 4088 </div> 4089 </div> 4090 </div> 4091 </div> 4092 </div> 4093 </div> 4094 </script>
4094 4095 4096 4097 4098<div class="spectre"> 4099<div class="modal" id="reviewModal"> 4100 <a href="javascript:void(0);" class="modal-overlay close" 4101 aria-label="Close"></a> 4102 <div class="modal-container"> 4103 <div class="modal-header"> 4104 <a href="javascript:void(0);" 4105 class="close btn btn-clear float-right" aria-label="Close"></a> 4106 <div class="modal-title h5">Review</div> 4107 </div> 4108 <div class="modal-body" style="max-height: 90vh;padding-top: 0;"> 4109 </div> 4110 </div> 4111 4112 4113 4114</div> 4115 4116 4117</div> 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132
4133<script> 4134 var created_date = `Created Date`; 4135 var uname_msg = `Name`; 4136 var email_msg = `Email`; 4137 var has_web_token = `Has Web Token`; 4138 var has_mobile_token = `Has Mobile Token`; 4139 var actions_msg = `Actions`; 4140 var delete_user = `Delete User`; 4141 var create_target_audience = `Create Target Audience`; 4142 var msg_now = `NOW`; 4143 var msg_now_2 = `Now`; 4144 var msg_scheduled = `SCHEDULED`; 4145 var msg_recurring = `RECURRING`; 4146 var msg_weeks = `weeks`; 4147 var msg_months = `month(s)`; 4148 var msg_days = `days`; 4149 var notification_screen = `Notification Screen`; 4150 var coursepackagelandingpage = `Course/Package landing page`; 4151 var search_course_name = `Search by course/package name`; 4152 var webinar_landing_page = `Webinar landing page`; 4153 var search_by_webinar_name = `Search by webinar name`; 4154 var categorypage = `Category Page`; 4155 var custompage = `Custom Page`; 4156 var blogpage = `Blog Page`; 4157 var customlink = `Custom Link`; 4158 var homepage_msg = `Homepage`; 4159 var search_category = `Search category`; 4160 var search_page_title = `Search by Page title`; 4161 var search_blog_title = `Search by Blog title`; 4162 var enter_the_link = `Enter the link`; 4163 var membership_page = `Membership page`; 4164 var pick_a_date = `Pick a date`; 4165 var pick_first_push_date = `Pick a first push date`; 4166 var every_msg = `Every`; 4167 var starting_msg = `Starting`; 4168 var msg_published = `Published`; 4169 var msg_unpublished = `Unpublished`; 4170 var msg_customize = `Customize`; 4171 var msg_edit = `Edit`; 4172 var msg_featured_image = `Featured Image`; 4173 var msg_preview = `Preview`; 4174 var msg_delete = `Delete`; 4175 var msg_unpublish = `Unpublish`; 4176 var msg_publish = `Publish `; 4177 var msg_question= `questions`; 4178 var try_new_coding_assignment= `Try new coding assignment`; 4179 var change_enrollment_date = `Change Enrollment Date`; 4180 var change_expiry = `Change Expiry`; 4181 var change_remanining_time = `Change Remaining Time`; 4182 var remove_from_course = `Remove From Course`; 4183 var reset_course_progress = `Reset Course Progress`; 4184 var complete_report = `Complete Report`; 4185 var msg_progress = `Progress`; 4186 var timetaken = `Time Taken`; 4187 var msg_user_details = `User Details`; 4188 var graphy_platform_fees_note = `Amount after deducting Graphy platform fees. This does not include your payment gateway charges.`; 4189 var final_price_note = `Final payable price by learners`; 4190 var save_alert_message = `Save progress before moving forward.`; 4191 var no_chapter_alert_message = `Please add at least one chapter in the course.`; 4192 var download_msg = `Download`; 4193 var revoke_msg = `Revoke`; 4194 var yes_msg = `Yes`; 4195 var no_msg = `No`; 4196 var details_hover = `Details`; 4197 var hide_notification = `Hide Notification`; 4198 var notify_learners_hover = `Notify Learners`; 4199 var search_course_package = `Search Courses to add in this package.`; 4200 var bulk_delete = `Bulk Delete`; 4201 var scheduled_msg = `Scheduled`; 4202 var inprogress_msg = `In Progress`; 4203 var completed_msg = `Completed`; 4204 var yes_all_caps = `YES`; 4205 var no_all_caps = `NO`; 4206 var discount_msg = `Discount`; 4207 var max_discount = `Max Discount`; 4208 var min_cart = `Min Cart`; 4209 var delete_bookmark = `Delete Bookmark`; 4210 var view_question = `View question`; 4211 var msg_free = `Free`; 4212 var membership_expiration_note = `Membership will be canceled on next billing date.`; 4213 var msg_active = `Active`; 4214 var msg_inactive = `Inactive`; 4215 var delete_hover = `Delete`; 4216 var view_hover = `View`; 4217 var coursewise = `Course Wise`; 4218 var learner_wise = `Learner wise`; 4219 var segment_wise = `Segment wise`; 4220 var unregistered_msg = `Unregistered`; 4221 var target_audience_deleted = `Target Audience Deleted`; 4222 var courses_msg = `course(s)`; 4223 var learners_msg = `learner(s)`; 4224 var unregistered_learners = `Unregistered Learner`; 4225 var all_learners = `All Learners`; 4226 var course_wise_learners = `Course wise Learners`; 4227 var segment_wise_learners = `Segment wise Learners`; 4228 var with_token = `with token`; 4229 var segments_msg = `segments`; 4230 var add_users_msg = `Add Users`; 4231 var approx_msg = `Approx`; 4232 var revoke_cancellation_request = `Revoke Cancellation request.`; 4233 var remove_scheduled_membership_cancellation = `Remove Scheduled Membership Cancellation`; 4234 var schedule_to_stop_subscription = `Schedule to stop Subscription`; 4235 var stop_subscription = `Stop subscription`; 4236 var available_for_review_all_caps = `AVAILABLE FOR REVIEW`; 4237 var reviewed_all_caps = `REVIEWED`; 4238 var rejected_all_caps = `REJECTED`; 4239 var preview_code = `Preview Code`; 4240 var approve_msg = `Approve`; 4241 var reject_msg = `Reject`; 4242 var history_msg = `History`; 4243 var message_hover= `Message`; 4244 var remove_msg= `Remove`; 4245 var enroll_msg= `Enroll`; 4246 var change_validity= `Change Validity`; 4247 var learners_selected= `learner(s) selected`; 4248 var select_all_msg= `Select all`; 4249 var do_you_want_to_delete_course= `Do you really want to delete this course?`; 4250 var do_you_want_to_revoke_this_certificate= `Do you really want to revoke this certificate?`; 4251 var do_you_want_to_revoke_entry= `Do you really want to revoke this entry?`; 4252 var do_you_want_to_edit_enrollment_date= `Do you really want to edit enrollment date of all learners?`; 4253 var do_you_want_to_edit_enrollment_date_for_selected= `Do you really want to edit enrollment date of selected learners?`; 4254 var do_you_want_to_edit_course_validity= `Do you really want to edit course validity of all learners?`; 4255 var do_you_want_to_edit_course_validity_for_selected= `Do you really want to edit course validity of selected learners?`; 4256 var do_you_want_to_remove_selected= `Do you really want to remove selected learners?`; 4257 var do_you_want_to_remove_all= `Do you really want to remove all learners?`; 4258 var do_you_want_to_create_zip= `Do you really want to create zip for this course?`; 4259 var do_you_want_to_deactivate= `Do you really want to deactivate?`; 4260 var successfully_done_alert= `Successfully Done.`; 4261 var please_select_atleast_1_learner= `Please select atleast 1 learner !`; 4262 var on_msg= `On`; 4263 var single_correct_option = `Single Correct Option`; 4264 var multiple_correct_options = `Multiple Correct Options`; 4265 var numerical_Fill_in_the_Blank = `Numerical/Fill in the Blank`; 4266 var match_the_Column = `Match the Column`; 4267 var subjective = `Subjective`; 4268 var your_target_audience_appear= `Your target audience user(s) will appear here`; 4269 var your_upcoming_campaign= `Your upcoming campaign will appear here`; 4270 var status_msg= `Status`; 4271 var stop_campaign= `Stop Campaign`; 4272 var copy_campaign= `Copy Campaign`; 4273 var platform_fee_tax = `platform fees including taxes`; 4274 var pg_fees_taxes = `payment gateway fees including taxes`; 4275 var msg_quiz = `Quiz`; 4276 var msg_livetest = `Live test`; 4277 var msg_heading = `Heading`; 4278 var msg_text = `Text`; 4279 var msg_form = `Form`; 4280 var msg_live_class = `Live class`; 4281 var msg_live_class_rec = `live class recording`; 4282 var msg_code = `Code`; 4283 var msg_assignment = `Assignment`; 4284 var msg_added = `added`; 4285 var msg_about = `About`; 4286 var msg_year = `year`;
4287 var msg_month = `Month`; 4288 var msg_day = `day`; 4289 //var msg_hour = `hh`; 4290 //var msg_minute = `mm`; 4291 //var msg_seconds = `seconds`; 4292 var msg_month_l = `month`; 4293 var msg_day_l = `day`; 4294 var msg_hour_l = `hour`; 4295 var msg_minute_l = `minute`; 4296 var msg_second_l = `second`; 4297 var mobile_number=`Mobile Number`; 4298 var status_android =`Status (ANDROID)`; 4299 var status_ios =`Status (IOS)`; 4300 var delivery_time=`Delivery Time`; 4301 var sure_unhide=`Are you sure you want to unhide this course ?`; 4302 var become_a_partner=`Become a Partner`; 4303 var failed_msg=`Failed`; 4304 var sent_msg=`Sent`; 4305 var pending_msg=`Pending`; 4306 var running_msg=`Running`; 4307 var add_pricing_plan = `Add pricing plan`; 4308 var msg_add = `Add`; 4309 var of_msg = `of`; 4310 var items_msg = `items` 4311 var ago_msg = `ago` 4312 var items_msg = `items`; 4313 4314 var january_msg = `January`; 4315 var february_msg = `February`; 4316 var march_msg = `March`; 4317 var april_msg = `April`; 4318 var may_msg = `May`; 4319 var june_msg = `June`; 4320 var july_msg = `July`; 4321 var august_msg = `August`; 4322 var september_msg = `September`; 4323 var october_msg = `October`; 4324 var november_msg = `November`; 4325 var december_msg = `December`; 4326 var sunday_msg = `Sunday`; 4327 var monday_msg = `Monday`; 4328 var tuesday_msg = `Tuesday`; 4329 var wednesday_msg = `Wednesday`; 4330 var thursday_msg = `Thursday`; 4331 var friday_msg = `Friday`; 4332 var saturday_msg = `Saturday`; 4333 var at_msg = `at`; 4334 var generate_outline = `Generate outline using AI`; 4335 var it_take_min = `It may take a min.`; 4336 var msg_ok = `OK`; 4337 var edit_pricing_plan = `Edit pricing plan`; 4338 4339</script>
4339 4340 4341 4342 4343 4344 4345 4346
4347<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-2.0.3.min.js"></script>
4347 4348
4349<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/underscore-min.js?v=1.9.1"></script>
4349 4350
4351<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.form.js"></script>
vendor: 1 bytes, line 4351
4351
4352<script async src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.noty.packaged.min.js"></script>
vendor: 1 bytes, line 4352
4352
4353<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-ui.min.js"></script>
vendor: 1 bytes, line 4353
4353
4354<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.timeago.js"></script>
vendor: 1 bytes, line 4354
4354
4355<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/js-webshim/minified/extras/modernizr-custom.js"></script>
vendor: 1 bytes, line 4355
4355
4356<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.datetimepicker.js"></script>
4356 4357 4358 4359 4360 4361 4362 4363 4364
4365<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/aes.js"></script>
vendor: 1 bytes, line 4365
4365
4366<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/mode-ecb-min.js"></script>
vendor: 1 bytes, line 4366
4366
4367<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/pad-nopadding-min.js"></script>
4367 4368 4369<!--
4369<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 4369
4369
4370<script src="https://unpkg.com/tippy.js@6"></script>
4370 -->
4371<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.3.3/umd/popper.js" integrity="sha512-jSMYzs1Iebw2Uew+Y9karoqkqTDEzbqkdttIkHJKh3auQ6aGV7p8b7A3Yo9k/LsMvUFqWt5AV66hfo1OwH4Jjg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 4371
4371
4372<script src="https://cdnjs.cloudflare.com/ajax/libs/tippy.js/6.0.0/tippy-bundle.umd.js"></script>
4372 4373
4374<script type="text/javascript"> 4375 var passwordPolicyRequired = false; 4376 var checkoutV2 = true; 4377 var primaryFieldPhoneEnabled = false; 4378 var orgLanguageCode = ""; 4379 var SPEERESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 4380</script>
4380 4381
4382<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sutils_006ef97695b7d97b6f665352cee8d2cd.js"></script>
vendor: 1 bytes, line 4382
4382
4383<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/utils/dateUtils_f53456b03f1287667a7b24fb63b367ce.js"></script>
vendor: 1 bytes, line 4383
4383
4384<script type="text/javascript"> 4385 // Make org object globally available for dateUtils 4386 window.org = window.org || {}; 4387 window.org.currencyCode = "false"=='true'?'USD':'INR'; 4388 var websiteV3Org = false; 4389 var orgCreatedDate = {"$date":"2023-06-05T13:10:52.693Z"}; 4390</script>
4390 4391 4392
4392<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/talk_2c30ecf6aaff74f040d029af059f08e1.js"></script>
4392 4393 4394 4395 4396 4397
4398<script type="text/javascript"> 4399 var trialExpired = "false"; 4400 var planCancelled = "false"; 4401 var isFreePlan = false; 4402 4403</script>
vendor: 1 bytes, line 4403
4403
4404<script type="text/javascript" id="dsf239df"> 4405 var ctx = "/s", 4406 isFirstLogin = "", cjs = CryptoJS; 4407 4408 var defaultCoreColor = "#5755d9", theme1CoreColor = "#572b7a", theme2CoreColor = "#3f51b5", theme3CoreColor = "#009051", 4409 theme4CoreColor = "#596439", theme5CoreColor = "#F0591D", theme6CoreColor = "#28a745", theme7CoreColor = "#1bbc9b", 4410 theme8CoreColor = "#f38f20", apkId = "6231373436231373432363038663465653864613523630386634656538646135", theme9CoreColor = "#c0af01", theme10CoreColor = "#e8d3a4", 4411 webColor = defaultCoreColor, 4412 CFCDN = "https://d502jbuhuh9wk.cloudfront.net", mobileNotification = true, webNotification = true, 4413 iosPlayVideo = true, 4414 chromeDrmPlayback = false, 4415 gaType = ""; 4416 4417 4418 4419 $("#dsf239df").remove(); 4420</script>
4420 4421 4422 4423 4424 4425 4426 <a id="whatsappWidgetContainer" class="whatsapp-widget-container" href="#" target="_blank" > 4427 <div class="whatsapp-widget-icon"> 4428 <i class="fa-brands fa-whatsapp" aria-hidden="true"></i> 4429 </div> 4430 <div class="whatsapp-widget-contact">Contact us</div> 4431 </a> 4432 4433
4433<script> 4434 4435 const mobileNumber = "+919315338315"; 4436 const userMessage = "Hi, I have a query regarding your learning community."; 4437 4438 const WA_URL = "https://api.whatsapp.com/send?phone=" + encodeURIComponent(mobileNumber) + "&text=" + encodeURIComponent(userMessage); 4439 4440 document.getElementById("whatsappWidgetContainer").href = WA_URL; 4441 </script>
4441 4442 4443 4444 4445 4446 <input type="hidden" id="orgCurrencyCode" value="INR" /> 4447 4448 4449 4450 4451 4452
4452<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/detect-private-browsing.js"></script>
4452 4453
4453<script type="text/javascript"> 4454 detectPrivateMode( 4455 function(is_private) { 4456 if(typeof is_private !== 'undefined' && is_private) { 4457 $("input[name=privateMode]").val("private"); 4458 } 4459 } 4460 ); 4461 </script>
4461 4462 4463 4464 4465 4466 4467
4467<script type="text/javascript" 4468 src="https://d502jbuhuh9wk.cloudfront.net/resources/js/intlTelInput.min.js"></script>
4468 4469
4469<script type="text/javascript"> 4470 4471 var ipInfo = localStorage.getItem('ipInfo'); 4472 if(!ipInfo) { 4473 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 4474 if(resp) { 4475 var ipInfoStr = JSON.stringify(resp); 4476 var ipInfoField = document.getElementById("ipInfo"); 4477 var countryCode = (resp.country) ? resp.country : "in"; 4478 sessionStorage.setItem('countryCode', countryCode); 4479 if('statusText' in resp) { 4480 if((resp['statusText'] !== 'error') && ('ip' in resp)) { 4481 localStorage.setItem('ipInfo', ipInfoStr); 4482 if(ipInfoField) { 4483 ipInfoField.value = ipInfoStr; 4484 } 4485 } 4486 } 4487 else if('ip' in resp) { 4488 localStorage.setItem('ipInfo', ipInfoStr); 4489 if(ipInfoField) { 4490 ipInfoField.value = ipInfoStr; 4491 } 4492 } 4493 } 4494 }) 4495 } 4496 4497 $("#sphone").intlTelInput({ 4498 initialCountry: "auto", 4499 geoIpLookup: function(callback) { 4500 var scountryCode = sessionStorage.getItem('countryCode'); 4501 4502 if(scountryCode !== null) { 4503 callback(scountryCode); 4504 }else { 4505 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 4506 var countryCode = (resp && resp.country) ? resp.country : "in"; 4507 callback(countryCode); 4508 sessionStorage.setItem('countryCode', countryCode); 4509 }); 4510 } 4511 }, 4512 preferredCountries: ["in", "us"], 4513 separateDialCode: true, 4514 utilsScript: "/resources/js/intlUtils.js" 4515 }); 4516 4517 </script>
4517 4518 4519 4520 4521 4522<div class="spectre"> 4523 4524 4525 4526 4527 4528
4528<script type="text/javascript"> 4529 if(top != self) { 4530 //iframe 4531 $(".toast").remove(); 4532 } 4533 </script>
4533 4534 4535 4536</div> 4537 4538 4539 4540<input type="hidden" id="orgCreditAlias" 4541 value="Rohan Sharma Coins" /> 4542 4543 4544 4545 4546 4547
4548<script> 4549 4550 4551 4552 4553 var orgTaxLabel = "GST"; 4554 4555 4556 4557 var sessionCountry = ""; 4558 4559 $(document).ready(function() { 4560 $("input[name='userMobileVerify']").change(function(data){ 4561 var uniqueMobileSwitch = $('#uniqueMobileId'); 4562 if(data.target.value==='true'){ 4563 $('input[name=uniqueMobile]').prop('checked', true) 4564 $('#uniqueMobileLabelId').show(); 4565 }else{ 4566 $('input[name=uniqueMobile]').prop('checked', false) 4567 $('#uniqueMobileLabelId').hide(); 4568 } 4569 }); 4570 }); 4571 4572 4573 4574 4575 localStorage.removeItem('microserviceAuthToken'); 4576 4577 4578 4579 4580 4581 4582 localStorage.removeItem('communityToken'); 4583 4584 4585 4586 4587 4588 4589 localStorage.removeItem('chatRefreshToken'); 4590 4591 4592 4593 4594 4595 4596 localStorage.removeItem('refreshToken'); 4597 4598 4599 4600</script>
4600 4601 4602 4603<!-- amplitude script start --> 4604 4605 4606 4607
4607<script type="text/javascript"> 4608 window.localStorage.removeItem('loginAmplitudeEventSent'); 4609 </script>
4609 4610 4611 4612<!-- amplitude script end --> 4613 4614 4615 <div class="spectre"> 4616 <div class="modal" id="membershipPopupHtml"> 4617 <iframe id="microfe-popup-membership" src="" 4618 style="width: calc(100% + 10px); height: 100vh; border: none;" 4619 onload="$(this).parent().removeClass('loading');"></iframe> 4620 </div> 4621 </div> 4622
4622<script> 4623 function openMembershipPopup(source){ 4624 if(source==='banner'){ 4625 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 4626 } 4627 if(source!=='private'){ 4628 location.href="/membership#"+source; 4629 }else{ 4630 location.href="/private"; 4631 } 4632 } 4633 function openMembershipPopup(source, id){ 4634 if(source==='banner'){ 4635 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 4636 } 4637 if(typeof id !== 'undefined' ){ 4638 location.href="/memberships/"+id+"#"+source; 4639 }else if(source!=='private'){ 4640 location.href="/membership#"+source; 4641 }else{ 4642 location.href="/private"; 4643 } 4644 } 4645 function closeMembershipPopup() { 4646 $("#membershipPopupHtml").removeClass("active"); 4647 $("body").removeClass("overflowYDisable"); 4648 window.location.hash=""; 4649 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 4650 } 4651 $("body").on('click', ".membershipBtn", function() { 4652 openMembershipPopup('nav_bar'); 4653 }); 4654 4655 if(window.location.hash==="#membership"){ 4656 openMembershipPopup(""); 4657 } 4658 4659 </script>
4659 4660 4661 <!-- sending ipInfo data as form data when signing up --> 4662
4662<script type="text/javascript"> 4663 document.addEventListener("DOMContentLoaded", function(event) { 4664 const signupParamsField = document.getElementById("signupParams"); 4665 if(signupParamsField && (window.signupParams)) { 4666 signupParamsField.value = JSON.stringify(window.signupParams); 4667 } 4668 const ipInfo = localStorage.getItem("ipInfo"); 4669 const ipInfoField = document.getElementById("ipInfo"); 4670 if(ipInfo && ipInfoField) { 4671 ipInfoField.value = ipInfo; 4672 } 4673 }); 4674 </script>
4674 4675 4676 4677 <div id="template-container"></div> 4678 4679 4680
4680<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sstore_5ffb558e86d7b5ef265e05fb0bfbef79.js"></script>
4680 4681 4682 4683
4683<script type="text/template" id="categoryTemplate"> 4684 <li class="menu-item"><a href="/s/store/courses/<@- label @>"><@- label @></a> 4685 </script>
4685 4686
4686<script type="text/javascript"> 4687 store.init(true); 4688 store.bindEvents(); 4689 </script>
4689 4690
4690<script type="text/javascript"> 4691 window.signupParams = {source: "store", platform: "web", sourceId: null}; 4692 </script>
4692 4693 4694 4695 4696 4697 4698 <div id="ui-notification-container" class="spectre"></div> 4699
4699<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-easing.js"></script>
4699 4700
4700<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-notification.js"></script>
4700 4701 4702 <!-- Import and configure the Firebase SDK --> 4703 <!-- These scripts are made available when the app is served or deployed on Firebase Hosting --> 4704 <!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup --> 4705
4705<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
4705 4706
4706<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-messaging.js"></script>
4706 4707 4708
4708<script> 4709 // Retrieve Firebase Messaging object. 4710 var firebaseConfig = {"apiKey":"AIzaSyCQ2wNyeXrIzifB0IKKVCalHXrDk7pg32w","authDomain":"live-stream-chat-efac5.firebaseapp.com","databaseURL":"https://live-stream-chat-efac5.firebaseio.com","projectId":"live-stream-chat-efac5","storageBucket":"live-stream-chat-efac5.appspot.com","messagingSenderId":"158909475587","appId":"1:158909475587:web:93ede0a9feef2b3f"}; 4711 // Initialize Firebase 4712 firebase.initializeApp(firebaseConfig); 4713 const messaging = firebase.messaging(); 4714 // Add the public key generated from the console here. 4715 messaging.usePublicVapidKey("BN3BYOmWjo3NAW7if4jCE5cG-yIOXAvmoKB9k53ZssAfgb7Z6ZZ-oAQWFK7j6EqHIG3f-G9QAVKLOIK7Vw3X0_k"); 4716 4717 // Callback fired if Instance ID token is updated. 4718 messaging.onTokenRefresh(function(){ 4719 messaging.getToken().then(function(refreshedToken){ 4720 // Indicate that the new Instance ID token has not yet been sent to the 4721 // app server. 4722 setTokenSentToServer(false); 4723 // Send Instance ID token to app server. 4724 sendTokenToServer(refreshedToken); 4725 // Display new Instance ID token and clear UI of all previous messages. 4726 resetUI(); 4727 // [END_EXCLUDE] 4728 })["catch"](function(err){ 4729 console.log('Unable to retrieve refreshed token ', err); 4730 showToken('Unable to retrieve refreshed token ', err); 4731 requestPermission(); 4732 }); 4733 }); 4734 4735 // Handle incoming messages. Called when: 4736 // - a message is received while the app has focus 4737 // - the user clicks on an app notification created by a service worker 4738 // `messaging.setBackgroundMessageHandler` handler. 4739 messaging.onMessage(function(payload){ 4740 console.log('Message received. ', payload); 4741 appendMessage(payload); 4742 }); 4743 4744 function resetUI() { 4745 clearMessages(); 4746 $(function(){ 4747 $("#ui-notification-container").notification(); 4748 }); 4749 // Get Instance ID token. Initially this makes a network call, once retrieved 4750 // subsequent calls to getToken will return from cache. 4751 messaging.getToken().then(function(currentToken) { 4752 if (currentToken) { 4753 sendTokenToServer(currentToken); 4754 updateUIForPushEnabled(currentToken); 4755 } else { 4756 // Show permission request. 4757 console.log('No Instance ID token available. Request permission to generate one.'); 4758 // Show permission UI. 4759 updateUIForPushPermissionRequired(); 4760 setTokenSentToServer(false); 4761 } 4762 })["catch"](function(err) { 4763 console.log('An error occurred while retrieving token. ', err); 4764 showToken('Error retrieving Instance ID token. ', err); 4765 setTokenSentToServer(false); 4766 }); 4767 // [END get_token] 4768 } 4769 4770 function showToken(currentToken) { 4771 // Show token in console and UI. 4772 console.log(currentToken); 4773 } 4774 4775 // Send the Instance ID token your application server, so that it can: 4776 // - send messages back to this app 4777 // - subscribe/unsubscribe the token from topics 4778 function sendTokenToServer(currentToken) { 4779 if (!isTokenSentToServer()) { 4780 console.log('Sending token to server...'); 4781 var packet = { 4782 url : "/public/v1/fcm/token", 4783 data: {token: currentToken}, 4784 success: function(data, params) { 4785 console.log("Token successfully sent") 4786 setTokenSentToServer(true); 4787 setTokenSentToServerUserId(window.userId); 4788 } 4789 }; 4790 postData(packet, {}); 4791 } else { 4792 console.log('Token already sent to server so won\'t send it again ' + 4793 'unless it changes'); 4794 } 4795 4796 } 4797 4798 function isTokenSentToServer() { 4799 return window.localStorage.getItem('sentToServer') === '1' && isTokenSentToServerWithUser(window.userId); 4800 } 4801 4802 function isTokenSentToServerWithUser(userId) { 4803 return window.localStorage.getItem('sentToServer-user') === userId; 4804 } 4805 4806 function setTokenSentToServer(sent) { 4807 window.localStorage.setItem('sentToServer', sent ? '1' : '0'); 4808 } 4809 4810 function setTokenSentToServerUserId(userId) { 4811 window.localStorage.setItem('sentToServer-user', userId); 4812 } 4813 4814 function requestPermission() { 4815 console.log('Requesting permission...'); 4816 // [START request_permission] 4817 Notification.requestPermission().then(function(permission) { 4818 if (permission === 'granted') { 4819 console.log('Notification permission granted.'); 4820 resetUI(); 4821 } else { 4822 console.log('Unable to get permission to notify.'); 4823 } 4824 }); 4825 // [END request_permission] 4826 } 4827 4828 function deleteToken() { 4829 // Delete Instance ID token. 4830 // [START delete_token] 4831 messaging.getToken().then(function(currentToken){ 4832 messaging.deleteToken(currentToken).then(function(){ 4833 console.log('Token deleted.'); 4834 setTokenSentToServer(false); 4835 // Once token is deleted update UI. 4836 resetUI(); 4837 })["catch"](function(err) { 4838 console.log('Unable to delete token. ', err); 4839 }); 4840 })["catch"](function(err) { 4841 console.log('Error retrieving Instance ID token. ', err); 4842 showToken('Error retrieving Instance ID token. ', err); 4843 }); 4844 4845 } 4846 4847 // Add a message to the messages element. 4848 function appendMessage(payload) { 4849 $("#ui-notification-container").notification("create", { 4850 title: payload.data.title, 4851 content: payload.data.message, 4852 customIcon: payload.data.customIcon, 4853 customImage: payload.data.customImage, 4854 link: payload.data.link 4855 }, 4856 { 4857 sticky: true 4858 }); 4859 } 4860 4861 // Clear the messages element of all children. 4862 function clearMessages() { 4863 const messagesElement = document.querySelector('#ui-notification-container'); 4864 while (messagesElement.hasChildNodes()) { 4865 messagesElement.removeChild(messagesElement.lastChild); 4866 } 4867 } 4868 4869 function updateUIForPushEnabled(currentToken) { 4870 showToken("Token update ui: " + currentToken); 4871 } 4872 4873 function updateUIForPushPermissionRequired() { 4874 console.warg("Push notification permission is requred") 4875 } 4876 4877 window.userId = ""; 4878 resetUI(); 4879 4880 4881 </script>
4881 4882 4883
4883<script src="https://d502jbuhuh9wk.cloudfront.net/static/files/lazyload.min.js"></script>
4883 4884
4884<script type="text/javascript"> 4885 var lazyLoadInstance = new LazyLoad({ 4886 unobserve_entered: true, 4887 callback_enter: function(element) { 4888 resizeCdnImage(element); 4889 } 4890 }); 4891 </script>
4891 4892</body> 4893</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.