1 2 <!DOCTYPE HTML> 3 <html lang="en" style="font-size: 10px;"> 4 <head> 5<meta charset="UTF-8"/> 6<title>Tech Insights & How-To Guides | Pluralsight</title> 7 8<meta name="description" content="Explore expert insights, tutorials, and tech industry trends across AI, cloud computing, cybersecurity, software development, IT operations, and career growth from Pluralsight."/> 9<meta name="template" content="blog-search-templates"/> 10<meta name="viewport" content="width=device-width, initial-scale=1"/> 11<meta name="robots" content="noindex, nofollow"/> 12 13 14<meta data-customer-type="no-type"/> 15<meta data-customer-type-ignore="false"/> 16 17 <meta name="content-page-ref" content="p7q444EusVZjYo3CPTNr-llwER8C6mKYJF3ZtSnLyqLAxpLUhCl1-26jdI88R6LHCEr7PPJW3YeU9IjZ7gVokA"/>
18<script defer="defer" type="text/javascript" src="/.rum/@adobe/helix-rum-js@%5E2/dist/micro.js"></script>
18 19<link rel="canonical" href="https://www.pluralsight.com/resources/blog/browse"/> 20 21 22 23 24
24<script data-cfasync="false" data-prompt='auto' data-privacy-policy="https://www.pluralsight.com/privacy" src="https://transcend-cdn.com/cm/b8abd831-c4a2-4a4f-8fe7-475bb37be895/airgap.js"></script>
24 25
25<script data-cfasync="false"> 26 document.cookie.indexOf("ps_si=")>-1&&(window.selectedInterest=document.cookie.split("ps_si=")[1].split(";")[0]),document.cookie.indexOf("ps_sct=")>-1&&(window.selectedConsumerType=document.cookie.split("ps_sct=")[1].split(";")[0]);var customerType,customerTypeTag=document.head.querySelector("meta[data-customer-type]").getAttribute("data-customer-type"),customerTypeIgnore=document.head.querySelector("meta[data-customer-type-ignore]").getAttribute("data-customer-type-ignore");customerTypeTag&&"true"!==customerTypeIgnore&&"string"==typeof customerTypeTag&&("pluralsight-customer-type:individual"===customerTypeTag?customerType="individual":"pluralsight-customer-type:business"===customerTypeTag&&(customerType="business"),customerType&&"pluralsight-customer-type:escape"!==customerTypeTag&&setSelectedConsumerType(customerType));function setSelectedInterest(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_si="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedInterest=e}function setSelectedConsumerType(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_sct="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedConsumerType=e}function setSelectedBusinessType(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_sbt="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedBusinessType=e}if(document.URL.indexOf("b2c-price=true")>-1?setSelectedConsumerType("individual"):document.URL.indexOf("b2b-price=true")>-1&&setSelectedConsumerType("business"),document.cookie.indexOf("ps_sbt=")>-1&&(window.selectedBusinessType=document.cookie.split("ps_sbt=")[1].split(";")[0]),-1==document.cookie.indexOf("drift_ab")){var driftAbDate=new Date;driftAbDate.setTime(driftAbDate.getTime()+6048e5);var driftAb=0==Math.floor(2*Math.random())?"A":"B";document.cookie="drift_ab="+driftAb+"; expires="+driftAbDate.toUTCString()+"; path=/"}var inflDate=new Date;inflDate.setTime(inflDate.getTime()+18e5);var visNumDate=new Date;if(visNumDate.setTime(visNumDate.getTime()+31536e6),document.cookie.indexOf("ps_infl")>-1){var infl=document.cookie.split("ps_infl=")[1].split(";")[0];document.cookie="ps_infl="+infl+"; expires="+inflDate.toUTCString()+"; path=/"}else{var visNum=1;document.cookie.indexOf("ps_visNum")>-1&&(visNum=parseInt(document.cookie.split("ps_visNum=")[1].split(";")[0])+1),document.cookie="ps_visNum="+visNum+"; expires="+visNumDate.toUTCString()+"; path=/",getParameterByName("aid")||getParameterByName("vid")||""!=document.referrer&&-1==document.referrer.indexOf("pluralsight.com")?document.cookie="ps_infl=1; expires="+inflDate.toUTCString()+"; path=/":document.cookie="ps_infl=0; expires="+inflDate.toUTCString()+"; path=/"}!function(e,a,n,t){var i=e.head;if(i){if(a)return;var o=e.createElement("style");o.id="alloy-prehiding",o.innerText=n,i.appendChild(o),setTimeout(function(){o.parentNode&&o.parentNode.removeChild(o)},t)}}(document,document.location.href.indexOf("mboxEdit")!==-1,"body { opacity: 0 !important }",3000); 27 </script>
27 28
28<script src="https://assets.adobedtm.com/08e39cddbedb/96a8f910572c/launch-02adf5c4ef47.min.js" async></script>
28 29 30
31<script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js#property=6847e251bfa7c9001322718a&product=inline-share-buttons&source=platform" async="async"></script>
31 32 33 <meta property="og:title" content="Tech Insights & How-To Guides"/> 34 <meta property="og:description" content="Explore expert insights, tutorials, and tech industry trends across AI, cloud computing, cybersecurity, software development, IT operations, and career growth from Pluralsight."/> 35 <meta property="og:image" content="https://www.pluralsight.com/content/dam/rebrand2025/hp_images/Pluralsight_socialShare.webp"/> 36 37 <meta name="twitter:title" content="Tech Insights & How-To Guides"/> 38 <meta name="twitter:description" content="Explore expert insights, tutorials, and tech industry trends across AI, cloud computing, cybersecurity, software development, IT operations, and career growth from Pluralsight."/> 39 <meta name="twitter:image" content="https://www.pluralsight.com/content/dam/rebrand2025/hp_images/Pluralsight_socialShare.webp"/> 40 <meta name="twitter:card" content="summary_large_image"/> 41 <meta name="twitter:site" content="@pluralsight"/> 42 43
44<script> 45 const pageUrlPath = window.location.href; 46 const typeValue = pageUrlPath.split('.com').length > 1 ? pageUrlPath.split('.com')[1].split('/')[1] : 'Homepage'; 47 let pageTypeVal = ''; 48 49 if (typeValue !== null && typeValue !== undefined) { 50 pageTypeVal = typeValue; 51 } else { 52 pageTypeVal = 'Homepage'; 53 } 54 55 const getUserType = () => { 56 if (document.cookie.indexOf("testSlice=1") > -1) { 57 return "Assessment User"; 58 } else if (document.cookie.indexOf("ajs_user_id") > -1 && document.cookie.indexOf("ajs_user_id=null") === -1 && document.cookie.indexOf("midCheckout=1") == -1) { 59 return "customer"; //logged in currently 60 } else { 61 return "prospect"; 62 } 63 } 64 window.appEventData = window.appEventData || []; 65 appEventData.push({ 66 "event": "Page Load Started", 67 "page": { 68 "name": "Tech Insights & How-To Guides", 69 "type": pageTypeVal 70 } 71 }); 72 73 window.appEventData = window.appEventData || []; 74 appEventData.push({ 75 "event": "User Detected", 76 "user": { 77 "custKey": "", 78 "hashedEmail": "", 79 "loginStatus": "", 80 "segment": "", 81 "type": getUserType(), 82 "userHandle": "" 83 } 84 }); 85 86 // Click tracking for all buttons and <a> tags 87 document.addEventListener("DOMContentLoaded", function () { 88 document.body.addEventListener("click", function (event) { 89 const target = event.target; 90 const isHeaderNav = target.closest(".g3p-main-nav-right") || target.closest('#mobileMainModal') || target.closest(".g3p-main-nav-left"); 91 const isFooterNav = target.closest(".footer-wrapper"); 92 const clickedElement = target.closest("a"); 93 if (!clickedElement) return; 94 let isDownload = false; 95 let linkId = clickedElement.innerText.trim() || clickedElement.getAttribute("aria-label") || ""; 96 let linkDestination = clickedElement.tagName === "A" ? clickedElement.href : null; 97 const downloadExtensions = /\.(avi|css|csv|doc|docx|eps|exe|jpg?|js|m4v|mov|mp3|pdf|png|ppt|pptx|rar|svg|tab|txt|vsd|vxd|wav|wma|wmv|xls|xlsx|xml|zip)$/i; 98 if (downloadExtensions.test(target.href)) { 99 isDownload = true; 100 } 101 102 if (isDownload) { 103 const fileHrefLength = linkDestination.split('/').length; 104 appEventData.push({ 105 "event": "Download Link Clicked", 106 "linkInfo": { 107 "fileName": linkDestination.split('/')[fileHrefLength-1], 108 "fileType": linkDestination.split('.').pop().split(/[#?]/)[0], 109 "linkContainer": "", 110 "linkId": linkId, 111 "linkRegion": "", 112 "linkDestination": linkDestination 113 } 114 }); 115 } else if(!isHeaderNav && !isFooterNav) { 116 appEventData.push({ 117 "event": "CTA Link Clicked", 118 "linkInfo": { 119 "linkContainer": "", 120 "linkId": linkId, 121 "linkPage": pageTypeVal, 122 "linkRegion": "", 123 "linkDestination": linkDestination, 124 "type": "cta" 125 }, 126 }); 127 } 128 }); 129 }); 130</script>
130 131<meta name="cludo:content-path" content="/content/ps/en/resources/blog/browse"/> 132 133 134 135 <meta name="categories" content="generic"/> 136 <meta name="cludo:date" content="2026-05-18T19:57:03Z"/> 137 <meta name="content-type" content="Other"/> 138 139 140 141 142
143<script data-cfasync="false"> 144var appHost=("www-stage.pluralsight.com"==window.location.host||"www-dev.pluralsight.com"==window.location.host||"www-qa.pluralsight.com"==window.location.host)?"https://app-stage.pluralsight.com":"https://app.pluralsight.com",pagePath=window.location.pathname,redirectPath="",appRedirectTag=document.head.querySelector("[name~='appRedirectPath'][content]");if(appRedirectTag&&(redirectPath=appRedirectTag.content.toString()),!window.is404){if(0==pagePath.indexOf("/product/channels")&&(redirectPath="/channels",document.URL.indexOf("cid=")>-1&&(redirectPath="/channels/details/"+getParameterByName("cid"))),pagePath.indexOf("/achievements")>-1&&"URLSearchParams"in window){var urlParams=new URLSearchParams(window.location.search),badgeID=urlParams.get("badge");redirectPath="/achievements/badges/"+badgeID}if(document.cookie.indexOf("www-status-production=")>-1&&-1==document.cookie.indexOf("midCheckout")&&("www.pluralsight.com"==window.location.host||"beta.www.pluralsight.com"==window.location.host)||document.cookie.indexOf("www-status-staging=")>-1&&-1==document.cookie.indexOf("midCheckout")&&("www-stage.pluralsight.com"==window.location.host||"beta.www-stage.pluralsight.com"==window.location.host)){var aidParam=getParameterByName("aid"),vidParam=getParameterByName("vid"),paramsString="";""!==aidParam&&(paramsString+=(paramsString.indexOf("?")>-1?"&":"?")+"aid="+aidParam),""!==vidParam&&(paramsString+=(paramsString.indexOf("?")>-1?"&":"?")+"vid="+vidParam),""!==redirectPath&&-1===document.URL.indexOf("show=home")?window.location=appHost+redirectPath+paramsString:jQuery(document).ready(function(){var a=appHost+"/id/dashboard",t=jQuery(".header_sign_up_link");t.text("My Dashboard"),t.attr("href",a),t.attr("title","My Dashboard"),jQuery(".header_sign_in_link").attr("style","display: none !important")})}else 0!=pagePath.indexOf("/customer/")||"www-stage.pluralsight.com"!=window.location.host&&"beta.www-stage.pluralsight.com"!=window.location.host&&"www.pluralsight.com"!=window.location.host&&"beta.www.pluralsight.com"!=window.location.host||-1!=document.cookie.indexOf("midCheckout")?""!=redirectPath?jQuery(document).ready(function(){jQuery(".sign_in_link").attr("href",appHost+"/id?redirectTo="+encodeURIComponent(redirectPath))}):jQuery(document).ready(function(){jQuery(".sign_in_link").attr("href",appHost+"/id?")}):window.location=appHost+"/id?redirectTo="+encodeURIComponent(document.URL)} 145</script>
145 146 147 148 149 150 151 152 153 154 155
156<script type="text/javascript"> 157 if ( !window.CQ_Analytics ) { 158 window.CQ_Analytics = {}; 159 } 160 if ( !CQ_Analytics.TestTarget ) { 161 CQ_Analytics.TestTarget = {}; 162 } 163 CQ_Analytics.TestTarget.clientCode = 'pluralsight'; 164 CQ_Analytics.TestTarget.currentPagePath = '\/content\/ps\/en\/resources\/blog\/browse'; 165 </script>
165 166
166<script src="/etc.clientlibs/cq/testandtarget/clientlibs/testandtarget/parameters.lc-775c9eb7ff4c48025fbe3d707bcf5f55-lc.min.js"></script>
vendor: 1 bytes, line 166
166
167<script src="/etc.clientlibs/clientlibs/granite/jquery.lc-7842899024219bcbdb5e72c946870b79-lc.min.js"></script>
vendor: 1 bytes, line 167
167
168<script src="/etc.clientlibs/cq/personalization/clientlib/personalization/integrations/commons.lc-5370019fd157d93202ac2d6f771f04b8-lc.min.js"></script>
vendor: 1 bytes, line 168
168
169<script src="/etc.clientlibs/cq/testandtarget/clientlibs/testandtarget/atjs-integration.lc-401aa9ea1dd109fe7762186a74ae6c2b-lc.min.js"></script>
169 170 171 172 173
173<script src="/etc.clientlibs/ps/clientlibs/clientlib-dependency.lc-14b7c71ad613d24859eb9acffe320ba4-lc.min.js"></script>
173 174 175 176 177 <link rel="stylesheet" href="/etc.clientlibs/ps/clientlibs/clientlib-dependency.lc-6fdf18c5e5c0f032b9cdb85ac403fd32-lc.min.css" type="text/css"> 178<link rel="stylesheet" href="/etc.clientlibs/ps/components/organisms/image-text-cta/clientlibs.lc-d2f19e4858f7111661a3ad80668070dc-lc.min.css" type="text/css"> 179<link rel="stylesheet" href="/etc.clientlibs/ps/components/molecules/column-layout/clientlibs.lc-ef3dc8f1bc6ca0c1634a5c429320ce8b-lc.min.css" type="text/css"> 180<link rel="stylesheet" href="/etc.clientlibs/core/wcm/components/tabs/v1/tabs/clientlibs/site.lc-d54c23ba76bd8648119795790ae83779-lc.min.css" type="text/css"> 181<link rel="stylesheet" href="/etc.clientlibs/ps/components/core/tabs/clientlibs.lc-4548523c9e92f0bfc2e1dd1454e28229-lc.min.css" type="text/css"> 182<link rel="stylesheet" href="/etc.clientlibs/core/wcm/components/carousel/v1/carousel/clientlibs/site.lc-59c0d61dcf5eacb237a83816c6996ebd-lc.min.css" type="text/css"> 183<link rel="stylesheet" href="/etc.clientlibs/ps/components/core/carousel/clientlibs.lc-7635175ce2abe41312e9b5fd05112052-lc.min.css" type="text/css"> 184<link rel="stylesheet" href="/etc.clientlibs/ps/components/atoms/title/clientlibs.lc-9d984d774f26897928c16e560c6aa320-lc.min.css" type="text/css"> 185<link rel="stylesheet" href="/etc.clientlibs/ps/components/atoms/container/clientlibs.lc-302e4488acaee06fbf5452ea2decf955-lc.min.css" type="text/css"> 186<link rel="stylesheet" href="/etc.clientlibs/ps/components/atoms/button/clientlibs.lc-d41d8cd98f00b204e9800998ecf8427e-lc.min.css" type="text/css"> 187<link rel="stylesheet" href="/etc.clientlibs/ps/components/atoms/breadcrumbs/clientlibs.lc-96471637f4d0d698efea7a8994aa9248-lc.min.css" type="text/css"> 188<link rel="stylesheet" href="/etc.clientlibs/pluralsight/components/core/separator/clientlibs.lc-57d03e6f20dca4a475355523c5df76c9-lc.min.css" type="text/css"> 189<link rel="stylesheet" href="/etc.clientlibs/ps/clientlibs/clientlib-site.lc-06dfb9cdcbe4010463987b486947c9fd-lc.min.css" type="text/css"> 190<link rel="stylesheet" href="/etc.clientlibs/ps/components/organisms/page--blog-contributor/component-embeds/blog-contributor-right/clientlibs.lc-41d062bd7a695cdcc1ba9ba2d2fb252e-lc.min.css" type="text/css"> 191<link rel="stylesheet" href="/etc.clientlibs/ps/clientlibs/clientlib-grid.lc-9452a29b4ab6486eaaca56e0f7571e1c-lc.min.css" type="text/css"> 192 193 194 195 196 197 198 199 200 201 202<!-- be_ixf, sdk, gho--> 203<meta name="be:sdk" content="java_sdk_1.6.13" /> 204<meta name="be:timer" content="42ms" /> 205<meta name="be:norm_url" content="https://www.pluralsight.com/resources/blog/browse" /> 206<meta name="be:capsule_url" content="https://ixfd1-api.bc0a.com/api/ixf/1.0.0/get_capsule/f00000000322974/923205764" /> 207<meta name="be:api_dt" content="pny_2026; pnm_01; pnd_13; pnh_10; pnmh_35; pn_epoch:1768329357266" /> 208<meta name="be:mod_dt" content="pny_1969; pnm_12; pnd_31; pnh_16; pnmh_00; pn_epoch:0" /> 209<meta name="be:orig_url" content="https://www.pluralsight.com/resources/blog/browse" /> 210<meta name="be:messages" content="4" />
211<script> 212(function() { 213 var beschemascript = document.createElement('script'); 214 beschemascript.type = "text/javascript"; 215 beschemascript.async = true; 216 beschemascript.setAttribute("id", "be-schema-script"); 217 beschemascript.setAttribute("data-customerid", "f00000000322974"); 218 beschemascript.setAttribute("data-testmode", "false"); 219 beschemascript.setAttribute("data-overwrite", "true"); 220 beschemascript.setAttribute("src", "https://schema-cf.bc0a.com/corejs/be-schema-v4.js"); 221 var head = document.head || document.getElementsByTagName("head")[0]; 222 head.appendChild(beschemascript); 223})(); 224</script>
224 225 226 227 </head> 228 <body class="page--blog-search page--base page basicpage" id="page--blog-search-b1dc163408" data-cmp-link-accessibility-enabled data-cmp-link-accessibility-text="opens in a new tab" data-cmp-data-layer-name="adobeDataLayer"> 229 230 231 232 233 234 235 236 237 238<div class="root container responsivegrid"> 239 240 241 <div id="container-fcf2d3e195" class="cmp-container"> 242 243 244 245<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> 246 247 <div class="promo aem-GridColumn aem-GridColumn--default--12"> 248 249</div> 250<div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> 251<div id="experiencefragment-12bc9ef715" class="cmp-experiencefragment cmp-experiencefragment--unified-header"> 252 253 254 <div id="container-0b4d751671" class="cmp-container"> 255 256 257 258<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> 259 260 <div class="banner aem-GridColumn aem-GridColumn--default--12"><div id="banner-04cb29ff24" data-banner-wrapper data-banner-delay="10" data-banner-size="1"> 261 <div class="promo-banner__container" data-banner data-banner-id="-banner-0"> 262 <div class="promo-banner__block"> 263 <div class="first-line"> 264 <span class="material-symbols-rounded banner-icon">calendar_check</span> 265 <p><span style="">Shift 2026: Don't miss your chance to join us.</span></p> 266 </div> 267 <div class="second-line"> 268 <div class="promo-code-line"><p><span style="">Secure your spot by Oct 12</span>.</p></div> 269 <div class="promo-cta"><a href="https://stride.swoogo.com/Pluralsight-Shift-2026/Home"> Register</a></div> 270 </div> 271 </div> 272 <div class="close" data-banner-close> 273 <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"> 274 <path d="M7 8.49049L1.78327 13.7072C1.58809 13.9024 1.33967 14 1.03802 14C0.736375 14 0.487959 13.9024 0.292776 13.7072C0.0975919 13.512 0 13.2636 0 12.962C0 12.6603 0.0975919 12.4119 0.292776 12.2167L5.50951 7L0.292776 1.78327C0.0975919 1.58809 0 1.33967 0 1.03802C0 0.736375 0.0975919 0.487959 0.292776 0.292776C0.487959 0.0975919 0.736375 0 1.03802 0C1.33967 0 1.58809 0.0975919 1.78327 0.292776L7 5.50951L12.2167 0.292776C12.4119 0.0975919 12.6603 0 12.962 0C13.2636 0 13.512 0.0975919 13.7072 0.292776C13.9024 0.487959 14 0.736375 14 1.03802C14 1.33967 13.9024 1.58809 13.7072 1.78327L8.49049 7L13.7072 12.2167C13.9024 12.4119 14 12.6603 14 12.962C14 13.2636 13.9024 13.512 13.7072 13.7072C13.512 13.9024 13.2636 14 12.962 14C12.6603 14 12.4119 13.9024 12.2167 13.7072L7 8.49049Z" fill="#45424D"/> 275</svg> 276 </div> 277 </div> 278 279</div> 280 281 282 283 284<link rel="stylesheet" href="/etc.clientlibs/ps/components/custom/banner/clientlibs/banner.lc-b5290f726a0c4fb37cf95679ea32350b-lc.min.css" type="text/css">
285<script src="/etc.clientlibs/ps/components/custom/banner/clientlibs/banner.lc-5c177901aeff561d828925b2840cd902-lc.min.js"></script>
285 286 287 288 289 290 291 292 293</div> 294<div class="free-form-component aem-GridColumn aem-GridColumn--default--12"> 295 296 297 <style> 298 body { 299 &.nav-height--margin::before { 300 @media screen and (min-width: 1249px) { 301 content: ""; 302 display: block; 303 height: 13.1rem; 304 } 305 306 @media screen and (max-width: 1248.9px) { 307 content: ""; 308 display: block; 309 height: 6.6rem; 310 } 311 } 312 313 &.nav-height--margin--less::before { 314 @media screen and (max-width: 1248.9px) { 315 content: ""; 316 display: block; 317 height: 6.5rem; 318 } 319 } 320} 321 322.free-form-component.has-g3p-nav { 323 top: 0; 324 position: fixed; 325 z-index: 1000; 326 width: 100% !important; 327} 328 329.free-form-component.has-g3p-nav__top__promo__scroll { 330 position: fixed; 331 top: 0; 332 z-index: 1000; 333 width: 100%; 334 transition: 335 top 0.3s ease, 336 position 0.3s ease; 337} 338 339.add--no__scroll { 340 overflow: hidden; 341} 342 343.g3p-main-nav-header { 344 display: flex; 345 padding: 10px 50px; 346 justify-content: space-between; 347 align-items: center; 348 align-self: stretch; 349 background: var(--neutral-surface-300, #fff); 350 351 @media screen and (max-width: 1248.9px) { 352 display: none !important; 353 } 354 355 .g3p-search-signin-wrapper { 356 display: flex;
357 align-items: center; 358 359 .g3p-search-wrapper { 360 display: flex; 361 width: 598px; 362 height: 40px; 363 padding: 0px 20px; 364 flex-direction: column; 365 justify-content: space-between; 366 align-items: center; 367 368 .g3p-search-button { 369 display: flex; 370 padding: 10px 20px; 371 align-items: center; 372 gap: 10px; 373 align-self: stretch; 374 border-radius: 999px; 375 background: #383461; 376 377 .g3p-search-button-text { 378 color: var(--Tertiary-Dark-text-medium, #a5aacf); 379 text-align: center; 380 /* font-family: "PS Commons"; */ 381 font-size: 14px; 382 font-style: normal; 383 font-weight: 400; 384 line-height: 20px; 385 width: 100%; 386 /* 142.857% */ 387 } 388 } 389 390 .g3p-search-button:focus-within { 391 background: white; 392 } 393 } 394 395 .g3p-signin-wrapper { 396 display: flex; 397 align-items: center; 398 gap: 4px; 399 cursor: pointer; 400 401 .g3p-signin-button { 402 display: flex; 403 align-items: center; 404 position: relative; 405 cursor: pointer; 406 407 .g3p-signin-text { 408 color: var(--Links-Neutral, #45424d); 409 font-size: var(--size-text-sm, 14px); 410 font-style: normal; 411 font-weight: 400; 412 line-height: var(--line-height-text-sm, 22px); /* 157.143% */ 413 letter-spacing: var(--letter-spacing-text, 0); 414 415 } 416 a.menu-dropdown-skills { 417 color: var(--Links-Neutral, #45424d); 418 text-decoration: none; 419 &:hover { 420 color: var(--Text-Strong, #130f25); 421 } 422 } 423 424 .g3p-signin-caret { 425 width: 24px; 426 height: 24px; 427 } 428 429 .menu-dropdown-panel-signin { 430 top: 42px; 431 display: none; 432 padding: 20px; 433 flex-direction: column; 434 align-items: flex-start; 435 gap: 12px; 436 position: absolute; 437 right: 0px; 438 border-radius: 0px 0px 16px 16px; 439 background: var(--Tertiary-Light-surface-weak, #fff); 440 box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1); 441 z-index: 9999; 442 443 .menu-dropdown { 444 display: flex; 445 justify-content: center; 446 align-items: center; 447 gap: 15px; 448 449 .menu-dropdown-skills { 450 display: flex; 451 width: 190px; 452 padding: 10px 15px 13px 15px; 453 flex-direction: column; 454 align-items: flex-start; 455 gap: 10px; 456 /* border-radius: 8px; */ 457 background: #fff; 458 text-decoration: none; 459 460 .menu-dropdown-skills-text { 461 color: var(--Text-Strong, #130f25); 462 text-align: center; 463 font-size: var(--size-text-sm, 14px); 464 font-style: normal; 465 font-weight: 400; 466 line-height: var(--line-height-text-sm, 22px); 467 /* 157.143% */ 468 letter-spacing: var(--letter-spacing-text, 0); 469 } 470 471 .menu-dropdown-skills-logo-container { 472 display: flex; 473 gap: 8px; 474 475 .menu-dropdown-skills-logo { 476 display: flex; 477 width: 122.4px; 478 height: 24px; 479 padding-bottom: 0px; 480 justify-content: center; 481 align-items: center; 482 gap: 7.815px; 483 } 484 485 .menu-dropdown-skills-caret { 486 transition: transform 0.3s ease; /* Add smooth transition */ 487 } 488 } 489 } 490 491 .menu-dropdown-skills:hover .menu-dropdown-skills-caret { 492 transform: translateX(5px); 493 /* Move the caret 5px to the right */ 494 } 495 496 .menu-dropdown-skills:focus-visible { 497 outline: none; 498 border-radius: 4px; 499 border: 2px solid var(--Links-Pink, #e7005e); 500 } 501 502 .menu-dropdown-cloud-guru { 503 display: flex; 504 width: 226px; 505 padding: 10px 15px 13px 15px; 506 flex-direction: column; 507 align-items: flex-start; 508 gap: 10px; 509 border-radius: 8px; 510 background: #fff; 511 text-decoration: none; 512 513 .menu-dropdown-cloud-guru-text { 514 color: var(--Text-Strong, #130f25); 515 text-align: center; 516 font-size: var(--size-text-sm, 14px); 517 font-style: normal; 518 font-weight: 400; 519 line-height: var(--line-height-text-sm, 22px); 520 /* 157.143% */ 521 letter-spacing: var(--letter-spacing-text, 0); 522 } 523 524 .menu-dropdown-acg-logo-container { 525 display: flex; 526 align-items: center; 527 gap: 8px; 528 529 .menu-dropdown-acg-caret { 530 margin-top: 2px; 531 align-self: baseline; 532 transition: transform 0.3s ease; 533 } 534 } 535 } 536 537 .menu-dropdown-cloud-guru:focus-visible { 538 outline: none; 539 border-radius: 4px; 540 border: 2px solid var(--Links-Pink, #e7005e); 541 } 542 543 .menu-dropdown-cloud-guru:hover .menu-dropdown-acg-caret { 544 transform: translateX(5px); 545 /* Move the caret 5px to the right */ 546 } 547 548 .menu-dropdown-flow { 549 display: flex; 550 width: 190px; 551 padding: 10px 15px 13px 15px; 552 flex-direction: column; 553 align-items: flex-start; 554 gap: 10px; 555 border-radius: 8px; 556 background: #fff; 557 text-decoration: none; 558 } 559 } 560 } 561 562 .g3p-signin-caret { 563 transition: transform 0.3s; 564 } 565 566 .g3p-signin-caret.rotated { 567 transform: rotate(180deg); 568 } 569 } 570 571 .g3p-signin-button:hover, 572 .g3p-signin-button:active { 573 .g3p-signin-text { 574 color: #130f25; 575 } 576 577 .g3p-signin-caret { 578 svg path { 579 fill: #130f25; 580 } 581 } 582 } 583 } 584 585 .g3p-signin-wrapper:focus-visible { 586 outline: none; 587 border-radius: 4px; 588 border: 2px solid var(--Links-Pink, #e7005e); 589 } 590 } 591} 592 593#psMainLogo { 594 line-height: 0; 595 display: flex; 596 width: 143px; 597 height: 35px; 598 padding: 0 2.513px 0 0.144px; 599 justify-content: center; 600 align-items: center; 601 gap: 8px; 602} 603 604#psMainLogo:focus-visible { 605 outline: none; 606 border-radius: 4px; 607 border: 2px solid var(--Links-Pink, #e7005e); 608} 609 610.nav-search { 611 #header_searchForm, 612 #mobile_header_searchForm { 613 display: flex;
614 align-items: center; 615 position: relative; 616 } 617 618 .nav-search-result { 619 @media screen and (max-width: 1248.9px) { 620 padding: 0 16px; 621 background: #fff; 622 border-radius: 0 0 20px 20px; 623 } 624 625 .header_dropdown--lists { 626 padding-left: 0px; 627 margin: 0; 628 list-style-type: none; 629 630 li { 631 margin: 0; 632 padding: 0; 633 font-size: 16px; 634 font-weight: 500; 635 border-radius: 8px; 636 display: flex; 637 justify-content: center; 638 align-items: center; 639 640 a { 641 display: flex; 642 padding: var(--padding-8, 8px) var(--padding-12, 12px); 643 align-items: center; 644 gap: var(--margin-8, 8px); 645 align-self: stretch; 646 flex: 1 0 0; 647 text-decoration: none; 648 color: var(--Tertiary-Light-text, #45424d); 649 /* font-family: "PS Commons"; */ 650 font-size: 14px; 651 font-style: normal; 652 font-weight: 500; 653 line-height: 18px; 654 transition: none; 655 } 656 } 657 } 658 659 .header_dropdown--lists > li:last-of-type > a.header_dropdown--resultInfoTitle { 660 padding: var(--padding-8, 8px) var(--padding-12, 12px) var(--padding-16, 16px) var(--padding-12, 12px); 661 } 662 } 663} 664 665.g3p-main-nav-header { 666 .g3p-search-signin-wrapper { 667 .nav-search { 668 #header_tabs--search { 669 .header_tabs_content--container.g3p_header_tabs_content--container { 670 .header_nav--menu.header_nav_search { 671 .header_search { 672 input[type="text"] { 673 width: 100% !important; 674 background: #fff !important; 675 border: none !important; 676 outline: none !important; 677 margin-left: 10px !important; 678 color: var(--Text-Weak, #555) !important; 679 font-size: 14px !important; 680 font-style: normal !important; 681 font-weight: 400 !important; 682 line-height: 20px !important; 683 -webkit-appearance: unset; 684 box-shadow: none; 685 display: unset; 686 height: unset; 687 margin: 0px; 688 padding: 0; 689 transition: unset; 690 } 691 692 input[type="text"]::placeholder { 693 color: #555 !important; 694 } 695 696 input[type="text"]:focus { 697 background-color: white !important; 698 color: #4e6583 !important; 699 outline: none !important; 700 } 701 } 702 } 703 &:hover { 704 background-color: #f7f5f4; 705 .header_nav--menu.header_nav_search { 706 .header_search { 707 input[type="text"] { 708 background-color: #f7f5f4 !important; 709 } 710 } 711 } 712 } 713 } 714 } 715 } 716 } 717} 718 719.g3p-nav-mobile--container.g3p-nav-mobile_view { 720 #mobileMainModal { 721 .nav-search { 722 #mobile_header_tabs--search { 723 .header_tabs_content--container.g3p_header_tabs_content--container { 724 .header_nav--menu.header_nav_search { 725 .header_search { 726 input[type="text"] { 727 width: 100% !important; 728 background: #fff !important; 729 border: none !important; 730 outline: none !important; 731 margin-left: 10px !important; 732 color: var(--Tertiary-Dark-text-medium, #555) !important; 733 /* text-align: center; */ 734 /* font-family: "PS Commons" !important; */ 735 font-size: 14px !important; 736 font-style: normal !important; 737 font-weight: 400 !important; 738 line-height: 20px !important; 739 -webkit-appearance: unset; 740 box-shadow: none; 741 display: unset; 742 height: unset; 743 margin: 0px; 744 padding: 0; 745 transition: unset; 746 } 747 748 input[type="text"]::placeholder { 749 color: #555 !important; 750 } 751 752 input[type="text"]:focus { 753 background-color: white !important; 754 color: #4e6583 !important; 755 outline: none !important; 756 } 757 } 758 } 759 } 760 } 761 } 762 } 763} 764 765.header_nav--menu.header_nav_search { 766 position: relative; 767} 768 769#header-search-results-all { 770 border-bottom-left-radius: 20px; 771 border-bottom-right-radius: 20px; 772 border: 1px solid #130f25; 773 box-shadow: rgba(0, 0, 0, 0.08) 0px 12px 16px 0px; 774 padding: 0 var(--margin-16, 16px); 775 align-items: flex-start; 776 align-self: stretch; 777 display: block; 778 background: var(--Button-Surface-Outlined, #fff); 779 border-top: 0px; 780 position: absolute; 781 z-index: 9999; 782 top: 100%; 783 right: 0%; 784 width: 598px; 785 display: none; 786} 787 788#mobile_header-search-results-all { 789 position: absolute; 790 z-index: 9999; 791 top: 100%; 792 right: 0%; 793 width: 100%; 794 display: none; 795 border-radius: 0 0 20px 20px; 796 outline: none; 797 box-shadow: 798 -1px 0 0 0 #130f25, 799 1px 0 0 0 #130f25, 800 0 1px 0 0 #130f25; 801 border-top: 0;
802} 803 804#header_dropdown--resultList { 805 border-top: 1px solid var(--Tertiary-Light-border, #130f25); 806 width: 100%; 807} 808 809.header_dropdown--resultInfo { 810 display: flex; 811 align-items: center; 812 justify-content: space-between; 813} 814 815.header_dropdown--resultInfo { 816 position: relative; 817} 818 819.header_dropdown--resultInfoTitle:hover { 820 color: var(--CTAs-Text-Link-On-Light, #130f25) !important; 821 background: var(--Tertiary-Light-surface-weak, #f7f5f4); 822 border-radius: 8px; 823 padding-right: 30px; 824 /* Add space for the arrow */ 825 background-image: url("/content/dam/ps-nav-assets/g3p-nav-updates/Arrow2.png"); 826 background-repeat: no-repeat; 827 background-position: right 2% center; 828 /* Position the arrow to the right */ 829} 830 831.header_dropdown--resultInfoTitle:focus-within { 832 outline: none; 833 border-radius: 4px; 834 outline: 2px solid var(--Links-Pink, #e7005e); 835} 836 837.nav-search.section { 838 @media screen and (min-width: 1249px) { 839 position: relative; 840 margin-right: 20px; 841 } 842 843 #header_tabs--search, 844 #mobile_header_tabs--search { 845 display: flex; 846 width: 598px; 847 flex-direction: column; 848 align-items: center; 849 850 .header_tabs_content--container.g3p_header_tabs_content--container { 851 display: flex; 852 padding: 10px 16px; 853 align-items: center; 854 gap: 10px; 855 align-self: stretch; 856 /* background: #130f25; */ 857 width: 598px; 858 border-radius: 20px; 859 border: 1px solid var(--Button-Stroke-Strong, #130f25); 860 861 .header_nav--menu.header_nav_search { 862 width: 100%; 863 } 864 } 865 866 .header_tabs_content--container.g3p_header_tabs_content--container:focus-within { 867 background-color: white; 868 color: white; 869 } 870 } 871} 872 873.g3p-nav-desktop_view { 874 @media screen and (max-width: 1248.9px) { 875 display: none !important; 876 } 877} 878 879.g3p-main-nav--container { 880 display: flex; 881 padding: 0px 50px; 882 justify-content: space-between; 883 align-items: center; 884 align-self: stretch; 885 height: 71px; 886 background: var(--Tertiary-Dark-surface-medium, #fff); 887} 888 889.g3p-main-nav-left ul { 890 display: flex; 891 list-style-type: none; 892 padding: 0; 893 margin: 0; 894 gap: 30px; 895 896 @media screen and (max-width: 1033px) { 897 gap: 20px; 898 } 899} 900 901button.g3p-main-nav__btn.active { 902 .g3p-main-nav__header { 903 color: #130f25; 904 } 905} 906 907a.g3p-main-nav__btn { 908 background: transparent !important; 909 display: flex !important; 910 justify-content: center !important; 911 align-items: center !important; 912 border: none !important; 913 padding: 0 !important; 914 height: 71px !important; 915 position: relative !important; 916 box-shadow: none !important; 917 color: var(--Tertiary-Dark-text-medium, #a5aacf) !important; 918 text-decoration: none; 919} 920 921a.g3p-main-nav__btn:focus-visible { 922 padding-right: 3px !important; 923 height: 40px !important; 924 margin-top: 15px; 925 outline: none; 926 border: 2px solid #e7005e !important; 927 border-radius: 4px; 928} 929 930a.g3p-main-nav__btn:hover { 931 color: #130f25 !important; 932 box-shadow: none !important; 933} 934 935a.g3p-main-nav__btn:hover .g3p-main-nav__chevron { 936 border-color: #130f25 !important; 937} 938 939a.g3p-main-nav__btn.active::after { 940 content: "" !important; 941 position: absolute !important; 942 display: block !important; 943 width: 100% !important; 944 height: 5px !important; 945 background: #ff1675 !important; 946 bottom: 0 !important; 947} 948 949a.g3p-main-nav__btn.active .g3p-main-nav__chevron { 950 transform: rotate(-135deg) !important; 951 margin-top: 3px !important; 952 border-color: #130f25 !important; 953} 954 955.g3p-main-nav-right ul { 956 display: flex; 957 list-style-type: none; 958 padding: 0; 959 justify-content: center; 960 margin: 0; 961 gap: 20px; 962 align-items: center; 963} 964 965.g3p-main-mav__list { 966 display: flex; 967 gap: 30px; 968} 969 970.g3p-main-nav__header { 971 color: var(--Links-Neutral-hover, #45424d); 972 font-size: var(--size-text-md, 16px); 973 font-style: normal; 974 font-weight: 400; 975 line-height: var(--line-height-text-md, 24px); 976 /* 150% */ 977 letter-spacing: var(--letter-spacing-text, 0); 978 cursor: pointer; 979 margin-right: 2px; 980 transition: 981 background-color 0.3s ease, 982 border-color 0.3s ease; 983} 984 985.g3p-main-nav__header:hover { 986 color: #130f25; 987} 988 989.g3p-main-nav__chevron { 990 display: inline-block; 991 width: 7px; 992 height: 7px; 993 margin-left: 8px; 994 border-right: 2px solid #45424d; 995 border-bottom: 2px solid #45424d; 996 transform: rotate(45deg); 997 transition: transform 0.3s ease; 998 margin-top: -4px; 999} 1000 1001.g3p-main-bar--wrapper { 1002 height: 90px; 1003 max-width: 100%; 1004 padding-left: 50px; 1005 padding-right: 50px; 1006 margin: auto; 1007} 1008 1009.g3p-nav-modal { 1010 display: none; 1011 position: absolute; 1012 background: white; 1013 border-radius: 0px 0px 16px 16px;
1014 background: var(--Tertiary-Light-surface, #fff); 1015 box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.08); 1016 z-index: 999; 1017 padding: 50px; 1018 gap: 24px; 1019 align-items: flex-start; 1020} 1021 1022.g3p-nav-modal ul { 1023 list-style-type: none; 1024 padding: 0; 1025 margin: 0; 1026} 1027 1028.g3p-nav-modal.show { 1029 display: block; 1030} 1031 1032.g3p-nav-modal--main_container { 1033 display: flex; 1034 gap: 32px; 1035} 1036 1037.g3p-modal-subheader--text { 1038 color: var(--Primary-Dark-Blue, #130f25); 1039 font-size: 14px; 1040 font-weight: 600; 1041 line-height: 24px; 1042} 1043 1044.g3p-modal-subheader--separator { 1045 width: 248px; 1046 height: 1px; 1047 background: #130f25; 1048 margin-bottom: 16px; 1049} 1050 1051.g3p-modal-subheader--container { 1052 display: flex; 1053 justify-content: flex-start; 1054 align-items: center; 1055 gap: 10px; 1056 margin-bottom: 8px; 1057} 1058 1059.g3p-modal-subheader--list { 1060 display: flex; 1061 flex-direction: column; 1062} 1063 1064.g3p-modal-subheader--item { 1065 color: var(--Links-Neutral, #45424d); 1066 font-size: 14px; 1067 font-weight: 500; 1068 line-height: 18px; 1069 align-self: stretch; 1070} 1071 1072.g3p-modal-subheader--image { 1073 display: flex; 1074 width: 28px; 1075 height: 28px; 1076 flex-direction: column; 1077 justify-content: center; 1078 align-items: center; 1079 border-radius: 3px; 1080 background: var(--Primary-Pink, #ff1675); 1081} 1082 1083/* Style for the modal background */ 1084.g3p-modal-overlay { 1085 position: fixed; 1086 top: 0; 1087 left: 0; 1088 width: 100%; 1089 height: 100%; 1090 background: rgba(0, 0, 0, 0.7); 1091 backdrop-filter: blur(2px); 1092 z-index: 99; 1093 display: none; 1094} 1095 1096/* Show overlay when modal is active */ 1097.g3p-modal-overlay.active { 1098 display: block; 1099} 1100 1101.g3p-modal-subheader--arrow { 1102 background: url("/content/dam/ps-nav-assets/arrow-pink-new.png"); 1103 background-repeat: no-repeat; 1104 background-size: contain; 1105 width: 18px; 1106 height: 12px; 1107 display: block; 1108 position: absolute; 1109 right: 20px; 1110 top: 50%; 1111 transition: 0.3s all; 1112 opacity: 0; 1113 transform: translateY(-50%); 1114} 1115 1116.g3p-nav-modal a { 1117 color: #130f25 !important; 1118 position: relative !important; 1119 padding: 10px 40px 10px 12px; 1120 display: flex !important; 1121 align-items: center !important; 1122 gap: 12px !important; 1123 align-self: stretch !important; 1124 text-decoration: none !important; 1125} 1126 1127.g3p-nav-modal a:hover { 1128 color: #d60056 !important; 1129 background: #f4f7fa !important; 1130} 1131 1132.g3p-nav-modal a:hover .g3p-modal-subheader--arrow { 1133 opacity: 1 !important; 1134 right: 10px !important; 1135} 1136 1137.g3p-margin_20 { 1138 margin: 20px 0; 1139} 1140 1141.g3p-sidp-btn--container { 1142 display: flex; 1143 padding: 8px; 1144 align-items: center; 1145 gap: 12px; 1146 align-self: stretch; 1147} 1148 1149.g3p-sidp-btn--logo { 1150 width: 28px; 1151 height: 28px; 1152} 1153 1154.g3p-sidp-btn--text { 1155 font-size: 14px; 1156 max-width: 135px; 1157 font-weight: 500; 1158 line-height: 18px; 1159} 1160 1161.course--padding { 1162 padding: 4px 40px 4px 12px !important; 1163} 1164 1165.g3p-nav-course--sub_container { 1166 display: flex; 1167 flex-direction: column; 1168 gap: 24px; 1169} 1170 1171.g3p-nav-modal--left_updated { 1172 left: 50% !important; 1173 transform: translateX(-50%); 1174} 1175 1176.g3p-separator--extra_width { 1177 width: 356px; 1178} 1179 1180.g3p-nav--anchor_btn { 1181 color: var(--CTAs-Text-Link-On-Light, #d60056) !important; 1182 gap: 0 !important; 1183 font-size: 14px !important; 1184 font-weight: 600 !important; 1185 line-height: 20px !important; 1186 padding: 12px 0 0 0 !important; 1187 margin-top: 16px !important; 1188 max-width: max-content !important; 1189} 1190 1191a.g3p-nav--anchor_btn:hover { 1192 cursor: pointer !important; 1193 background: transparent !important; 1194} 1195 1196.g3p-nav--anchor_btn::after { 1197 content: "" !important; 1198 display: inline-block !important; 1199 height: 7px !important; 1200 width: 7px !important; 1201 margin-left: 7px !important; 1202 border-right: 2px solid #d60056 !important; 1203 border-bottom: 2px solid #d60056 !important; 1204 transform: rotate(-45deg) !important; 1205 transition: transform 0.2s ease !important; 1206} 1207 1208.g3p-nav--anchor_btn:hover::after { 1209 transform: rotate(-45deg) translate(3px, 3px) !important; 1210} 1211 1212.g3p-nav-resource--container { 1213 display: flex; 1214} 1215 1216.g3p-nav-resource--left { 1217 padding: 50px; 1218} 1219 1220.g3p-nav-resource--right { 1221 display: flex; 1222 padding: 50px; 1223 flex-direction: column; 1224 align-items: flex-start; 1225 flex-shrink: 0; 1226 align-self: stretch; 1227 width: 38%; 1228 border-bottom-right-radius: 16px;
1229 background: var(--Tertiary-Light-surface-weak, #f4f7fa); 1230} 1231 1232.g3p-nav-modal.show.g3p-no-padding { 1233 padding: 0; 1234 transform: translateX(-50%); 1235 left: 44% !important; 1236 display: grid; 1237 grid-template-columns: 1fr 1fr 1fr; 1238 grid-template-rows: 1fr; 1239 grid-template-areas: "nav-column-left nav-column-left nav-column-right"; 1240} 1241 1242.g3p-nav-resource--right_header { 1243 color: var(--Primary-Dark-Blue, #130f25); 1244 font-size: 16px; 1245 font-weight: 700; 1246 line-height: 22px; 1247} 1248 1249.g3p-nav-resource--right_separator { 1250 height: 1px; 1251 background: #c2d1e2; 1252 width: 100%; 1253 margin: 8px 0 15px 0; 1254} 1255 1256a.g3p-nav-resource--right_img { 1257 padding: 0 !important; 1258} 1259 1260.g3p-nav-resource--right_image { 1261 max-width: 100%; 1262 border-radius: 8px; 1263 margin: 10px 0; 1264} 1265 1266.g3p-nav-resource--right_title { 1267 color: var(--Primary-Dark-Blue, #130f25); 1268 font-size: 14px; 1269 font-weight: 700; 1270 line-height: 16px; 1271 margin-top: 10px; 1272 margin-bottom: 8px; 1273} 1274 1275.g3p-nav-resource--right p { 1276 color: var(--Tertiary-Light-text-medium, #3e5674); 1277 font-size: 12px; 1278 font-weight: 500; 1279 line-height: 20px; 1280 margin: 10px 0; 1281} 1282 1283.g3p-nav-resource--right_cta { 1284 color: var(--CTAs-Text-Link-On-Light, #d60056) !important; 1285 font-size: 14px; 1286 font-weight: 600; 1287 line-height: 20px; 1288 padding: 10px 0 0 0 !important; 1289 gap: 0 !important; 1290} 1291 1292a.g3p-nav-resource--right_cta:hover { 1293 cursor: pointer; 1294 background: transparent; 1295} 1296 1297.g3p-nav-resource--right_cta::after { 1298 content: ""; 1299 display: inline-block; 1300 height: 7px; 1301 width: 7px; 1302 margin-left: 7px; 1303 border-right: 2px solid #d60056; 1304 border-bottom: 2px solid #d60056; 1305 transform: rotate(-45deg); 1306 transition: transform 0.2s ease; 1307} 1308 1309.g3p-nav-resource--right_cta:hover::after { 1310 transform: rotate(-45deg) translate(3px, 3px); 1311} 1312 1313.g3p-nav-get-started, 1314.g3p-nav-contact-sales { 1315 padding: 10px 34px !important; 1316 border-radius: 999px !important; 1317 text-decoration: none !important; 1318 cursor: pointer !important; 1319 font-size: 14px; 1320} 1321 1322.g3p-nav-contact-sales { 1323 display: flex; 1324 max-width: 366px; 1325 flex-direction: column; 1326 justify-content: center; 1327 align-items: center; 1328 padding: 4px 24px !important; 1329 background: #fff; 1330 font-weight: 600 !important; 1331 border: 1px solid var(--Button-Stroke-Strong, #130f25); 1332 line-height: var(--line-height-text-md, 24px); 1333 letter-spacing: var(--letter-spacing-text, 0); 1334 color: var(--Button-Text-Outlined, #130f25) !important; 1335 text-align: center; 1336 position: relative; 1337 z-index: 2; 1338 transition: all 275ms ease-in-out; 1339 1340 &::after { 1341 content: ""; 1342 height: 100%; 1343 left: 0; 1344 top: 0; 1345 width: 0px; 1346 position: absolute; 1347 transition: all 0.3s ease; 1348 -webkit-transition: all 0.7s ease; 1349 z-index: -1; 1350 } 1351} 1352 1353.g3p-nav-contact-sales:focus-visible { 1354 outline: none; 1355 border-radius: 30px; 1356 border: 2px solid var(--Links-Pink, #e7005e); 1357} 1358 1359.g3p-nav-contact-sales:hover::after { 1360 width: 100%; 1361 border-radius: 999px; 1362 background: #f7f5f4; 1363} 1364 1365.g3p-nav-get-started { 1366 border: none !important; 1367 display: flex !important; 1368 padding: var(--padding-4, 4px) var(--padding-16, 16px) var(--padding-4, 4px) var(--padding-24, 24px) !important; 1369 justify-content: center !important; 1370 align-items: center !important; 1371 border-radius: 999px !important; 1372 background: var(--CTAs-Button-Pink, #e7005e) !important; 1373 text-decoration: none !important; 1374 cursor: pointer !important; 1375 position: relative !important; 1376 z-index: 2; 1377 transition: all 275ms ease-in-out !important; 1378 gap: 4px; 1379 max-width: 366px; 1380 1381 &::after { 1382 content: ""; 1383 height: 100%; 1384 left: 0; 1385 top: 0; 1386 width: 0px; 1387 position: absolute; 1388 transition: all 0.3s ease; 1389 -webkit-transition: all 0.7s ease; 1390 z-index: -1; 1391 } 1392} 1393 1394.g3p-nav-get-started:focus-visible { 1395 outline: none; 1396 outline-offset: 2px; 1397 outline: #e7005e solid 2px; 1398} 1399 1400.g3p-nav-get-started:hover::after { 1401 width: 100%; 1402 border-radius: 999px; 1403 background: #b7094a; 1404} 1405 1406.g3p-nav-get-started svg { 1407 display: flex;
1408 width: 20px; 1409 flex-direction: column; 1410 align-items: flex-start; 1411 gap: 8.333px; 1412 transition: transform 0.3s ease; 1413} 1414 1415.g3p-nav-get-started.active svg { 1416 transform: rotate(180deg); 1417} 1418 1419.g3p-nav-get-started--text { 1420 color: var(--Button-Text-Solid, #fff); 1421 text-align: center; 1422 font-size: var(--size-text-sm, 14px); 1423 font-style: normal; 1424 font-weight: 600; 1425 line-height: var(--line-height-text-md, 24px); 1426 /* 171.429% */ 1427 letter-spacing: var(--letter-spacing-text, 0); 1428 gap: 8px; 1429} 1430 1431.g3p-nav-get-started--text.g3p-arrow-icon.rotated { 1432 svg { 1433 transform: rotate(180deg); 1434 } 1435} 1436 1437.get-started__content { 1438 display: block; 1439 position: absolute; 1440 transform: translate(33%, 71%); 1441 background-color: #fff; 1442 border-radius: 16px; 1443 box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); 1444 z-index: 1000; 1445 border-top-left-radius: 0px; 1446 border-top-right-radius: 0px; 1447} 1448 1449.get-started__content::before { 1450 content: ""; 1451 position: absolute; 1452 top: -10px; 1453 left: 65%; 1454 transform: translateX(-50%); 1455 border-width: 0 10px 10px; 1456 border-style: solid; 1457 border-color: transparent transparent white transparent; 1458} 1459 1460.get-started__content ul { 1461 gap: 16px !important; 1462 display: flex !important; 1463 align-items: flex-start !important; 1464 flex-direction: column !important; 1465 padding: 24px !important; 1466 /* margin-right: 30px !important; */ 1467 width: max-content !important; 1468} 1469 1470.get-started__item { 1471 color: var(--Primary-Dark-Blue, #130f25); 1472 /* font-family: "PS Commons"; */ 1473 font-size: 16px; 1474 display: flex; 1475 gap: 8px; 1476 align-items: center; 1477 font-weight: 700; 1478 line-height: 22px; 1479} 1480 1481.get-started__text { 1482 color: var(--Primary-Dark-Blue, #130f25); 1483 font-size: 14px; 1484 font-weight: 600; 1485 line-height: 24px; 1486 letter-spacing: 0; 1487} 1488 1489.get-started__text:hover { 1490 color: #d60056; 1491} 1492 1493.get-started__icon { 1494 display: flex; 1495 gap: 8px; 1496 justify-content: flex-start; 1497 align-items: center; 1498 text-decoration: none !important; 1499} 1500 1501.get-started__icon:focus-visible { 1502 outline: none; 1503 border-radius: 4px; 1504 border: 2px solid var(--Links-Pink, #e7005e); 1505} 1506 1507.get-started__icon img { 1508 border-radius: 3px; 1509 background: var(--Primary-Pink, #ff1675); 1510 width: 28px; 1511 height: 28px; 1512 object-fit: scale-down; 1513} 1514 1515.get-started__mobile-button { 1516 display: flex; 1517 justify-content: center; 1518 align-items: center; 1519} 1520 1521/* Mobile View CSS */ 1522.g3p-nav-mobile_view { 1523 @media screen and (min-width: 1249px) { 1524 display: none !important; 1525 } 1526} 1527 1528.g3p-nav-mobile-header { 1529 display: flex; 1530 height: 66px; 1531 padding: 12px 24px; 1532 justify-content: space-between; 1533 align-items: center; 1534 align-self: stretch; 1535 background: var(--neutral-surface-300, #fff); 1536 position: sticky; 1537 top: 0; 1538 z-index: 1000; 1539 1540 @media screen and (max-width: 1249px) and (min-width: 640px) { 1541 position: fixed; 1542 top: var(--global-banner-height) !important; 1543 width: 100%; 1544 } 1545 1546 @media screen and (max-width: 641px) { 1547 top: var(--global-banner-height) !important; 1548 } 1549} 1550 1551.g3p-nav-mobile-header.removed { 1552 z-index: unset; 1553} 1554 1555a.g3p-nav-mobile-logo { 1556 display: flex; 1557 align-items: center; 1558 gap: 8px; 1559} 1560 1561.g3p-nav-mobile-logo img { 1562 width: 182px; 1563} 1564 1565#menuIcon { 1566 cursor: pointer; 1567 transition: transform 0.3s ease; 1568} 1569 1570#menuIcon:hover { 1571 transform: scale(1.1); 1572} 1573 1574.g3p-nav-mobile__main-modal { 1575 width: 100%; 1576} 1577 1578.mobile-nav--search-box-container { 1579 display: flex; 1580 padding: 10px 20px 20px 20px; 1581 flex-direction: column; 1582 align-items: center; 1583 gap: 10px; 1584 align-self: stretch; 1585 background: var(--neutral-surface-300, #2a2753); 1586} 1587 1588.mobile-nav--search-box { 1589 display: flex; 1590 padding: 10px 20px; 1591 align-items: center; 1592 gap: 10px; 1593 align-self: stretch; 1594 border-radius: 999px; 1595 background: #383461; 1596} 1597 1598.mobile-nav--search-input { 1599 color: var(--Tertiary-Dark-text-medium, #a5aacf); 1600 font-size: 16px; 1601 font-weight: 400; 1602 line-height: 20px; 1603 background: transparent; 1604 width: 100%; 1605 border: none; 1606} 1607 1608.mobile-nav--search-input:focus { 1609 color: #4e6583; 1610 outline: none; 1611} 1612 1613a.mobile-nav--signin { 1614 display: flex; 1615 align-items: center; 1616 text-decoration: none; 1617} 1618 1619a.mobile-nav--signin:focus, 1620a.mobile-nav--contact:focus { 1621 text-decoration: none; 1622 cursor: pointer; 1623} 1624 1625.mobile-nav--signin img { 1626 margin-right: 8px; 1627} 1628 1629.mobile-nav--signin-and-contact { 1630 display: flex; 1631 height: 48px; 1632 padding: 0px 24px; 1633 align-items: center; 1634 gap: 24px; 1635 background: var(--neutral-surface-300, #fff); 1636 justify-content: end; 1637 position: sticky !important; 1638 top: 136px; 1639 z-index: 8; 1640} 1641 1642.mobile-nav--signin-chevron { 1643 margin-top: 6px !important; 1644} 1645 1646.mobile-nav--signin-chevron.rotated { 1647 transform: rotate(-180deg) !important; 1648 margin-top: -6px !important; 1649} 1650 1651.mobile-nav--signin-text { 1652 color: var(--Links-Neutral, #45424d); 1653 font-size: var(--size-text-sm, 14px); 1654 font-style: normal; 1655 font-weight: 400; 1656 line-height: var(--line-height-text-sm, 22px); 1657 /* 157.143% */ 1658 letter-spacing: var(--letter-spacing-text, 0); 1659} 1660 1661.mobile-nav--signin-text.rotated { 1662 color: #130f25 !important; 1663} 1664 1665.g3p-mobile-contact-sales--block { 1666 width: 100%; 1667 display: flex; 1668 justify-content: center; 1669} 1670 1671.g3p-mobile-contact-sales--block .g3p-nav-contact-sales-mobile { 1672 display: flex; 1673 max-width: 366px; 1674 padding: var(--padding-12, 12px) var(--padding-32, 32px); 1675 flex-direction: column; 1676 justify-content: center; 1677 align-items: center; 1678 align-self: stretch; 1679 color: #130f25 !important; 1680 background: transparent; 1681 border: 2px solid #130f25; 1682 font-size: 14px; 1683 border-radius: 999px !important; 1684 text-decoration: none !important; 1685 cursor: pointer !important; 1686 width: 100%; 1687 text-align: center; 1688 font-weight: 600; 1689} 1690 1691.mobile-nav--signin-and-contact ul { 1692 list-style-type: none; 1693 display: flex; 1694 gap: 24px; 1695} 1696 1697a.mobile-nav--contact { 1698 display: flex; 1699 text-decoration: none;
1700 color: var(--Tertiary-Dark-text-medium, #a5aacf) !important; 1701} 1702 1703a.g3p-sign-in--modal_item { 1704 text-decoration: none; 1705 display: flex; 1706 padding: 12px 0; 1707 align-items: center; 1708 justify-content: space-between; 1709 color: var(--Links-Neutral-hover, #45424d); 1710 /* border-bottom: 1px solid #130f25; */ 1711} 1712a.g3p-sign-in--modal_item:hover { 1713 color: var(--Primary-Dark-Blue, #130f25); 1714} 1715 1716 1717a.g3p-sign-in--modal_item:last-child { 1718 border-bottom: none; 1719} 1720 1721.g3p-sign-in--modal_item img { 1722 width: 18px; 1723 height: 18px; 1724} 1725 1726.g3p-sign-in--modal { 1727 position: absolute; 1728 top: 0; 1729 left: 0; 1730 width: 100%; 1731 background-color: white; 1732 z-index: 1000; 1733 padding: 0 24px; 1734} 1735 1736.g3p-signin--subheader { 1737 color: var(--Primary-Dark-Blue, #130f25); 1738 font-size: 16px; 1739 font-weight: 500; 1740 line-height: 28px; 1741} 1742 1743.g3p-right-chevron { 1744 display: inline-block; 1745 width: 7px; 1746 height: 7px; 1747 border-right: 2px solid #130f25; 1748 border-bottom: 2px solid #130f25; 1749 transform: rotate(-45deg); 1750 transition: transform 0.3s ease; 1751} 1752 1753.g3p-dis-flex { 1754 display: flex; 1755 gap: 10px; 1756 align-items: center; 1757} 1758 1759.g3p-signin-modal-overlay { 1760 height: 100vh; 1761 position: absolute; 1762 top: 48px; 1763 left: 0; 1764 right: 0; 1765 bottom: 0; 1766 background: rgba(19, 15, 37, 0.8); 1767 z-index: 999; 1768} 1769 1770.g3p-mobile-navs { 1771 display: flex; 1772 padding: 16px 0; 1773 flex-direction: column; 1774 align-items: flex-start; 1775 height: 100vh; 1776 1777 @media screen and (max-width: 1248.9px) and (min-width: 640px) { 1778 position: relative; 1779 top: 48px; 1780 } 1781 @media screen and (max-width: 639px) { 1782 height: unset; 1783 } 1784} 1785 1786.g3p-mobile-navs-header { 1787 display: flex; 1788 padding: 12px 0; 1789 margin: 0 24px; 1790 align-items: center; 1791 gap: 8px; 1792 justify-content: space-between; 1793 align-self: stretch; 1794 border-bottom: 1px solid #130f25; 1795} 1796 1797.g3p-mobile-blog-header--chevron { 1798 display: inline-block; 1799 width: 7px; 1800 height: 7px; 1801 border-right: 2px solid #45424d; 1802 border-bottom: 2px solid #45424d; 1803 transform: rotate(-45deg); 1804} 1805 1806a.g3p-mobile-navs-header { 1807 text-decoration: none; 1808} 1809 1810.g3p-mobile-navs-header--text { 1811 color: var(--Primary-Dark-Blue, #130f25); 1812 /* font-family: "PS Commons"; */ 1813 font-size: 16px; 1814 font-weight: 500; 1815 line-height: 28px; 1816} 1817 1818.g3p-mobile--full_width { 1819 width: 100%; 1820} 1821 1822.g3p-header--focused_bg { 1823 background: var(--Tertiary-Light-surface-weak, #f4f7fa); 1824} 1825 1826.g3p-header--focused_border { 1827 border: none; 1828} 1829 1830.g3p-mobile-navs-subheaders { 1831 background: #fff; 1832} 1833 1834.g3p-mobile-subnav_header { 1835 display: flex; 1836 padding: 16px 0 0 0; 1837 flex-direction: column; 1838 align-items: flex-start; 1839 gap: 8px; 1840 align-self: stretch; 1841 margin: 0 24px; 1842} 1843 1844.g3p-mobile--separator { 1845 height: 1px; 1846 background: #c2d1e2; 1847 margin-bottom: 15px; 1848 width: 100%; 1849} 1850 1851.g3p-mobile-display-flex-col { 1852 display: flex; 1853 flex-direction: column; 1854 width: 100%; 1855} 1856 1857.g3p-mobile-subnav_header a { 1858 text-decoration: none !important; 1859 color: #130f25 !important; 1860 display: flex !important; 1861 padding: 16px 12px !important; 1862 align-items: center !important; 1863} 1864 1865.g3p-mobile-sidp-btn--text { 1866 /* font-family: "PS Commons"; */ 1867 font-size: 14px; 1868 font-weight: 500; 1869 line-height: 18px; 1870} 1871 1872.g3p-no--margin { 1873 margin: 0; 1874} 1875 1876.g3p-mobile-anchor { 1877 padding: 0 0 16px 0; 1878} 1879 1880.g3p-mobile-anchor_btn { 1881 display: flex; 1882 padding: 8px 24px; 1883 align-items: center; 1884 color: var(--CTAs-Text-Link-On-Light, #d60056) !important; 1885 text-decoration: none; 1886} 1887 1888.g3p-mobile-anchor_btn::after { 1889 content: ""; 1890 display: inline-block; 1891 height: 7px; 1892 width: 7px; 1893 margin-left: 7px; 1894 border-right: 2px solid #d60056; 1895 border-bottom: 2px solid #d60056; 1896 transform: rotate(-45deg); 1897 transition: transform 0.2s ease; 1898} 1899 1900.g3p-mobile-featured_resource { 1901 display: flex; 1902 padding: 20px 24px; 1903 flex-direction: column; 1904 align-items: flex-start; 1905 gap: 10px; 1906 background: var(--Tertiary-Light-surface-weak, #f4f7fa); 1907} 1908 1909.g3p-mobile-featured_resource--text { 1910 color: var(--Primary-Dark-Blue, #130f25); 1911 /* font-family: "PS Commons"; */ 1912 font-size: 16px; 1913 font-weight: 700; 1914 line-height: 22px; 1915} 1916 1917.g3p-mobile-fr-separateor { 1918 height: 1px; 1919 background: #c2d1e2; 1920 width: 100%; 1921 margin-bottom: 14px; 1922} 1923 1924.g3p-mobile-featured_resource img { 1925 border-radius: 8px; 1926 max-width: 100%; 1927 margin: 10px 0; 1928} 1929 1930.g3p-mobile-fr-title { 1931 color: var(--Primary-Dark-Blue, #130f25); 1932 font-size: 14px; 1933 font-weight: 700; 1934 line-height: 16px; 1935} 1936 1937.g3p-mobile-featured_resource p {
1938 color: var(--Tertiary-Light-text-medium, #3e5674); 1939 font-size: 12px; 1940 font-weight: 500; 1941 line-height: 20px; 1942} 1943 1944.g3p-mobile--nomargin { 1945 padding-left: 0; 1946} 1947 1948.g3p-mobile-get-started { 1949 display: flex; 1950 position: fixed; 1951 background: white; 1952 bottom: 0; 1953 padding: 16px 24px; 1954 flex-direction: column; 1955 justify-content: flex-end; 1956 align-items: flex-start; 1957 gap: 18px; 1958 width: 100%; 1959 z-index: 99; 1960 1961 @media screen and (min-width: 640px) and (max-width: 1249px) { 1962 max-width: 414px; 1963 } 1964 1965 @media screen and (max-width: 639px) { 1966 align-items: center; 1967 } 1968} 1969 1970.g3p-mobile-get-started--block { 1971 display: flex; 1972 max-width: 366px; 1973 padding: 12px 24px 12px 32px; 1974 justify-content: center; 1975 align-items: center; 1976 border-radius: 999px; 1977 width: 100%; 1978 background: var(--Button-Surface-Solid, #130f25); 1979} 1980 1981.g3p-arrow-icon { 1982 display: flex; 1983 align-items: center; 1984} 1985 1986.g3p-mobile-get-started-modal { 1987 position: fixed; 1988 width: 100%; 1989 bottom: 60px; 1990 z-index: 9; 1991} 1992 1993.g3p-mobile-get-started-modal--block { 1994 border-radius: 20px; 1995 max-width: 366px; 1996 display: flex; 1997 padding: var(--padding-24, 24px) var(--padding-24, 24px) var(--padding-12, 12px) var(--padding-24, 24px); 1998 flex-direction: column; 1999 align-items: flex-start; 2000 flex: 1 0 0; 2001 gap: 12px; 2002 background: #fff; 2003 border-bottom-left-radius: 0; 2004 border-bottom-right-radius: 0; 2005} 2006 2007.g3p-mobile-overlay { 2008 position: fixed; 2009 top: 0; 2010 left: 0; 2011 width: 100%; 2012 height: 100%; 2013 background: rgba(19, 15, 37, 0.8); 2014 z-index: 999; 2015 display: none; 2016} 2017 2018.g3p-mobile-overlay.show { 2019 display: block; 2020} 2021 2022.g3p-mobile-get-started-modal.show .g3p-mobile-get-started-modal--content { 2023 bottom: 149px; 2024 2025 @media screen and (max-width: 639px) { 2026 left: 7%; 2027 max-width: 366px; 2028 border-radius: 16px 16px 0 0; 2029 } 2030} 2031 2032.g3p-mobile-get-started-modal--content { 2033 position: fixed; 2034 bottom: -100%; 2035 left: 0; 2036 width: 100%; 2037 background: #fff; 2038 z-index: 1001; 2039 transition: bottom 0.3s ease-in-out; 2040 2041 @media screen and (min-width: 640px) and (max-width: 1249px) { 2042 border-radius: 16px 16px 0 0; 2043 right: 0; 2044 max-width: 366px; 2045 left: calc(100vw - 391px); 2046 } 2047} 2048 2049.g3p-nav-mobile--container.g3p-nav-mobile_view { 2050 .g3p-nav-mobile__main-modal { 2051 @media screen and (min-width: 640px) and (max-width: 1249px) { 2052 max-width: 414px; 2053 position: relative; 2054 z-index: 100; 2055 background: #fff; 2056 height: 100vh; 2057 left: calc(100% - 414px); 2058 } 2059 2060 .nav-search.section { 2061 padding: var(--padding-8, 8px) var(--padding-24, 24px); 2062 background: var(--neutral-surface-300, #fff); 2063 display: flex; 2064 width: 100%; 2065 height: 70px; 2066 flex-direction: column; 2067 align-items: center; 2068 gap: 10px; 2069 position: sticky; 2070 top: 66px; 2071 z-index: 9; 2072 2073 #header_tabs--search, 2074 #mobile_header_tabs--search { 2075 display: flex; 2076 flex-direction: column; 2077 align-items: center; 2078 align-self: stretch; 2079 border-radius: 20px; 2080 width: unset; 2081 2082 .header_tabs_content--container.g3p_header_tabs_content--container { 2083 width: unset; 2084 position: relative; 2085 } 2086 2087 #header_search--form { 2088 padding: 0px; 2089 gap: 0px; 2090 } 2091 } 2092 } 2093 } 2094} 2095 2096.g3p-nav-desktop_view, 2097.g3p-nav-mobile_view { 2098 button { 2099 font-family: unset; 2100 font-weight: unset; 2101 font-size: unset; 2102 line-height: unset; 2103 padding: unset; 2104 white-space: unset; 2105 border-radius: unset; 2106 color: unset; 2107 background: unset; 2108 position: unset; 2109 text-align: unset; 2110 text-decoration: unset; 2111 display: unset; 2112 transition: unset; 2113 margin: unset; 2114 letter-spacing: unset; 2115 text-transform: unset; 2116 } 2117 2118 ul, 2119 li { 2120 margin: unset; 2121 padding: unset; 2122 } 2123 2124 a { 2125 color: unset; 2126 word-break: unset; 2127 } 2128} 2129 2130.menu-dropdown-panel--overlay { 2131 position: fixed; 2132 display: block; 2133 top: 61.8px; 2134 left: 0; 2135 width: 100%; 2136 height: 100%; 2137 opacity: 0.5; 2138 background: var(--Brand-Inky-Blue, #130f25); 2139 backdrop-filter: blur(2px); 2140 z-index: 99; 2141} 2142 2143.g3p-main-container--overlay { 2144 @media screen and (min-width: 640px) and (max-width: 1249px) { 2145 height: 100vh; 2146 width: 100vw; 2147 z-index: 9; 2148 position: fixed; 2149 background: rgba(19, 15, 37, 0.7); 2150 display: flex; 2151 top: 0; 2152 } 2153} 2154 2155.g3p-nav-icon-container { 2156 display: flex; 2157 width: 28px; 2158 height: 28px; 2159 flex-direction: column; 2160 justify-content: center; 2161 align-items: center; 2162 border-radius: 3px; 2163} 2164 2165.g3p-nav-user-icon { 2166 margin-right: 8px; 2167 display: flex; 2168} 2169.g3p-menu-btn { 2170 border: 0; 2171 background: transparent; 2172 padding: 0; 2173 display: inline-flex; 2174 align-items: center; 2175 cursor: pointer; 2176} 2177.is-hidden { 2178 display: none !important; 2179} 2180 2181 </style> 2182 2183 2184 2185 <div class="g3p-main-nav-header"> 2186 <a id="psMainLogo" href="/" aria-label="Pluralsight" data-aa-title="PN-Pluralsight" tabindex="0" onclick="updateBlogAnalytics('Pluralsight logo', 'Pluralsight logo', 'https://www.pluralsight.com')"> 2187 <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 2188 <path 2189 d="M33.485 19.6594C34.4014 10.9108 28.0522 3.07577 19.3036 2.15935C10.5551 1.24293 2.72004 7.59213 1.80362 16.3407C0.887196 25.0893 7.23641 32.9243 15.985 33.8407C24.7335 34.7572 32.5686 28.4079 33.485 19.6594Z" 2190 fill="#FF1675" /> 2191 <path 2192 d="M9.97119 25.0059L13.4773 22.9812V26.9279L28.9412 18.0013L13.4773 9.07471V13.0214L9.97119 10.9968V25.0059ZM15.0803 15.7982L18.8978 18.0013L15.0803 20.2045V15.7982ZM15.0803 22.0582L15.1258 22.0316L22.1038 18.0013L15.0803 13.9445V11.8515L25.7314 18.0013L15.0803 24.1512V22.0582ZM11.5742 13.7735L13.4735 14.8713V21.1313L11.5742 22.2291V13.7735Z" 2193 fill="white" /> 2194 </svg> 2195 <svg xmlns="http://www.w3.org/2000/svg" width="98" height="20" viewBox="0 0 98 20" fill="none"> 2196 <path
2197 d="M0.144409 15.2236V0.835976H5.50025C8.24734 0.835976 10.4213 3.00993 10.4213 5.63845C10.4213 8.26696 8.24734 10.4212 5.50025 10.4212H2.8915V15.2236H0.144409ZM2.8915 7.8124H5.50025C6.64652 7.8124 7.67421 6.78471 7.67421 5.63845C7.67421 4.49218 6.64652 3.46449 5.50025 3.46449H2.8915V7.8124Z" 2198 fill="#130F25" /> 2199 <path d="M12.3562 15.2236V0.835976H14.965V15.2236H12.3562Z" fill="#130F25" /> 2200 <path 2201 d="M21.6996 15.3422C19.1897 15.3422 17.4901 13.6228 17.4901 10.8955V4.72934H20.0988V10.5397C20.0988 11.9232 21.0277 12.8323 22.2728 12.8323C23.5376 12.8323 24.4467 11.9232 24.4467 10.5397V4.72934H27.0752V15.2236H25.1187L24.6641 14.1959C24.6641 14.1959 23.419 15.3422 21.6996 15.3422Z" 2202 fill="#130F25" /> 2203 <path 2204 d="M29.5912 15.2236V4.72934H31.528L31.9825 5.85584C31.9825 5.85584 32.8917 4.61076 34.4925 4.61076C34.947 4.61076 35.283 4.72934 35.283 4.72934V7.45666C35.283 7.45666 34.947 7.35785 34.3739 7.35785C33.1288 7.35785 32.1999 8.26696 32.1999 9.63062V15.2236H29.5912Z" 2205 fill="#130F25" /> 2206 <path 2207 d="M40.0657 15.3422C37.7929 15.3422 36.5281 14.0774 36.5281 12.3777C36.5281 10.3223 38.0103 8.84009 42.8128 8.84009C42.8128 7.69382 42.1211 7.00211 41.0934 7.00211C39.7297 7.00211 39.5123 8.14838 39.5123 8.14838H36.8838C37.1012 6.21158 38.702 4.61076 41.3306 4.61076C43.7219 4.61076 45.4413 6.33016 45.4413 8.72151V15.2236H43.5045L43.05 14.1959C43.05 14.1959 41.9037 15.3422 40.0657 15.3422ZM40.54 13.2868C41.9037 13.2868 42.8128 12.3777 42.8128 11.1129V10.6583C39.7297 10.6583 39.1566 11.2314 39.1566 12.1406C39.1566 12.7137 39.7297 13.2868 40.54 13.2868Z" 2208 fill="#130F25" /> 2209 <path d="M47.849 15.2236V0.835976H50.4578V15.2236H47.849Z" fill="#130F25" /> 2210 <path 2211 d="M56.7379 15.3422C53.9908 15.3422 52.6271 13.9588 52.4097 11.9232H54.9196C55.0185 12.5951 55.5916 13.1682 56.5205 13.1682C57.4296 13.1682 58.0027 12.5951 58.0027 12.022C58.0027 10.5397 52.6271 11.4488 52.6271 7.8124C52.6271 6.093 54.1093 4.61076 56.4019 4.61076C58.9118 4.61076 60.2755 5.97442 60.5126 7.8124H58.0027C57.8841 7.35785 57.311 6.78471 56.5205 6.78471C55.7102 6.78471 55.2556 7.23927 55.2556 7.8124C55.2556 9.29465 60.6115 8.38554 60.6115 12.1406C60.6115 13.86 59.1292 15.3422 56.7379 15.3422Z" 2212 fill="#130F25" /> 2213 <path 2214 d="M62.575 15.2236V4.72934H65.1837V15.2236H62.575ZM63.9386 3.46449C63.1283 3.46449 62.4564 2.79254 62.4564 1.98224C62.4564 1.19171 63.1283 0.5 63.9386 0.5C64.7292 0.5 65.4209 1.19171 65.4209 1.98224C65.4209 2.79254 64.7292 3.46449 63.9386 3.46449Z" 2215 fill="#130F25" /> 2216 <path 2217 d="M72.2741 19.0972C68.3807 19.0972 67.5902 15.6782 67.5902 15.6782H70.2187C70.2187 15.6782 70.6733 16.7059 72.2741 16.7059C73.7563 16.7059 74.6654 15.7968 74.6654 14.5319V13.7414C74.6654 13.7414 73.6378 14.8876 71.9184 14.8876C69.2898 14.8876 67.1357 12.7137 67.1357 9.7492C67.1357 6.78471 69.2898 4.61076 71.9184 4.61076C73.7563 4.61076 74.8828 5.75702 74.8828 5.75702L75.3374 4.72934H77.294V14.5319C77.294 17.279 75.456 19.0972 72.2741 19.0972ZM72.2741 12.3777C73.6378 12.3777 74.784 11.2314 74.784 9.7492C74.784 8.26696 73.6378 7.12069 72.2741 7.12069C70.8907 7.12069 69.7444 8.26696 69.7444 9.7492C69.7444 11.2314 70.8907 12.3777 72.2741 12.3777Z" 2218 fill="#130F25" /> 2219 <path 2220 d="M79.8099 15.2236V0.835976H82.4187V5.75702C82.4187 5.75702 83.3475 4.61076 85.3831 4.61076C87.6757 4.61076 89.3951 6.33016 89.3951 9.05749V15.2236H86.7666V9.39346C86.7666 8.0298 85.8575 7.12069 84.5926 7.12069C83.3475 7.12069 82.4187 8.0298 82.4187 9.39346V15.2236H79.8099Z" 2221 fill="#130F25" /> 2222 <path 2223 d="M96.1234 15.3422C94.068 15.3422 92.5858 13.86 92.5858 11.5674V7.12069H90.9849V4.94673H91.6767C92.4672 4.94673 92.9217 4.49218 92.9217 3.70165V2.2194H95.2143V4.72934H97.4871V7.12069H95.2143V11.4488C95.2143 12.3777 95.7874 12.9508 96.6965 12.9508C97.1511 12.9508 97.3685 12.8323 97.3685 12.8323V15.105C97.3685 15.105 96.8151 15.3422 96.1234 15.3422Z" 2224 fill="#130F25" /> 2225 </svg> 2226 </a> 2227 <div class="g3p-search-signin-wrapper"> 2228 <div class="nav-search section"> 2229 <div id="header_tabs--search" class="nav-search-container nav-dropdown-container header_tabs_content--container"> 2230 <div class="header_tabs_content--container g3p_header_tabs_content--container"> 2231 <div class="header_nav--menu header_nav_search"> 2232 <div class="header_search search-button__component"> 2233 <form id="header_searchForm" class="header_search--form" data-gtm-form-interact-id="0"> 2234 <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewB
2234ox="0 0 15 16" fill="none"> 2235 <path fill-rule="evenodd" clip-rule="evenodd" 2236 d="M14.6389 14.7298C14.7866 14.582 14.7866 14.3426 14.639 14.1949L10.8271 10.3823C11.6508 9.32639 12.1024 8.03667 12.1024 6.67594C12.1024 5.05955 11.4723 3.5414 10.3294 2.39775C9.18648 1.2541 7.66758 0.624756 6.05119 0.624756C4.43479 0.624756 2.91516 1.2541 1.77299 2.39775C0.629347 3.5414 0 5.05955 0 6.67594C0 8.29234 0.629347 9.81197 1.77299 10.9541C2.91516 12.0978 4.43479 12.7271 6.05119 12.7271C7.41191 12.7271 8.70163 12.2764 9.75756 11.4526L13.5694 15.2645C13.7171 15.4121 13.9565 15.4121 14.1043 15.2645L14.6389 14.7298ZM9.25979 9.88538C8.40284 10.7423 7.26298 11.2143 6.05119 11.2143C4.83866 11.2143 3.69954 10.7423 2.84259 9.88538C1.98481 9.02833 1.5128 7.88847 1.5128 6.67594C1.5128 5.46416 1.98481 4.32429 2.84259 3.46734C3.69954 2.60956 4.83866 2.13755 6.05119 2.13755C7.26298 2.13755 8.40284 2.60956 9.25979 3.46734C10.1176 4.32429 10.5896 5.46416 10.5896 6.67594C10.5896 7.88847 10.1176 9.02833 9.25979 9.88538Z" 2237 fill="#130F25" /> 2238 </svg> 2239 <input type="text" name="q" class="header_search--input" placeholder="Search the blog" 2240 autocomplete="off" data-gtm-form-interact-id="0" /> 2241 </form> 2242 <a href="/resources/blog/browse" class="hidden header_search--url"></a> 2243 </div> 2244 </div> 2245 2246 <div id="header-search-results-all" class="header_tabs_content--container nav-search-item"> 2247 <div id="search-menu__results-dropdown" class="nav-search-result"> 2248 <div id="header_dropdown--resultList"></div> 2249 </div> 2250 </div> 2251 </div> 2252 </div> 2253 2254
2254<script id="header-search-categories-templates-partial" type="text/x-handlebars-template"> 2255 {{#compare this.name "===" "courses"}} 2256 <ul class="header_dropdown--lists"> 2257 <li class="first li-list">{{{this.name}}}</li> 2258 {{#each this.results}} 2259 <li><a href="{{formatCourseURL this.courseName 'course'}}">{{{this.title}}}</a></li> 2260 {{/each}} 2261 <li class="last li-list"><a class="view-all-link" data-tab-param="{{mapResultSetNameToTabName this.name}}" data-categories="{{this.name}}">See more results</a></li> 2262 </ul> 2263 {{/compare}} 2264 </script>
2264 2265 </div> 2266 <div class="g3p-signin-wrapper" data-aa-title="UN-Sign In" tabindex="0"> 2267 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2268 <path fill-rule="evenodd" clip-rule="evenodd" 2269 d="M10 19.9999C15.5229 19.9999 20 15.5228 20 10C20 4.47716 15.5229 0 10 0C4.47716 0 0 4.47716 0 10C0 15.5228 4.47716 19.9999 10 19.9999ZM13.5713 7.14286C13.5713 9.1153 11.9723 10.7143 9.9999 10.7143C8.02746 10.7143 6.42847 9.1153 6.42847 7.14286C6.42847 5.17042 8.02746 3.57143 9.9999 3.57143C11.9723 3.57143 13.5713 5.17042 13.5713 7.14286ZM9.9999 12.8571C12.269 12.8571 14.3134 13.819 15.7477 15.3572C14.3134 16.8954 12.269 17.8571 9.99997 17.8571C7.73091 17.8571 5.68651 16.8954 4.25223 15.3571C5.68651 13.819 7.73089 12.8571 9.9999 12.8571Z" 2270 fill="#45424D" /> 2271 </svg> 2272 <div class="g3p-signin-button g3p-main-nav-right"> 2273 <a href="https://app.pluralsight.com/id" data-aa-title="UN-Skills Sign In" class="menu-dropdown-skills" onclick="updateBlogAnalytics('Sign in', 'Sign in to Pluralsight', 'https://app.pluralsight.com/id')"> 2274 <span class="g3p-signin-text">Sign in</span> 2275 </a> 2276 <div class="menu-dropdown-panel--overlay hidden"></div> 2277 </div> 2278 </div> 2279 </div> 2280</div> 2281 2282 2283<div class="g3p-main-nav--container g3p-nav-desktop_view"> 2284 <div class="g3p-main-nav-left"> 2285 <ul> 2286 <li> 2287 <a class="g3p-main-nav__btn" href="/resources/blog" data-aa-title="blog-nav-explore" data-ps-analytics="blog-nav|Explore|https://www.pluralsight.com/resources/blog" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Explore', 'https://www.pluralsight.com/resources/blog')"> 2288 <span class="g3p-main-nav__header">Explore</span> 2289 </a> 2290 </li> 2291 <li> 2292 <a class="g3p-main-nav__btn" href="/resources/blog/software-development" data-aa-title="blog-nav-software-dev" data-ps-analytics="blog-nav|Software dev|https://www.pluralsight.com/resources/blog/software-development " onclick="updateBlogAnalytics('Main Blog Nav Header', 'Software dev', 'https://www.pluralsight.com/resources/blog/software-development')"> 2293 <span class="g3p-main-nav__header">Software dev</span> 2294 </a> 2295 </li> 2296 <li> 2297 <a class="g3p-main-nav__btn" href="/resources/blog/cloud" data-aa-title="blog-nav-cloud" data-ps-analytics="blog-nav|Cloud|https://www.pluralsight.com/resources/blog/cloud" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Cloud', 'https://www.pluralsight.com/resources/blog/cloud')"> 2298 <span class="g3p-main-nav__header">Cloud</span> 2299 </a> 2300 </li> 2301 <li> 2302 <a class="g3p-main-nav__btn" href="/resources/blog/tech-operations" data-aa-title="blog-nav-tech-operations" data-ps-analytics="blog-nav|Tech Operations|hhttps://www.pluralsight.com/resources/blog/tech-operations" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Tech Operations', 'https://www.pluralsight.com/resources/blog/tech-operations')"> 2303 <span class="g3p-main-nav__header">Tech Operations</span> 2304 </a> 2305 </li> 2306 <li> 2307 <a class="g3p-main-nav__btn" href="/resources/blog/ai-and-data" data-aa-title="blog-nav-ai-and-data" data-ps-analytics="blog-nav|AI & Data|https://www.pluralsight.com/resources/blog/ai-and-data" onclick="updateBlogAnalytics('Main Blog Nav Header', 'AI & Data', 'https://www.pluralsight.com/resources/blog/ai-and-data')"> 2308 <span class="g3p-main-nav__header"> AI & Data</span> 2309 </a> 2310 </li> 2311 <li> 2312 <a class="g3p-main-nav__btn" href="/resources/blog/cybersecurity" data-aa-title="blog-nav-cybersecurity" data-ps-analytics="blog-nav|Cybersecurity|https://www.pluralsight.com/resources/blog/cybersecurity" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Cybersecurity', 'https://www.pluralsight.com/resources/blog/cybersecurity')"> 2313 <span class="g3p-main-nav__header">Cybersecurity</span> 2314 </a> 2315 </li> 2316 </ul> 2317 </div> 2318 <div class="g3p-main-nav-right"> 2319 <ul> 2320 <li> 2321 <a class="g3p-nav-contact-sales ps-button" href="/contact-sales" data-aa-title="blog-nav-contact-sales" data-ps-analytics="blog-nav|Contact sales|contact-sales" onclick="updateBlogAnalytics('Main Nav Header', 'Contact sales', 'https://www.pluralsight.com/contact-sales')">Contact 2322 sales</a> 2323 </li> 2324 <li> 2325 <button class="g3p-nav-get-started" id="toggleGetStarted" data-aa-title="ps-nav-get-started" 2326 data-ps-analytics="ps-nav|View plans">
2327 <span class="g3p-nav-get-started--text">View plans</span> 2328 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6" fill="none"> 2329 <path 2330 d="M4.58333 5.70841C4.47372 5.70841 4.37095 5.69119 4.27504 5.65673C4.17912 5.62227 4.09006 5.56369 4.00785 5.481L0.226084 1.67693C0.0753612 1.52531 0 1.33235 0 1.09805C0 0.863737 0.0753612 0.670777 0.226084 0.519165C0.376806 0.367554 0.568635 0.291748 0.801569 0.291748C1.0345 0.291748 1.22633 0.367554 1.37706 0.519165L4.58333 3.74436L7.78961 0.519165C7.94033 0.367554 8.13216 0.291748 8.3651 0.291748C8.59803 0.291748 8.78986 0.367554 8.94058 0.519165C9.0913 0.670777 9.16667 0.863737 9.16667 1.09805C9.16667 1.33235 9.0913 1.52531 8.94058 1.67693L5.15882 5.481C5.07661 5.56369 4.98754 5.62227 4.89163 5.65673C4.79571 5.69119 4.69295 5.70841 4.58333 5.70841Z" 2331 fill="white" /> 2332 </svg> 2333 </button> 2334 </li> 2335 <div id="getStartedModal" class="get-started__content hidden"> 2336 <ul> 2337 <li class="get-started__item"> 2338 <a class="get-started__icon" href="/businesses/pricing" data-aa-title="nav-for-business" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For businesses', 'https://www.pluralsight.com/businesses/pricing')"> 2339 <span class="g3p-nav-icon-container"> 2340 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18" fill="none"> 2341 <path 2342 d="M2 18C1.45 18 0.979167 17.8145 0.5875 17.4434C0.195833 17.0724 0 16.6263 0 16.1053V5.68421C0 5.16316 0.195833 4.71711 0.5875 4.34605C0.979167 3.975 1.45 3.78947 2 3.78947H6V1.89474C6 1.37368 6.19583 0.927632 6.5875 0.556579C6.97917 0.185526 7.45 0 8 0H12C12.55 0 13.0208 0.185526 13.4125 0.556579C13.8042 0.927632 14 1.37368 14 1.89474V3.78947H18C18.55 3.78947 19.0208 3.975 19.4125 4.34605C19.8042 4.71711 20 5.16316 20 5.68421V16.1053C20 16.6263 19.8042 17.0724 19.4125 17.4434C19.0208 17.8145 18.55 18 18 18H2ZM8 3.78947H12V1.89474H8V3.78947Z" 2343 fill="#FF1675" /> 2344 </svg> 2345 </span> 2346 <span class="get-started__text">For businesses</span> 2347 </a> 2348 </li> 2349 <li class="get-started__item"> 2350 <a class="get-started__icon" href="/industries/public-sector/pricing" data-aa-title="nav-pubsec" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For public sector', 'https://www.pluralsight.com/industries/public-sector')"> 2351 <span class="g3p-nav-icon-container"> 2352 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2353 <path 2354 d="M2.90301 14.6941V10.2434C2.90301 9.9117 3.01687 9.63169 3.2446 9.40339C3.47248 9.17508 3.74855 9.06093 4.0728 9.06093C4.39706 9.06093 4.6709 9.17508 4.89433 9.40339C5.1176 9.63169 5.22924 9.9117 5.22924 10.2434V14.708C5.22924
235415.0396 5.1176 15.3195 4.89433 15.5478C4.6709 15.7763 4.39706 15.8905 4.0728 15.8905C3.74855 15.8905 3.47248 15.774 3.2446 15.541C3.01687 15.3081 2.90301 15.0259 2.90301 14.6941ZM8.84357 14.708V10.2434C8.84357 9.9117 8.9552 9.63169 9.17848 9.40339C9.40191 9.17508 9.67575 9.06093 10 9.06093C10.3243 9.06093 10.5981 9.17508 10.8215 9.40339C11.0448 9.63169 11.1564 9.9117 11.1564 10.2434V14.708C11.1564 15.0396 11.0448 15.3195 10.8215 15.5478C10.5981 15.7763 10.3243 15.8905 10 15.8905C9.67575 15.8905 9.40191 15.7763 9.17848 15.5478C8.9552 15.3195 8.84357 15.0396 8.84357 14.708ZM1.26425 20C0.913124 20 0.614634 19.8743 0.36878 19.6229C0.122927 19.3715 0 19.0663 0 18.7073C0 18.348 0.122927 18.0428 0.36878 17.7914C0.614634 17.5401 0.913124 17.4145 1.26425 17.4145H18.7357C19.0869 17.4145 19.3854 17.5401 19.6312 17.7914C19.8771 18.0428 20 18.348 20 18.7073C20 19.0663 19.8771 19.3715 19.6312 19.6229C19.3854 19.8743 19.0869 20 18.7357 20H1.26425ZM14.7708 14.6941V10.2434C14.7708 9.9117 14.8847 9.63169 15.1126 9.40339C15.3403 9.17508 15.6163 9.06093 15.9406 9.06093C16.265 9.06093 16.5388 9.17508 16.7621 9.40339C16.9854 9.63169 17.097 9.9117 17.097 10.2434V14.708C17.097 15.0396 16.9854 15.3195 16.7621 15.5478C16.5388 15.7763 16.265 15.8905 15.9406 15.8905C15.6163 15.8905 15.3403 15.774 15.1126 15.541C14.8847 15.3081 14.7708 15.0259 14.7708 14.6941ZM18.6818 7.52329H1.18243C0.854046 7.52329 0.574877 7.40573 0.344926 7.17059C0.114975 6.93546 0 6.65 0 6.31421V5.5571C0 5.32294 0.0594756 5.11098 0.178427 4.92122C0.297378 4.73145 0.455369 4.58209 0.652402 4.47315L8.87171 0.277819C9.22284 0.0926065 9.59894 0 10 0C10.4011 0 10.7772 0.0926065 11.1283 0.277819L19.2729 4.43485C19.5018 4.5438 19.6801 4.70942 19.808 4.9317C19.936 5.15415 20 5.39
235462 20 5.65784V6.16152C20 6.5391 19.8726 6.86042 19.6179 7.12547C19.3629 7.39069 19.0509 7.52329 18.6818 7.52329Z" 2355 fill="#FF1675" /> 2356 </svg> 2357 </span> 2358 <span class="get-started__text">For public sector</span> 2359 </a> 2360 </li> 2361 <li class="get-started__item"> 2362 <a class="get-started__icon" href="/individuals/pricing" data-aa-title="nav-for-individuals" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For individuals', 'https://www.pluralsight.com/individuals/pricing')"> 2363 <span class="g3p-nav-icon-container"> 2364 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"> 2365 <path 2366 d="M9 9C7.7625 9 6.70312 8.55937 5.82187 7.67812C4.94062 6.79688 4.5 5.7375 4.5 4.5C4.5 3.2625 4.94062 2.20312 5.82187 1.32187C6.70312 0.440625 7.7625 0 9 0C10.2375 0 11.2969 0.440625 12.1781 1.32187C13.0594 2.20312 13.5 3.2625 13.5 4.5C13.5 5.7375 13.0594 6.79688 12.1781 7.67812C11.2969 8.55937 10.2375 9 9 9ZM0 15.75V14.85C0 14.2125 0.164062 13.6266 0.492188 13.0922C0.820312 12.5578 1.25625 12.15 1.8 11.8687C2.9625 11.2875 4.14375 10.8516 5.34375 10.5609C6.54375 10.2703 7.7625 10.125 9 10.125C10.2375 10.125 11.4562 10.2703 12.6562 10.5609C13.8562 10.8516 15.0375 11.2875 16.2 11.8687C16.7437 12.15 17.1797 12.5578 17.5078 13.0922C17.8359 13.6266 18 14.2125 18 14.85V15.75C18 16.3687 17.7797 16.8984 17.3391 17.3391C16.8984 17.7797 16.3687 18 15.75 18H2.25C1.63125 18 1.10156 17.7797 0.660937 17.3391C0.220312 16.8984 0 16.3687 0 15.75Z" 2367 fill="#FF1675" /> 2368 </svg> 2369 </span> 2370 <span class="get-started__text">For individuals</span> 2371 </a> 2372 </li> 2373 </ul> 2374 </div> 2375 </ul> 2376 </div> 2377</div> 2378<div class="g3p-nav-mobile--container g3p-nav-mobile_view"> 2379 <div class="g3p-nav-mobile-header"> 2380 <a href="/" class="g3p-nav-mobile-logo" onclick="updateBlogAnalytics('Pluralsight logo', 'Pluralsight logo', 'https://www.pluralsight.com')"> 2381 <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 2382 <path 2383 d="M33.485 19.6594C34.4014 10.9108 28.0522 3.07577 19.3036 2.15935C10.5551 1.24293 2.72004 7.59213 1.80362 16.3407C0.887196 25.0893 7.23641 32.9243 15.985 33.8407C24.7335 34.7572 32.5686 28.4079 33.485 19.6594Z" 2384 fill="#FF1675" /> 2385 <path 2386 d="M9.97119 25.0059L13.4773 22.9812V26.9279L28.9412 18.0013L13.4773 9.07471V13.0214L9.97119 10.9968V25.0059ZM15.0803 15.7982L18.8978 18.0013L15.0803 20.2045V15.7982ZM15.0803 22.0582L15.1258 22.0316L22.1038 18.0013L15.0803 13.9445V11.8515L25.7314 18.0013L15.0803 24.1512V22.0582ZM11.5742 13.7735L13.4735 14.8713V21.1313L11.5742 22.2291V13.7735Z" 2387 fill="white" /> 2388 </svg> 2389 <svg xmlns="http://www.w3.org/2000/svg" width="98" height="20" viewBox="0 0 98 20" fill="none"> 2390 <path 2391 d="M0.144409 15.2236V0.835976H5.50025C8.24734 0.835976 10.4213 3.00993 10.4213 5.63845C10.4213 8.26696 8.24734 10.4212 5.50025 10.4212H2.8915V15.2236H0.144409ZM2.8915 7.8124H5.50025C6.64652 7.8124 7.67421 6.78471 7.67421 5.63845C7.67421 4.49218 6.64652 3.46449 5.50025 3.46449H2.8915V7.8124Z" 2392 fill="#130F25" /> 2393 <path d="M12.3562 15.2236V0.835976H14.965V15.2236H12.3562Z" fill="#130F25" /> 2394 <path 2395 d="M21.6996 15.3422C19.1897 15.3422 17.4901 13.6228 17.4901 10.8955V4.72934H20.0988V10.5397C20.0988 11.9232 21.0277 12.8323 22.2728 12.8323C23.5376 12.8323 24.4467 11.9232 24.4467 10.5397V4.72934H27.0752V15.2236H25.1187L24.6641 14.1959C24.6641 14.1959 23.419 15.3422 21.6996 15.3422Z" 2396 fill="#130F25" /> 2397 <path 2398 d="M29.5912 15.2236V4.72934H31.528L31.9825 5.85584C31.9825 5.85584 32.8917 4.61076 34.4925 4.61076C34.947 4.61076 35.283 4.72934 35.283 4.72934V7.45666C35.283 7.45666 34.947 7.35785 34.3739 7.35785C33.1288 7.35785 32.1999 8.26696 32.1999 9.63062V15.2236H29.5912Z" 2399 fill="#130F25" /> 2400 <path 2401 d="M40.0657 15.3422C37.7929 15.3422 36.5281 14.0774 36.5281 12.3777C36.5281 10.3223 38.0103 8.84009 42.8128 8.84009C42.8128 7.69382 42.1211 7.00211 41.0934 7.00211C39.7297 7.00211 39.5123 8.14838 39.5123 8.14838H36.8838C37.1012 6.21158 38.702 4.61076 41.3306 4.61076C43.7219 4.61076 45.4413 6.33016 45.4413 8.72151V15.2236H43.5045L43.05 14.1959C43.05 14.1959 41.9037 15.3422 40.0657 15.3422ZM40.54 13.2868C41.9037 13.2868 42.8128 12.3777 42.8128 11.1129V10.6583C39.7297 10.6583 39.1566 11.2314 39.1566 12.1406C39.1566 12.7137 39.7297 13.2868 40.54 13.2868Z" 2402 fill="#130F25" /> 2403 <path d="M47.849 15.2236V0.835976H50.4578V15.2236H47.849Z" fill="#130F25" /> 2404 <path 2405 d="M56.7379 15.3422C53.9908 15.3422 52.6271 13.9588 52.4097 11.9232H54.9196C55.0185 12.5951 55.5916 13.1682 56.5205 13.1682C57.4296 13.1682 58.0027 12.5951 58.0027 12.022C58.0027 10.5397 52.6271 11.4488 52.6271 7.8124C52.6271 6.093 54.1093 4.61076 56.4019 4.61076C58.9118 4.61076 60.2755 5.97442 60.5126 7.8124H58.0027C57.8841 7.35785 57.311 6.78471 56.5205 6.78471C55.7102 6.78471 55.2556 7.23927 55.2556 7.8124C55.2556 9.29465 60.6115 8.38554 60.6115 12.1406C60.6115 13.86 59.1292 15.3422 56.7379 15.3422Z" 2406 fill="#130F25" /> 2407 <path 2408 d="M62.575 15.2236V4.72934H65.1837V15.2236H62.575ZM63.9386 3.46449C63.1283 3.46449 62.4564 2.79254 62.4564 1.98224C62.4564 1.19171 63.1283 0.5 63.9386 0.5C64.7292 0.5 65.4209 1.19171 65.4209 1.98224C65.4209 2.79254 64.7292 3.46449 63.9386 3.46449Z" 2409 fill="#130F25" /> 2410 <path 2411 d="M72.2741 19.0972C68.3807 19.0972 67.5902 15.6782 67.5902 15.6782H70.2187C70.2187 15.6782 70.6733 16.7059 72.2741 16.70
241159C73.7563 16.7059 74.6654 15.7968 74.6654 14.5319V13.7414C74.6654 13.7414 73.6378 14.8876 71.9184 14.8876C69.2898 14.8876 67.1357 12.7137 67.1357 9.7492C67.1357 6.78471 69.2898 4.61076 71.9184 4.61076C73.7563 4.61076 74.8828 5.75702 74.8828 5.75702L75.3374 4.72934H77.294V14.5319C77.294 17.279 75.456 19.0972 72.2741 19.0972ZM72.2741 12.3777C73.6378 12.3777 74.784 11.2314 74.784 9.7492C74.784 8.26696 73.6378 7.12069 72.2741 7.12069C70.8907 7.12069 69.7444 8.26696 69.7444 9.7492C69.7444 11.2314 70.8907 12.3777 72.2741 12.3777Z" 2412 fill="#130F25" /> 2413 <path 2414 d="M79.8099 15.2236V0.835976H82.4187V5.75702C82.4187 5.75702 83.3475 4.61076 85.3831 4.61076C87.6757 4.61076 89.3951 6.33016 89.3951 9.05749V15.2236H86.7666V9.39346C86.7666 8.0298 85.8575 7.12069 84.5926 7.12069C83.3475 7.12069 82.4187 8.0298 82.4187 9.39346V15.2236H79.8099Z" 2415 fill="#130F25" /> 2416 <path 2417 d="M96.1234 15.3422C94.068 15.3422 92.5858 13.86 92.5858 11.5674V7.12069H90.9849V4.94673H91.6767C92.4672 4.94673 92.9217 4.49218 92.9217 3.70165V2.2194H95.2143V4.72934H97.4871V7.12069H95.2143V11.4488C95.2143 12.3777 95.7874 12.9508 96.6965 12.9508C97.1511 12.9508 97.3685 12.8323 97.3685 12.8323V15.105C97.3685 15.105 96.8151 15.3422 96.1234 15.3422Z" 2418 fill="#130F25" /> 2419 </svg> 2420</a> 2421 <span class="g3p-nav-mobile-hamburger"> 2422 <!-- <img id="menuIcon" src="/content/dam/ps-nav-assets/g3p-nav-updates/hamburger.png" alt="Hamburger Icon" /> --> 2423 <button id="menuIcon" type="button" aria-label="Open menu" aria-expanded="false" class="g3p-menu-btn"> 2424 <!-- Hamburger --> 2425 <svg class="icon icon-ham" xmlns="http://www.w3.org/2000/svg" width="18" height="12" viewBox="0 0 18 12" fill="none"> 2426 <path d="M1 12C0.716667 12 0.479167 11.9042 0.2875 11.7125C0.0958333 11.5208 0 11.2833 0 11C0 10.7167 0.0958333 10.4792 0.2875 10.2875C0.479167 10.0958 0.716667 10 1 10H17C17.2833 10 17.5208 10.0958 17.7125 10.2875C17.9042 10.4792 18 10.7167 18 11C18 11.2833 17.9042 11.5208 17.7125 11.7125C17.5208 11.9042 17.2833 12 17 12H1ZM1 7C0.716667 7 0.479167 6.90417 0.2875 6.7125C0.0958333 6.52083 0 6.28333 0 6C0 5.71667 0.0958333 5.47917 0.2875 5.2875C0.479167 5.09583 0.716667 5 1 5H17C17.2833 5 17.5208 5.09583 17.7125 5.2875C17.9042 5.47917 18 5.71667 18 6C18 6.28333 17.9042 6.52083 17.7125 6.7125C17.5208 6.90417 17.2833 7 17 7H1ZM1 2C0.716667 2 0.479167 1.90417 0.2875 1.7125C0.0958333 1.52083 0 1.28333 0 1C0 0.716667 0.0958333 0.479167 0.2875 0.2875C0.479167 0.0958333 0.716667 0 1 0H17C17.2833 0 17.5208 0.0958333 17.7125 0.2875C17.9042 0.479167 18 0.716667 18 1C18 1.28333 17.9042 1.52083 17.7125 1.7125C17.5208 1.90417 17.2833 2 17 2H1Z" fill="#130F25"/> 2427 </svg> 2428 2429 <!-- Close --> 2430 <svg class="icon icon-close is-hidden" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none" hidden> 2431 <path d="M7 8.49049L1.78327 13.7072C1.58809 13.9024 1.33967 14 1.03802 14C0.736375 14 0.487959 13.9024 0.292776 13.7072C0.0975919 13.512 0 13.2636 0 12.962C0 12.6603 0.0975919 12.4119 0.292776 12.2167L5.50951 7L0.292776 1.78327C0.0975919 1.58809 0 1.33967 0 1.03802C0 0.736375 0.0975919 0.487959 0.292776 0.292776C0.487959 0.0975919 0.736375 0 1.03802 0C1.33967 0 1.58809 0.0975919 1.78327 0.292776L7 5.50951L12.2167 0.292776C12.4119 0.0975919 12.6603 0 12.962 0C13.2636 0 13.512 0.0975919 13.7072 0.292776C13.9024 0.487959 14 0.736375 14 1.03802C14 1.33967 13.9024 1.58809 13.7072 1.78327L8.49049 7L13.7072 12.2167C13.9024 12.4119 14 12.6603 14 12.962C14 13.2636 13.9024 13.512 13.7072 13.7072C13.512 13.9024 13.2636 14 12.962 14C12.6603 14 12.4119 13.9024 12.2167 13.7072L7 8.49049Z" fill="#130F25"/> 2432 </svg> 2433</button> 2434 </span> 2435 </div> 2436 <div class="g3p-main-container--overlay hidden"> 2437 <div id="mobileMainModal" class="g3p-nav-mobile__main-modal hidden"> 2438 <div class="nav-search section"> 2439 <div id="mobile_header_tabs--search" 2440 class="nav-search-container nav-dropdown-container header_tabs_content--container"> 2441 <div class="header_tabs_content--container g3p_header_tabs_content--container"> 2442 <div class="header_nav--menu header_nav_search"> 2443 <div class="header_search search-button__component"> 2444 <form id="mobile_header_searchForm" class="header_search--form" data-gtm-form-interact-id="0"> 2445 <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewB
2445ox="0 0 15 16" fill="none"> 2446 <path fill-rule="evenodd" clip-rule="evenodd" 2447 d="M14.6389 14.7298C14.7866 14.582 14.7866 14.3426 14.639 14.1949L10.8271 10.3823C11.6508 9.32639 12.1024 8.03667 12.1024 6.67594C12.1024 5.05955 11.4723 3.5414 10.3294 2.39775C9.18648 1.2541 7.66758 0.624756 6.05119 0.624756C4.43479 0.624756 2.91516 1.2541 1.77299 2.39775C0.629347 3.5414 0 5.05955 0 6.67594C0 8.29234 0.629347 9.81197 1.77299 10.9541C2.91516 12.0978 4.43479 12.7271 6.05119 12.7271C7.41191 12.7271 8.70163 12.2764 9.75756 11.4526L13.5694 15.2645C13.7171 15.4121 13.9565 15.4121 14.1043 15.2645L14.6389 14.7298ZM9.25979 9.88538C8.40284 10.7423 7.26298 11.2143 6.05119 11.2143C4.83866 11.2143 3.69954 10.7423 2.84259 9.88538C1.98481 9.02833 1.5128 7.88847 1.5128 6.67594C1.5128 5.46416 1.98481 4.32429 2.84259 3.46734C3.69954 2.60956 4.83866 2.13755 6.05119 2.13755C7.26298 2.13755 8.40284 2.60956 9.25979 3.46734C10.1176 4.32429 10.5896 5.46416 10.5896 6.67594C10.5896 7.88847 10.1176 9.02833 9.25979 9.88538Z" 2448 fill="#130F25" /> 2449 </svg> 2450 <input type="text" name="q" class="mobile_header_search--input" 2451 placeholder="Search the blog" autocomplete="off" data-gtm-form-interact-id="0" /> 2452 </form> 2453 <a href="/resources/blog/browse" class="hidden header_search--url"></a> 2454 </div> 2455 </div> 2456 2457 <div id="mobile_header-search-results-all" class="header_tabs_content--container nav-search-item"> 2458 <div id="search-menu__results-dropdown" class="nav-search-result"> 2459 <div id="header_dropdown--resultList"></div> 2460 </div> 2461 </div> 2462 </div> 2463 </div> 2464 2465
2465<script id="header-search-categories-templates-partial" type="text/x-handlebars-template"> 2466 {{#compare this.name "===" "courses"}} 2467 <ul class="header_dropdown--lists"> 2468 <li class="first li-list">{{{this.name}}}</li> 2469 {{#each this.results}} 2470 <li><a href="{{formatCourseURL this.courseName 'course'}}">{{{this.title}}}</a></li> 2471 {{/each}} 2472 <li class="last li-list"><a class="view-all-link" data-tab-param="{{mapResultSetNameToTabName this.name}}" data-categories="{{this.name}}">See more results</a></li> 2473 </ul> 2474 {{/compare}} 2475 </script>
2475 2476 </div> 2477 <div class="mobile-nav--signin-and-contact" style="position: relative"> 2478 <ul> 2479 <li> 2480 <!-- <a href="#" class="mobile-nav--signin"> --> 2481 <a href="https://app.pluralsight.com/id" data-aa-title="UN-Skills Sign In" class="mobile-nav--signin" onclick="updateBlogAnalytics('Sign in', 'Sign in to Pluralsight', 'https://app.pluralsight.com/id')"> 2482 <span class="g3p-nav-user-icon"> 2483 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2484 <path fill-rule="evenodd" clip-rule="evenodd" 2485 d="M10 19.9999C15.5229 19.9999 20 15.5228 20 10C20 4.47716 15.5229 0 10 0C4.47716 0 0 4.47716 0 10C0 15.5228 4.47716 19.9999 10 19.9999ZM13.5713 7.14286C13.5713 9.1153 11.9723 10.7143 9.9999 10.7143C8.02746 10.7143 6.42847 9.1153 6.42847 7.14286C6.42847 5.17042 8.02746 3.57143 9.9999 3.57143C11.9723 3.57143 13.5713 5.17042 13.5713 7.14286ZM9.9999 12.8571C12.269 12.8571 14.3134 13.819 15.7477 15.3572C14.3134 16.8954 12.269 17.8571 9.99997 17.8571C7.73091 17.8571 5.68651 16.8954 4.25223 15.3571C5.68651 13.819 7.73089 12.8571 9.9999 12.8571Z" 2486 fill="#45424D" /> 2487 </svg> 2488 </span> 2489 <span class="mobile-nav--signin-text">Sign in</span> 2490 </a> 2491 </li> 2492 </ul> 2493 </div> 2494 <div class="g3p-mobile-main-nav"> 2495 <div class="g3p-mobile-navs"> 2496 <div class="g3p-mobile--full_width"> 2497 <a class="g3p-mobile-navs-header" href="/resources/blog" data-aa-title="blog-nav-explore" data-ps-analytics="blog-nav|Explore|https://www.pluralsight.com/resources/blog" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Explore', 'https://www.pluralsight.com/resources/blog')"> 2498 <span class="g3p-mobile-navs-header--text">Explore</span> 2499 </a> 2500 </div> 2501 <div class="g3p-mobile--full_width"> 2502 <a class="g3p-mobile-navs-header" href="/resources/blog/software-development" data-aa-title="blog-nav-software-dev" data-ps-analytics="blog-nav|Software dev|https://www.pluralsight.com/resources/blog/software-development" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Software dev', 'https://www.pluralsight.com/resources/blog/software-development')"> 2503 <span class="g3p-mobile-navs-header--text">Software dev</span> 2504 </a> 2505 </div> 2506 <div class="g3p-mobile--full_width"> 2507 <a class="g3p-mobile-navs-header" href="/resources/blog/cloud" data-aa-title="blog-nav-cloud" data-ps-analytics="blog-nav|Cloud|https://www.pluralsight.com/resources/blog/cloud" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Cloud', 'https://www.pluralsight.com/resources/blog/cloud')"> 2508 <span class="g3p-mobile-navs-header--text">Cloud</span> 2509 </a> 2510 </div> 2511 <div class="g3p-mobile--full_width"> 2512 <a class="g3p-mobile-navs-header" href="/resources/blog/tech-operations" data-aa-title="blog-nav-tech-operations" data-ps-analytics="blog-nav|Tech Operations|https://www.pluralsight.com/resources/blog/tech-operations" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Tech Operations', 'https://www.pluralsight.com/resources/blog/tech-operations')"> 2513 <span class="g3p-mobile-navs-header--text">Tech Operations</span> 2514 </a> 2515 </div> 2516 <div class="g3p-mobile--full_width"> 2517 <a class="g3p-mobile-navs-header" href="/resources/blog/ai-and-data" data-aa-title="blog-nav-ai-and-data" data-ps-analytics="blog-nav|AI & Data|https://www.pluralsight.com/resources/blog/ai-and-data" onclick="updateBlogAnalytics('Main Blog Nav Header', 'AI & Data', 'https://www.pluralsight.com/resources/blog/ai-and-data')"> 2518 <span class="g3p-mobile-navs-header--text">AI & Data</span> 2519 </a> 2520 </div> 2521 <div class="g3p-mobile--full_width"> 2522 <a class="g3p-mobile-navs-header" href="/resources/blog/cybersecurity" data-aa-title="blog-nav-cybersecurity" data-ps-analytics="blog-nav|Cybersecurity|https://www.pluralsight.com/resources/blog/cybersecurity" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Cybersecurity', 'https://www.pluralsight.com/resources/blog/cybersecurity')">
2523 <span class="g3p-mobile-navs-header--text">Cybersecurity</span> 2524 </a> 2525 </div> 2526 </div> 2527 <!-- Fixed View plans Button --> 2528 <div class="g3p-mobile-get-started"> 2529 <div class="g3p-mobile-get-started--block" id="getStartedMobile" data-aa-title="ps-nav-get-started" 2530 data-ps-analytics="ps-nav|View plans"> 2531 <span class="g3p-nav-get-started--text g3p-arrow-icon" id="getStartedMobileSchevron"> 2532 <span>View plans</span> 2533 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6" fill="none"> 2534 <path 2535 d="M4.58333 5.70841C4.47372 5.70841 4.37095 5.69119 4.27504 5.65673C4.17912 5.62227 4.09006 5.56369 4.00785 5.481L0.226084 1.67693C0.0753612 1.52531 0 1.33235 0 1.09805C0 0.863737 0.0753612 0.670777 0.226084 0.519165C0.376806 0.367554 0.568635 0.291748 0.801569 0.291748C1.0345 0.291748 1.22633 0.367554 1.37706 0.519165L4.58333 3.74436L7.78961 0.519165C7.94033 0.367554 8.13216 0.291748 8.3651 0.291748C8.59803 0.291748 8.78986 0.367554 8.94058 0.519165C9.0913 0.670777 9.16667 0.863737 9.16667 1.09805C9.16667 1.33235 9.0913 1.52531 8.94058 1.67693L5.15882 5.481C5.07661 5.56369 4.98754 5.62227 4.89163 5.65673C4.79571 5.69119 4.69295 5.70841 4.58333 5.70841Z" 2536 fill="white" /> 2537 </svg> 2538 </span> 2539 </div> 2540 <div class="g3p-mobile-contact-sales--block"> 2541 <a class="g3p-nav-contact-sales-mobile contact-sales ps-button" href="/contact-sales" data-aa-title="nav-contact-sales" data-ps-analytics="blog-nav|Contact sales|contact-sales" onclick="updateBlogAnalytics('Main Blog Nav Header', 'Contact sales', 'https://www.pluralsight.com/contact-sales')">Contact 2542 sales</a> 2543 </div> 2544 </div> 2545 2546 <!-- Modal and Overlay --> 2547 <div class="g3p-mobile-get-started-modal" id="mobileGetStartedModal"> 2548 <div class="g3p-mobile-overlay" id="mobileOverlay"></div> 2549 <div class="g3p-mobile-get-started-modal--content"> 2550 <div class="g3p-mobile-get-started-modal--block"> 2551 <div class="g3p-mobile-get-started-modal--item-block"> 2552 <a class="get-started__icon" href="/businesses/pricing" data-aa-title="nav-for-business" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For businesses', 'https://www.pluralsight.com/businesses/pricing')"> 2553 <span class="g3p-nav-icon-container"> 2554 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18" fill="none"> 2555 <path d="M2 18C1.45 18 0.979167 17.8145 0.5875 17.4434C0.195833 17.0724 0 16.6263 0 16.1053V5.68421C0 5.16316 0.195833 4.71711 0.5875 4.34605C0.979167 3.975 1.45 3.78947 2 3.78947H6V1.89474C6 1.37368 6.19583 0.927632 6.5875 0.556579C6.97917 0.185526 7.45 0 8 0H12C12.55 0 13.0208 0.185526 13.4125 0.556579C13.8042 0.927632 14 1.37368 14 1.89474V3.78947H18C18.55 3.78947 19.0208 3.975 19.4125 4.34605C19.8042 4.71711 20 5.16316 20 5.68421V16.1053C20 16.6263 19.8042 17.0724 19.4125 17.4434C19.0208 17.8145 18.55 18 18 18H2ZM8 3.78947H12V1.89474H8V3.78947Z" fill="#FF1675"/> 2556</svg> 2557 </span> 2558 <span class="get-started__text">For businesses</span> 2559 </a> 2560 </div> 2561 <div class="g3p-mobile-get-started-modal--item-block"> 2562 <a class="get-started__icon" href="/industries/public-sector/pricing" data-aa-title="nav-pubsec" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For public sector', 'https://www.pluralsight.com/industries/public-sector')"> 2563 <span class="g3p-nav-icon-container"> 2564 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2565 <path d="M2.90301 14.6941V10.2434C2.90301 9.9117 3.01687 9.63169 3.2446 9.40339C3.47248 9.17508 3.74855 9.06093 4.0728 9.06093C4.39706 9.06093 4.6709 9.17508 4.89433 9.40339C5.1176 9.63169 5.22924 9.9117 5.22924 10.2434V14.708C5.22924
256515.0396 5.1176 15.3195 4.89433 15.5478C4.6709 15.7763 4.39706 15.8905 4.0728 15.8905C3.74855 15.8905 3.47248 15.774 3.2446 15.541C3.01687 15.3081 2.90301 15.0259 2.90301 14.6941ZM8.84357 14.708V10.2434C8.84357 9.9117 8.9552 9.63169 9.17848 9.40339C9.40191 9.17508 9.67575 9.06093 10 9.06093C10.3243 9.06093 10.5981 9.17508 10.8215 9.40339C11.0448 9.63169 11.1564 9.9117 11.1564 10.2434V14.708C11.1564 15.0396 11.0448 15.3195 10.8215 15.5478C10.5981 15.7763 10.3243 15.8905 10 15.8905C9.67575 15.8905 9.40191 15.7763 9.17848 15.5478C8.9552 15.3195 8.84357 15.0396 8.84357 14.708ZM1.26425 20C0.913124 20 0.614634 19.8743 0.36878 19.6229C0.122927 19.3715 0 19.0663 0 18.7073C0 18.348 0.122927 18.0428 0.36878 17.7914C0.614634 17.5401 0.913124 17.4145 1.26425 17.4145H18.7357C19.0869 17.4145 19.3854 17.5401 19.6312 17.7914C19.8771 18.0428 20 18.348 20 18.7073C20 19.0663 19.8771 19.3715 19.6312 19.6229C19.3854 19.8743 19.0869 20 18.7357 20H1.26425ZM14.7708 14.6941V10.2434C14.7708 9.9117 14.8847 9.63169 15.1126 9.40339C15.3403 9.17508 15.6163 9.06093 15.9406 9.06093C16.265 9.06093 16.5388 9.17508 16.7621 9.40339C16.9854 9.63169 17.097 9.9117 17.097 10.2434V14.708C17.097 15.0396 16.9854 15.3195 16.7621 15.5478C16.5388 15.7763 16.265 15.8905 15.9406 15.8905C15.6163 15.8905 15.3403 15.774 15.1126 15.541C14.8847 15.3081 14.7708 15.0259 14.7708 14.6941ZM18.6818 7.52329H1.18243C0.854046 7.52329 0.574877 7.40573 0.344926 7.17059C0.114975 6.93546 0 6.65 0 6.31421V5.5571C0 5.32294 0.0594756 5.11098 0.178427 4.92122C0.297378 4.73145 0.455369 4.58209 0.652402 4.47315L8.87171 0.277819C9.22284 0.0926065 9.59894 0 10 0C10.4011 0 10.7772 0.0926065 11.1283 0.277819L19.2729 4.43485C19.5018 4.5438 19.6801 4.70942 19.808 4.9317C19.936 5.15415 20 5.39
256562 20 5.65784V6.16152C20 6.5391 19.8726 6.86042 19.6179 7.12547C19.3629 7.39069 19.0509 7.52329 18.6818 7.52329Z" fill="#FF1675"/> 2566</svg> 2567 </span> 2568 <span class="get-started__text">For public sector</span> 2569 </a> 2570 </div> 2571 <div class="g3p-mobile-get-started-modal--item-block"> 2572 <a class="get-started__icon" href="/individuals/pricing" data-aa-title="nav-for-individuals" previewlistener="true" onclick="updateBlogAnalytics('View plans', 'For individuals', 'https://www.pluralsight.com/individuals/pricing')"> 2573 <span class="g3p-nav-icon-container"> 2574 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"> 2575 <path d="M9 9C7.7625 9 6.70312 8.55937 5.82187 7.67812C4.94062 6.79688 4.5 5.7375 4.5 4.5C4.5 3.2625 4.94062 2.20312 5.82187 1.32187C6.70312 0.440625 7.7625 0 9 0C10.2375 0 11.2969 0.440625 12.1781 1.32187C13.0594 2.20312 13.5 3.2625 13.5 4.5C13.5 5.7375 13.0594 6.79688 12.1781 7.67812C11.2969 8.55937 10.2375 9 9 9ZM0 15.75V14.85C0 14.2125 0.164062 13.6266 0.492188 13.0922C0.820312 12.5578 1.25625 12.15 1.8 11.8687C2.9625 11.2875 4.14375 10.8516 5.34375 10.5609C6.54375 10.2703 7.7625 10.125 9 10.125C10.2375 10.125 11.4562 10.2703 12.6562 10.5609C13.8562 10.8516 15.0375 11.2875 16.2 11.8687C16.7437 12.15 17.1797 12.5578 17.5078 13.0922C17.8359 13.6266 18 14.2125 18 14.85V15.75C18 16.3687 17.7797 16.8984 17.3391 17.3391C16.8984 17.7797 16.3687 18 15.75 18H2.25C1.63125 18 1.10156 17.7797 0.660937 17.3391C0.220312 16.8984 0 16.3687 0 15.75Z" fill="#FF1675"/> 2576</svg> 2577 </span> 2578 <span class="get-started__text">For individuals</span> 2579 </a> 2580 </div> 2581 </div> 2582 </div> 2583 </div> 2584 </div> 2585 </div> 2586 </div> 2587 </div> 2588 2589 2590
2590<script type="text/javascript"> 2591 const $globalNav = jQuery(".g3p-main-nav-header, .g3p-nav-mobile_view"); 2592const navMobileHeader = document.querySelector(".g3p-nav-mobile-header"); 2593const signinWrapper = document.querySelector(".g3p-signin-wrapper"); 2594// const menuDropdownPanel = document.querySelector(".menu-dropdown-panel-signin"); 2595// const signinCaret = document.querySelector(".g3p-signin-caret"); 2596const searchResultsDiv = document.getElementById("header-search-results-all"); 2597const mobileSearchResultsDiv = document.getElementById("mobile_header-search-results-all"); 2598const toggleButton = document.getElementById("toggleGetStarted"); 2599const getStartedModal = document.getElementById("getStartedModal"); 2600const menuIcon = document.getElementById("menuIcon"); 2601const mainModal = document.getElementById("mobileMainModal"); 2602const getStartedButton = document.getElementById("getStartedMobile"); 2603const bottomNavButtons = document.querySelector(".g3p-mobile-get-started"); 2604const modal = document.getElementById("mobileGetStartedModal"); 2605const overlay = document.getElementById("mobileOverlay"); 2606const getStartedMobileBtn = document.getElementById("getStartedMobileSchevron"); 2607// const signInLink = document.querySelector(".mobile-nav--signin"); 2608const signInOverlay = document.querySelector(".menu-dropdown-panel--overlay"); 2609// const chevronSignIn = document.querySelector(".mobile-nav--signin-chevron"); 2610// const textSignIn = document.querySelector(".mobile-nav--signin-text"); 2611// const signInModal = document.getElementById("signInModal"); 2612const contactSalesModal = document.querySelector(`.main-header-dialog-modal`); 2613const closeModalButton = document.querySelectorAll(".dialog-close-button"); 2614const mainOverlay = document.querySelector(".g3p-main-container--overlay"); 2615let $searchForm = jQuery("#header_searchForm, #mobile_header_searchForm"); 2616let $headerNav = $searchForm.parents(".g3p-main-nav-header, .g3p-nav-mobile_view"); 2617let $searchWrapper = $headerNav.find(".header_nav_search"); 2618let $searchPopout = $headerNav.closest(".menu-dropdown-panel"); 2619let $searchInput1 = $searchForm.find(".header_search--input"); 2620let $mobileSearchInput = $searchForm.find(".mobile_header_search--input"); 2621let searchTerm = ""; 2622let $resultsTarget1 = $searchForm 2623 .parents(".search-button__component") 2624 .parent(".header_nav_search") 2625 .siblings(".header_tabs_content--container") 2626 .find("#header_dropdown--resultList"); 2627let minChars = 3; 2628let searchOpen = false; 2629let timer = null; 2630const searchText = document.querySelector(".header_search--input"); 2631const mobileSearchText = document.querySelector(".mobile_header_search--input"); 2632const blogMetaPath = document.querySelector('meta[name="cludo:content-path"]')?.getAttribute("content"); 2633let linkPageVal = ""; 2634if (blogMetaPath.split("/en/").length > 1) { 2635 linkPageVal = blogMetaPath.split("/en/")[1].includes("/") 2636 ? blogMetaPath.split("/en/")[1].split("/")[0] 2637 : blogMetaPath.split("/en/")[1]; 2638} else { 2639 linkPageVal = "Homepage"; 2640} 2641 2642function getTotalNavHeight() { 2643 const promoBanner = document.querySelector('.promo-banner'); 2644 const mainHeader = document.querySelector('.g3p-main-nav-header'); 2645 const navContainer = document.querySelector('.g3p-main-nav--container.g3p-nav-desktop_view'); 2646 2647 let totalHeight = 0; 2648 2649 // The elements that are *always* fixed/visible, even after the banner scrolls out 2650 const persistentElements = [mainHeader, navContainer]; 2651 2652 // Before scrolling, or if the promo banner is still in view 2653 if (promoBanner && window.scrollY < promoBanner.offsetHeight) { 2654 totalHeight += promoBanner.offsetHeight; 2655 } 2656 2657 // Add the height of the persistent navigation elements 2658 persistentElements.forEach(el => { 2659 if (el) { 2660 totalHeight += el.offsetHeight; 2661 } 2662 }); 2663 2664 return totalHeight; 2665} 2666 2667let promoBelowHeaderOnSignIn = null; // null = not calculated yet 2668 2669function isPromoBelowHeaderOnLoad({ promoBanner, mainHeader }) { 2670 if (!promoBanner || !mainHeader) return false; 2671 2672 const promoRect = promoBanner.getBoundingClientRect(); 2673 const headerRect = mainHeader.getBoundingClientRect(); 2674
2675 const promoTopDoc = promoRect.top + window.scrollY; 2676 const headerBottomDoc = headerRect.bottom + window.scrollY; 2677 2678 // "Below" = promo's top is at or below header's bottom 2679 return promoTopDoc >= headerBottomDoc; 2680} 2681 2682function getTotalNavHeightforSignIn() { 2683 const promoBanner = document.querySelector('.promo-banner'); 2684 const mainHeader = document.querySelector('.g3p-main-nav-header'); 2685 2686 let totalHeight = 0; 2687 2688 // Decide once per page load whether promo is *below* the header 2689 if (promoBelowHeaderOnSignIn === null && promoBanner && mainHeader) { 2690 promoBelowHeaderOnSignIn = isPromoBelowHeaderOnLoad({ 2691 promoBanner, 2692 mainHeader, 2693 }); 2694 } 2695 2696 console.log('test', promoBelowHeaderOnSignIn); 2697 if (!promoBelowHeaderOnSignIn && promoBanner && window.scrollY < promoBanner.offsetHeight) { 2698 totalHeight += promoBanner.offsetHeight; 2699 } 2700 2701 // Add header + nav container (both are part of the sticky nav stack) 2702 if (mainHeader) { 2703 totalHeight += mainHeader.offsetHeight; 2704 } 2705 2706 return totalHeight; 2707} 2708 2709 2710window.addEventListener('scroll', () => { 2711 const newHeight = getTotalNavHeight(); 2712 document.documentElement.style.setProperty('--nav-height', `${newHeight}px`); 2713}); 2714 2715// Function to update the padding or CSS variable 2716function updateNavHeightForSignIn() { 2717 const newHeight = getTotalNavHeightforSignIn(); 2718 document.documentElement.style.setProperty('--nav-sign-in-height', `${newHeight}px`); 2719} 2720 2721// Attach the listener 2722window.addEventListener('scroll', updateNavHeightForSignIn); 2723updateNavHeightForSignIn(); 2724const initialHeight = getTotalNavHeight(); 2725document.documentElement.style.setProperty('--nav-height', `${initialHeight}px`); 2726 2727 2728// Function to toggle the dropdown panel 2729function toggleDropdown(event) { 2730 // Stop event propagation to avoid triggering the document click listener 2731 event.stopPropagation(); 2732 2733 // Toggle the visibility of the dropdown panel 2734 // menuDropdownPanel.style.display = menuDropdownPanel.style.display === "block" ? "none" : "block"; 2735 if (getStartedModal.classList.contains("hidden") === false) { 2736 signInOverlay.classList.add("hidden"); 2737 } 2738 getStartedModal.classList.add("hidden"); 2739 toggleButton.classList.remove("active"); 2740 signInOverlay.classList.toggle("hidden"); 2741 const bannerHeight = document.querySelector('.promo-banner__container.is-visible')?.getBoundingClientRect().height || 0; 2742 signInOverlay.style.top = getTotalNavHeightforSignIn() + bannerHeight + "px"; 2743 // Handle body scroll 2744 // if (menuDropdownPanel.style.display === "block") { 2745 // $("body").css("overflow", "hidden"); 2746 // } else { 2747 // $("body").css("overflow", "auto"); 2748 // } 2749 // Add styles for the container 2750 searchResultsDiv.style.display = "none"; 2751 mobileSearchResultsDiv.style.display = "none"; 2752 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css("border-bottom-left-radius", "20px"); 2753 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2754 "border-bottom-right-radius", 2755 "20px" 2756 ); 2757 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2758 "border-bottom", 2759 "1px solid #130f25" 2760 ); 2761 2762 // Toggle the rotation class on the caret 2763 // signinCaret.classList.toggle("rotated"); 2764 const isFirefox = navigator.userAgent.toLowerCase().includes("firefox"); 2765 // const focusableElements = menuDropdownPanel.querySelectorAll("[href]"); 2766 2767 if (focusableElements.length > 0 && !isFirefox) { 2768 focusableElements[0].focus(); // Focus the first focusable element in the modal 2769 } 2770 2771 // if (menuDropdownPanel.style.display === "block") { 2772 // trapFocusSignIn(menuDropdownPanel); 2773 // } 2774} 2775 2776// function trapFocusSignIn(modal) { 2777// const focusableElements = modal.querySelectorAll("a, button, input, textarea, select"); 2778// if (focusableElements.length === 0) return; 2779 2780// const firstElement = focusableElements[0];
2781// const lastElement = focusableElements[focusableElements.length - 1]; 2782 2783// // Event listener for Tab key navigation 2784// modal.addEventListener("keydown", function (event) { 2785// if (event.key === "Tab") { 2786// if (event.shiftKey && document.activeElement === firstElement) { 2787// // Close modal when Shift + Tab is pressed on the first focusable element 2788// closeSignInModal(); 2789// event.preventDefault(); 2790// } else if (!event.shiftKey && document.activeElement === lastElement) { 2791// // Close modal when Tab is pressed on the last focusable element 2792// closeSignInModal(); 2793// event.preventDefault(); 2794// } 2795// } else if (event.key === "Escape") { 2796// closeSignInModal(); 2797// event.preventDefault(); 2798// } 2799// }); 2800// } 2801 2802// Function to close Sign In Modal 2803// function closeSignInModal() { 2804// // menuDropdownPanel.style.display = "none"; 2805// signInOverlay.classList.add("hidden"); 2806// $("body").css("overflow", "auto"); 2807// // signinCaret.classList.remove("rotated"); 2808// } 2809 2810// Event listener for click 2811// signinWrapper.addEventListener("click", function (event) { 2812// if ( 2813// event.target.classList.contains("g3p-signin-text") || 2814// event.target.tagName === "svg" || 2815// event.target.tagName === "path" 2816// ) 2817// toggleDropdown(event); 2818// }); 2819 2820// // Event listener for keydown 2821// signinWrapper.addEventListener("keydown", function (event) { 2822// // Check if the Enter key is pressed 2823// if (event.key === "Enter") { 2824// toggleDropdown(event); 2825// } 2826// }); 2827 2828signInOverlay.addEventListener("click", function (event) { 2829 // menuDropdownPanel.style.display = "none"; 2830 // signinCaret.classList.remove("rotated"); 2831 signInOverlay.classList.add("hidden"); 2832 $("body").css("overflow", "auto"); 2833}); 2834 2835document.addEventListener("click", function (event) { 2836 2837 if (overlay.classList.contains('show') && event.target.id !== 'getStartedMobile' && event.target.textContent !== 'View plans') { 2838 modal.classList.remove("show"); 2839 overlay.classList.remove("show"); 2840 getStartedMobileBtn.classList.remove("rotated"); 2841 if (window.innerWidth <= 1248) { 2842 navMobileHeader.classList.toggle("removed"); 2843 } 2844 } 2845 2846 // if (event.target.textContent !== 'Sign in') { 2847 // signInModal.classList.add("hidden"); 2848 // chevronSignIn.classList.remove("rotated"); 2849 // } 2850 // Check if the div is visible 2851 if (searchResultsDiv.style.display === "block" || mobileSearchResultsDiv.style.display === "block") { 2852 // Check if the click is outside the div 2853 if (!$searchInput1.hasClass(event.target.classList.value) && window.innerWidth >= 1025) { 2854 searchResultsDiv.style.display = "none"; 2855 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2856 "border-bottom-left-radius", 2857 "20px" 2858 ); 2859 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2860 "border-bottom-right-radius", 2861 "20px" 2862 ); 2863 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2864 "border-bottom", 2865 "1px solid #130f25" 2866 ); 2867 searchText.value = ""; 2868 } else if (!$mobileSearchInput.hasClass(event.target.classList.value) && window.innerWidth <= 1024) { 2869 mobileSearchResultsDiv.style.display = "none"; 2870 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2871 "border-bottom-left-radius", 2872 "20px" 2873 ); 2874 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2875 "border-bottom-right-radius", 2876 "20px" 2877 ); 2878 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 2879 "border-bottom", 2880 "1px solid #130f25" 2881 ); 2882 mobileSearchText.value = ""; 2883 } 2884 } 2885 2886 if ( 2887 event.target.classList.contains("header_search--input") || 2888 event.target.classList.contains("g3p-main-nav-header") 2889 ) { 2890 // menuDropdownPanel.style.display = "none"; 2891 $("body").css("overflow", "auto"); 2892 // signinCaret.classList.remove("rotated"); 2893 signInOverlay.classList.add("hidden"); 2894 } 2895}); 2896 2897const searchResultsContainer = document.querySelector("#header-search-results-all"); 2898const mobileSearchResultsContainer = document.querySelector("#mobile_header-search-results-all"); 2899 2900if (searchResultsContainer || mobileSearchResultsContainer) { 2901 const observer = new MutationObserver(() => { 2902 const resultList = searchResultsContainer.querySelector("ul.header_dropdown--lists"); 2903 const mobileResultList = mobileSearchResultsContainer.querySelector("ul.header_dropdown--lists"); 2904 if (resultList || mobileResultList) { 2905 searchResultsContainer.style.display = "block !important"; 2906 mobileSearchResultsContainer.style.display = "block !important"; 2907 } else { 2908 searchResultsContainer.style.display = "none"; 2909 mobileSearchResultsContainer.style.display = "none"; 2910 } 2911 });
2912 2913 if (searchResultsContainer) { 2914 observer.observe(searchResultsContainer, { childList: true, subtree: true }); 2915 } 2916 if (mobileSearchResultsContainer) { 2917 observer.observe(mobileSearchResultsContainer, { childList: true, subtree: true }); 2918 } 2919} 2920 2921$globalNav.each(function () { 2922 /************ 2923 SEARCH 2924 ***********/ 2925 2926 function searchTermKeyUpHandler(e) { 2927 if (e.which === "27") { 2928 //escape 2929 e.preventDefault(); 2930 hideSearchResultPopup(); 2931 } else if (e.which === "40") { 2932 // down 2933 e.preventDefault(); 2934 selectTerm(); 2935 } else if (e.which === "38") { 2936 //up 2937 e.preventDefault(); 2938 selectTerm(true); 2939 } else if (e.which === "13") { 2940 //enter - use highlighted option if available, otherwise use search text 2941 } else { 2942 if (timer) { 2943 clearTimeout(timer); // clear the timer as keys are still entered 2944 } 2945 2946 if ($searchInput1 || $mobileSearchInput) { 2947 searchTerm = $searchInput1.val().trim(); 2948 if (window.innerWidth <= 1024) { 2949 searchTerm = $mobileSearchInput.val().trim(); 2950 } 2951 } 2952 2953 //DOES SEARCH CONTAIN COLON SYMBOL 2954 if (searchTerm.includes(":")) { 2955 searchTerm = searchTerm.replaceAll(":", " ").replaceAll(/\s\s+/g, " ").trim(); // RegEx: replace all spacing, tabs, new lines etc to one space. 2956 } 2957 2958 timer = setTimeout(function () { 2959 if (searchTerm !== undefined) { 2960 let term = jQuery.trim(searchTerm); 2961 if (term.length >= minChars) { 2962 search(); 2963 } else if (term.length < minChars) { 2964 clearResults(); 2965 } 2966 } 2967 }, 350); 2968 } 2969 2970 //watch for users clicking on suggested search term - still need to pass referring page to Cludo. 2971 jQuery(document).off("click.psUnifiedNav"); 2972 jQuery(document).on("click.psUnifiedNav", ".header_dropdown--resultInfo a", function () { 2973 let refurl = window.location.hostname + "" + window.location.pathname; 2974 //Cookies.set("header_search_origin", refurl, { expires: 1, path: '/' }); //save current page URL to send in with search analytics on the search page. 2975 //Cookies.set("header_search_origin_title", pageTitle, { expires: 1, path: '/' }); //save current page URL to send in with search analytics on the search page. 2976 }); 2977 2978 function selectTerm(prev) { 2979 let $selectedTerm = jQuery(".nav-search-result .header_dropdown--resultInfo.selected"); 2980 if ($selectedTerm.length) { 2981 let $selectedTermSibling = prev ? $selectedTerm.prev() : $selectedTerm.next(); 2982 2983 if ($selectedTermSibling.length) { 2984 $selectedTerm.removeClass("selected"); 2985 $selectedTermSibling.addClass("selected"); 2986 } 2987 } else { 2988 if (prev) { 2989 $resultsTarget1.find(".header_dropdown--resultInfo").last().addClass("selected"); 2990 } else { 2991 $resultsTarget1.find(".header_dropdown--resultInfo").first().addClass("selected"); 2992 } 2993 } 2994 } 2995 } 2996 2997 function searchTermKeyDownHandler(e) { 2998 //stop jitters from happening 2999 if (e.which === "40") { 3000 // down 3001 e.preventDefault(); 3002 } else if (e.which === "38") { 3003 //up 3004 e.preventDefault(); 3005 } 3006 } 3007 3008 function handleSearch() { 3009 let $selectedTermAnchor = $resultsTarget1.find(".header_dropdown--resultInfo.selected a"); 3010 if ($selectedTermAnchor.length) { 3011 $selectedTermAnchor[0].click(); 3012 } else { 3013 let refurl = window.location.hostname + "" + window.location.pathname;
3014 setCookie("header_search_origin", refurl, { expires: 1, path: "/" }); //save current page URL to send in with search analytics on the search page. 3015 let refpt = document.title; 3016 setCookie("header_search_origin", refpt, { expires: 1, path: "/" }); //save current page URL to send in with search analytics on the search page. 3017 3018 searchTerm = $searchInput1.val().trim(); 3019 if (window.innerWidth <= 1024) { 3020 searchTerm = $mobileSearchInput.val().trim(); 3021 } 3022 if (!window.quickLinkHandled) { 3023 let encodedSearchTerm = encodeURIComponent(searchTerm); 3024 if (searchTerm === "") { 3025 encodedSearchTerm = "*"; 3026 } 3027 window.location.href = $headerNav.find(".header_search--url").attr("href") + "?q=" + encodedSearchTerm; 3028 } 3029 } 3030 } 3031 3032 function clearResults() { 3033 $resultsTarget1.html(""); 3034 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3035 "border-bottom-left-radius", 3036 "20px" 3037 ); 3038 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3039 "border-bottom-right-radius", 3040 "20px" 3041 ); 3042 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3043 "border-bottom", 3044 "1px solid #130f25" 3045 ); 3046 } 3047 3048 function showSearchResultPopup() { 3049 if (!searchOpen) { 3050 $searchInput1.focus(); 3051 $mobileSearchInput.focus(); 3052 searchOpen = true; 3053 window.scrollTo(0, 0); 3054 } 3055 } 3056 3057 function hideSearchResultPopup() { 3058 if (searchOpen) { 3059 clearResults(); 3060 // $searchInput1.val(""); 3061 // $mobileSearchInput.val(""); 3062 searchOpen = false; 3063 } 3064 } 3065 3066 function search() { 3067 let spaceRegEx = new RegExp(" ", "g"); 3068 //Auto Complete 3069 jQuery.ajax({ 3070 url: 3071 "https://api-us1.cludo.com/api/v3/" + 3072 CludoSearch.customerId + 3073 "/" + 3074 CludoSearch.engineId + 3075 "/Autocomplete?text=" + 3076 searchTerm.replace(spaceRegEx, "-"), 3077 method: "GET", 3078 async: true, 3079 crossDomain: true, 3080 headers: { 3081 "Content-Type": "application/json; charset=utf-8", 3082 authorization: "SiteKey " + CludoSearch.getAuthorizationKey(), 3083 }, 3084 success: function (data) { 3085 // data[0] is the first word result 3086 if (data.length > 0) { 3087 renderSuggestionResults($resultsTarget1, data); 3088 jQuery("#header-search-results-all").css("display", "block"); 3089 jQuery("#mobile_header-search-results-all").css("display", "block"); 3090 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3091 "border-bottom-left-radius", 3092 "unset" 3093 ); 3094 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3095 "border-bottom-right-radius", 3096 "unset" 3097 ); 3098 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css("border-bottom", "0"); 3099 } else { 3100 clearResults(); 3101 jQuery("#header-search-results-all").css("display", "none"); 3102 jQuery("#mobile_header-search-results-all").css("display", "none"); 3103 } 3104 }, 3105 error: function (xhr, status, error) { }, 3106 }); 3107
3108 function renderSuggestionResults($resultsTarget1, data) { 3109 let html = '<ul class="header_dropdown--lists">'; 3110 let searchUrl = $headerNav.find(".header_search--url").attr("href"); 3111 let dashRegEx = new RegExp("-", "g"); 3112 for (let i = 0; i < data.length && i < 5; i++) { 3113 html += '<li class="header_dropdown--resultInfo">'; 3114 html += 3115 '<a class="header_dropdown--resultInfoTitle" tabindex="0" ' + 3116 'href="' + 3117 searchUrl + 3118 "?q=" + 3119 data[i].replace(dashRegEx, "%20") + 3120 '">' + 3121 data[i] + 3122 "</a>"; 3123 html += "</li>"; 3124 } 3125 html += "</ul>"; 3126 $resultsTarget1.html(html); 3127 } 3128 } 3129 3130 /************ 3131 SEARCH EVENTS 3132 ************/ 3133 $searchInput1.off("keyup.psUnifiedNav"); 3134 $searchInput1.on("keyup.psUnifiedNav", function (e) { 3135 searchTermKeyUpHandler(e); 3136 }); 3137 3138 $mobileSearchInput.off("keyup.psUnifiedNav"); 3139 $mobileSearchInput.on("keyup.psUnifiedNav", function (e) { 3140 searchTermKeyUpHandler(e); 3141 }); 3142 3143 $searchInput1.off("keydown.psUnifiedNav"); 3144 $searchInput1.on("keyup.psUnifiedNav", function (e) { 3145 searchTermKeyDownHandler(e); 3146 }); 3147 3148 $mobileSearchInput.off("keydown.psUnifiedNav"); 3149 $mobileSearchInput.on("keyup.psUnifiedNav", function (e) { 3150 searchTermKeyDownHandler(e); 3151 }); 3152 $searchForm.submit(function (event) { 3153 event.stopPropagation(); 3154 event.preventDefault(); 3155 handleSearch(); 3156 }); 3157 $searchWrapper.off("click.psUnifiedNav"); 3158 // $searchWrapper.on('click.psUnifiedNav', function (e) { 3159 // if ((jQuery(e.target).parents("#header_tabs--search").length == 0 || jQuery(e.target).parents("#mobile_header_tabs--search").length == 0) 3160 // && (jQuery(e.target).parents("#header_searchForm").length == 0 || jQuery(e.target).parents("#mobile_header_searchForm").length == 0)) { 3161 // hideSearchResultPopup(); 3162 // } 3163 // }); 3164 3165 if ( 3166 document.URL.indexOf("www.pluralsight.com") > -1 || 3167 document.URL.indexOf("beta.www.pluralsight.com") > -1 || 3168 document.URL.indexOf("www-stage.pluralsight.com") > -1 || 3169 document.URL.indexOf("beta.www-stage.pluralsight.com") > -1 3170 ) { 3171 jQuery(".ps-nav--search a.header_search--url").attr("href", "/blog"); //This sometimes changes this to an absolute link to http (which gets redirected and breaks the query) and cause is unknown. 3172 } 3173 3174 let pageTitle = document.title; //grab early since chat bot likes to change this. 3175 3176 //header search popup 3177 jQuery(".search-button__component .header_search--form").off("focus.psUnifiedNav input.psUnifiedNav"); 3178 jQuery(".search-button__component .header_search--form").on("focus.psUnifiedNav input.psUnifiedNav", function (e) { 3179 e.preventDefault(); 3180 let inputValue = jQuery(".header_search--input").val().trim(); 3181 if (inputValue.length >= 3) { 3182 // show popout 3183 jQuery(".ps-nav-search #header_tabs--search").css("height", "auto"); 3184 jQuery(".ps-nav-search #mobile_header_tabs--search").css("height", "auto"); 3185 showSearchResultPopup(); 3186 } else if (inputValue.length === 0) { 3187 jQuery(".ps-nav-search #header_tabs--search").css("height", ""); 3188 jQuery(".ps-nav-search #mobile_header_tabs--search").css("height", ""); 3189 hideSearchResultPopup(); 3190 } 3191 }); 3192}); 3193 3194toggleButton.addEventListener("click", function (event) { 3195 this.classList.toggle("active"); 3196 getStartedModal.classList.toggle("hidden"); 3197 signInOverlay.classList.toggle("hidden"); 3198 const bannerHeight = document.querySelector('.promo-banner__container.is-visible')?.getBoundingClientRect().height || 0; 3199 signInOverlay.style.top = getTotalNavHeight() + bannerHeight + "px"; 3200 if (!getStartedModal.classList.contains("hidden")) { 3201 $("body").css("overflow", "hidden"); 3202 } else { 3203 $("body").css("overflow", "auto"); 3204 } 3205 event.stopPropagation(); 3206 searchResultsDiv.style.display = "none"; 3207 mobileSearchResultsDiv.style.display = "none"; 3208 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css("border-bottom-left-radius", "20px"); 3209 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3210 "border-bottom-right-radius", 3211 "20px" 3212 ); 3213 jQuery(".header_tabs_content--container.g3p_header_tabs_content--container").css( 3214 "border-bottom", 3215 "1px solid #130f25" 3216 ); 3217 const focusableElements = getStartedModal.querySelectorAll("[href]"); 3218 if (focusableElements.length > 0) { 3219 focusableElements[0].focus(); // Focus the first focusable element in the modal 3220 } 3221}); 3222
3223// Close modal on focus out using Tab key 3224getStartedModal.addEventListener("keydown", function (event) { 3225 if (event.key === "Tab") { 3226 const focusableElements = getStartedModal.querySelectorAll("a, button, input, textarea, select"); 3227 const firstElement = focusableElements[0]; 3228 const lastElement = focusableElements[focusableElements.length - 1]; 3229 3230 if (!event.shiftKey && document.activeElement === lastElement) { 3231 event.preventDefault(); 3232 toggleButton.focus(); // Move focus to button and close modal 3233 closeGetStartedModal(); 3234 } else if (event.shiftKey && document.activeElement === firstElement) { 3235 event.preventDefault(); 3236 toggleButton.focus(); 3237 closeGetStartedModal(); 3238 } 3239 } else if (event.key === "Escape") { 3240 event.preventDefault(); 3241 toggleButton.focus(); // Move focus to button and close modal 3242 closeGetStartedModal(); 3243 } 3244}); 3245 3246// Function to close all modals 3247function closeGetStartedModal() { 3248 getStartedModal.classList.add("hidden"); 3249 toggleButton.classList.remove("active"); 3250 signInOverlay.classList.add("hidden"); 3251 $("body").css("overflow", "auto"); 3252} 3253 3254document.addEventListener("click", (e) => { 3255 if ( 3256 !getStartedModal.classList.contains("hidden") && 3257 !(getStartedModal.id == e.target.parentElement.id || e.target.parentElement.classList.contains("get-started__icon")) 3258 ) { 3259 getStartedModal.classList.add("hidden"); 3260 toggleButton.classList.toggle("active"); 3261 $("body").css("overflow", "auto"); 3262 } 3263}); 3264 3265//Mobile view code 3266 3267const ham = menuIcon.querySelector(".icon-ham"); 3268const closeIco = menuIcon.querySelector(".icon-close"); 3269menuIcon.addEventListener("click", function () { 3270 const isOpen = menuIcon.getAttribute("aria-expanded") === "true"; 3271 const willOpen = !isOpen; 3272 3273 // a11y state 3274 menuIcon.setAttribute("aria-expanded", String(willOpen)); 3275 menuIcon.setAttribute("aria-label", willOpen ? "Close menu" : "Open menu"); 3276 3277 // swap icons (use ONE method: CSS class) 3278 ham.classList.toggle("is-hidden", willOpen); // opening → hide hamburger 3279 closeIco.classList.toggle("is-hidden", !willOpen); 3280 3281 if (willOpen) { 3282 // OPEN 3283 menuIcon.setAttribute("aria-expanded", "true"); 3284 menuIcon.setAttribute("aria-label", "Close menu"); 3285 if (ham) ham.hidden = true; 3286 if (closeIco) closeIco.hidden = false; 3287 3288 mainModal?.classList.remove("hidden"); 3289 3290 if (window.innerWidth < 768) { 3291 const contentEl = document.getElementById("content") || document.querySelector("main.container.responsivegrid"); 3292 contentEl?.classList.add("hidden"); 3293 document.querySelector(".ps-footer")?.classList.add("hidden"); 3294 const mobileContainer = document.querySelector(".g3p-nav-mobile--container.g3p-nav-mobile_view"); 3295 if (mobileContainer) mobileContainer.style.minHeight = "100vh"; 3296 } 3297 if (window.innerWidth < 1249) { 3298 mainOverlay?.classList.remove("hidden"); 3299 } 3300 if (window.innerWidth > 767 && window.innerWidth < 1249) { 3301 document.body.classList.add("add--no__scroll"); 3302 } 3303 } else { 3304 // CLOSE 3305 menuIcon.setAttribute("aria-expanded", "false"); 3306 menuIcon.setAttribute("aria-label", "Open menu"); 3307 if (closeIco) closeIco.hidden = true; 3308 if (ham) ham.hidden = false; 3309 3310 mainModal?.classList.add("hidden"); 3311 3312 const contentEl = document.getElementById("content") || document.querySelector("main.container.responsivegrid"); 3313 contentEl?.classList.remove("hidden"); 3314 document.querySelector(".ps-footer")?.classList.remove("hidden"); 3315 const mobileContainer = document.querySelector(".g3p-nav-mobile--container.g3p-nav-mobile_view"); 3316 if (mobileContainer) mobileContainer.style.minHeight = "0"; 3317 mainOverlay?.classList.add("hidden"); 3318 3319 if (window.innerWidth > 767 && window.innerWidth < 1249) { 3320 document.body.classList.remove("add--no__scroll"); 3321 } 3322 } 3323}); 3324 3325// signInLink.addEventListener("click", function (event) { 3326// event.preventDefault(); // Prevent default link behavior 3327// chevronSignIn.classList.toggle("rotated"); // Toggle the rotation class 3328// textSignIn.classList.toggle("rotated"); 3329// signInModal.classList.toggle("hidden"); 3330// // mobileGetStarted.classList.add("hidden"); 3331// if (window.innerWidth <= 1248) { 3332// bottomNavButtons.style.zIndex = "unset"; 3333// } 3334// }); 3335 3336// Open modal 3337getStartedButton.addEventListener("click", () => { 3338 event.preventDefault(); 3339 modal.classList.toggle("show"); 3340 overlay.classList.toggle("show"); 3341 getStartedMobileBtn.classList.toggle("rotated"); 3342 if (window.innerWidth <= 1248) { 3343 bottomNavButtons.style.zIndex = "99"; 3344 } 3345 if (window.innerWidth <= 1248) { 3346 navMobileHeader.classList.toggle("removed"); 3347 } 3348}); 3349 3350const inputField = document.querySelector(".mobile_header_search--input"); 3351// const desktopInputField = 3352let iconContainer = inputField.closest(".header_search--form").querySelector("svg"); 3353 3354// Define paths for the icons 3355const backArrowPath = "/content/dam/ps-nav-assets/g3p-nav-updates/backArrow.png"; 3356 3357// Store the original SVG for toggling back if needed 3358const originalSVG = iconContainer.outerHTML; 3359 3360// Function to clear results and reset the UI 3361function mobileClearResults() { 3362 inputField.value = ""; // Clear the input field 3363 3364 // Replace the back arrow (image) with the original SVG (search icon) 3365 const imgElement = inputField.closest(".header_search--form").querySelector("img"); 3366 if (imgElement) { 3367 imgElement.outerHTML = originalSVG; 3368 iconContainer = inputField.closest(".header_search--form").querySelector("svg"); // Reassign the SVG container 3369 } 3370 3371 // Additional logic (e.g., hiding search results) 3372 const searchResults = document.querySelector("#mobile_header-search-results-all"); 3373 if (searchResults) { 3374 searchResults.style.display = "none"; // Hide search results if present 3375 } 3376} 3377 3378inputField.addEventListener("input", function () { 3379 if (inputField.value.trim().length > 0) { 3380 // Replace the SVG (search icon) with the back arrow (image) 3381 iconContainer.outerHTML = `<img src="${backArrowPath}" alt="Back Arrow" id="backArrow" style="cursor: pointer;">`; 3382 3383 // Reassign iconContainer to point to the newly created <img> element 3384 const backArrow = inputField.closest(".header_search--form").querySelector("img"); 3385 3386 // Add click event listener to the back arrow 3387 backArrow.addEventListener("click", mobileClearResults); 3388 mobileSearchText.addEventListener("focus", mobileClearResults); 3389 } else { 3390 // Restore the SVG (search icon) 3391 const imgElement = inputField.closest(".header_search--form").querySelector("img"); 3392 if (imgElement) { 3393 imgElement.outerHTML = originalSVG; 3394 iconContainer = inputField.closest(".header_search--form").querySelector("svg"); // Reassign the SVG container 3395 } 3396 } 3397}); 3398 3399searchText.addEventListener("focus", function () { 3400 this.placeholder = ""; // Clear the placeholder 3401}); 3402mobileSearchText.addEventListener("focus", function () { 3403 this.placeholder = ""; // Clear the placeholder 3404}); 3405 3406searchText.addEventListener("blur", function () { 3407 this.placeholder = "What do you want to learn?"; // Clear the placeholder 3408}); 3409mobileSearchText.addEventListener("blur", function () { 3410 this.placeholder = "What do you want to learn?"; // Clear the placeholder 3411}); 3412closeModalButton.forEach((button) => 3413 button.addEventListener(`click`, () => { 3414 closeModal(button); 3415 }) 3416); 3417function closeModal(closeModalButton) {
3418 let closestModal = closeModalButton.closest("dialog"); 3419 closestModal.close(); 3420} 3421 3422function updateBlogAnalytics(linkContainer, linkText, linkUrl) { 3423 window.appEventData = window.appEventData || []; 3424 appEventData.push({ 3425 event: "Navigation Link Clicked", 3426 linkInfo: { 3427 linkContainer: linkContainer, 3428 linkPage: linkPageVal, 3429 linkDestination: linkUrl, 3430 linkId: linkText, 3431 linkRegion: "top nav - Blog", 3432 }, 3433 }); 3434} 3435document.addEventListener("DOMContentLoaded", function () { 3436 const targetEls = document.querySelectorAll(".free-form-component"); 3437 const menuIcon = document.querySelector("#menuIcon"); 3438 const promoEl = document.querySelector(".promo-container"); 3439 let scrollHandlerAttached = false; 3440 3441 function applyScrollClasses() { 3442 targetEls.forEach((el) => { 3443 const hasMainNavHeader = Array.from(el.children).some((child) => child.classList.contains("g3p-main-nav-header")); 3444 if (hasMainNavHeader && window.innerWidth < 1025) { 3445 if (promoEl) { 3446 const position = promoEl.compareDocumentPosition(el); 3447 3448 if (position & Node.DOCUMENT_POSITION_FOLLOWING) { 3449 if (window.scrollY > 100) { 3450 document.body.classList.add("nav-height--margin"); 3451 el.classList.add("has-g3p-nav__top__promo__scroll"); 3452 } else { 3453 document.body.classList.remove("nav-height--margin"); 3454 el.classList.remove("has-g3p-nav__top__promo__scroll"); 3455 } 3456 } else { 3457 document.body.classList.add("nav-height--margin"); 3458 el.classList.add("has-g3p-nav"); 3459 } 3460 } else { 3461 document.body.classList.add("nav-height--margin"); 3462 el.classList.add("has-g3p-nav"); 3463 } 3464 } 3465 }); 3466 } 3467 3468 function removeAllPromoClasses() { 3469 document.body.classList.remove("nav-height--margin"); 3470 document.body.classList.remove("nav-height--margin"); 3471 targetEls.forEach((el) => { 3472 el.classList.remove("has-g3p-nav", "has-g3p-nav__top__promo__scroll", "has-g3p-nav--tablet"); 3473 }); 3474 } 3475 3476 function addScrollHandler() { 3477 if (!scrollHandlerAttached) { 3478 window.addEventListener("scroll", applyScrollClasses); 3479 scrollHandlerAttached = true; 3480 } 3481 } 3482 3483 function removeScrollHandler() { 3484 if (scrollHandlerAttached) { 3485 window.removeEventListener("scroll", applyScrollClasses); 3486 scrollHandlerAttached = false; 3487 } 3488 } 3489 3490 // On load: apply scroll logic and attach handler 3491 applyScrollClasses(); 3492 addScrollHandler(); 3493 3494 menuIcon?.addEventListener("click", function () { 3495 const isOpen = menuIcon.getAttribute("aria-expanded") === "true"; 3496 3497 if (isOpen) { 3498 // menu just opened 3499 removeScrollHandler(); 3500 removeAllPromoClasses(); 3501 } else { 3502 // menu just closed 3503 applyScrollClasses(); 3504 addScrollHandler(); 3505 } 3506 }); 3507}); 3508 3509document.querySelectorAll(".free-form-component").forEach((el) => { 3510 const isPromoExist = document.querySelector(".promo-container"); 3511 const childNodes = el.children; 3512 3513 if (childNodes.length > 0 && window.innerWidth > 1024) { 3514 Object.values(childNodes).forEach((value) => { 3515 if (value.className === "g3p-main-nav-header") { 3516 if (isPromoExist && el) { 3517 const position = isPromoExist.compareDocumentPosition(el); 3518 if (position & Node.DOCUMENT_POSITION_FOLLOWING) { 3519 window.addEventListener("scroll", function () { 3520 if (window.scrollY > 50) { 3521 document.body.classList.add("nav-height--margin"); 3522 el.classList.add("has-g3p-nav__top__promo__scroll"); 3523 } else { 3524 document.body.classList.remove("nav-height--margin"); 3525 el.classList.remove("has-g3p-nav__top__promo__scroll"); 3526 el.classList.remove("has-g3p-nav"); 3527 } 3528 }); 3529 } 3530 } else { 3531 document.body.classList.add("nav-height--margin"); 3532 el.classList.add("has-g3p-nav"); 3533 } 3534 } 3535 }); 3536 } 3537}); 3538 3539 </script>
3539 3540 3541</div> 3542 3543 3544</div> 3545 3546 </div> 3547 3548 3549</div> 3550 3551 3552</div> 3553<main class="container responsivegrid aem-GridColumn aem-GridColumn--default--12"> 3554 3555 3556 <div id="container-cbcab98ab5" class="cmp-container"> 3557 3558 3559 3560<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> 3561 3562 <div class="cmp-filter-search-cards aem-GridColumn aem-GridColumn--default--12"> 3563 3564 3565<link rel="stylesheet" href="/etc.clientlibs/ps/components/organisms/filter-search-cards/clientlibs.lc-84618bf52931fb2dc47f458eb747d5e0-lc.min.css" type="text/css"> 3566 3567 3568 3569 3570
3571<script src="/etc.clientlibs/ps/components/organisms/filter-search-cards/clientlibs.lc-a9e987087601f69428fe3820a064506b-lc.min.js"></script>
3571 3572 3573 3574 3575 3576<div class="filter-search-cards-drop-container" data-jcr-path="https://www.pluralsight.com/resources/blog/browse/_jcr_content/root/main/filter-search-cards"> 3577 <div class="filter-search-cards"> 3578 <form class="filter-search-cards-content-wrapper" id="filter-search-cards-search-form-1231811179"> 3579 <div class="filter-search-cards-search-form-section"> 3580 <div class="filter-search-cards-form"> 3581 <div class="title blog-homepage-title"> 3582<div id="title-66b592aebb" class="cmp-title"> 3583 <h1 class="cmp-title__text "> 3584 3585 Tech Insights & How-To Guides 3586 3587 </h1> 3588</div> 3589 3590 3591</div> 3592 3593 <div class="filter-search-cards-search-field-block"> 3594 <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16" fill="none"> 3595 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.6389 14.7298C14.7866 14.5821 14.7866 14.3426 14.639 14.1949L10.8271 10.3823C11.6508 9.32642 12.1024 8.0367 12.1024 6.67598C12.1024 5.05958 11.4723 3.54143 10.3294 2.39778C9.18648 1.25413 7.66758 0.624786 6.05119 0.624786C4.43479 0.624786 2.91516 1.25413 1.77299 2.39778C0.629347 3.54143 0 5.05958 0 6.67598C0 8.29237 0.629347 9.812 1.77299 10.9542C2.91516 12.0978 4.43479 12.7272 6.05119 12.7272C7.41191 12.7272 8.70163 12.2764 9.75756 11.4526L13.5694 15.2645C13.7171 15.4121 13.9565 15.4121 14.1043 15.2645L14.6389 14.7298ZM9.25979 9.88541C8.40284 10.7424 7.26298 11.2144 6.05119 11.2144C4.83866 11.2144 3.69954 10.7424 2.84259 9.88541C1.98481 9.02836 1.5128 7.8885 1.5128 6.67598C1.5128 5.46419 1.98481 4.32433 2.84259 3.46738C3.69954 2.60959 4.83866 2.13758 6.05119 2.13758C7.26298 2.13758 8.40284 2.60959 9.25979 3.46738C10.1176 4.32433 10.5896 5.46419 10.5896 6.67598C10.5896 7.8885 10.1176 9.02836 9.25979 9.88541Z" fill="#130F25"/> 3596</svg> 3597 <input class="filter-search-cards-search-field" type="search" name="q" id="filter-search-cards-search-1231811179" placeholder="Search"/> 3598 </div> 3599 </div> 3600 </div> 3601 3602 <div class="filter-search-cards-controls-section"> 3603 <div class="filter-search-cards-filter-row"> 3604 <div id="filter-accordion-section-1231811179" class="filter-search-cards-accordion-button-section -filter"> 3605 <h2 class="filter-search-cards-accordion-button-title"> 3606 <button type="button" aria-expanded="false" class="filter-search-cards-accordion-button -filter" aria-controls="filter-section-1231811179" id="filter-accordion-button-1231811179" data-ps-analytics="filter-search-cards-accordion|Filter|filter-accordion" data-aa-title="filter-search-cards-accordion-Filter-filter-accordion"> 3607 <span class="filter-search-cards-accordion-button-title-span -filter"> 3608 Filter 3609 </span> 3610 </button> 3611 </h2> 3612 </div> 3613 </div> 3614 <div class="filter-search-cards-results-row"> 3615 <p class="filter-search-cards-results-count"> 3616 Viewing 12 of 1519 results 3617 </p> 3618 </div> 3619 </div> 3620 <div class="filter-search-cards-content-body"> 3621 <div class="filter-search-cards-filter-section"> 3622 <div id="filter-section-1231811179" role="region" aria-labelledby="filter-accordion-button-1231811179" class="filter-search-cards-filter-accordion-content -filter"> 3623 3624 <h5 class="filter-search-cards-filter-section-title">Filter</h5> 3625 3626 3627 3628 3629 3630 <div class="filter-search-cards-accordion-button-section -filter -resource"> 3631 <h3 class="filter-search-cards-accordion-button-title"> 3632 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Topic" id="filter-accordion-button-Topic" data-key="Topic"> 3633 <span class="filter-search-cards-accordion-button-title-span -resource">Topic</span> 3634 </button> 3635 </h3> 3636 </div> 3637 <div id="filter-accordion-content-Topic" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Topic"> 3638 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 3639 3640 3641 <div class="filter-search-cards-filter-checkbox-group"> 3642 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-ai-and-data" name="unified-tags" value="ai-and-data" data-facet-item-name="ai-and-data"/> 3643 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-ai-and-data">
3644 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3645 <span class="filter-search-cards-filter-label-span-text">AI & Data</span> 3646 </label> 3647 </div> 3648 3649 3650 3651 <div class="filter-search-cards-filter-checkbox-group"> 3652 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-business-and-leadership" name="unified-tags" value="business-and-leadership" data-facet-item-name="business-and-leadership"/> 3653 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-business-and-leadership"> 3654 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3655 <span class="filter-search-cards-filter-label-span-text">Business & Leadership</span> 3656 </label> 3657 </div> 3658 3659 3660 3661 <div class="filter-search-cards-filter-checkbox-group"> 3662 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-career-roadmaps" name="unified-tags" value="career-roadmaps" data-facet-item-name="career-roadmaps"/> 3663 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-career-roadmaps"> 3664 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3665 <span class="filter-search-cards-filter-label-span-text">Career Roadmaps</span> 3666 </label> 3667 </div> 3668 3669 3670 3671 <div class="filter-search-cards-filter-checkbox-group"> 3672 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-certification" name="unified-tags" value="certification" data-facet-item-name="certification"/> 3673 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-certification"> 3674 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3675 <span class="filter-search-cards-filter-label-span-text">Certification</span> 3676 </label> 3677 </div> 3678 3679 3680 3681 <div class="filter-search-cards-filter-checkbox-group"> 3682 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-cloud" name="unified-tags" value="cloud" data-facet-item-name="cloud"/> 3683 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-cloud"> 3684 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3685 <span class="filter-search-cards-filter-label-span-text">Cloud</span> 3686 </label> 3687 </div> 3688 3689 3690 3691 <div class="filter-search-cards-filter-checkbox-group"> 3692 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-cybersecurity" name="unified-tags" value="cybersecurity" data-facet-item-name="cybersecurity"/> 3693 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-cybersecurity"> 3694 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3695 <span class="filter-search-cards-filter-label-span-text">Cybersecurity</span> 3696 </label> 3697 </div> 3698 3699 3700 3701 <div class="filter-search-cards-filter-checkbox-group"> 3702 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-devops" name="unified-tags" value="devops" data-facet-item-name="devops"/> 3703 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-devops">
3704 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3705 <span class="filter-search-cards-filter-label-span-text">DevOps</span> 3706 </label> 3707 </div> 3708 3709 3710 3711 <div class="filter-search-cards-filter-checkbox-group"> 3712 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-developer-success-lab" name="unified-tags" value="developer-success-lab" data-facet-item-name="developer-success-lab"/> 3713 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-developer-success-lab"> 3714 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3715 <span class="filter-search-cards-filter-label-span-text">Developer Success Lab</span> 3716 </label> 3717 </div> 3718 3719 3720 3721 <div class="filter-search-cards-filter-checkbox-group"> 3722 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-guides" name="unified-tags" value="guides" data-facet-item-name="guides"/> 3723 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-guides"> 3724 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3725 <span class="filter-search-cards-filter-label-span-text">Guides</span> 3726 </label> 3727 </div> 3728 3729 3730 3731 <div class="filter-search-cards-filter-checkbox-group"> 3732 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-industry-news" name="unified-tags" value="industry-news" data-facet-item-name="industry-news"/> 3733 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-industry-news"> 3734 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3735 <span class="filter-search-cards-filter-label-span-text">Industry news</span> 3736 </label> 3737 </div> 3738 3739 3740 3741 <div class="filter-search-cards-filter-checkbox-group"> 3742 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-news" name="unified-tags" value="news" data-facet-item-name="news"/> 3743 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-news"> 3744 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3745 <span class="filter-search-cards-filter-label-span-text">News</span> 3746 </label> 3747 </div> 3748 3749 3750 3751 <div class="filter-search-cards-filter-checkbox-group"> 3752 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-public-sector" name="unified-tags" value="public-sector" data-facet-item-name="public-sector"/> 3753 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-public-sector"> 3754 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3755 <span class="filter-search-cards-filter-label-span-text">Public sector</span> 3756 </label> 3757 </div> 3758 3759 3760 3761 <div class="filter-search-cards-filter-checkbox-group"> 3762 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-software-development" name="unified-tags" value="software-development" data-facet-item-name="software-development"/> 3763 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-software-development">
3764 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3765 <span class="filter-search-cards-filter-label-span-text">Software Development</span> 3766 </label> 3767 </div> 3768 3769 3770 3771 <div class="filter-search-cards-filter-checkbox-group"> 3772 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-tech-operations" name="unified-tags" value="tech-operations" data-facet-item-name="tech-operations"/> 3773 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-tech-operations"> 3774 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3775 <span class="filter-search-cards-filter-label-span-text">Tech Operations</span> 3776 </label> 3777 </div> 3778 3779 3780 3781 <div class="filter-search-cards-filter-checkbox-group"> 3782 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-upskilling" name="unified-tags" value="upskilling" data-facet-item-name="upskilling"/> 3783 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-upskilling"> 3784 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3785 <span class="filter-search-cards-filter-label-span-text">Upskilling</span> 3786 </label> 3787 </div> 3788 3789 3790 3791 <div class="filter-search-cards-filter-checkbox-group"> 3792 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Topic-user-experience" name="unified-tags" value="user-experience" data-facet-item-name="user-experience"/> 3793 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Topic-user-experience"> 3794 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3795 <span class="filter-search-cards-filter-label-span-text">User experience</span> 3796 </label> 3797 </div> 3798 3799 3800 </fieldset> 3801 </div> 3802 3803 <div class="filter-search-cards-accordion-button-section -filter -resource"> 3804 <h3 class="filter-search-cards-accordion-button-title"> 3805 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Technology" id="filter-accordion-button-Technology" data-key="Technology"> 3806 <span class="filter-search-cards-accordion-button-title-span -resource">Technology</span> 3807 </button> 3808 </h3> 3809 </div> 3810 <div id="filter-accordion-content-Technology" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Technology"> 3811 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 3812 3813 3814 <div class="filter-search-cards-filter-checkbox-group"> 3815 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-aws" name="unified-tags" value="aws" data-facet-item-name="aws"/> 3816 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-aws"> 3817 <span class="filter-search-cards-filter-label-span-checkbox"></span>
3818 <span class="filter-search-cards-filter-label-span-text">AWS</span> 3819 </label> 3820 </div> 3821 3822 3823 3824 <div class="filter-search-cards-filter-checkbox-group"> 3825 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-azure" name="unified-tags" value="azure" data-facet-item-name="azure"/> 3826 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-azure"> 3827 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3828 <span class="filter-search-cards-filter-label-span-text">Azure</span> 3829 </label> 3830 </div> 3831 3832 3833 3834 <div class="filter-search-cards-filter-checkbox-group"> 3835 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-docker" name="unified-tags" value="docker" data-facet-item-name="docker"/> 3836 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-docker"> 3837 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3838 <span class="filter-search-cards-filter-label-span-text">Docker</span> 3839 </label> 3840 </div> 3841 3842 3843 3844 <div class="filter-search-cards-filter-checkbox-group"> 3845 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-gcp" name="unified-tags" value="gcp" data-facet-item-name="gcp"/> 3846 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-gcp"> 3847 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3848 <span class="filter-search-cards-filter-label-span-text">GCP</span> 3849 </label> 3850 </div> 3851 3852 3853 3854 <div class="filter-search-cards-filter-checkbox-group"> 3855 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-kubernetes" name="unified-tags" value="kubernetes" data-facet-item-name="kubernetes"/> 3856 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-kubernetes"> 3857 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3858 <span class="filter-search-cards-filter-label-span-text">Kubernetes</span> 3859 </label> 3860 </div> 3861 3862 3863 3864 <div class="filter-search-cards-filter-checkbox-group"> 3865 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-react" name="unified-tags" value="react" data-facet-item-name="react"/> 3866 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-react"> 3867 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3868 <span class="filter-search-cards-filter-label-span-text">React</span> 3869 </label> 3870 </div> 3871 3872 3873 3874 <div class="filter-search-cards-filter-checkbox-group"> 3875 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Technology-spring" name="unified-tags" value="spring" data-facet-item-name="spring"/> 3876 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Technology-spring">
3877 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3878 <span class="filter-search-cards-filter-label-span-text">Spring</span> 3879 </label> 3880 </div> 3881 3882 3883 </fieldset> 3884 </div> 3885 3886 <div class="filter-search-cards-accordion-button-section -filter -resource"> 3887 <h3 class="filter-search-cards-accordion-button-title"> 3888 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Programming Language" id="filter-accordion-button-Programming Language" data-key="Programming Language"> 3889 <span class="filter-search-cards-accordion-button-title-span -resource">Programming Language</span> 3890 </button> 3891 </h3> 3892 </div> 3893 <div id="filter-accordion-content-Programming Language" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Programming Language"> 3894 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 3895 3896 3897 <div class="filter-search-cards-filter-checkbox-group"> 3898 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-c-sharp" name="unified-tags" value="c-sharp" data-facet-item-name="c-sharp"/> 3899 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-c-sharp"> 3900 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3901 <span class="filter-search-cards-filter-label-span-text">C#</span> 3902 </label> 3903 </div> 3904 3905 3906 3907 <div class="filter-search-cards-filter-checkbox-group"> 3908 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-c-plus-plus" name="unified-tags" value="c-plus-plus" data-facet-item-name="c-plus-plus"/> 3909 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-c-plus-plus"> 3910 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3911 <span class="filter-search-cards-filter-label-span-text">C++</span> 3912 </label> 3913 </div> 3914 3915 3916 3917 <div class="filter-search-cards-filter-checkbox-group"> 3918 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-go" name="unified-tags" value="go" data-facet-item-name="go"/> 3919 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-go"> 3920 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3921 <span class="filter-search-cards-filter-label-span-text">Go</span> 3922 </label> 3923 </div> 3924 3925 3926 3927 <div class="filter-search-cards-filter-checkbox-group"> 3928 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-java" name="unified-tags" value="java" data-facet-item-name="java"/> 3929 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-java"> 3930 <span class="filter-search-cards-filter-label-span-checkbox"></span>
3931 <span class="filter-search-cards-filter-label-span-text">Java</span> 3932 </label> 3933 </div> 3934 3935 3936 3937 <div class="filter-search-cards-filter-checkbox-group"> 3938 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-javascript" name="unified-tags" value="javascript" data-facet-item-name="javascript"/> 3939 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-javascript"> 3940 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3941 <span class="filter-search-cards-filter-label-span-text">JavaScript</span> 3942 </label> 3943 </div> 3944 3945 3946 3947 <div class="filter-search-cards-filter-checkbox-group"> 3948 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-powershell" name="unified-tags" value="powershell" data-facet-item-name="powershell"/> 3949 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-powershell"> 3950 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3951 <span class="filter-search-cards-filter-label-span-text">PowerShell</span> 3952 </label> 3953 </div> 3954 3955 3956 3957 <div class="filter-search-cards-filter-checkbox-group"> 3958 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-python" name="unified-tags" value="python" data-facet-item-name="python"/> 3959 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-python"> 3960 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3961 <span class="filter-search-cards-filter-label-span-text">Python</span> 3962 </label> 3963 </div> 3964 3965 3966 3967 <div class="filter-search-cards-filter-checkbox-group"> 3968 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-r" name="unified-tags" value="r" data-facet-item-name="r"/> 3969 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-r"> 3970 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3971 <span class="filter-search-cards-filter-label-span-text">R</span> 3972 </label> 3973 </div> 3974 3975 3976 3977 <div class="filter-search-cards-filter-checkbox-group"> 3978 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-ruby" name="unified-tags" value="ruby" data-facet-item-name="ruby"/> 3979 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-ruby"> 3980 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3981 <span class="filter-search-cards-filter-label-span-text">Ruby</span> 3982 </label> 3983 </div> 3984 3985 3986 3987 <div class="filter-search-cards-filter-checkbox-group"> 3988 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Programming Language-sql" name="unified-tags" value="sql" data-facet-item-name="sql"/> 3989 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Programming Language-sql">
3990 <span class="filter-search-cards-filter-label-span-checkbox"></span> 3991 <span class="filter-search-cards-filter-label-span-text">SQL</span> 3992 </label> 3993 </div> 3994 3995 3996 </fieldset> 3997 </div> 3998 3999 <div class="filter-search-cards-accordion-button-section -filter -resource"> 4000 <h3 class="filter-search-cards-accordion-button-title"> 4001 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Organization" id="filter-accordion-button-Organization" data-key="Organization"> 4002 <span class="filter-search-cards-accordion-button-title-span -resource">Organization</span> 4003 </button> 4004 </h3> 4005 </div> 4006 <div id="filter-accordion-content-Organization" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Organization"> 4007 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 4008 4009 4010 <div class="filter-search-cards-filter-checkbox-group"> 4011 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-amazon" name="unified-tags" value="amazon" data-facet-item-name="amazon"/> 4012 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-amazon"> 4013 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4014 <span class="filter-search-cards-filter-label-span-text">Amazon</span> 4015 </label> 4016 </div> 4017 4018 4019 4020 <div class="filter-search-cards-filter-checkbox-group"> 4021 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-anthropic" name="unified-tags" value="anthropic" data-facet-item-name="anthropic"/> 4022 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-anthropic"> 4023 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4024 <span class="filter-search-cards-filter-label-span-text">Anthropic</span> 4025 </label> 4026 </div> 4027 4028 4029 4030 <div class="filter-search-cards-filter-checkbox-group"> 4031 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-google" name="unified-tags" value="google" data-facet-item-name="google"/> 4032 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-google"> 4033 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4034 <span class="filter-search-cards-filter-label-span-text">Google</span> 4035 </label> 4036 </div> 4037 4038 4039 4040 <div class="filter-search-cards-filter-checkbox-group"> 4041 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-microsoft" name="unified-tags" value="microsoft" data-facet-item-name="microsoft"/> 4042 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-microsoft"> 4043 <span class="filter-search-cards-filter-label-span-checkbox"></span>
4044 <span class="filter-search-cards-filter-label-span-text">Microsoft</span> 4045 </label> 4046 </div> 4047 4048 4049 4050 <div class="filter-search-cards-filter-checkbox-group"> 4051 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-openai" name="unified-tags" value="openai" data-facet-item-name="openai"/> 4052 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-openai"> 4053 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4054 <span class="filter-search-cards-filter-label-span-text">OpenAI</span> 4055 </label> 4056 </div> 4057 4058 4059 4060 <div class="filter-search-cards-filter-checkbox-group"> 4061 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-pluralsight" name="unified-tags" value="pluralsight" data-facet-item-name="pluralsight"/> 4062 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-pluralsight"> 4063 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4064 <span class="filter-search-cards-filter-label-span-text">Pluralsight</span> 4065 </label> 4066 </div> 4067 4068 4069 4070 <div class="filter-search-cards-filter-checkbox-group"> 4071 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Organization-pluralsight-one" name="unified-tags" value="pluralsight-one" data-facet-item-name="pluralsight-one"/> 4072 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Organization-pluralsight-one"> 4073 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4074 <span class="filter-search-cards-filter-label-span-text">Pluralsight One</span> 4075 </label> 4076 </div> 4077 4078 4079 </fieldset> 4080 </div> 4081 4082 <div class="filter-search-cards-accordion-button-section -filter -resource"> 4083 <h3 class="filter-search-cards-accordion-button-title"> 4084 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Tutorials" id="filter-accordion-button-Tutorials" data-key="Tutorials"> 4085 <span class="filter-search-cards-accordion-button-title-span -resource">Tutorials</span> 4086 </button> 4087 </h3> 4088 </div> 4089 <div id="filter-accordion-content-Tutorials" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Tutorials"> 4090 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 4091 4092 4093 <div class="filter-search-cards-filter-checkbox-group"> 4094 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Tutorials-advanced" name="unified-tags" value="advanced" data-facet-item-name="advanced"/> 4095 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Tutorials-advanced"> 4096 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4097 <span class="filter-search-cards-filter-label-span-text">Advanced</span> 4098 </label> 4099 </div> 4100 4101 4102 4103 <div class="filter-search-cards-filter-checkbox-group"> 4104 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Tutorials-beginner" name="unified-tags" value="beginner" data-facet-item-name="beginner"/> 4105 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Tutorials-beginner">
4106 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4107 <span class="filter-search-cards-filter-label-span-text">Beginner</span> 4108 </label> 4109 </div> 4110 4111 4112 4113 <div class="filter-search-cards-filter-checkbox-group"> 4114 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Tutorials-intermediate" name="unified-tags" value="intermediate" data-facet-item-name="intermediate"/> 4115 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Tutorials-intermediate"> 4116 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4117 <span class="filter-search-cards-filter-label-span-text">Intermediate</span> 4118 </label> 4119 </div> 4120 4121 4122 </fieldset> 4123 </div> 4124 4125 <div class="filter-search-cards-accordion-button-section -filter -resource"> 4126 <h3 class="filter-search-cards-accordion-button-title"> 4127 <button type="button" class="filter-search-cards-accordion-button new-accordion-button -active -resource" aria-expanded="true" aria-controls="filter-accordion-content-Community" id="filter-accordion-button-Community" data-key="Community"> 4128 <span class="filter-search-cards-accordion-button-title-span -resource">Community</span> 4129 </button> 4130 </h3> 4131 </div> 4132 <div id="filter-accordion-content-Community" class="filter-search-cards-filter-accordion-content new-accordion-content -active scroll-container" data-facet-name="unified-tags" role="region" aria-labelledby="filter-accordion-button-Community"> 4133 <fieldset class="filter-search-cards-filter-checkbox-fieldset"> 4134 4135 4136 <div class="filter-search-cards-filter-checkbox-group"> 4137 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Community-community-piece" name="unified-tags" value="community-piece" data-facet-item-name="community-piece"/> 4138 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Community-community-piece"> 4139 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4140 <span class="filter-search-cards-filter-label-span-text">Community Piece</span> 4141 </label> 4142 </div> 4143 4144 4145 4146 <div class="filter-search-cards-filter-checkbox-group"> 4147 <input class="filter-search-cards-filter-checkbox" type="checkbox" id="checkbox-Community-success-stories" name="unified-tags" value="success-stories" data-facet-item-name="success-stories"/> 4148 <label class="filter-search-cards-filter-checkbox-label" for="checkbox-Community-success-stories"> 4149 <span class="filter-search-cards-filter-label-span-checkbox"></span> 4150 <span class="filter-search-cards-filter-label-span-text">Success Stories</span> 4151 </label> 4152 </div> 4153 4154 4155 </fieldset> 4156 </div> 4157 4158 4159 4160 <div class="filter-search-cards-filter-section-controls"> 4161 <div class="cmp-ps-button filter-search-cards-clear-button -button -stroked-navy -small"><button type="button" class="cmp-button ps-button style-primary" data-fancybox data-ps-analytics="button_as_button|Clear|button_function"> 4162 4163 4164 4165 <span class="cmp-button__text ps-button__text">Clear</span> 4166</button> 4167 4168 4169 4170</div> 4171 4172 </div> 4173 </div> 4174 </div> 4175 <div class="filter-search-cards-cards-section -grid"> 4176 4177 4178 4179 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4180 4181 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/software-development/python-class-types-guide.html" class="card-wrapper ps-button" href="/resources/blog/software-development/python-class-types-guide"> 4182 <div class="resource-card-image-wrapper"> 4183 <div class="resource-card-type-decal-wrapper -guide">
4184 <span class="resource-card-type-text -guide">Guide</span> 4185 </div> 4186 4187 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images---rebrand/Software%20Development_python.webp" alt="A guide to class types in Python" loading="lazy" role="img"/> 4188 4189 4190
4191<script src="/etc.clientlibs/ps/components/organisms/image/clientlibs.lc-de305dc297468987bd3c74b4711b076d-lc.min.js"></script>
4191 4192 4193 4194 4195 4196 4197 4198</div> 4199</div> 4200 4201 4202 </div> 4203 4204 4205 <div> 4206<div id="title-117435cb23" class="cmp-title"> 4207 <h3 class="cmp-title__text h3"> 4208 4209 A guide to class types in Python 4210 4211 </h3> 4212</div> 4213 4214 4215</div> 4216 4217 4218 4219 4220 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4221 <p class="blog-author">by Maaike van Putten</p><p class="blog-date-time">Dec 15, 2025 • 12 min</p> 4222</div> 4223 4224 4225 4226</div> 4227</div> 4228 4229 4230 4231 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4232 </a> 4233 4234 4235 4236 4237 4238 4239<link rel="stylesheet" href="/etc.clientlibs/ps/components/molecules/resource-card/clientlibs/site.lc-46c0fa649a00b7172841f6572b138111-lc.min.css" type="text/css"> 4240 4241 4242 4243 4244 4245 4246</div> 4247 4248 4249 4250 4251 4252 4253 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4254 4255 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/software-development/how-define-python-function.html" class="card-wrapper ps-button" href="/resources/blog/software-development/how-define-python-function"> 4256 <div class="resource-card-image-wrapper"> 4257 <div class="resource-card-type-decal-wrapper -guide"> 4258 <span class="resource-card-type-text -guide">Guide</span> 4259 </div> 4260 4261 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images---rebrand/Software%20Development_python.webp" alt="How to define a function in Python" loading="lazy" role="img"/> 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271</div> 4272</div> 4273 4274 4275 </div> 4276 4277 4278 <div> 4279<div id="title-117435cb23" class="cmp-title"> 4280 <h3 class="cmp-title__text h3"> 4281 4282 How to define a function in Python 4283 4284 </h3> 4285</div> 4286 4287 4288</div> 4289 4290 4291 4292 4293 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4294 <p class="blog-author">by Maaike van Putten</p><p class="blog-date-time">Nov 30, 2025 • 10 min</p> 4295</div> 4296 4297 4298 4299</div> 4300</div> 4301 4302 4303 4304 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4305 </a> 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318</div> 4319 4320 4321 4322 4323 4324 4325 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4326 4327 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/how-run-llm-locally-desktop.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/how-run-llm-locally-desktop"> 4328 <div class="resource-card-image-wrapper"> 4329 <div class="resource-card-type-decal-wrapper -guide"> 4330 <span class="resource-card-type-text -guide">Guide</span> 4331 </div> 4332 4333 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/ai-learning.png" alt="How to run an LLM locally on your desktop" loading="lazy" role="img"/> 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343</div> 4344</div> 4345 4346 4347 </div> 4348 4349 4350 <div> 4351<div id="title-117435cb23" class="cmp-title"> 4352 <h3 class="cmp-title__text h3"> 4353 4354 How to run an LLM locally on your desktop 4355 4356 </h3> 4357</div> 4358 4359 4360</div> 4361 4362 4363 4364 4365 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4366 <p class="blog-author">by Steve Buchanan</p><p class="blog-date-time">Sep 11, 2025 • 5 min</p> 4367</div> 4368 4369 4370 4371</div> 4372</div> 4373 4374 4375 4376 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4377 </a> 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390</div> 4391 4392 4393 4394 4395 4396 4397 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4398 4399 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/software-development/mongodb-performance-optimization-guide.html" class="card-wrapper ps-button" href="/resources/blog/software-development/mongodb-performance-optimization-guide"> 4400 <div class="resource-card-image-wrapper"> 4401 <div class="resource-card-type-decal-wrapper -guide">
4402 <span class="resource-card-type-text -guide">Guide</span> 4403 </div> 4404 4405 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/Platform.jpg" alt="MongoDB: From beginner to advanced optimization" loading="lazy" role="img"/> 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415</div> 4416</div> 4417 4418 4419 </div> 4420 4421 4422 <div> 4423<div id="title-117435cb23" class="cmp-title"> 4424 <h3 class="cmp-title__text h3"> 4425 4426 MongoDB: From beginner to advanced optimization 4427 4428 </h3> 4429</div> 4430 4431 4432</div> 4433 4434 4435 4436 4437 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4438 <p class="blog-author">by Poornima Sewak</p><p class="blog-date-time">Apr 28, 2025 • 7 min</p> 4439</div> 4440 4441 4442 4443</div> 4444</div> 4445 4446 4447 4448 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4449 </a> 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462</div> 4463 4464 4465 4466 4467 4468 4469 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4470 4471 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/ai-generated-text-detection.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/ai-generated-text-detection"> 4472 <div class="resource-card-image-wrapper"> 4473 <div class="resource-card-type-decal-wrapper -guide"> 4474 <span class="resource-card-type-text -guide">Guide</span> 4475 </div> 4476 4477 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/AIThisMonth.jpg" alt="How to detect AI-generated text: Ethics and implementation" loading="lazy" role="img"/> 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487</div> 4488</div> 4489 4490 4491 </div> 4492 4493 4494 <div> 4495<div id="title-117435cb23" class="cmp-title"> 4496 <h3 class="cmp-title__text h3"> 4497 4498 How to detect AI-generated text: Ethics and implementation 4499 4500 </h3> 4501</div> 4502 4503 4504</div> 4505 4506 4507 4508 4509 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4510 <p class="blog-author">by Axel Sirota</p><p class="blog-date-time">Apr 15, 2025 • 10 min</p> 4511</div> 4512 4513 4514 4515</div> 4516</div> 4517 4518 4519 4520 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4521 </a> 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534</div> 4535 4536 4537 4538 4539 4540 4541 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4542 4543 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/ai-native-mobile-apps-guide.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/ai-native-mobile-apps-guide"> 4544 <div class="resource-card-image-wrapper"> 4545 <div class="resource-card-type-decal-wrapper -guide"> 4546 <span class="resource-card-type-text -guide">Guide</span> 4547 </div> 4548 4549 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/ai-use-cases.webp" alt="How to implement an AI-native mobile app: Facial recognition" loading="lazy" role="img"/> 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559</div> 4560</div> 4561 4562 4563 </div> 4564 4565 4566 <div> 4567<div id="title-117435cb23" class="cmp-title"> 4568 <h3 class="cmp-title__text h3"> 4569 4570 How to implement an AI-native mobile app: Facial recognition 4571 4572 </h3> 4573</div> 4574 4575 4576</div> 4577 4578 4579 4580 4581 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4582 <p class="blog-author">by Axel Sirota</p><p class="blog-date-time">Apr 11, 2025 • 10 min</p> 4583</div> 4584 4585 4586 4587</div> 4588</div> 4589 4590 4591 4592 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4593 </a> 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606</div> 4607 4608 4609 4610 4611 4612 4613 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4614 4615 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/software-development/static-non-static-java-overview.html" class="card-wrapper ps-button" href="/resources/blog/software-development/static-non-static-java-overview"> 4616 <div class="resource-card-image-wrapper"> 4617 <div class="resource-card-type-decal-wrapper -guide">
4618 <span class="resource-card-type-text -guide">Guide</span> 4619 </div> 4620 4621 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp" alt="Static vs Non-Static Java Overview" loading="lazy" role="img"/> 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631</div> 4632</div> 4633 4634 4635 </div> 4636 4637 4638 <div> 4639<div id="title-117435cb23" class="cmp-title"> 4640 <h3 class="cmp-title__text h3"> 4641 4642 Static vs Non-Static Java Overview 4643 4644 </h3> 4645</div> 4646 4647 4648</div> 4649 4650 4651 4652 4653 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4654 <p class="blog-author">by Maaike van Putten</p><p class="blog-date-time">Apr 03, 2025 • 12 min</p> 4655</div> 4656 4657 4658 4659</div> 4660</div> 4661 4662 4663 4664 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4665 </a> 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678</div> 4679 4680 4681 4682 4683 4684 4685 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4686 4687 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/multimodal-agentic-rag-assistant-guide.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/multimodal-agentic-rag-assistant-guide"> 4688 <div class="resource-card-image-wrapper"> 4689 <div class="resource-card-type-decal-wrapper -guide"> 4690 <span class="resource-card-type-text -guide">Guide</span> 4691 </div> 4692 4693 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/ai-cube-robot-hands.png" alt="How to build a multimodal agentic RAG AI assistant: A guide" loading="lazy" role="img"/> 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703</div> 4704</div> 4705 4706 4707 </div> 4708 4709 4710 <div> 4711<div id="title-117435cb23" class="cmp-title"> 4712 <h3 class="cmp-title__text h3"> 4713 4714 How to build a multimodal agentic RAG AI assistant: A guide 4715 4716 </h3> 4717</div> 4718 4719 4720</div> 4721 4722 4723 4724 4725 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4726 <p class="blog-author">by Axel Sirota</p><p class="blog-date-time">Apr 01, 2025 • 10 min</p> 4727</div> 4728 4729 4730 4731</div> 4732</div> 4733 4734 4735 4736 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4737 </a> 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750</div> 4751 4752 4753 4754 4755 4756 4757 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4758 4759 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/software-development/learning-coding-with-ai.html" class="card-wrapper ps-button" href="/resources/blog/software-development/learning-coding-with-ai"> 4760 <div class="resource-card-image-wrapper"> 4761 <div class="resource-card-type-decal-wrapper -guide"> 4762 <span class="resource-card-type-text -guide">Guide</span> 4763 </div> 4764 4765 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/ai-learning.png" alt="Learning to Code with AI: Good or Bad" loading="lazy" role="img"/> 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775</div> 4776</div> 4777 4778 4779 </div> 4780 4781 4782 <div> 4783<div id="title-117435cb23" class="cmp-title"> 4784 <h3 class="cmp-title__text h3"> 4785 4786 Learning to Code with AI: Good or Bad 4787 4788 </h3> 4789</div> 4790 4791 4792</div> 4793 4794 4795 4796 4797 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4798 <p class="blog-author">by Maaike van Putten</p><p class="blog-date-time">Mar 26, 2025 • 9 min</p> 4799</div> 4800 4801 4802 4803</div> 4804</div> 4805 4806 4807 4808 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4809 </a> 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822</div> 4823 4824 4825 4826 4827 4828 4829 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4830 4831 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/upskilling/data-storytelling-tutorial.html" class="card-wrapper ps-button" href="/resources/blog/upskilling/data-storytelling-tutorial"> 4832 <div class="resource-card-image-wrapper"> 4833 <div class="resource-card-type-decal-wrapper -guide">
4834 <span class="resource-card-type-text -guide">Guide</span> 4835 </div> 4836 4837 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/job-security-header.png" alt="Data storytelling: The IT skill that drives decisions & career growth" loading="lazy" role="img"/> 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847</div> 4848</div> 4849 4850 4851 </div> 4852 4853 4854 <div> 4855<div id="title-117435cb23" class="cmp-title"> 4856 <h3 class="cmp-title__text h3"> 4857 4858 Data storytelling: The IT skill that drives decisions & career growth 4859 4860 </h3> 4861</div> 4862 4863 4864</div> 4865 4866 4867 4868 4869 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4870 <p class="blog-author">by Adam Ipsen</p><p class="blog-date-time">Mar 18, 2025 • 11 min</p> 4871</div> 4872 4873 4874 4875</div> 4876</div> 4877 4878 4879 4880 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4881 </a> 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894</div> 4895 4896 4897 4898 4899 4900 4901 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4902 4903 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/langchain-langgraph-agentic-ai-guide.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/langchain-langgraph-agentic-ai-guide"> 4904 <div class="resource-card-image-wrapper"> 4905 <div class="resource-card-type-decal-wrapper -guide"> 4906 <span class="resource-card-type-text -guide">Guide</span> 4907 </div> 4908 4909 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/NeuralNetwork.webp" alt="LangChain LangGraph Agentic AI Guide" loading="lazy" role="img"/> 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919</div> 4920</div> 4921 4922 4923 </div> 4924 4925 4926 <div> 4927<div id="title-117435cb23" class="cmp-title"> 4928 <h3 class="cmp-title__text h3"> 4929 4930 LangChain LangGraph Agentic AI Guide 4931 4932 </h3> 4933</div> 4934 4935 4936</div> 4937 4938 4939 4940 4941 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 4942 <p class="blog-author">by Axel Sirota</p><p class="blog-date-time">Feb 24, 2025 • 6 min</p> 4943</div> 4944 4945 4946 4947</div> 4948</div> 4949 4950 4951 4952 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 4953 </a> 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966</div> 4967 4968 4969 4970 4971 4972 4973 <div class="resource-card button filter-search-cards-card -light-background -large -arrow -link -grid-style"> 4974 4975 <a data-ps-analytics="resourceType_card|Read article|https://www.pluralsight.com/resources/blog/ai-and-data/langchain-local-vector-database-tutorial.html" class="card-wrapper ps-button" href="/resources/blog/ai-and-data/langchain-local-vector-database-tutorial"> 4976 <div class="resource-card-image-wrapper"> 4977 <div class="resource-card-type-decal-wrapper -guide"> 4978 <span class="resource-card-type-text -guide">Guide</span> 4979 </div> 4980 4981 <div><div class="cmp-ps-image resource-card-image -grid-style"><img data-cmp-is="ps-image" class="ps-image " src="/content/dam/ps/images/resource-center/blog/header-hero-images/DevLearnToCode.webp" alt="Vector Databases: Building a Local LangChain Store in Python" loading="lazy" role="img"/> 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991</div> 4992</div> 4993 4994 4995 </div> 4996 4997 4998 <div> 4999<div id="title-117435cb23" class="cmp-title"> 5000 <h3 class="cmp-title__text h3"> 5001 5002 Vector Databases: Building a Local LangChain Store in Python 5003 5004 </h3> 5005</div> 5006 5007 5008</div> 5009 5010 5011 5012 5013 <div><div class="rich-text-editor text -guide resource-card-body"><div class="rich-text-editor-component is-wrapped "> 5014 <p class="blog-author">by Axel Sirota</p><p class="blog-date-time">Feb 21, 2025 • 8 min</p> 5015</div> 5016 5017 5018 5019</div> 5020</div> 5021 5022 5023 5024 <span class="resource-card-link ps-button__text -grid-style">Read article</span> 5025 </a> 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038</div> 5039 5040 5041 5042 5043 </div> 5044 </div> 5045 <div class="filter-search-cards-pagination-section"> 5046 5047 <a class="filter-search-cards-pagination-button -visible -caret -back -disabled" aria-label="Previous Page Button" data-ps-analytics="filter-search-cards|pagination-|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=1" data-aa-title="filter-search-cards-pagination-button" tabindex="-1" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=1" aria-hidden="true">
5048 <span class="filter-search-cards-pagination-button-text"></span> 5049 </a> 5050 5051 <a class="filter-search-cards-pagination-button -visible -current -disabled" data-ps-analytics="filter-search-cards|pagination-1|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=1" data-aa-title="filter-search-cards-pagination-button1" tabindex="-1" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=1" aria-hidden="true"> 5052 <span class="filter-search-cards-pagination-button-text">1</span> 5053 </a> 5054 5055 <a class="filter-search-cards-pagination-button -visible -mobile-hide" data-ps-analytics="filter-search-cards|pagination-2|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=2" data-aa-title="filter-search-cards-pagination-button2" tabindex="0" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=2" aria-hidden="false"> 5056 <span class="filter-search-cards-pagination-button-text">2</span> 5057 </a> 5058 5059 <a class="filter-search-cards-pagination-button -visible -mobile-hide" data-ps-analytics="filter-search-cards|pagination-3|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=3" data-aa-title="filter-search-cards-pagination-button3" tabindex="0" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=3" aria-hidden="false"> 5060 <span class="filter-search-cards-pagination-button-text">3</span> 5061 </a> 5062 5063 <a class="filter-search-cards-pagination-button -visible -ellipsis -mobile-hide -disabled" aria-label="Ellipsis Button" data-ps-analytics="filter-search-cards|pagination-...|" data-aa-title="filter-search-cards-pagination-button..." tabindex="-1" aria-hidden="true"> 5064 <span class="filter-search-cards-pagination-button-text">...</span> 5065 </a> 5066 5067 <a class="filter-search-cards-pagination-button -visible -mobile-hide" data-ps-analytics="filter-search-cards|pagination-127|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=127" data-aa-title="filter-search-cards-pagination-button127" tabindex="0" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=127" aria-hidden="false"> 5068 <span class="filter-search-cards-pagination-button-text">127</span> 5069 </a> 5070 5071 <a class="filter-search-cards-pagination-button -visible -caret -next" aria-label="Previous Page Button" data-ps-analytics="filter-search-cards|pagination-|https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=2" data-aa-title="filter-search-cards-pagination-button" tabindex="0" href="https://www.pluralsight.com/resources/blog/browse.html?unified-tags=guides&page=2" aria-hidden="false"> 5072 <span class="filter-search-cards-pagination-button-text"></span> 5073 </a> 5074 5075 </div> 5076 </form> 5077 </div> 5078</div> 5079 5080 5081
5082<script> 5083 if (window.location.href.includes('professional-services')) { 5084 if (window.location.href.includes('q=')) { 5085 const url = new URL(window.location.href); 5086 const searchedParam = url.searchParams.get('q'); 5087 const cardSection = document.querySelector('.filter-search-cards-cards-section'); 5088 const eventName = (cardSection && cardSection.children.length > 0) ? "Onsite Search Succeeded" : "Onsite Search Failed"; 5089 // Skip if already handled in this session 5090 if (searchedParam !== window.prevSearchParamHandled) { 5091 window.prevSearchParamHandled = searchedParam; 5092 5093 window.appEventData = window.appEventData || []; 5094 appEventData.push({ 5095 "event": "Onsite Search Performed", 5096 "onsiteSearch": { 5097 "keyword": { 5098 "searchTerm": searchedParam, 5099 "searchType": "Pro Serve" 5100 } 5101 } 5102 }); 5103 appEventData.push({ 5104 "event": eventName, 5105 "onsiteSearch": { 5106 "keyword": { 5107 "searchTerm": searchedParam, 5108 "searchType": "Pro Serve" 5109 } 5110 } 5111 }); 5112 } 5113 } 5114 } 5115</script>
5115</div> 5116<main class="container responsivegrid aem-GridColumn aem-GridColumn--default--12"> 5117 5118 5119 <div id="container-35d2cbbcf8" class="cmp-container"> 5120 5121 5122 5123<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> 5124 5125 5126 5127</div> 5128 5129 </div> 5130 5131 5132</main> 5133 5134 5135</div> 5136 5137 </div> 5138 5139 5140</main> 5141<div class="experiencefragment aem-GridColumn aem-GridColumn--default--12"> 5142<div id="experiencefragment-94801ce1d8" class="cmp-experiencefragment cmp-experiencefragment--unified-footer"> 5143 5144 5145 <div id="container-a797343ac6" class="cmp-container"> 5146 5147 5148 5149<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> 5150 5151 <div class="brightedge aem-GridColumn aem-GridColumn--default--12"><div class="be-ix-link-block" data-current-page="https://www.pluralsight.com/resources/blog/browse"> 5152 5153<div class="be-ix-link-block"><div class="be-related-link-container"><div class="be-label">Related Pages</div><ul class="be-list"><li class="be-list-item"><a class="be-related-link" href="https://www.pluralsight.com/businesses/small-business">Top-Tier Training for Small Businesses</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.pluralsight.com/businesses/enterprise">Technology skills for enterprise</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.pluralsight.com/solutions">Solutions for Tech Workforce Transformation</a></li></ul> </div></div> 5154<!-- 5155 be_sdkms_pub:link-block; link-block_1.0.0.0; bodystr; 5156 be_sdkms_date_modified:pn_tstr:Tue Jan 13 18:35:57 UTC 2026; pn_epoch:1768329357266; 5157 be_sdkms_timer: 0; 5158--> 5159 5160 5161</div> 5162 5163<hr/> 5164 5165 5166 5167<link rel="stylesheet" href="/etc.clientlibs/ps/components/organisms/brightedge/clientlibs.lc-68fe3a9fc9fa7f82e8b82dd402d9baf2-lc.min.css" type="text/css"> 5168 5169 5170 5171 5172 5173 5174</div> 5175<div class="free-form-component aem-GridColumn aem-GridColumn--default--12"> 5176 5177 5178 <style> 5179 .ps-footer { 5180 display: flex; 5181 padding: var(--padding-60, 60px) var(--margin-1440, 100px); 5182 flex-direction: column; 5183 justify-content: center; 5184 align-items: center; 5185 gap: var(--margin-32, 32px); 5186 background: var(--Brand-Inky-Blue, #130f25); 5187 5188 @media screen and (max-width: 1023px) { 5189 padding: 60px 24px 48px 24px; 5190 width: 100%; 5191 // min-width: 414px; 5192 max-width: 1023px; 5193 } 5194 5195 @media screen and (min-width: 1024px) and (max-width: 1260px) { 5196 padding: 60px 60px; 5197 width: 100%; 5198 min-width: 1024px; 5199 max-width: 1260px; 5200 } 5201 5202 footer#ftr { 5203 @media screen and (max-width: 639px) { 5204 max-width: 592px !important; 5205 margin: 0 auto !important; 5206 } 5207 5208 @media screen and (max-width: 1023px) { 5209 max-width: unset; 5210 margin: 0; 5211 } 5212 } 5213 5214 footer#ftr.footer-wrapper { 5215 .footer-columns-wrapper { 5216 margin: 0; 5217 padding: 0; 5218 display: flex; 5219 width: 1240px; 5220 max-width: 1240px; 5221 padding-bottom: 40px; 5222 align-items: flex-start; 5223 gap: var(--margin-40, 40px); 5224 5225 @media screen and (max-width: 1023px) { 5226 flex-wrap: wrap; 5227 place-content: space-between; 5228 column-gap: 24px; 5229 max-width: 592px; 5230 width: 100%; 5231 padding-bottom: 0; 5232 } 5233 5234 @media screen and (min-width: 1024px) and (max-width: 1260px) { 5235 flex-wrap: wrap; 5236 place-content: space-between; 5237 width: unset; 5238 max-width: unset; 5239 } 5240 5241 .footer-column { 5242 display: flex; 5243 min-width: 120px; 5244 max-width: 180px; 5245 flex-direction: column; 5246 align-items: flex-start; 5247 gap: var(--margin-12, 12px); 5248 flex: 1 0 0; 5249 align-self: stretch; 5250 5251 @media screen and (max-width: 1023px) { 5252 min-width: 45% !important; 5253 width: 100%; 5254 flex: 1 !important; 5255 } 5256 5257 @media screen and (min-width: 1024px) and (max-width: 1200px) { 5258 min-width: 20% !important; 5259 flex: 1 !important; 5260 } 5261 5262 .footer-heading { 5263 margin: 0; 5264 color: var(--Text-Strong, #fff); 5265 font-size: var(--size-h6, 20px); 5266 font-style: normal; 5267 font-weight: 500; 5268 line-height: var(--line-height-h6, 26px); 5269 /* 130% */ 5270 letter-spacing: var(--letter-spacing-h6, 0); 5271 } 5272 5273 .footer-links { 5274 font-family: "PS TT Commons Regular"; 5275 padding: 0; 5276 display: flex; 5277 flex-direction: column; 5278 align-items: flex-start; 5279 gap: var(--margin-8, 8px); 5280 align-self: stretch; 5281 5282 .footer-link { 5283 display: flex; 5284 align-items: center; 5285 gap: var(--margin-4, 4px); 5286 5287 .footer-link-name { 5288 color: var(--Links-Neutral, #bfbfbf); 5289 font-family: "PS TT Commons Regular", Helvetica, Roboto, Arial, sans-serif; 5290 font-size: var(--size-text-sm, 14px); 5291 font-style: normal; 5292 font-weight: 600; 5293 line-height: var(--line-height-text-md, 24px); 5294 /* 171.429% */ 5295 letter-spacing: var(--letter-spacing-text, 0); 5296 } 5297 5298 .footer-link-name:focus-visible { 5299 outline: none; 5300 border-radius: 4px; 5301 border: 2px solid var(--Links-Pink, #e7005e); 5302 } 5303 5304 a { 5305 text-decoration: none; 5306 5307 &:hover { 5308 color: #fff; 5309 } 5310 } 5311 } 5312 } 5313 } 5314 } 5315 5316 .footer-last-column { 5317 display: flex; 5318 min-width: 280px; 5319 flex-direction: column; 5320 align-items: flex-start; 5321 gap: var(--margin-16, 16px); 5322 flex: 1 0 0; 5323 align-self: stretch; 5324 5325 @media screen and (min-width: 1024px) and (max-width: 1200px) { 5326 min-width: 20% !important; 5327 flex: 1 !important; 5328 width: 100%; 5329 } 5330 5331 .footer-copy { 5332 display: flex; 5333 flex-direction: column; 5334 align-items: flex-start; 5335 gap: var(--margin-12, 12px); 5336 align-self: stretch; 5337 5338 .footer-heading { 5339 color: var(--Text-Strong, #fff); 5340 font-family: "PS Commons"; 5341 font-size: var(--size-h6, 20px); 5342 font-style: normal; 5343 font-weight: 500; 5344 line-height: var(--line-height-h6, 26px); 5345 letter-spacing: var(--letter-spacing-h6, 0); 5346 align-self: stretch; 5347 } 5348 5349 .footer-subheading { 5350 color: var(--Text-Weak, #bfbfbf); 5351 font-family: "PS Commons"; 5352 font-size: var(--size-text-md, 16px); 5353 font-style: normal; 5354 font-weight: 400; 5355 line-height: var(--line-height-text-md, 24px); 5356 /* 150% */ 5357 letter-spacing: var(--letter-spacing-text, 0); 5358 align-self: stretch; 5359 } 5360 } 5361 5362 .button-wrapper { 5363 cursor: pointer; 5364 transition: unset; 5365 margin: 0; 5366 text-transform: unset; 5367 display: flex; 5368 width: 130px; 5369 max-width: 366px; 5370 padding: var(--padding-4, 4px) var(--padding-24, 24px); 5371 flex-direction: column; 5372 justify-content: center; 5373 align-items: center; 5374 border-radius: 999px; 5375 background: var(--Button-Surface-Solid, #fff); 5376 color: var(--Button-Text-Solid, #130f25); 5377 text-align: center; 5378 font-family: "PS Commons"; 5379 font-size: var(--size-text-sm, 14px); 5380 font-style: normal; 5381 font-weight: 600; 5382 line-height: var(--line-height-text-md, 24px); 5383 letter-spacing: var(--letter-spacing-text, 0); 5384 border: none; 5385 z-index: 2; 5386 position: relative; 5387 transition: all 275ms ease-in-out; 5388 5389 &::after { 5390 content: ""; 5391 height: 100%; 5392 left: 0; 5393 top: 0; 5394 width: 0px; 5395 position: absolute; 5396 transition: all 0.3s ease; 5397 -webkit-transition: all 0.7s ease; 5398 z-index: -1; 5399 } 5400 } 5401 5402 .button-wrapper:hover::after { 5403 width: 100%; 5404 border-radius: 999px; 5405 background: #dbd9da;
5406 } 5407 5408 .button-wrapper:focus-visible { 5409 border-radius: 30px; 5410 border: 2px solid var(--Links-Pink, #e7005e); 5411 outline: none; 5412 } 5413 5414 .social-links { 5415 display: flex; 5416 padding-top: var(--padding-12, 12px); 5417 justify-content: center; 5418 align-items: center; 5419 gap: var(--margin-32, 32px); 5420 padding-inline-start: 0; 5421 5422 li { 5423 transition: outline 0.2s ease; 5424 } 5425 5426 li:focus-within { 5427 border-radius: 4px; 5428 border: 2px solid var(--Links-Pink, #e7005e); 5429 } 5430 5431 li a:focus { 5432 outline: none; 5433 } 5434 } 5435 } 5436 5437 hr { 5438 width: 100%; 5439 height: 1px; 5440 background: var(--Text-Weak, #bfbfbf); 5441 margin-top: 32px; 5442 margin-bottom: 32px; 5443 } 5444 5445 .footer-utility { 5446 display: flex; 5447 width: 100%; 5448 align-items: center; 5449 gap: 16px; 5450 5451 @media screen and (max-width: 1023px) { 5452 flex-direction: column; 5453 } 5454 5455 .footer-logo-cp { 5456 display: flex; 5457 align-items: center; 5458 gap: var(--margin-16, 16px); 5459 flex: 1 0 0; 5460 5461 @media screen and (max-width: 1023px) { 5462 flex-direction: column; 5463 } 5464 5465 .logo-link { 5466 width: 44px; 5467 height: 44px; 5468 aspect-ratio: 1/1; 5469 } 5470 5471 .logo-link:focus { 5472 outline: none; 5473 border-radius: 4px; 5474 border: 2px solid var(--Links-Pink, #ff1675); 5475 } 5476 5477 .copyright { 5478 color: var(--Text-Weak, #bfbfbf); 5479 font-family: "PS Commons"; 5480 font-size: var(--size-text-xs, 12px); 5481 font-style: normal; 5482 font-weight: 400; 5483 line-height: var(--line-height-text-xs, 18px); 5484 /* 150% */ 5485 letter-spacing: var(--letter-spacing-text, 0); 5486 } 5487 } 5488 5489 .utility-links { 5490 display: flex; 5491 justify-content: flex-end; 5492 align-items: center; 5493 gap: var(--margin-24, 24px); 5494 flex: 1 0 0; 5495 list-style-type: none; 5496 margin-top: 0; 5497 5498 @media screen and (max-width: 1023px) { 5499 padding-inline-start: 0; 5500 margin: 0; 5501 } 5502 5503 .utility-link a { 5504 color: var(--Text-Weak, #bfbfbf); 5505 font-family: "PS Commons"; 5506 font-size: var(--size-text-xs, 12px); 5507 font-style: normal; 5508 font-weight: 400; 5509 line-height: var(--line-height-text-xs, 18px); 5510 /* 150% */ 5511 letter-spacing: var(--letter-spacing-text, 0); 5512 text-decoration: none; 5513 } 5514 5515 li { 5516 transition: outline 0.2s ease; 5517 } 5518 5519 li:focus-within { 5520 border-radius: 4px; 5521 border: 2px solid var(--Links-Pink, #e7005e); 5522 } 5523 5524 li a:focus { 5525 outline: none; 5526 } 5527 } 5528 } 5529 } 5530} 5531 5532footer#ftr { 5533 background-color: unset; 5534 color: unset; 5535 text-decoration: unset; 5536 border-top: unset; 5537 padding-bottom: unset; 5538} 5539 5540footer#ftr a, 5541footer#ftr a:hover { 5542 color: var(--Links-Neutral, #bfbfbf); 5543 text-decoration: unset; 5544} 5545 5546footer ul { 5547 margin-left: unset; 5548 font-size: unset; 5549 line-height: unset; 5550 list-style-position: unset; 5551 margin-bottom: unset; 5552 font-weight: unset; 5553 line-height: unset; 5554 padding-left: unset; 5555 margin-bottom: unset; 5556} 5557 5558footer li { 5559 margin-left: unset; 5560 font-size: unset; 5561 line-height: unset; 5562 list-style-position: unset; 5563 margin-bottom: unset; 5564 font-weight: unset; 5565 line-height: unset; 5566 padding-left: unset; 5567 margin-bottom: unset; 5568 5569 ul { 5570 margin-left: unset; 5571 } 5572} 5573 5574li.footer-column-list-item:has(.footer-column-list-item-link.do-not-sell) { 5575 display: none; 5576} 5577 </style> 5578 5579 5580 5581 <link rel="stylesheet" href="/etc.clientlibs/ps/clientlibs/clientlib-main.min.css" type="text/css"> 5582 5583<div class="ps-footer"> 5584 <footer id="ftr" class="footer-wrapper"> 5585 <ul class="footer-columns-wrapper"> 5586 <li class="footer-column"> 5587 <h2 class="footer-heading">Support</h2> 5588 <ul class="footer-links footer-policy-link-list"> 5589 <li class="footer-link"><a href="/contact" data-aa-title="footer-contact" data-ps-analyitcs="footer-link|Contact|https://www.pluralsight.com/contact" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'Contact', 'https://www.pluralsight.com/contact')">Contact</a></li> 5590 <li class="footer-link"><a href="https://help.pluralsight.com/help" data-aa-title="footer-help-center" data-ps-analyitcs="footer-link|Help Center|https://www.pluralsight.com/contact" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'Help center', 'https://www.pluralsight.com/contact')">Help center</a></li> 5591 <li class="footer-link"><a href="https://help.pluralsight.com/help/ip-allowlist" data-aa-title="footer-ip-allowlist" data-ps-analyitcs="footer-link|IP Allowlist|https://www.pluralsight.com/help/allowlist" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'IP allowlist', 'https://www.pluralsight.com/help/allowlist')">IP allowlist</a></li> 5592 <li class="footer-link"><a href="/sitemap.xml" data-aa-title="footer-sitemap" data-ps-analyitcs="footer-link|Sitemap|https://www.pluralsight.com/sitemap.xml" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'Sitemap', 'https://www.pluralsight.com/sitemap.xml')">Sitemap</a></li> 5593 <li class="footer-link"><a href="/product/downloads" data-aa-title="footer-downloads" data-ps-analyitcs="footer-link|Download Pluralsight|https://www.pluralsight.com/product/downloads" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'Download Pluralsight', 'https://www.pluralsight.com/product/downloads')">Download Pluralsight</a></li> 5594 <li class="footer-link"><a href="/get-started" data-aa-title="footer-plans-pricing" data-ps-analyitcs="footer-link|View Plans|https://www.pluralsight.com/get-started" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'View plans', 'https://www.pluralsight.com/get-started')">View plans</a></li> 5595 <li class="footer-link"><a href="/product/professional-services" data-aa-title="footer-professional-services" data-ps-analyitcs="footer-link|Professional Services|https://www.pluralsight.com/professional-services" class="footer-link-name" onclick="updateFooterAnalytics ('Support', 'Professional services', 'https://www.pluralsight.com/professional-services')">Professional services</a></li> 5596 </ul> 5597 </li> 5598 <li class="footer-column"> 5599 <h2 class="footer-heading">Community</h2> 5600 <ul class="footer-links"> 5601 <li class="footer-link"><a href="/resources/blog?unified-tags=guides" data-aa-title="footer-guides" data-ps-analyitcs="footer-link|Guides|https://www.pluralsight.com/browse" class="footer-link-name" onclick="updateFooterAnalytics ('Community', 'Guides', 'https://www.pluralsight.com/browse')">Guides</a></li> 5602 <li class="footer-link"><a href="/teach" data-aa-title="footer-teach" data-ps-analyitcs="footer-link|Teach|https://www.pluralsight.com/teach" class="footer-link-name" onclick="updateFooterAnalytics ('Community', 'Become an Author', 'https://www.pluralsight.com/teach')">Become an Author</a></li> 5603 <li class="footer-link"><a href="/partners" data-aa-title="footer-partner-with-pluralsight" data-ps-analyitcs="footer-link|Partner with Pluralsight|https://www.pluralsight.com/partners" class="footer-link-name" onclick="updateFooterAnalytics ('Community', 'Partner with Pluralsight', 'https://www.pluralsight.com/partners')">Partner with Pluralsight</a></li> 5604 <li class="footer-link"><a href="/affiliate" data-aa-title="footer-affiliate-partners" data-ps-analyitcs="footer-link|Affiliate Partners|https://www.pluralsight.com/affiliate" class="footer-link-name" onclick="updateFooterAnalytics ('Community', 'Affiliate p artners', 'https://www.pluralsight.com/affiliate')">Affiliate partners</a></li> 5605 <li class="footer-link"><a href="/authors" data-aa-title="footer-authors" data-ps-analyitcs="footer-link|Authors|https://www.pluralsight.com/authors" class="footer-link-name" onclick="updateFooterAnalytics ('Community', 'Authors', 'https://www.pluralsight.com/authors')">Authors</a></li> 5606 </ul> 5607 </li> 5608 <li class="footer-column"> 5609 <h2 class="footer-heading">Company</h2> 5610 <ul class="footer-links"> 5611 <li class="footer-link"><a href="/about" data-aa-title="footer-about" data-ps-analyitcs="footer-link|About Us|https://www.pluralsight.com/about" class="footer-link-name" onclick="updateFooterAnalytics ('Company', 'About u s', 'https://www.pluralsight.com/about')">About us</a></li> 5612 <li class="footer-link"><a href="/careers" data-aa-title="footer-careers" data-ps-analyitcs="footer-link|Careers|https://www.pluralsight.com/careers" class="footer-link-name" onclick="updateFooterAnalytics ('Company', 'Careers', 'https://www.pluralsight.com/careers')">Careers</a></li> 5613 <li class="footer-link"><a href="/newsroom" data-aa-title="footer-newsroom" data-ps-analyitcs="footer-link|Newsroom|https://www.pluralsight.com/newsroom" class="footer-link-name" onclick="updateFooterAnalytics ('Company', 'Newsroom', 'https://www.pluralsight.com/newsroom')">Newsroom</a></li> 5614 <li class="footer-link"><a href="/resources" data-aa-title="footer-resources" data-ps-analyitcs="footer-link|Resources|https://www.pluralsight.com/resources" class="footer-link-name" onclick="updateFooterAnalytics ('Company', 'Resources', 'https://www.pluralsight.com/resources')">Resources</a></li> 5615 </ul> 5616 </li> 5617 <li class="footer-column"> 5618 <h2 class="footer-heading">Industries</h2> 5619 <ul class="footer-links"> 5620 <li class="footer-link"><a href="/industries/public-sector/higher-education" data-aa-title="footer-education" data-ps-analyitcs="footer-link|Education|https://www.pluralsight.com/industries/public-sector/higher-education" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Education', 'https://www.pluralsight.com/industries/public-sector/higher-education')">Education</a></li> 5621 <li class="footer-link"><a href="/industries/finance" data-aa-title="footer-financial-services" data-ps-analyitcs="footer-link|Education|https://www.pluralsight.com/industries/finance" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Financial services (FSBI)', 'https://www.pluralsight.com/industries/finance')">Financial services (FSBI)</a></li> 5622 <li class="footer-link"><a href="/industries/healthcare" data-aa-title="footer-healthcare" data-ps-analyitcs="footer-link|Healthcare|https://www.pluralsight.com/industries/healthcare" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Healthcare', 'https://www.pluralsight.com/industries/healthcare')">Healthcare</a></li> 5623 <li class="footer-link"><a href="/industries/insurance" data-aa-title="footer-insurance" data-ps-analyitcs="footer-link|Insurance|https://www.pluralsight.com/industries/insurance" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Insurance', 'https://www.pluralsight.com/industries/insurance')">Insurance</a></li> 5624 <li class="footer-link"><a href="/ps-one" data-aa-title="footer-non-profit" data-ps-analyitcs="footer-link|Non-Profit|https://www.pluralsight.com/ps-one" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Nonprofit', 'https://www.pluralsight.com/ps-one')">Nonprofit</a></li> 5625 <li class="footer-link"><a href="/industries/public-sector" data-aa-title="footer-non-profit" data-ps-analyitcs="footer-link|Public Sector|https://www.pluralsight.com/industries/public-sector" class="footer-link-name" onclick="updateFooterAnalytics ('Industries', 'Public sector', 'https://www.pluralsight.com/industries/public-sector')">Public sector</a></li> 5626 </ul> 5627 </li> 5628 <li class="footer-last-column"> 5629 <div class="footer-copy"> 5630 <div class="footer-heading">Get tech insights and updates</div> 5631 <div class="footer-subheading">Don’t miss the latest industry news, career resources, offers, and more.</div> 5632 </div> 5633 <a class="button-wrapper" href="/subscribe"> 5634 Sign up now 5635 </a> 5636 <ul class="social-links"> 5637 <li class="social-link"> 5638 <a href="https://www.facebook.com/pluralsight" data-aa-title="footer-facebook-social" data-ps-analyitcs="footer-social|facebook-social|https://www.facebook.com/pluralsight" onclick="updateFooterAnalytics ('Social link', 'Facebook', 'https://www.facebook.com/pluralsight')" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 5639 <path d="M9.83131 22V13.25H6.65631V9.62503H9.83131V6.86253C9.83131 3.72503 11.6938 2.00003 14.5563 2.00003C15.9188 2.00003 17.3438 2.23753 17.3438 2.23753V5.32503H15.7688C14.2188 5.32503 13.7313 6.28753 13.7313 7.27503V9.62503H17.2063L16.6438 13.25H13.7313V22H9.83131Z" fill="white" /> 5640 </svg> 5641 </a> 5642 </li> 5643 <li class="social-link"> 5644 <a href="https://x.com/pluralsight" data-aa-title="footer-twitter-social" data-ps-analyitcs="footer-social|twitter-social|https://www.x.com/pluralsight" onclick="updateFooterAnalytics ('Social link', 'Twitter', 'https://www.x.com/pluralsight')" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 5645 <path 5646 d="M3 3.02434C3.51026 3.02125 4.02053 3.01839 4.5308 3.01671C4.54213 3.01668 4.54213 3.01668 4.55369 3.01664C4.71785 3.0161 4.88202 3.0156 5.04619 3.01514C5.1267 3.01492 5.20721 3.01469 5.28772 3.01445C5.29573 3.01442 5.30374 3.0144 5.312 3.01438C5.57162 3.01361 5.83123 3.01226 6.09085 3.0106C6.35766 3.0089 6.62448 3.0078 6.8913 3.00743C6.929 3.00738 6.9667 3.00732 7.0044 3.00726C7.01553 3.00724 7.01553 3.00724 7.02688 3.00722C7.14625 3.00701 7.26561 3.00617 7.38498 3.00511C7.50503 3.00405 7.62506 3.00364 7.74511 3.00391C7.81642 3.00404 7.88769 3.00368 7.95899 3.00259C8.00668 3.00192 8.05433 3.0019 8.10202 3.00241C8.12918 3.00268 8.15626 3.00267 8.18342 3.00186C8.33923 2.99746 8.33923 2.99746 8.38988 3.0417C8.4262 3.08436 8.45227 3.13133 8.47742 3.18115C8.49432 3.2123 8.51467 3.24004 8.536 3.26826C8.55983 3.29987 8.58172 3.33281 8.60391 3.36559C8.61374 3.38006 8.62357 3.39453 8.63341 3.409C8.64072 3.41977 8.64072 3.41977 8.64817 3.43075C8.66975 3.46251 8.69143 3.49421 8.71312 3.5259C8.71711 3.53173 8.7211 3.53755 8.72521 3.54356C8.76088 3.59566 8.79664 3.64769 8.83243 3.6997C8.84954 3.72457 8.86665 3.74946 8.88375 3.77434C8.89062 3.78434 8.8975 3.79434 8.90438 3.80434C9.13125 4.13434 9.13125 4.13434 9.35812 4.46434C9.36323 4.47176 9.36323 4.47176 9.36843 4.47933C9.37532 4.48935 9.38221 4.49937 9.3891 4.50939C9.40609 4.53411 9.42309 4.55883 9.4401 4.58355C9.48139 4.64356 9.52257 4.70365 9.56369 4.76378C9.59985 4.81665 9.63612 4.86944 9.67243 4.9222C9.68954 4.94707 9.70665 4.97195 9.72375 4.99684C9.73062 5.00684 9.7375 5.01684 9.74438 5.02684C9.97125 5.35684 9.97125 5.35684 10.1981 5.68684C10.2015 5.69178 10.2049 5.69673 10.2084 5.70183C10.2153 5.71185 10.2222 5.72187 10.2291 5.73189C10.2461 5.75661 10.2631 5.78133 10.2801 5.80605C10.3214 5.86606 10.3626 5.92615 10.4037 5.98628C10.4399 6.03915 10.4761 6.09194 10.5124 6.1447C10.5295 6.16957 10.5466 6.19446 10.5637 6.21934C10.5706 6.22934 10.5775 6.23934 10.5844 6.24934C10.7081 6.42934 10.8319 6.60934 10.9556 6.78934C10.959 6.79428 10.9624 6.79923 10.9659 6.80433C10.9728 6.81435 10.9797 6.82437 10.9866 6.83439C11.0036 6.85911 11.0206 6.88383 11.0376 6.90855C11.0789 6.96856 11.1201 7.02865 11.1612 7.08878C11.1974 7.14165 11.2336 7.19444 11.2699 7.2472C11.287 7.27207 11.3041 7.29696 11.3212 7.32184C11.3281 7.33184 11.335 7.34184 11.3419 7.35184C11.4931 7.57184 11.6444 7.79184 11.7956 8.01184C11.799 8.01678 11.8024 8.02173 11.8059 8.02683C11.8128 8.03685 11.8197 8.04687 11.8266 8.05689C11.8436 8.08161 11.8606 8.10633 11.8776 8.13105C11.9189 8.19106 11.9601 8.25115 12.0012 8.31128C12.0374 8.36415 12.0736 8.41694 12.1099 8.4697C12.127 8.49457 12.
56461441 8.51946 12.1613 8.54434C12.1681 8.55434 12.175 8.56434 12.1819 8.57434C12.3331 8.79434 12.4844 9.01434 12.6356 9.23434C12.639 9.23928 12.6424 9.24423 12.6459 9.24933C12.6528 9.25935 12.6597 9.26937 12.6666 9.27939C12.6836 9.30411 12.7006 9.32883 12.7176 9.35355C12.7589 9.41352 12.8 9.47357 12.8411 9.53367C12.868 9.573 12.895 9.61228 12.922 9.65152C12.9501 9.69222 12.9778 9.73306 13.005 9.77434C13.0343 9.74578 13.0613 9.71584 13.088 9.68481C13.0922 9.67988 13.0965 9.67495 13.1008 9.66988C13.1327 9.63295 13.1644 9.59592 13.1961 9.55887C13.2235 9.52684 13.2511 9.49494 13.2788 9.46309C13.3252 9.40953 13.3714 9.35572 13.4175 9.30184C13.4677 9.24319 13.518 9.18468 13.5686 9.1264C13.6072 9.08187 13.6456 9.03713 13.6839 8.99234C13.7063 8.96611 13.7288 8.9399 13.7513 8.91369C13.7699 8.89192 13.7886 8.87014 13.8072 8.84835C13.85 8.79838 13.893 8.74857 13.9361 8.6989C13.9784 8.65006 14.0205 8.60096 14.0625 8.55184C14.1127 8.49319 14.163 8.43468 14.2136 8.3764C14.2559 8.32756 14.298 8.27846 14.34 8.22934C14.3902 8.17069 14.4405 8.11218 14.4911 8.0539C14.5334 8.00506 14.5755 7.95596 14.6175 7.90684C14.6677 7.84819 14.718 7.78968 14.7686 7.7314C14.8109 7.68256 14.853 7.63346 14.895 7.58434C14.9452 7.52569 14.9955 7.46718 15.0461 7.4089C15.0884 7.36006 15.1305 7.31096 15.1725 7.26184C15.2227 7.20319 15.273 7.14468 15.3236 7.0864C15.3622 7.04187 15.4006 6.99713 15.4389 6.95234C15.4613 6.92611 15.4838 6.8999 15.5063 6.87369C15.5249 6.85192 15.5436 6.83014 15.5622 6.80835C15.605 6.75838 15.648 6.70857 15.6911 6.6589C15.7334 6.61006 15.7755 6.56096 15.8175 6.51184C15.8677 6.45319 15.918 6.39468 15.9686 6.3364C16.0109 6.28756 16.053 6.23846 16.095 6.18934C16.1452 6.13069 16.1955 6.07218 16.2461 6.0139C16.2884 5.96506 16.3305 5.91596 16.3725 5.86684C16.4227 5.80819 16.473 5.74968 16.5236 5.6914C16.5659 5.64256 16.608 5.59346 16.65 5.54434C16.7002 5.48569 16.7505 5.42718 16.8011 5.3689C16.8397 5.32437 16.8781 5.27963 16.9164 5.23484C16.9388 5.20861 16.9613 5.1824 16.9838 5.15619C17.0024 5.13442 17.0211 5.11264 17.0397 5.09085C17.0825 5.04088 17.1255 4.99107 17.1686 4.9414C17.2109 4.89256 17.253 4.84346 17.295 4.79434C17.3452 4.73569 17.3955 4.67718 17.4461 4.6189C17.4884 4.57006 17.5305 4.52096 17.5725 4.47184C17.6227 4.41319 17.673 4.35468 17.7236 4.2964C17.7659 4.24756 17.808 4.19846 17.85 4.14934C17.9002 4.09069 17.9505 4.03218 18.0011 3.9739C18.0434 3.92506 18.0855 3.87596 18.1275 3.82684C18.1777 3.76819 18.228 3.70968 18.2786 3.6514C18.3209 3.60256 18.363 3.55346 18.405 3.50434C18.4552 3.44569 18.5055 3.38718 18.5561 3.3289C18.5946 3.28445 18.6329 3.23978 18.6712 3.19507C18.6909 3.17205 18.7106 3.14906 18.7303 3.12605C18.7374 3.11778 18.7445 3.10951 18.7516 3.10124C18.7548 3.09753 18.7581 3.09381 18.7615 3.08999C18.7726 3.07705 18.7726 3.07705 18.7821 3.06319C18.8085 3.0273 18.8085 3.0273 18.8321 3.01953C18.8495 3.01772 18.8661 3.01758 18.8836 3.01802C18.8901 3.01798 18.8967 3.01793 18.9034 3.01789C18.9254 3.0178 18.9473 3.01809 18.9693 3.01838C18.985 3.01839 19.0007 3.01838 19.0165 3.01835C19.0592 3.01834 19.1019 3.01865 19.1446 3.01901C19.1893 3.01934 19.2339 3.01937 19.2786 3.01943C19.3631 3.0196 19.4477 3.02003 19.5322 3.02056C19.6285 3.02114 19.7248 3.02143 19.821 3.02169C20.019 3.02224 20.217 3.02317 20.415 3.02434C20.408 3.03379 20.4009 3.04323 20.3939 3.05266C20.39 3.05792 20.3861 3.06318 20.382 3.0686C20.3637 3.09254 20.344 3.11515 20.3241 3.13777C20.3154 3.14763 20.3068 3.1575 20.2982 3.16736C20.2939 3.17229 20.2896 3.17721 20.2852 3.18228C20.2658 3.20451 20.2467 3.22692 20.2275 3.24934C20.1964 3.28571 20.1651 3.32194 20.1337 3.35809C20.091 3.40733 20.0485 3.45679 20.0061 3.50633C19.9837 3.53256 19.9612 3.55877 19.9387 3.58498C19.9201 3.60675 19.9014 3.62853 19.8828 3.65032C19.84 3.70029 19.797 3.7501 19.7539 3.79978C19.7116 3.84861 19.6695 3.89771 19.6275 3.94684C19.5773 4.00548 19.527 4.06399 19.4764 4.12228C19.4341 4.17111 19.392 4.22021 19.35 4.26934C19.2998 4.32798 19.2495 4.38649 19.1989 4.44478C19.1566 4.49361 19.1145 4.54271 19.0725 4.59184C19.0223 4.65048 18.972 4.70899 18.9214 4.76728C18.8791 4.81611 18.837 4.86521 18.795 4.91434C18.7448 4.97298 18.6945 5.03149 18.6439 5.08978C18.6016 5.13861 18.5595 5.18771 18.5175 5.23684C18.4673 5.29548 18.417 5.35399 18.3664 5.41228C18.3278 5.4568 18.2894 5.50155 18.2511 5.54633C18.2287 5.57256 18.2062 5.59877 18.1837 5.62498C18.1651 5.64675 18.1464 5.66853 18.1278 5.69032C18.085 5.74029 18.042 5.7901 17.9989 5.83978C17.9566 5.88861 17.9145 5.93771 17.8725 5.98684C17.8223 6.04548 17.772 6.10399 17.7214 6.16228C17.6791 6.21111 17.637 6.26021 17.595 6.30934C17.5448 6.36798 17.4945 6.42649 17.4439 6.48478C17.4016 6.53361 17.3595 6.58271 17.3175 6.63184C17.2673 6.69048 17.217 6.74899 17.1664 6.80728C17.1241 6.85611 17.082 6.90521 17.04 6.95434C16.9898 7.01298 16.9395 7.07149 16.8889 7.12978C16.8503 7.1743 16.8119 7.21905 16.7736 7.26383C16.7512 7.29006 16.7287 7.31627 16.7062 7.34248C16.
56466876 7.36425 16.6689 7.38603 16.6503 7.40782C16.6075 7.45779 16.5645 7.5076 16.5214 7.55728C16.4791 7.60611 16.437 7.65521 16.395 7.70434C16.3448 7.76298 16.2945 7.82149 16.2439 7.87978C16.2016 7.92861 16.1595 7.97771 16.1175 8.02684C16.0673 8.08548 16.017 8.14399 15.9664 8.20228C15.9241 8.25111 15.882 8.30021 15.84 8.34934C15.7898 8.40798 15.7395 8.46649 15.6889 8.52478C15.6466 8.57361 15.6045 8.62271 15.5625 8.67184C15.5123 8.73048 15.462 8.78899 15.4114 8.84728C15.3691 8.89611 15.327 8.94521 15.285 8.99434C15.2348 9.05298 15.1845 9.11149 15.1339 9.16978C15.0953 9.2143 15.0569 9.25905 15.0186 9.30383C14.9962 9.33006 14.9737 9.35627 14.9512 9.38248C14.9326 9.40425 14.9139 9.42603 14.8953 9.44782C14.8525 9.49779 14.8095 9.5476 14.7664 9.59728C14.7241 9.64611 14.682 9.69521 14.64 9.74434C14.5898 9.80298 14.5395 9.86149 14.4889 9.91978C14.4466 9.96861 14.4045 10.0177 14.3625 10.0668C14.3123 10.1255 14.262 10.184 14.2114 10.2423C14.1691 10.2911 14.127 10.3402 14.085 10.3893C14.0389 10.4432 13.9927 10.497 13.9462 10.5506C13.8719 10.6363 13.7982 10.7226 13.725 10.8093C13.7484 10.8532 13.7736 10.8943 13.8028 10.9345C13.839 10.985 13.8743 11.0359 13.9092 11.0873C13.914 11.0943 13.9188 11.1014 13.9237 11.1086C13.9331 11.1224 13.9425 11.1362 13.9519 11.15C13.9705 11.1775 13.9893 11.2048 14.0081 11.2321C14.0114 11.2369 14.0147 11.2417 14.0181 11.2466C14.0246 11.2561 14.0311 11.2656 14.0377 11.2751C14.0547 11.2998 14.0717 11.3246 14.0887 11.3493C14.0956 11.3593 14.1025 11.3693 14.1094 11.3793C14.2331 11.5593 14.3569 11.7393 14.4806 11.9193C14.484 11.9243 14.4874 11.9292 14.4909 11.9343C14.4978 11.9443 14.5047 11.9544 14.5116 11.9644C14.5286 11.9891 14.5456 12.0138 14.5626 12.0385C14.6039 12.0986 14.6451 12.1587 14.6862 12.2188C14.7224 12.2716 14.7586 12.3244 14.7949 12.3772C14.812 12.4021 14.8291 12.427 14.8462 12.4518C14.8531 12.4618 14.86 12.4718 14.8669 12.4818C15.0181 12.7018 15.1694 12.9218 15.3206 13.1418C15.324 13.1468 15.3274 13.1517 15.3309 13.1568C15.3378 13.1668 15.3447 13.1769 15.3516 13.1869C15.3686 13.2116 15.3856 13.2363 15.4026 13.261C15.4439 13.3211 15.4851 13.3812 15.5262 13.4413C15.5624 13.4941 15.5986 13.5469 15.6349 13.5997C15.652 13.6246 15.6691 13.6495 15.6862 13.6743C15.6931 13.6843 15.7 13.6943 15.7069 13.7043C15.8581 13.9243 16.0094 14.1443 16.1606 14.3643C16.164 14.3693 16.1674 14.3742 16.1709 14.3793C16.1778 14.3893 16.1847 14.3994 16.1916 14.4094C16.2086 14.4341 16.2256 14.4588 16.2426 14.4835C16.2839 14.5436 16.3251 14.6037 16.3662 14.6638C16.4024 14.7166 16.4386 14.7694 16.4749 14.8222C16.492 14.8471 16.5091 14.872 16.5262 14.8968C16.5331 14.9068 16.54 14.9168 16.5469 14.9268C16.7256 15.1868 16.9044 15.4468 17.0831 15.7068C17.0865 15.7118 17.0899 15.7167 17.0934 15.7218C17.1003 15.7318 17.1072 15.7419 17.1141 15.7519C17.1311 15.7766 17.1481 15.8013 17.1651 15.826C17.2064 15.8861 17.2476 15.9462 17.2887 16.0063C17.3249 16.0591 17.3611 16.1119 17.3974 16.1647C17.4145 16.1896 17.4316 16.2145 17.4487 16.2393C17.4556 16.2493 17.4625 16.2593 17.4694 16.2693C17.6206 16.4893 17.7719 16.7093 17.9231 16.9293C17.9265 16.9343 17.9299 16.9392 17.9334 16.9443C17.9403 16.9543 17.9472 16.9644 17.9541 16.9744C17.9711 16.9991 17.9881 17.0238 18.0051 17.0485C18.0464 17.1086 18.0876 17.1687 18.1287 17.2288C18.1649 17.2816 18.2011 17.3344 18.2374 17.3872C18.2545 17.4121 18.2716 17.437 18.2887 17.4618C18.2956 17.4718 18.3025 17.4818 18.3094 17.4918C18.5775 17.8818 18.5775 17.8818 18.8456 18.2718C18.849 18.2768 18.8524 18.2817 18.8559 18.2868C18.8628 18.2968 18.8697 18.3069 18.8766 18.3169C18.8936 18.3416 18.9106 18.3663 18.9276 18.391C18.9689 18.4511 19.0101 18.5112 19.0512 18.5713C19.0874 18.6241 19.1236 18.6769 19.1599 18.7297C19.177 18.7546 19.1941 18.7795 19.2112 18.8043C19.2181 18.8143 19.225 18.8243 19.2319 18.8343C19.3831 19.0543 19.5344 19.2743 19.6856 19.4943C19.689 19.4993 19.6924 19.5042 19.6959 19.5093C19.7028 19.5194 19.7097 19.5294 19.7166 19.5394C19.7336 19.5641 19.7506 19.5888 19.7676 19.6135C19.8089 19.6736 19.8501 19.7337 19.8912 19.7938C19.9274 19.8466 19.9636 19.8994 19.9999 19.9522C20.017 19.9771 20.0341 20.002 20.0512 20.0268C20.0581 20.0368 20.065 20.0468 20.0719 20.0568C20.2231 20.2768 20.3744 20.4968 20.5256 20.7168C20.529 20.7218 20.5324 20.7267 20.5359 20.7318C20.5428 20.7418 20.5497 20.7519 20.5566 20.7619C20.5736 20.7866 20.5906 20.8113 20.6076 20.836C20.6489 20.8961 20.6901 20.9562 20.7312 21.0163C20.7673 21.0691 20.8036 21.12
564619 20.8399 21.1746C20.8503 21.1897 20.8607 21.2049 20.8711 21.22C20.8746 21.2251 20.8781 21.2302 20.8817 21.2355C20.8886 21.2455 20.8955 21.2556 20.9024 21.2657C20.9191 21.2899 20.9358 21.314 20.9527 21.338C20.9558 21.3425 20.959 21.347 20.9623 21.3517C20.9709 21.3639 20.9795 21.3761 20.9881 21.3883C21 21.4068 21 21.4068 21 21.4218C20.4895 21.423 19.979 21.4241 19.4685 21.4247C19.4609 21.4247 19.4534 21.4247 19.4456 21.4247C19.2815 21.4249 19.1174 21.4251 18.9532 21.4253C18.8727 21.4254 18.7923 21.4255 18.7118 21.4255C18.6998 21.4256 18.6998 21.4256 18.6875 21.4256C18.4278 21.4259 18.1681 21.4264 17.9083 21.427C17.6415 21.4276 17.3747 21.428 17.1078 21.4282C17.0701 21.4282 17.0325 21.4282 16.9948 21.4282C16.9837 21.4282 16.9837 21.4282 16.9723 21.4283C16.8529 21.4283 16.7334 21.4286 16.6139 21.429C16.4939 21.4294 16.3739 21.4296 16.2539 21.4295C16.1825 21.4294 16.1112 21.4296 16.0398 21.43C15.9922 21.4302 15.9445 21.4303 15.8969 21.4301C15.8697 21.43 15.8426 21.43 15.8154 21.4303C15.7862 21.4306 15.7569 21.4304 15.7277 21.4301C15.7192 21.4303 15.7108 21.4305 15.7021 21.4307C15.6462 21.4296 15.6462 21.4296 15.6209 21.4071C15.6074 21.39 15.596 21.373 15.585 21.3543C15.5797 21.3468 15.5744 21.3392 15.569 21.3315C15.5646 21.3248 15.5602 21.3181 15.5557 21.3113C15.5508 21.3037 15.5458 21.2962 15.5407 21.2884C15.5356 21.2808 15.5306 21.2732 15.5255 21.2653C15.4913 21.2133 15.4565 21.1621 15.4197 21.112C15.3957 21.0791 15.373 21.0454 15.3502 21.0117C15.3403 20.9972 15.3305 20.9827 15.3206 20.9682C15.3158 20.9611 15.311 20.9541 15.3061 20.9469C15.2873 20.9192 15.2684 20.8916 15.2494 20.864C15.2461 20.8592 15.2428 20.8544 15.2394 20.8495C15.2328 20.84 15.2263 20.8305 15.2198 20.821C15.1685 20.7466 15.1173 20.672 15.0663 20.5974C15.0301 20.5445 14.9939 20.4917 14.9576 20.439C14.9405 20.4141 14.9234 20.3892 14.9062 20.3643C14.8994 20.3543 14.8925 20.3443 14.8856 20.3343C14.7069 20.0743 14.5281 19.8143 14.3494 19.5543C14.346 19.5494 14.3426 19.5444 14.3391 19.5393C14.3322 19.5293 14.3253 19.5193 14.3184 19.5093C14.3014 19.4846 14.2844 19.4598 14.2674 19.4351C14.2261 19.3751 14.1849 19.315 14.1438 19.2549C14.1076 19.202 14.0714 19.1492 14.0351 19.0965C14.018 19.0716 14.0009 19.0467 13.9837 19.0218C13.9769 19.0118 13.97 19.0018 13.9631 18.9918C13.8119 18.7718 13.6606 18.5518 13.5094 18.3318C13.506 18.3269 13.5026 18.3219 13.4991 18.3168C13.4922 18.3068 13.4853 18.2968 13.4784 18.2868C13.4614 18.2621 13.4444 18.2373 13.4274 18.2126C13.3861 18.1526 13.3449 18.0925 13.3038 18.0324C13.2676 17.9795 13.2314 17.9267 13.1951 17.874C13.178 17.8491 13.1609 17.8242 13.1438 17.7993C13.1369 17.7893 13.13 17.7793 13.1231 17.7693C12.9719 17.5493 12.8206 17.3293 12.6694 17.1093C12.666 17.1044 12.6626 17.0994 12.6591 17.0943C12.6522 17.0843 12.6453 17.0743 12.6384 17.0643C12.6214 17.0396 12.6044 17.0148 12.5874 16.9901C12.5461 16.9301 12.5049 16.87 12.4638 16.8099C12.4276 16.757 12.3914 16.7042 12.3551 16.6515C12.338 16.6266 12.3209 16.6017 12.3038 16.5768C12.2969 16.5668 12.29 16.5568 12.2831 16.5468C12.1044 16.2868 11.9256 16.0268 11.7469 15.7668C11.7435 15.7619 11.7401 15.7569 11.7366 15.7518C11.7297 15.7418 11.7228 15.7318 11.7159 15.7218C11.6989 15.6971 11.6819 15.6723 11.6649 15.6476C11.6236 15.5876 11.5824 15.5275 11.5413 15.4674C11.5051 15.4145 11.4689 15.3617 11.4326 15.309C11.4155 15.2841 11.3984 15.2592 11.3812 15.2343C11.3744 15.2243 11.3675 15.2143 11.3606 15.2043C10.9069 14.5443 10.9069 14.5443 10.8965 14.5293C10.8897 14.5194 10.8829 14.5095 10.8761 14.4995C10.8581 14.4734 10.8402 14.4473 10.8223 14.4212C10.8185 14.4157 10.8148 14.4103 10.811 14.4047C10.8038 14.3943 10.7967 14.3839 10.7896 14.3735C10.7764 14.3543 10.7633 14.3353 10.7489 14.3169C10.74 14.3043 10.74 14.3043 10.74 14.2893C10.7127 14.3098 10.6917 14.331 10.6706 14.3578C10.6482 14.3857 10.6254 14.4129 10.6012 14.4393C10.578 14.4648 10.5559 14.4908 10.5342 14.5176C10.5053 14.5534 10.4747 14.5873 10.4435 14.6212C10.4194 14.6481 10.3968 14.6761 10.3741 14.7042C10.3525 14.7304 10.3297 14.7553 10.3068 14.7804C10.2895 14.7999 10.2731 14.8198 10.2567 14.8401C10.2278 14.8759 10.1972 14.9098 10.166 14.9437C10.1419 14.9706 10.1193 14.9986 10.0966 15.0267C10.075 15.0529 10.0522 15.0778 10.0293 15.1029C10.012 15.1224 9.99558 15.1423 9.97922 15.1626C9.95027 15.1984 9.91971 15.2323 9.88854 15.2662C9.8644 15.2931 9.84181 15.3211 9.81911 15.3492C9.797
564651 15.3754 9.7747 15.4003 9.75185 15.4254C9.73454 15.4449 9.71808 15.4648 9.70172 15.4851C9.67277 15.5209 9.64221 15.5548 9.61104 15.5887C9.5869 15.6156 9.56431 15.6436 9.54161 15.6717C9.52001 15.6979 9.4972 15.7228 9.47435 15.7479C9.45704 15.7674 9.44058 15.7873 9.42422 15.8076C9.39527 15.8434 9.36471 15.8773 9.33354 15.9112C9.3094 15.9381 9.28681 15.9661 9.26411 15.9942C9.24783 16.0139 9.23098 16.0329 9.21375 16.0518C9.19039 16.0775 9.16806 16.1036 9.14625 16.1306C9.11916 16.1641 9.09085 16.1961 9.06185 16.2279C9.04454 16.2474 9.02808 16.2673 9.01172 16.2876C8.98277 16.3234 8.95221 16.3573 8.92104 16.3912C8.8969 16.4181 8.87431 16.4461 8.85161 16.4742C8.83001 16.5004 8.8072 16.5253 8.78435 16.5504C8.76704 16.5699 8.75058 16.5898 8.73422 16.6101C8.70527 16.6459 8.67471 16.6798 8.64354 16.7137C8.6194 16.7406 8.59681 16.7686 8.57411 16.7967C8.55251 16.8229 8.5297 16.8478 8.50685 16.8729C8.48954 16.8924 8.47308 16.9123 8.45672 16.9326C8.42777 16.9684 8.39721 17.0023 8.36604 17.0362C8.3419 17.0631 8.31931 17.0911 8.29661 17.1192C8.27501 17.1454 8.2522 17.1703 8.22935 17.1954C8.21204 17.2149 8.19558 17.2348 8.17922 17.2551C8.15027 17.2909 8.11971 17.3248 8.08854 17.3587C8.0644 17.3856 8.04181 17.4136 8.01911 17.4417C7.99751 17.4679 7.9747 17.4928 7.95185 17.5179C7.93454 17.5374 7.91808 17.5573 7.90172 17.5776C7.87277 17.6134 7.84221 17.6473 7.81104 17.6812C7.7869 17.7081 7.76431 17.7361 7.74161 17.7642C7.72001 17.7904 7.6972 17.8153 7.67435 17.8404C7.65704 17.8599 7.64058 17.8798 7.62422 17.9001C7.59527 17.9359 7.56471 17.9698 7.53355 18.0037C7.5094 18.0306 7.48681 18.0586 7.46411 18.0867C7.44251 18.1129 7.4197 18.1378 7.39685 18.1629C7.37954 18.1824 7.36308 18.2023 7.34672 18.2226C7.31777 18.2584 7.28721 18.2923 7.25604 18.3262C7.2319 18.3531 7.20931 18.3811 7.18661 18.4092C7.16501 18.4354 7.1422 18.4603 7.11935 18.4854C7.10204 18.5049 7.08558 18.5248 7.06922 18.5451C7.04027 18.5809 7.00971 18.6148 6.97854 18.6487C6.9544 18.6756 6.93181 18.7036 6.90911 18.7317C6.89283 18.7514 6.87598 18.7704 6.85875 18.7893C6.83539 18.815 6.81306 18.8411 6.79125 18.8681C6.76416 18.9016 6.73585 18.9336 6.70685 18.9654C6.68954 18.9849 6.67308 19.0048 6.65672 19.0251C6.62777 19.0609 6.59721 19.0948 6.56604 19.1287C6.5419 19.1556 6.51931 19.1836 6.49661 19.2117C6.47501 19.2379 6.4522 19.2628 6.42935 19.2879C6.41204 19.3074 6.39558 19.3273 6.37922 19.3476C6.35027 19.3834 6.31971 19.4173 6.28854 19.4512C6.2644 19.4781 6.24181 19.5061 6.21911 19.5342C6.19751 19.5604 6.1747 19.5853 6.15185 19.6104C6.13454 19.6299 6.11808 19.6498 6.10172 19.6701C6.07277 19.7059 6.04221 19.7398 6.01104 19.7737C5.9869 19.8006 5.96431 19.8286 5.94161 19.8567C5.92001 19.8829 5.8972 19.9078 5.87435 19.9329C5.85704 19.9524 5.84058 19.9723 5.82422 19.9926C5.79527 20.0284 5.76471 20.0623 5.73354 20.0962C5.7094 20.1231 5.68681 20.1511 5.66411 20.1792C5.64251 20.2054 5.6197 20.2303 5.59685 20.2554C5.57954 20.2749 5.56308 20.2948 5.54672 20.3151C5.51777 20.3509 5.48721 20.3848 5.45604 20.4187C5.4319 20.4456 5.40931 20.4736 5.38661 20.5017C5.36501 20.5279 5.3422 20.5528 5.31935 20.5779C5.30204 20.5974 5.28558 20.6173 5.26922 20.6376C5.24027 20.6734 5.20971 20.7073 5.17854 20.7412C5.1544 20.7681 5.13181 20.7961 5.10911 20.8242C5.08751 20.8504 5.0647 20.8753 5.04185 20.9004C5.02454 20.9199 5.00808 20.9398 4.99172 20.9601C4.96277 20.9959 4.93221 21.0298 4.90104 21.0637C4.8769 21.0906 4.85431 21.1186 4.83161 21.1467C4.81001 21.1729 4.7872 21.1978 4.76435 21.2229C4.74704 21.2424 4.73058 21.2623 4.71422 21.2826C4.68411 21.3199 4.65237 21.3552 4.61977 21.3902C4.6048 21.4056 4.6048 21.4056 4.5975 21.4218C4.07033 21.4218 3.54315 21.4218 3 21.4218C3.01358 21.3947 3.02512 21.3794 3.04547 21.3576C3.06998 21.3309 3.09349 21.3038 3.11625 21.2756C3.14334 21.2421 3.17165 21.2101 3.20065 21.1783C3.21796 21.1588 3.23442 21.1388 3.25078 21.1186C3.27973 21.0828 3.31029 21.0489 3.34146 21.015C3.3656 20.9881 3.38819 20.9601 3.41089 20.932C3.43249 20.9058 3.4553 20.8809 3.47815 20.8558C3.49546 20.8363 3.51192 20.8163 3.52828 20.7961C3.55723 20.7603 3.58779 20.7264 3.61896 20.6925C3.6431 20.6656 3.66569 20.6376 3.68839 20.6095C3.70999 20.5833 3.7328 20.5584 3.75565 20.5333C3.77296 20.5138 3.78942 20.4938 3.80578 20.4736C3.83473 20.4378 3.86529 20.4039 3.89646 20.37C3.9206 20.3431 3.94319 20.3151 3.96589 20.287C3.98749 20.2608 4.0103 20.2359 4.03315 20.2108C4.05046 20.1913 4.06692 20.1713 4.08328 20.1511C4.11223 20.1153 4.14279 20.0814 4.17396 20.0475C4.1981 20.0206 4.22069 19.9926 4.24339 19.9645C4.26499 19.9383 4.2878 19.9134 4.31065 19.8883C4.32796 19.8688 4.34442 19.8488 4.36078 19.8286C4.38973 19.7928 4.42029 19.7589 4.4514
56466 19.725C4.4756 19.6981 4.49819 19.6701 4.52089 19.642C4.54249 19.6158 4.5653 19.5909 4.58815 19.5658C4.60546 19.5463 4.62192 19.5263 4.63828 19.5061C4.66723 19.4703 4.69779 19.4364 4.72896 19.4025C4.7531 19.3756 4.77569 19.3476 4.79839 19.3195C4.81999 19.2933 4.8428 19.2684 4.86565 19.2433C4.88296 19.2238 4.89942 19.2038 4.91578 19.1836C4.94473 19.1478 4.97529 19.1139 5.00646 19.08C5.0306 19.0531 5.05319 19.0251 5.07589 18.997C5.09749 18.9708 5.1203 18.9459 5.14315 18.9208C5.16046 18.9013 5.17692 18.8813 5.19328 18.8611C5.22223 18.8253 5.25279 18.7914 5.28396 18.7575C5.3081 18.7306 5.33069 18.7026 5.35339 18.6745C5.37499 18.6483 5.3978 18.6234 5.42065 18.5983C5.43796 18.5788 5.45442 18.5588 5.47078 18.5386C5.49973 18.5028 5.53029 18.4689 5.56146 18.435C5.5856 18.4081 5.60819 18.3801 5.63089 18.352C5.65249 18.3258 5.6753 18.3009 5.69815 18.2758C5.71546 18.2563 5.73192 18.2363 5.74828 18.2161C5.77723 18.1803 5.80779 18.1464 5.83896 18.1125C5.8631 18.0856 5.88569 18.0576 5.90839 18.0295C5.92999 18.0033 5.9528 17.9784 5.97565 17.9533C5.99296 17.9338 6.00942 17.9138 6.02578 17.8936C6.05473 17.8578 6.08529 17.8239 6.11646 17.79C6.1406 17.7631 6.16319 17.7351 6.18589 17.707C6.20217 17.6872 6.21902 17.6682 6.23625 17.6493C6.25961 17.6237 6.28194 17.5975 6.30375 17.5706C6.33084 17.5371 6.35915 17.5051 6.38815 17.4733C6.40546 17.4538 6.42192 17.4338 6.43828 17.4136C6.46723 17.3778 6.49779 17.3439 6.52896 17.31C6.5531 17.2831 6.57569 17.2551 6.59839 17.227C6.61999 17.2008 6.6428 17.1759 6.66565 17.1508C6.68296 17.1313 6.69942 17.1113 6.71578 17.0911C6.74473 17.0553 6.77529 17.0214 6.80645 16.9875C6.8306 16.9606 6.85319 16.9326 6.87589 16.9045C6.89749 16.8783 6.9203 16.8534 6.94315 16.8283C6.96046 16.8088 6.97692 16.7888 6.99328 16.7686C7.02223 16.7328 7.05279 16.6989 7.08396 16.665C7.1081 16.6381 7.13069 16.6101 7.15339 16.582C7.17499 16.5558 7.1978 16.5309 7.22065 16.5058C7.23796 16.4863 7.25442 16.4663 7.27078 16.4461C7.29973 16.4103 7.33029 16.3764 7.36145 16.3425C7.3856 16.3156 7.40819 16.2876 7.43089 16.2595C7.45249 16.2333 7.4753 16.2084 7.49815 16.1833C7.51546 16.1638 7.53192 16.1438 7.54828 16.1236C7.57723 16.0878 7.60779 16.0539 7.63896 16.02C7.6631 15.9931 7.68569 15.9651 7.70839 15.937C7.72999 15.9108 7.7528 15.8859 7.77565 15.8608C7.79296 15.8413 7.80942 15.8213 7.82578 15.8011C7.85473 15.7653 7.88529 15.7314 7.91645 15.6975C7.9406 15.6706 7.96319 15.6426 7.98589 15.6145C8.00749 15.5883 8.0303 15.5634 8.05315 15.5383C8.07046 15.5188 8.08692 15.4988 8.10328 15.4786C8.13223 15.4428 8.16279 15.4089 8.19395 15.375C8.2181 15.3481 8.24069 15.3201 8.26339 15.292C8.28499 15.2658 8.3078 15.2409 8.33065 15.2158C8.34796 15.1963 8.36442 15.1763 8.38078 15.1561C8.40973 15.1203 8.44029 15.0864 8.47146 15.0525C8.4956 15.0256 8.51819 14.9976 8.54089 14.9695C8.56249 14.9433 8.5853 14.9184 8.60815 14.8933C8.62546 14.8738 8.64192 14.8538 8.65828 14.8336C8.68723 14.7978 8.71779 14.7639 8.74895 14.73C8.7731 14.7031 8.79569 14.6751 8.81839 14.647C8.83999 14.6208 8.8628 14.5959 8.88565 14.5708C8.90296 14.5513 8.91942 14.5313 8.93578 14.5111C8.96473 14.4753 8.99529 14.4414 9.02645 14.4075C9.0506 14.3806 9.07319 14.3526 9.09589 14.3245C9.11749 14.2983 9.1403 14.2734 9.16315 14.2483C9.18046 14.2288 9.19692 14.2088 9.21328 14.1886C9.24223 14.1528 9.27279 14.1189 9.30396 14.085C9.3281 14.0581 9.35069 14.0301 9.37339 14.002C9.38967 13.9822 9.40652 13.9632 9.42375 13.9443C9.44711 13.9187 9.46944 13.8925 9.49125 13.8656C9.51834 13.8321 9.54665 13.8001 9.57565 13.7683C9.59296 13.7488 9.60942 13.7288 9.62578 13.7086C9.65473 13.6728 9.68529 13.6389 9.71645 13.605C9.7406 13.5781 9.76319 13.5501 9.78589 13.522C9.80749 13.4958 9.8303 13.4709 9.85315 13.4458C9.87631 13.4197 9.89802 13.3926 9.91983 13.3654C9.93248 13.3503 9.94512 13.336 9.95868 13.3218C9.96218 13.3181 9.96568 13.3145 9.96929 13.3107C9.97918 13.3003 9.98919 13.2901 9.9992 13.2799C10.0144 13.2636 10.0144 13.2636 10.0106 13.2473C10.0012 13.2213 9.98431 13.1998 9.96844 13.1775C9.96086 13.1666 9.95328 13.1558 9.9457 13.1449C9.93989 13.1366 9.93989 13.1366 9.93395 13.1282C9.91653 13.1033 9.89936 13.0783 9.88219 13.0532C9.87533 13.0433 9.86848 13.0333 9.86162 13.0233C9.83396 12.9831 9.80639 12.9427 9.77881 12.9024C9.74265 12.8495 9.70638 12.7967 9.67007 12.744C9.65296 12.7191 9.63585 12.6942 9.61875 12.6693C9.61188 12.6593 9.605 12.6493 9.59812 12.6393C9.44688 12.4193 9.29563 12.1993 9.14437 11.9793C9.13927 11.9719 9.13927 11.9719 9.13407 11.9643C9.12718 11.9543 9.12029 11.9443 9.1134 11.9343C9.09641 11.9
5646096 9.07941 11.8848 9.0624 11.8601C9.02111 11.8001 8.97993 11.74 8.93881 11.6799C8.90265 11.627 8.86638 11.5742 8.83007 11.5215C8.81296 11.4966 8.79585 11.4717 8.77875 11.4468C8.77187 11.4368 8.765 11.4268 8.75813 11.4168C8.60687 11.1968 8.45563 10.9768 8.30438 10.7568C8.29927 10.7494 8.29927 10.7494 8.29407 10.7418C8.28718 10.7318 8.28029 10.7218 8.2734 10.7118C8.25641 10.6871 8.23941 10.6623 8.2224 10.6376C8.18111 10.5776 8.13993 10.5175 8.09881 10.4574C8.06265 10.4045 8.02638 10.3517 7.99007 10.299C7.97296 10.2741 7.95585 10.2492 7.93875 10.2243C7.93187 10.2143 7.925 10.2043 7.91813 10.1943C7.69125 9.86434 7.69125 9.86434 7.46438 9.53434C7.45927 9.52691 7.45927 9.52691 7.45407 9.51934C7.44718 9.50932 7.44029 9.49931 7.4334 9.48929C7.41641 9.46456 7.39941 9.43984 7.3824 9.41513C7.34111 9.35511 7.29993 9.29502 7.25881 9.23489C7.22265 9.18202 7.18638 9.12924 7.15007 9.07647C7.13296 9.0516 7.11585 9.02672 7.09875 9.00184C7.09188 8.99184 7.085 8.98184 7.07812 8.97184C6.92688 8.75184 6.77562 8.53184 6.62437 8.31184C6.62097 8.30689 6.61757 8.30194 6.61407 8.29684C6.60718 8.28682 6.60029 8.27681 6.5934 8.26679C6.57641 8.24206 6.55941 8.21734 6.5424 8.19263C6.50111 8.13261 6.45993 8.07252 6.41881 8.01239C6.38265 7.95952 6.34638 7.90674 6.31007 7.85397C6.29296 7.8291 6.27585 7.80422 6.25875 7.77934C6.25188 7.76934 6.245 7.75934 6.23813 7.74934C6.08687 7.52934 5.93562 7.30934 5.78437 7.08934C5.78097 7.08439 5.77757 7.07944 5.77407 7.07434C5.76718 7.06432 5.76029 7.05431 5.7534 7.04429C5.73641 7.01956 5.71941 6.99484 5.7024 6.97013C5.66111 6.91011 5.61993 6.85002 5.57881 6.78989C5.54265 6.73702 5.50638 6.68424 5.47007 6.63147C5.45296 6.6066 5.43585 6.58172 5.41875 6.55684C5.41188 6.54684 5.405 6.53684 5.39812 6.52684C5.24688 6.30684 5.09562 6.08684 4.94437 5.86684C4.94097 5.86189 4.93757 5.85694 4.93407 5.85184C4.92718 5.84182 4.92029 5.83181 4.9134 5.82179C4.89641 5.79706 4.87941 5.77234 4.8624 5.74763C4.82111 5.68761 4.77993 5.62752 4.73881 5.56739C4.70265 5.51452 4.66638 5.46174 4.63007 5.40897C4.61296 5.3841 4.59585 5.35922 4.57875 5.33434C4.57187 5.32434 4.565 5.31434 4.55813 5.30434C4.40688 5.08434 4.25563 4.86434 4.10438 4.64434C4.10097 4.63939 4.09757 4.63444 4.09407 4.62934C4.08718 4.61932 4.08029 4.60931 4.0734 4.59929C4.05641 4.57456 4.03941 4.54984 4.0224 4.52513C3.98111 4.46511 3.93993 4.40502 3.89881 4.34489C3.86265 4.29202 3.82638 4.23924 3.79007 4.18647C3.77296 4.1616 3.75585 4.13672 3.73875 4.11184C3.73188 4.10184 3.725 4.09184 3.71812 4.08184C3.56687 3.86184 3.41562 3.64184 3.26438 3.42184C3.25927 3.41441 3.25927 3.41441 3.25407 3.40684C3.24718 3.39682 3.24029 3.38681 3.2334 3.37679C3.21641 3.35206 3.19941 3.32734 3.1824 3.30263C3.17566 3.29283 3.16893 3.28304 3.16219 3.27324C3.15887 3.26842 3.15555 3.26359 3.15212 3.25862C3.13268 3.23033 3.11328 3.20201 3.09393 3.17366C3.08953 3.16723 3.08514 3.16079 3.08061 3.15416C3.07205 3.14162 3.0635 3.12908 3.05495 3.11654C3.05105 3.11082 3.04715 3.10511 3.04312 3.09922C3.03968 3.09417 3.03624 3.08912 3.0327 3.08392C3.02543 3.07352 3.01781 3.06337 3.00996 3.05341C3 3.03934 3 3.03934 3 3.02434ZM5.1675 4.22434C5.17582 4.2375 5.18415 4.25066 5.19248 4.26381C5.19712 4.27114 5.20176 4.27846 5.20654 4.28601C5.22316 4.31173 5.24094 4.3363 5.25937 4.36074C5.29141 4.40385 5.32228 4.4476 5.35256 4.49195C5.37981 4.53185 5.40741 4.5715 5.43516 4.61105C5.47356 4.66581 5.51183 4.72066 5.55 4.77559C5.60055 4.84831 5.65129 4.92091 5.70212 4.99345C5.72392 5.02457 5.74571 5.0557 5.7675 5.08684C5.77625 5.09934 5.785 5.11184 5.79375 5.12434C5.82 5.16184 5.82 5.16184 5.84625 5.19934C5.85058 5.20552 5.85491 5.21171 5.85937 5.21808C5.86813 5.2306 5.8769 5.24312 5.88566 5.25564C5.90734 5.28661 5.92902 5.31758 5.95072 5.34855C6.00238 5.42227 6.05387 5.49611 6.10526 5.57003C6.15073 5.63544 6.1964 5.70071 6.24212 5.76595C6.26392 5.79707 6.28571 5.8282 6.3075 5.85934C6.31625 5.87184 6.325 5.88434 6.33375 5.89684C6.38625 5.97184 6.43875 6.04684 6.49125 6.12184C6.49558 6.12802 6.49991 6.13421 6.50437 6.14058C6.51313 6.1531 6.5219 6.16562 6.53066 6.17814C6.55234 6.20911 6.57402 6.24008 6.59572 6.27105C6.64738 6.34477 6.69887 6.41861 6.75026 6.49253C6.79573 6.55794 6.8414 6.62321 6.88712 6.68845C6.90892 6.71957 6.93071 6.7507 6.9525 6.78184C6.96125 6.79434 6.97 6.80684 6.97875 6.81934C6.99625 6.84434 7.01375 6.86934 7.03125 6.89434C7.03558 6.90052 7.03991 6.90671 7.04437 6.91308C7.05313 6.9256 7.0619 6.93812 7.07066 6.95064C7.09234 6.98161 7.11402 7.01258 7.13572 7.04355C7.18738 7.11727 7.23887 7.19111 7.29026 7.26503C7.33574 7.33044 7.3814 7.39571 7.42712 7.46095C7.44892 7.49207 7.47071 7.5232 7.4925 7.55434C7.50125 7.56684 7.51 7.57934 7.51875 7.59184C7.57125 7.66684 7.62375 7.74184 7.67625 7.81684C7.68058 7.82302 7.68491 7.82921 7.
564668937 7.83558C7.69813 7.8481 7.7069 7.86062 7.71566 7.87314C7.73734 7.90411 7.75902 7.93508 7.78072 7.96605C7.83238 8.03977 7.88387 8.11361 7.93526 8.18753C7.98073 8.25294 8.0264 8.31821 8.07212 8.38345C8.09392 8.41457 8.11571 8.4457 8.1375 8.47684C8.14625 8.48934 8.155 8.50184 8.16375 8.51434C8.18125 8.53934 8.19875 8.56434 8.21625 8.58934C8.22058 8.59552 8.22491 8.60171 8.22937 8.60808C8.23813 8.6206 8.2469 8.63312 8.25566 8.64564C8.27734 8.67661 8.29902 8.70758 8.32072 8.73855C8.37238 8.81227 8.42387 8.88611 8.47526 8.96003C8.52074 9.02544 8.5664 9.09071 8.61212 9.15595C8.63392 9.18707 8.65571 9.2182 8.6775 9.24934C8.68625 9.26184 8.695 9.27434 8.70375 9.28684C8.75625 9.36184 8.80875 9.43684 8.86125 9.51184C8.86558 9.51802 8.86991 9.52421 8.87437 9.53058C8.88313 9.5431 8.8919 9.55562 8.90066 9.56814C8.92234 9.59911 8.94402 9.63008 8.96572 9.66105C9.01738 9.73477 9.06887 9.80861 9.12026 9.88253C9.16573 9.94794 9.2114 10.0132 9.25712 10.0784C9.27892 10.1096 9.30071 10.1407 9.3225 10.1718C9.33125 10.1843 9.34 10.1968 9.34875 10.2093C9.36625 10.2343 9.38375 10.2593 9.40125 10.2843C9.40558 10.2905 9.40991 10.2967 9.41437 10.3031C9.42313 10.3156 9.4319 10.3281 9.44066 10.3406C9.46234 10.3716 9.48402 10.4026 9.50572 10.4335C9.55738 10.5073 9.60887 10.5811 9.66026 10.655C9.70574 10.7204 9.7514 10.7857 9.79712 10.8509C9.81892 10.8821 9.84071 10.9132 9.8625 10.9443C9.87125 10.9568 9.88 10.9693 9.88875 10.9818C9.94125 11.0568 9.99375 11.1318 10.0463 11.2068C10.0506 11.213 10.0549 11.2192 10.0594 11.2256C10.0681 11.2381 10.0769 11.2506 10.0857 11.2631C10.1073 11.2941 10.129 11.3251 10.1507 11.356C10.2024 11.4298 10.2539 11.5036 10.3053 11.5775C10.3507 11.6429 10.3964 11.7082 10.4421 11.7734C10.4639 11.8046 10.4857 11.8357 10.5075 11.8668C10.5162 11.8793 10.525 11.8918 10.5337 11.9043C10.5512 11.9293 10.5687 11.9543 10.5862 11.9793C10.5906 11.9855 10.5949 11.9917 10.5994 11.9981C10.6081 12.0106 10.6169 12.0231 10.6257 12.0356C10.6473 12.0666 10.669 12.0976 10.6907 12.1285C10.7424 12.2023 10.7939 12.2761 10.8453 12.35C10.8907 12.4154 10.9364 12.4807 10.9821 12.5459C11.0039 12.5771 11.0257 12.6082 11.0475 12.6393C11.0562 12.6518 11.065 12.6643 11.0738 12.6768C11.1525 12.7893 11.1525 12.7893 11.2312 12.9018C11.2356 12.908 11.2399 12.9142 11.2444 12.9206C11.2531 12.9331 11.2619 12.9456 11.2707 12.9581C11.2923 12.9891 11.314 13.0201 11.3357 13.051C11.3874 13.1248 11.4389 13.1986 11.4903 13.2725C11.54 13.3441 11.59 13.4155 11.64 13.4868C11.7002 13.5728 11.7603 13.6588 11.8203 13.745C11.8657 13.8104 11.9114 13.8757 11.9571 13.9409C11.9789 13.9721 12.0007 14.0032 12.0225 14.0343C12.0312 14.0468 12.04 14.0593 12.0487 14.0718C12.1275 14.1843 12.1275 14.1843 12.2063 14.2968C12.2106 14.303 12.2149 14.3092 12.2194 14.3156C12.2281 14.3281 12.2369 14.3406 12.2457 14.3531C12.2673 14.3841 12.289 14.4151 12.3107 14.446C12.3624 14.5198 12.4139 14.5936 12.4653 14.6675C12.5107 14.7329 12.5564 14.7982 12.6021 14.8634C12.6239 14.8946 12.6457 14.9257 12.6675 14.9568C12.6762 14.9693 12.685 14.9818 12.6938 14.9943C12.7113 15.0193 12.7288 15.0443 12.7463 15.0693C12.7506 15.0755 12.7549 15.0817 12.7594 15.0881C12.7681 15.1006 12.7769 15.1131 12.7857 15.1256C12.8073 15.1566 12.829 15.1876 12.8507 15.2185C12.9024 15.2923 12.9539 15.3661 13.0053 15.44C13.0507 15.5054 13.0964 15.5707 13.1421 15.6359C13.1639 15.6671 13.1857 15.6982 13.2075 15.7293C13.2163 15.7418 13.225 15.7543 13.2338 15.7668C13.2863 15.8418 13.3387 15.9168 13.3912 15.9918C13.3956 15.998 13.3999 16.0042 13.4044 16.0106C13.4131 16.0231 13.4219 16.0356 13.4307 16.0481C13.4523 16.0791 13.474 16.1101 13.4957 16.141C13.5474 16.2148 13.5989 16.2886 13.6503 16.3625C13.6957 16.4279 13.7414 16.4932 13.7871 16.5584C13.8089 16.5896 13.8307 16.6207 13.8525 16.6518C13.8612 16.6643 13.87 16.6768 13.8787 16.6893C13.9575 16.8018 13.9575 16.8018 14.0363 16.9143C14.0406 16.9205 14.0449 16.9267 14.0494 16.9331C14.0581 16.9456 14.0669 16.9581 14.0757 16.9706C14.0973 17.0016 14.119 17.0326 14.1407 17.0635C14.1924 17.1373 14.2439 17.2111 14.2953 17.285C14.3407 17.3504 14.3864 17.4157 14.4321 17.4809C14.4539 17.5121 14.4757 17.5432 14.4975 17.5743C14.5062 17.5868 14.515 17.5993 14.5237 17.6118C14.5412 17.6368 14.5
5646588 17.6618 14.5763 17.6868C14.5806 17.693 14.5849 17.6992 14.5894 17.7056C14.5981 17.7181 14.6069 17.7306 14.6157 17.7431C14.6373 17.7741 14.659 17.8051 14.6807 17.836C14.7324 17.9098 14.7839 17.9836 14.8353 18.0575C14.8807 18.1229 14.9264 18.1882 14.9721 18.2534C14.9939 18.2846 15.0157 18.3157 15.0375 18.3468C15.0462 18.3593 15.055 18.3718 15.0638 18.3843C15.1425 18.4968 15.1425 18.4968 15.2212 18.6093C15.2256 18.6155 15.2299 18.6217 15.2344 18.6281C15.2431 18.6406 15.2519 18.6531 15.2607 18.6656C15.2823 18.6966 15.304 18.7276 15.3257 18.7585C15.3774 18.8323 15.4289 18.9061 15.4803 18.98C15.5257 19.0454 15.5714 19.1107 15.6171 19.176C15.6389 19.2071 15.6607 19.2382 15.6825 19.2693C15.6912 19.2818 15.7 19.2943 15.7087 19.3068C15.7262 19.3318 15.7437 19.3568 15.7612 19.3818C15.7656 19.388 15.7699 19.3942 15.7744 19.4006C15.7831 19.4131 15.7919 19.4256 15.8007 19.4381C15.8223 19.4691 15.844 19.5001 15.8657 19.531C15.9174 19.6048 15.9689 19.6786 16.0203 19.7525C16.0657 19.8179 16.1114 19.8832 16.1571 19.9485C16.1745 19.9733 16.192 19.9982 16.2094 20.0231C16.218 20.0355 16.2267 20.0479 16.2354 20.0603C16.2585 20.0933 16.2816 20.1263 16.3047 20.1593C16.3095 20.1663 16.3144 20.1732 16.3193 20.1803C16.3287 20.1937 16.338 20.2071 16.3473 20.2205C16.3515 20.2264 16.3557 20.2324 16.36 20.2386C16.3637 20.2439 16.3674 20.2491 16.3712 20.2546C16.3793 20.2665 16.3793 20.2665 16.3875 20.2743C16.4004 20.2751 16.4134 20.2753 16.4264 20.2753C16.4349 20.2753 16.4433 20.2753 16.4521 20.2753C16.4615 20.2753 16.4709 20.2753 16.4807 20.2752C16.4907 20.2752 16.5007 20.2752 16.5107 20.2753C16.5384 20.2753 16.5661 20.2752 16.5938 20.2752C16.6236 20.2752 16.6534 20.2752 16.6832 20.2752C16.7349 20.2752 16.7866 20.2752 16.8383 20.2751C16.9131 20.2751 16.9878 20.275 17.0625 20.275C17.1838 20.275 17.305 20.275 17.4263 20.2749C17.5441 20.2748 17.6619 20.2748 17.7797 20.2747C17.787 20.2747 17.7942 20.2747 17.8017 20.2747C17.8381 20.2747 17.8745 20.2747 17.9109 20.2747C18.2131 20.2746 18.5153 20.2745 18.8175 20.2743C18.8092 20.2612 18.8009 20.2481 18.7926 20.235C18.7879 20.2277 18.7833 20.2204 18.7785 20.2129C18.7609 20.1854 18.7423 20.1588 18.7233 20.1323C18.7154 20.1213 18.7076 20.1102 18.6998 20.0992C18.6957 20.0935 18.6917 20.0878 18.6875 20.082C18.666 20.0517 18.6447 20.0212 18.6234 19.9907C18.6145 19.978 18.6056 19.9653 18.5967 19.9525C18.5901 19.943 18.5901 19.943 18.5833 19.9334C18.5703 19.9147 18.5573 19.8961 18.5442 19.8775C18.4926 19.8038 18.4411 19.73 18.3897 19.6561C18.3443 19.5907 18.2986 19.5255 18.2529 19.4602C18.2311 19.4291 18.2093 19.398 18.1875 19.3668C18.1788 19.3543 18.17 19.3418 18.1612 19.3293C18.1087 19.2543 18.0563 19.1793 18.0037 19.1043C17.9994 19.0982 17.9951 19.092 17.9906 19.0856C17.9819 19.0731 17.9731 19.0606 17.9643 19.048C17.9427 19.0171 17.921 18.9861 17.8993 18.9551C17.8476 18.8814 17.7961 18.8076 17.7447 18.7336C17.6993 18.6682 17.6536 18.603 17.6079 18.5377C17.5861 18.5066 17.5643 18.4755 17.5425 18.4443C17.5337 18.4318 17.525 18.4193 17.5162 18.4068C17.4987 18.3818 17.4813 18.3568 17.4638 18.3318C17.4594 18.3257 17.4551 18.3195 17.4506 18.3131C17.4419 18.3006 17.4331 18.2881 17.4243 18.2755C17.4027 18.2446 17.381 18.2136 17.3593 18.1826C17.3076 18.1089 17.2561 18.0351 17.2047 17.9611C17.1593 17.8957 17.1136 17.8305 17.0679 17.7652C17.0461 17.7341 17.0243 17.703 17.0025 17.6718C16.9938 17.6593 16.985 17.6468 16.9762 17.6343C16.9237 17.5593 16.8713 17.4843 16.8187 17.4093C16.8144 17.4032 16.8101 17.397 16.8056 17.3906C16.7969 17.3781 16.7881 17.3656 16.7793 17.353C16.7577 17.3221 16.736 17.2911 16.7143 17.2601C16.6626 17.1864 16.6111 17.1126 16.5597 17.0386C16.5143 16.9732 16.4686 16.908 16.4229 16.8427C16.4011 16.8116 16.3793 16.7805 16.3575 16.7493C16.3487 16.7368 16.34 16.7243 16.3312 16.7118C16.3137 16.6868 16.2963 16.6618 16.2788 16.6368C16.2744 16.6307 16.2701 16.6245 16.2656 16.6181C16.2569 16.6056 16.2481 16.5931 16.2393 16.5805C16.2177 16.5496 16.196 16.5186 16.1743 16.4876C16.1226 16.4139 16.0711 16.3401 16.0197 16.2661C15.9743 16.2007 15.9286 16.1355 15.8829 16.0702C15.8611 16.0391 15.8393 16.008 15.8175 15.9768C15.8088 15.9643 15.8 15.9518 15.7913 15.9393C15.7387 15.8643 15.6862 15.7893 15.6337 15.7143C15.6294 15.7082 15.6251 15.702 15.6206 15.6956C15.6119 15.6831 15.6031 15.6706 15.5943 15.658C15.5727 15.6271 15.551 15.5961 15.5293 15.5651C15.4776 15.4914 15.4261 15.4176 15.3747 15.3436C15.3293 15.2782 15.2836 15.213 15.2379
564615.1477C15.2161 15.1166 15.1943 15.0855 15.1725 15.0543C15.1637 15.0418 15.155 15.0293 15.1462 15.0168C15.1287 14.9918 15.1112 14.9668 15.0938 14.9418C15.0894 14.9357 15.0851 14.9295 15.0806 14.9231C15.0719 14.9106 15.0631 14.8981 15.0543 14.8855C15.0327 14.8546 15.011 14.8236 14.9893 14.7926C14.9376 14.7189 14.8861 14.6451 14.8347 14.5711C14.7893 14.5057 14.7436 14.4405 14.6979 14.3752C14.6761 14.3441 14.6543 14.313 14.6325 14.2818C14.6238 14.2693 14.615 14.2568 14.6062 14.2443C14.5537 14.1693 14.5013 14.0943 14.4487 14.0193C14.4444 14.0132 14.4401 14.007 14.4356 14.0006C14.4269 13.9881 14.4181 13.9756 14.4093 13.963C14.3877 13.9321 14.366 13.9011 14.3443 13.8701C14.2926 13.7964 14.2411 13.7226 14.1897 13.6486C14.1443 13.5832 14.0986 13.518 14.0529 13.4527C14.0311 13.4216 14.0093 13.3905 13.9875 13.3593C13.9787 13.3468 13.97 13.3343 13.9612 13.3218C13.9437 13.2968 13.9263 13.2718 13.9088 13.2468C13.9044 13.2407 13.9001 13.2345 13.8956 13.2281C13.8869 13.2156 13.8781 13.2031 13.8693 13.1905C13.8477 13.1596 13.826 13.1286 13.8043 13.0976C13.7526 13.0239 13.7011 12.9501 13.6497 12.8761C13.6043 12.8107 13.5586 12.7455 13.5129 12.6802C13.4911 12.6491 13.4693 12.618 13.4475 12.5868C13.4388 12.5743 13.43 12.5618 13.4213 12.5493C13.4038 12.5243 13.3862 12.4993 13.3687 12.4743C13.3644 12.4682 13.3601 12.462 13.3556 12.4556C13.3469 12.4431 13.3381 12.4306 13.3293 12.418C13.3077 12.3871 13.286 12.3561 13.2643 12.3251C13.2126 12.2514 13.1611 12.1776 13.1097 12.1036C13.0643 12.0382 13.0186 11.973 12.9729 11.9077C12.9511 11.8766 12.9293 11.8455 12.9075 11.8143C12.8988 11.8018 12.89 11.7893 12.8813 11.7768C12.8288 11.7018 12.7762 11.6268 12.7238 11.5518C12.7194 11.5457 12.7151 11.5395 12.7106 11.5331C12.7019 11.5206 12.6931 11.5081 12.6843 11.4955C12.6627 11.4646 12.641 11.4336 12.6193 11.4026C12.5676 11.3289 12.5161 11.2551 12.4647 11.1811C12.4193 11.1157 12.3736 11.0505 12.3279 10.9852C12.3061 10.9541 12.2843 10.923 12.2625 10.8918C12.2538 10.8793 12.245 10.8668 12.2362 10.8543C12.1837 10.7793 12.1313 10.7043 12.0787 10.6293C12.0744 10.6232 12.0701 10.617 12.0656 10.6106C12.0569 10.5981 12.0481 10.5856 12.0393 10.573C12.0177 10.5421 11.996 10.5111 11.9743 10.4801C11.9226 10.4064 11.8711 10.3326 11.8197 10.2586C11.7743 10.1932 11.7286 10.128 11.6829 10.0627C11.6611 10.0316 11.6393 10.0005 11.6175 9.96934C11.6087 9.95684 11.6 9.94434 11.5912 9.93184C11.5737 9.90684 11.5563 9.88184 11.5388 9.85684C11.5344 9.85065 11.5301 9.84447 11.5256 9.83809C11.5169 9.82557 11.5081 9.81306 11.4993 9.80054C11.4777 9.76956 11.456 9.73859 11.4343 9.70763C11.3826 9.6339 11.3311 9.56006 11.2797 9.48614C11.2343 9.42073 11.1886 9.35546 11.1429 9.29022C11.1211 9.2591 11.0993 9.22797 11.0775 9.19684C11.0688 9.18434 11.06 9.17184 11.0513 9.15934C11.0338 9.13434 11.0162 9.10934 10.9987 9.08434C10.9944 9.07815 10.9901 9.07197 10.9856 9.06559C10.9769 9.05307 10.9681 9.04056 10.9593 9.02804C10.9377 8.99706 10.916 8.96609 10.8943 8.93513C10.8426 8.8614 10.7911 8.78756 10.7397 8.71364C10.6943 8.64823 10.6486 8.58296 10.6029 8.51772C10.5811 8.4866 10.5593 8.45547 10.5375 8.42434C10.5287 8.41184 10.52 8.39934 10.5113 8.38684C10.4588 8.31184 10.4062 8.23684 10.3537 8.16184C10.3494 8.15565 10.3451 8.14946 10.3406 8.14309C10.3319 8.13057 10.3231 8.11806 10.3143 8.10554C10.2927 8.07456 10.271 8.04359 10.2493 8.01263C10.1976 7.9389 10.1461 7.86506 10.0947 7.79114C10.0493 7.72573 10.0036 7.66046 9.95788 7.59522C9.93608 7.5641 9.91429 7.53297 9.8925 7.50184C9.88375 7.48934 9.875 7.47684 9.86625 7.46434C9.84875 7.43934 9.83125 7.41434 9.81375 7.38934C9.80942 7.38315 9.80509 7.37697 9.80063 7.37059C9.79187 7.35807 9.7831 7.34556 9.77434 7.33304C9.75266 7.30206 9.73098 7.27109 9.70928 7.24013C9.65762 7.1664 9.60613 7.09256 9.55474 7.01864C9.50926 6.95323 9.4636 6.88796 9.41788 6.82272C9.39608 6.7916 9.37429 6.76047 9.3525 6.72934C9.34375 6.71684 9.335 6.70434 9.32625 6.69184C9.30875 6.66684 9.29125 6.64184 9.27375 6.61684C9.26942 6.61065 9.26509 6.60447 9.26063 6.59809C9.25187 6.58557 9.2431 6.57306 9.23434 6.56054C9.21266 6.52956 9.19098 6.49859 9.16928 6.46763C9.11762 6.3939 9.06613 6.32006 9.01474 6.24614C8.96926 6.18073 8.9236 6.11546 8.87788 6.05022C8.85608 6.0191 8.83429 5.98797 8.8125 5.95684C8.80375 5.94434 8.795 5.93184 8.78625 5.91934C8.73375 5.84434 8.68125 5.76934 8.62875 5.69434C8.62442 5.68815 8.62009 5.68196 8.61563 5.67559C8.60687 5.66307 8.5981 5.65056 8.58934 5.63804C8.56766 5.60706 8.54598 5.57609 8.52428 5.54513C8.47262 5.4714 8.42113 5.39756 8.36974 5.32364C8.32427 5.25823 8.2786 5.19296 8.23288 5.12772C8.21108 5.0966 8.18929 5.06547 8.1675 5.03434C8.15875 5.02184 8.15 5.00934 8.14125 4.99684C8.12375 4.97184 8.10625 4.94684 8.08875 4.92184C8.08225 4.91256 8.08225 4.91256 8.07563 4.90309C8.06687 4.89057 8.0581 4.87806 8.04934 4.86554C8.02766 4.83456 8.00598 4.80359 7.98428 4.77263C7.93773 4.7062 7.8913 4.63969 7.845 4.57309C7.74
5646129 4.42385 7.74129 4.42385 7.63641 4.27543C7.63329 4.27106 7.63018 4.26669 7.62698 4.26219C7.61326 4.24242 7.61326 4.24242 7.5975 4.22434C7.58456 4.22361 7.57159 4.22341 7.55863 4.22341C7.55015 4.2234 7.54167 4.22338 7.53293 4.22337C7.51878 4.2234 7.51878 4.2234 7.50435 4.22343C7.49432 4.22343 7.48429 4.22342 7.47426 4.22341C7.44657 4.2234 7.41888 4.22343 7.39119 4.22347C7.36138 4.2235 7.33157 4.22349 7.30176 4.22348C7.25006 4.22348 7.19837 4.2235 7.14668 4.22354C7.07194 4.2236 6.9972 4.22362 6.92246 4.22363C6.80122 4.22365 6.67997 4.2237 6.55873 4.22377C6.44092 4.22384 6.32311 4.22389 6.2053 4.22392C6.19441 4.22393 6.19441 4.22393 6.18331 4.22393C6.1469 4.22394 6.1105 4.22395 6.0741 4.22396C5.7719 4.22404 5.4697 4.22417 5.1675 4.22434Z" 5647 fill="white" 5648 /> 5649 </svg> 5650 </a> 5651 </li> 5652 <li class="social-link"> 5653 <a href="https://www.instagram.com/pluralsight" data-aa-title="footer-instagram-social" data-ps-analyitcs="footer-social|instagram-social|https://www.instagram.com/pluralsight" onclick="updateFooterAnalytics ('Social link', 'Twitter', 'https://www.instagram.com/pluralsight')" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 5654 <path 5655 fill-rule="evenodd" 5656 clip-rule="evenodd" 5657 d="M12 2C9.284 2 8.944 2.01133 7.87733 2.06C6.81267 2.10867 6.08533 2.278 5.44933 2.52533C4.78267 2.776 4.178 3.16933 3.678 3.67867C3.16948 4.17809 2.77591 4.78233 2.52467 5.44933C2.27867 6.08533 2.10867 6.81333 2.06 7.878C2.012 8.944 2 9.28333 2 12C2 14.7167 2.01133 15.056 2.06 16.1227C2.10867 17.1873 2.278 17.9147 2.52533 18.5507C2.776 19.2173 3.16933 19.822 3.67867 20.322C4.1781 20.8305 4.78234 21.2241 5.44933 21.4753C6.08533 21.722 6.81267 21.8913 7.87733 21.94C8.944 21.9887 9.284 22 12 22C14.716 22 15.056 21.9887 16.1227 21.94C17.1873 21.8913 17.9147 21.722 18.5507 21.4747C19.2173 21.224 19.822 20.8307 20.322 20.3213C20.8305 19.8219 21.2241 19.2177 21.4753 18.5507C21.722 17.9147 21.8913 17.1873 21.94 16.1227C21.9887 15.056 22 14.716 22 12C22 9.284 21.9887 8.944 21.94 7.87733C21.8913 6.81267 21.722 6.08533 21.4747 5.44933C21.2236 4.78204 20.83 4.17755 20.3213 3.678C19.8219 3.16948 19.2177 2.77591 18.5507 2.52467C17.9147 2.27867 17.1867 2.10867 16.122 2.06C15.056 2.012 14.7167 2 12 2ZM12 3.802C14.67 3.802 14.9867 3.812 16.0413 3.86C17.016 3.90467 17.5453 4.06667 17.898 4.20467C18.3647 4.38533 18.698 4.60267 19.048 4.952C19.398 5.302 19.6147 5.63533 19.7953 6.102C19.9327 6.45467 20.0953 6.984 20.14 7.95867C20.188 9.01333 20.198 9.33 20.198 12C20.198 14.67 20.188 14.9867 20.14 16.0413C20.0953 17.016 19.9333 17.5453 19.7953 17.898C19.6353 18.3324 19.3799 18.7253 19.048 19.048C18.7254 19.38 18.3324 19.6354 17.898 19.7953C17.5453 19.9327 17.016 20.0953 16.0413 20.14C14.9867 20.188 14.6707 20.198 12 20.198C9.32933 20.198 9.01333 20.188 7.95867 20.14C6.984 20.0953 6.45467 19.9333 6.102 19.7953C5.66764 19.6353 5.27467 19.3799 4.952 19.048C4.62012 18.7253 4.36475 18.3323 4.20467 17.898C4.06733 17.5453 3.90467 17.016 3.86 16.0413C3.812 14.9867 3.802 14.67 3.802 12C3.802 9.33 3.812 9.01333 3.86 7.95867C3.90467 6.984 4.06667 6.45467 4.20467 6.102C4.38533 5.63533 4.60267 5.302 4.952 4.952C5.27463 4.62003 5.66761 4.36465 6.102 4.20467C6.45467 4.06733 6.984 3.90467 7.95867 3.86C9.01333 3.812 9.33 3.802 12 3.802Z" 5658 fill="white" 5659 /> 5660 <path 5661 fill-rule="evenodd" 5662 clip-rule="evenodd" 5663 d="M12 15.3366C11.5618 15.3366 11.1279 15.2503 10.7231 15.0826C10.3183 14.915 9.95044 14.6692 9.64061 14.3594C9.33077 14.0495 9.08499 13.6817 8.91731 13.2769C8.74962 12.872 8.66332 12.4381 8.66332 12C8.66332 11.5618 8.74962 11.1279 8.91731 10.7231C9.08499 10.3183 9.33077 9.95043 9.64061 9.64059C9.95044 9.33075 10.3183 9.08497 10.7231 8.91729C11.1279 8.74961 11.5618 8.6633 12 8.6633C12.8849 8.6633 13.7336 9.01484 14.3594 9.64059C14.9851 10.2663 15.3366 11.115 15.3366 12C15.3366 12.8849 14.9851 13.7336 14.3594 14.3594C13.7336 14.9851 12.8849 15.3366 12 15.3366ZM12 6.85997C10.6368 6.85997 9.32939 7.4015 8.36546 8.36544C7.40152 9.32938 6.85999 10.6368 6.85999 12C6.85999 13.3632 7.40152 14.6706 8.36546 15.6345C9.32939 16.5984 10.6368 17.14 12 17.14C13.3632 17.14 14.6706 16.5984 15.6345 15.6345C16.5984 14.6706 17.14 13.3632 17.14 12C17.14 10.6368 16.5984 9.32938 15.6345 8.36544C14.6706 7.4015 13.3632 6.85997 12 6.85997ZM18.6353 6.76664C18.6353 7.08887 18.5073 7.39791 18.2795 7.62577C18.0516 7.85363 17.7426 7.98164 17.4203 7.98164C17.0981 7.98164 16.789 7.85363 16.5612 7.62577C16.3333 7.39791 16.2053 7.08887 16.2053 6.76664C16.2053 6.4444 16.3333 6.13536 16.5612 5.9075C16.789 5.67964 17.0981 5.55164 17.4203 5.55164C17.7426 5.55164 18.0516 5.67964 18.2795 5.9075C18.5073 6.13536 18.6353 6.4444 18.6353 6.76664Z" 5664 fill="white" 5665 /> 5666 </svg> 5667 </a> 5668 </li> 5669 <li class="social-link"> 5670 <a href="https://www.linkedin.com/company/pluralsight/" data-aa-title="footer-linkedin-social" data-ps-analyitcs="footer-social|linkedin-social|https://www.linkedin.com/company/pluralsight/" onclick="updateFooterAnalytics ('Social link', 'Linkedin', 'https://www.linkedin.com/company/pluralsight/')" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 5671 <path d="M3 5.27673C3 4.01933 4.01933 3 5.27673 3C6.53459 3 7.55346 4.01887 7.55346 5.27673C7.55346 6.53413 6.53413 7.55346 5.27673 7.55346C4.01887 7.55346 3 6.53459 3 5.27673Z" fill="white" /> 5672 <path d="M21 21H17.1429V14.3333C17.1429 13.2912 16.2081 12.4465 15.1661 12.4465C14.124 12.4465 13.2793 13.2912 13.2793 14.3333V21H9.42857V9.42853H13.2793V11.1886C13.9082 10.132 15.2793 9.42763 16.424 9.42763C18.8554 9.42763 21 11.3987 21 13.8301V21Z" fill="white" /> 5673 <path d="M3 21H6.85714V9.42857H3V21Z" fill="white" /> 5674 </svg> 5675 </a> 5676 </li> 5677 <li class="social-link"> 5678 <a href="https://www.youtube.com/@pluralsight" data-aa-title="footer-youtube-social" data-ps-analyitcs="footer-social|youtube-social|https://www.youtube.com/@pluralsight" onclick="updateFooterAnalytics ('Social link', 'Youtube', 'https://www.youtube.com/@pluralsight')" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 5679 <path d="M21.5764 7.19865C21.4672 6.76848 21.2487 6.37245 20.9414 6.05153C20.6341 5.73061 20.2449 5.49845 19.8148 5.38237C18.2511 5 11.9966 5 11.9966 5C11.9966 5 5.74204 5 4.17841 5.41651C3.74824 5.53942 3.35904 5.77158 3.05177 6.08567C2.74451 6.39976 2.51918 6.80262 2.41676 7.23279C2.12998 8.81691 1.99342 10.4283 2.00024 12.0398C1.99342 13.6649 2.12998 15.2831 2.41676 16.8809C2.53284 17.2974 2.75816 17.6798 3.07226 17.987C3.37952 18.2943 3.76189 18.5128 4.18524 18.6289C5.74887 19.0454 12.0034 19.0454 12.0034 19.0454C12.0034 19.0454 18.258 19.0454 19.8216 18.6289C20.2518 18.506 20.641 18.2738 20.9482 17.9597C21.2555 17.6388 21.4808 17.2428 21.5832 16.8126C21.87 15.2353 22.0066 13.6444 21.9998 12.0398C22.0066 10.4147 21.87 8.79642 21.5832 7.19865H21.5764ZM9.95498 15.0168V9.07638L15.1785 12.0466L9.95498 15.0168Z" fill="white" /> 5680 </svg> 5681 </a> 5682 </li> 5683 </ul> 5684 </li> 5685 </ul> 5686 <hr /> 5687 <div class="footer-utility"> 5688 <div class="footer-logo-cp"> 5689 <a class="logo-link" href="/" data-aa-title="footer-logo" onclick="updateFooterAnalytics ('Pluralsight icon', 'Pluralsight icon', '/')"> 5690 <svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44" fill="none"> 5691 <path d="M22 44C34.1503 44 44 34.1503 44 22C44 9.84974 34.1503 0 22 0C9.84974 0 0 9.84974 0 22C0 34.1503 9.84974 44 22 44Z" fill="white" /> 5692 <path d="M11.4013 31.6763L16.2426 28.882V34.3329L37.6025 22.0024L16.2426 9.67191V15.1206L11.4013 12.3263V31.6785V31.6763ZM18.4579 18.9547L23.7296 21.998L18.4579 25.0435V18.9547ZM18.4579 27.6018L18.5213 27.5647L28.1602 22.0002L18.4579 16.3986V13.5061L33.1697 22.0002L18.4579 30.4943V27.6018ZM13.6166 16.1605L16.2426 17.6767V26.3237L13.6166 27.8399V16.1605Z" fill="#130F25" /> 5693 </svg> 5694 </a> 5695
5696 <span class="copyright">Copyright © 2004 - <span id="footer-current-year"></span> Pluralsight LLC. All rights reserved</span> 5697 </div> 5698 <ul class="utility-links"> 5699 <li class="utility-link"><a href="https://legal.pluralsight.com/policies" data-aa-title="footer-terms-of-use" data-ps-analytics="footer-link|Terms of Use|https://legal.pluralsight.com/policies" onclick="updateFooterAnalytics ('Utility links', 'Terms of Use', 'https://legal.pluralsight.com/policies')" target="_blank">Terms of Use</a></li> 5700 <li class="utility-link"><a href="https://legal.pluralsight.com/policies?name=privacy-notice" data-aa-title="footer-privacy-policy" data-ps-analytics="footer-link|Privacy Policy|https://legal.pluralsight.com/policies?name=privacy-notice" onclick="updateFooterAnalytics ('Utility links', 'Privacy Policy', 'https://legal.pluralsight.com/policies?name=privacy-notice')" target="_blank">Privacy Policy</a></li> 5701 <li class="utility-link"><a href="https://legal.pluralsight.com/policies?name=modern-slavery-act-transparency-statement" data-aa-title="footer-code-of-conduct" data-ps-analytics="footer-link|Code of Conduct|https://legal.pluralsight.com/policies?name=modern-slavery-act-transparency-statement" onclick="updateFooterAnalytics ('Utility links', 'Code of Conduct', 'https://legal.pluralsight.com/policies?name=modern-slavery-act-transparency-statement')" target="_blank">Code of Conduct</a></li> 5702 </ul> 5703 </div> 5704 </footer> 5705</div> 5706 5707 5708
5708<script type="text/javascript"> 5709 const footerMetaPath = document.querySelector('meta[name="cludo:content-path"]')?.getAttribute("content"); 5710let pagePathVal = ''; 5711if (footerMetaPath.split('/en/').length > 1) { 5712 pagePathVal = footerMetaPath.split('/en/')[1].includes('/') ? footerMetaPath.split('/en/')[1].split('/')[0] : footerMetaPath.split('/en/')[1]; 5713} else { 5714 pagePathVal = 'Homepage'; 5715} 5716 5717function updateFooterAnalytics (linkContainer, linkText, linkUrl) { 5718 window.appEventData = window.appEventData || []; 5719 appEventData.push({ 5720 "event": "Navigation Link Clicked", 5721 "linkInfo": { 5722 "linkContainer": linkContainer, 5723 "linkPage": pagePathVal, 5724 "linkDestination": linkUrl, 5725 "linkId": linkText, 5726 "linkRegion": "footer nav" 5727 } 5728 }); 5729} 5730 </script>
5730 5731 5732</div> 5733 5734 5735</div> 5736 5737 </div> 5738 5739 5740</div> 5741 5742 5743</div> 5744 5745 5746</div> 5747 5748 </div> 5749 5750 5751</div> 5752 5753 5754 5755 5756
5756<script src="/etc.clientlibs/core/wcm/components/commons/site/clientlibs/container.lc-0a6aff292f5cc42142779cde92054524-lc.min.js"></script>
vendor: 1 bytes, line 5756
5756
5757<script src="/etc.clientlibs/core/wcm/components/tabs/v1/tabs/clientlibs/site.lc-c53b992b35f5ca98e25330a02d295299-lc.min.js"></script>
vendor: 1 bytes, line 5757
5757
5758<script src="/etc.clientlibs/core/wcm/components/carousel/v1/carousel/clientlibs/site.lc-935e4f9b71a823975466546d99182da6-lc.min.js"></script>
vendor: 1 bytes, line 5758
5758
5759<script src="/etc.clientlibs/ps/clientlibs/clientlib-site.lc-573498f44e4f974c0dd6f8d55347ea58-lc.min.js"></script>
5759 5760 5761 5762 <div>
5763<script src="/etc.clientlibs/ps/clientlibs/clientlib-cludo.min.js"></script>
vendor: 1 bytes, line 5763
5763
5764<script> 5765 var CludoSearch; 5766 var cludoSettings = {"customerId":"10000847","engineId":"10001278","language":"en","type":"inline"} 5767 CludoSearch = new Cludo(cludoSettings); 5768 CludoSearch.init(); 5769</script>
5769 5770</div>
5771<script> 5772 window.appEventData = window.appEventData || []; 5773 appEventData.push({ 5774 "event": "Page Load Completed" 5775 }); 5776</script>
5776 5777 5778 5779 5780 5781 5782
5783<script type="text/javascript"> 5784 CQ_Analytics.TestTarget.maxProfileParams = 11; 5785 5786 if (CQ_Analytics.CCM) { 5787 if (CQ_Analytics.CCM.areStoresInitialized) { 5788 CQ_Analytics.TestTarget.registerMboxUpdateCalls(); 5789 } else { 5790 CQ_Analytics.CCM.addListener("storesinitialize", function (e) { 5791 CQ_Analytics.TestTarget.registerMboxUpdateCalls(); 5792 }); 5793 } 5794 } else { 5795 // client context not there, still register calls 5796 CQ_Analytics.TestTarget.registerMboxUpdateCalls(); 5797 } 5798 </script>
5798 5799 5800 5801 5802 5803 5804 5805
5805<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a3ffd117be0161c3',t:'MTc5MDIzMjIyNg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
5805</body> 5806 </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.