1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7371],{2874:(e,t,r)=>{"use strict";r.d(t,{Up:()=>o,em:()=>a,ub:()=>l});var s=r(74681);async function a(e,t){try{let a=t;if(e){let o=localStorage.getItem(e);if(o&&o.length>0){let e=await Promise.resolve().then(r.t.bind(r,32109,23)),l=e.AES.decrypt(o,s.A.encKey).toString(e.enc.Utf8);try{a=JSON.parse(l)}catch(e){return console.error("Error parsing storage data:",e),t}}}return a}catch(e){return console.error("Error retrieving from storage:",e),t}}async function o(e,t){try{let a=JSON.stringify(t),o=(await Promise.resolve().then(r.t.bind(r,30402,23))).encrypt(a,s.A.encKey).toString();localStorage.setItem(e,o)}catch(e){console.error("Error saving to storage:",e)}}function l(e){try{localStorage.removeItem(e)}catch(e){console.error("Error removing from storage:",e)}}r(12115)},6596:(e,t,r)=>{"use strict";r.d(t,{w:()=>s});let s=()=>"undefined"!=typeof navigator&&/bot|googlebot|crawler|spider|robot/i.test(navigator.userAgent)},15347:(e,t,r)=>{"use strict";r.d(t,{$7:()=>l,BO:()=>a,HA:()=>y,LR:()=>d,Mg:()=>o,TM:()=>p,VV:()=>S,iW:()=>n,kC:()=>c,n$:()=>s,u3:()=>E,xO:()=>i});let s="INIT_URL",a="ON_HIDE_LOADER",o="ON_SHOW_LOADER",l="ON_HIDE_MESSAGE",n="ON_SHOW_MESSAGE",i="SHOW_DIALOG",c="HIDE_DIALOG",p="ON_HIDE_MESSAGE_IMAGE",E="ON_SHOW_MESSAGE_IMAGE",y="CHANGE_THEME",S="CURRENCY_DATA",d="CHANGE_CURRENCY"},31751:(e,t,r)=>{"use strict";r.d(t,{$G:()=>h,D5:()=>s,F3:()=>c,Fs:()=>l,Gx:()=>R,Hd:()=>I,MA:()=>w,O:()=>y,Pw:()=>u,RQ:()=>d,Ry:()=>n,Wy:()=>A,XR:()=>S,cX:()=>E,dE:()=>i,dN:()=>p,dg:()=>a,h3:()=>C,if:()=>f,n0:()=>g,nf:()=>_,pc:()=>U,te:()=>O,uU:()=>L,vM:()=>m,xw:()=>o});let s="COURSE_LIST",a="COURSE_LIST_SUCCESS",o="COURSE_INFO_SUCCESS",l="COURSE_FILTER_HANDLING",n="COURSE_SEARCH_NAME",i="COURSE_CATEGORY_SUCCESS",c="CLEAR_COURSE_INFO",p="CLEAR_COURSE_LIST",E="COURSE_VIEW",y="COURSE_COMPARE_ADD",S="COURSE_COMPARE_REMOVE",d="COURSE_COMPARE_ALL_REMOVE",_="COURSE_COMPARE_INFO",u="COURSE_POPULER_LIST",g="COURSE_FILTER",h="COURSE_FILTER_ALL_SUCCESS",C="COURSE_FILTER_SUCCESS",R="COURSE_APPLY_FILTER",m="COURSE_QUERY_RESET",O="COURSE_MERCHANT_SUCCESS",A="COURSE_META_SUCCESS",U="SET_SELECTED_FILTERS",f="CLEAR_SELECTED_FILTERS",w="INIT_FILTERS_FROM_URL",L="UPDATE_FACETS_ONLY",I="GET_COURSE_SUCCESS"},36111:(e,t,r)=>{"use strict";r.d(t,{Fm:()=>C,Jz:()=>i,KX:()=>_,MK:()=>E,Mw:()=>d,S9:()=>c,Zm:()=>S,Zp:()=>R,fT:()=>p,iN:()=>y,rn:()=>n});var s=r(31751),a=r(15347),o=r(93354),l=r(6596);let n=e=>t=>{t({type:s.Gx,payload:e})},i=()=>e=>{e({type:s.vM})},c=e=>async t=>{t({type:a.Mg}),t({type:s.Hd,payload:!1}),h(e.selectedFilters,e.sortBy,e.title);let r="";e.selectedFilters&&Object.keys(e.selectedFilters).length>0&&(r=m(e.selectedFilters)??"");let n="";n=`page=${e.page}`,e.size&&(n=`${n}&size=${e.size}`),e.title&&(n=`${n}&q=${e.title}`),e.categoryId&&(n=`${n}¶m=categories&value=${e.categoryId}`),r&&(n=`${n}&${r}`),e.sortBy&&(n=`${n}&sort-by=${e.sortBy}`);try{let{data:r}=await o.A.get(`/v2/courses?${n}`);return r.status||200===r.code?(t({type:s.Hd,payload:!0}),t({type:s.dg,payload:{...r.results.courses,page:e.page,facets:r.results.facets,queryInfo:e}})):t({type:a.iW,payload:r}),t({type:a.BO}),Promise.resolve(r)}catch(r){let{response:e}=r;return e&&401===e.status||l.w||t({type:a.iW,payload:{message:"Something went wrong while loading courses",status:500,error:!0}}),t({type:a.BO}),Promise.reject(r)}},p=e=>async t=>{t({type:a.Mg});try{let r=e.map(e=>o.A.get("/v1/course/"+e)),l=(await Promise.all(r)).map(e=>e.data.status&&e.data.results);return 0===l.length?t({type:a.iW,payload:{message:"Something went wrong while loading course info",status:500,error:!0}}):(t({type:a.BO}),t({type:s.nf,payload:l})),Promise.resolve(l)}catch(r){let{response:e}=r;return e&&401===e.status||t({type:a.iW,payload:{message:"Something went wrong while loading course info",status:500,error:!0}}),t({type:a.BO}),Promise.reject(r)}},E=e=>async t=>{t({type:s.n0,payload:e})},y=e=>async t=>{t({type:s.O,payload:e})},S=e=>async t=>{t({type:s.XR,payload:e})},d=()=>async e=>{e({type:s.RQ})},_=(e,t)=>async r=>{try{let l="";e&&Object.keys(e).length>0&&(l=m(e)??"");let n=l?`?${l}`:"",{data:i}=await o.A.get(`/v2/facets${n}`);return r(i.status&&200===i.code?{type:s.uU,payload:{facets:i.results.facets,filterType:t}}:{type:a.iW,payload:i}),Promise.resolve(i)}catch(t){let{response:e}=t;return e&&401===e.status||l.w||r({type:a.iW,payload:{message:"Something went wrong while updating facets",status:500,error:!0}}),Promise.reject(t)}},u=e=>{if(!e||0===Object.keys(e).length)return"";let t=[];return Object.keys(e).forEach(r=>{if(e[r].length>0){let s=e[r].join(",");t.push(`${r}:${s}`)}}),t.length>0?encodeURIComponent(t.join("::")):""},g=e=>{if(!e)return{selectedFilters:{}};let t={};
1try{decodeURIComponent(e).split("::").forEach(e=>{if(e.includes(":")){let[r,s]=e.split(":",2);t[r]=s.split(",").filter(e=>e.trim())}})}catch(e){console.error("Error decoding filters from URL:",e)}return{selectedFilters:t}},h=(e,t,r)=>{{let s=window.location.pathname;if("/course"!==s&&"/course/"!==s)return;let a=new URL(window.location.href),o=u(e);o?a.searchParams.set("f",o):a.searchParams.delete("f"),t&&"rating,desc"!==t?a.searchParams.set("sort-by",t):a.searchParams.delete("sort-by"),r?a.searchParams.set("q",r):a.searchParams.delete("q"),window.history.replaceState({},"",a.toString())}},C=e=>async t=>{t({type:s.pc,payload:{selectedFilters:e}})},R=()=>async e=>{{let t=new URLSearchParams(window.location.search),r=t.get("f"),a=t.get("sort-by"),o=t.get("q"),l=t.getAll("param"),n=t.getAll("value"),i={},c=a||"rating,desc",p=o||"";if(r){let{selectedFilters:e}=g(r);i=e}return l.forEach((e,t)=>{let r=n[t];if(e&&r){let t=e;"courseType"===e&&(t="course_types");let s=r.split("|");"merchants"===t?s=s.map(e=>e.toLowerCase()):"levels"===t&&(s=s.map(e=>{let t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}));let a=Array.from(new Set(s));i[t]?i[t]=Array.from(new Set([...i[t],...a])):i[t]=a}}),e({type:s.MA,payload:{selectedFilters:i,sortBy:c,title:p}}),Promise.resolve({selectedFilters:i,sortBy:c,title:p})}},m=e=>{let t="";if(Object.keys(e).length>0){let t=[];for(let r in e)if(Array.isArray(e[r])&&e[r].length>0){let s=e[r];"levels"===r&&(s=s.map(e=>e.toLowerCase()));let a=s.map(encodeURIComponent).join("%7C");t.push(`param=${r}&value=${a}`)}return t.join("&")}}},50477:()=>{},74681:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var s=r(49509);let a={siteName:"Choices",publicUrl:function(){let e=s.env.NEXT_PUBLIC_SITE_URL?.trim();return e?e.replace(/\/$/,""):"https://www.choicedekho.com"}(),apiPrefix:"https://api.choicedekho.com/",apiURL:s.env.NEXT_PUBLIC_API_URL||"https://api.choicedekho.com/api",connectionString:"",senderAddress:"",contactEmail:"",encKey:"s56gf6sd",metaKey:!0,blogUrl:"https://blog-staging.choicedekho.com/",merchantArrays:["edx","coursera","pluralsight","skillshare","choicedekho","upgrad"]}},93354:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var s=r(23464),a=r(74681),o=r(2874);let l=s.A.create({baseURL:a.A.apiURL,timeout:2e4,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"},withCredentials:!1});l.interceptors.request.use(async e=>{try{let t=await (0,o.em)("accessToken",null);t?(e.headers=e.headers||{},e.headers.Authorization=`Bearer ${t}`):e.headers&&delete e.headers.Authorization}catch(e){console.error("Error in axios interceptor:",e)}return e},e=>Promise.reject(e)),l.interceptors.response.use(e=>e,async e=>(e.response&&e.response.status,Promise.reject(e)));let n=l}}]);
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.