1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4948],{68349:function(e,a,t){t.d(a,{dW:function(){return i},hb:function(){return s}});let s="__TRUERESUME_BOLD_START__",i="__TRUERESUME_BOLD_END__"},80604:function(e,a,t){t.d(a,{R5:function(){return l}});let s={testing_tools:{keywords:["test","testing","tester","qa","quality","assurance","automation","selenium","cypress","playwright","junit","testng","pytest","assertion","mock","stub","fixture","spec","bdd","tdd","coverage","regression","functional","integration","unit","e2e","end-to-end","acceptance","smoke","sanity"],weight:100},performance_testing:{keywords:["performance","load","stress","jmeter","gatling","locust","loadrunner","benchmark","throughput","latency","scalability","capacity","volume","endurance","soak","spike"],weight:100},api_testing:{keywords:["postman","soapui","soap","rest","api","webservice","web service","endpoint","request","response","http","swagger","openapi","graphql","grpc","newman","insomnia","hoppscotch"],weight:95},devops_cicd:{keywords:["jenkins","gitlab","github actions","circleci","travis","bamboo","pipeline","ci","cd","continuous","integration","deployment","delivery","docker","kubernetes","k8s","container","helm","terraform","ansible","puppet","chef","infrastructure","iac","gitops","devops","sre","build","release","artifact","registry"],weight:80},cloud_platforms:{keywords:["aws","azure","gcp","google cloud","amazon","cloud","ec2","s3","lambda","serverless","faas","paas","iaas","cloudformation","arm","cloudwatch","dynamodb","rds","heroku","vercel","netlify","digitalocean"],weight:70},programming_languages:{keywords:["python","java","javascript","typescript","c#","c++","go","rust","ruby","php","swift","kotlin","scala","perl","r","julia","programming","language","coding","scripting","bash","shell","powershell","sql","plsql","tsql"],weight:60},web_frameworks:{keywords:["react","angular","vue","svelte","next","nuxt","gatsby","express","nestjs","fastify","django","flask","fastapi","spring","springboot","rails","laravel","symfony",".net","asp.net","blazor","mvc","framework","frontend","backend","redux","mobx","vuex","state management"],weight:75},databases:{keywords:["mysql","postgresql","postgres","oracle","sql server","mssql","mongodb","redis","cassandra","dynamodb","elasticsearch","database","db","nosql","sql","query","schema","migration","orm","hibernate","sequelize","prisma","typeorm"],weight:65},ai_ml:{keywords:["tensorflow","pytorch","keras","scikit","sklearn","machine learning","deep learning","neural","ai","ml","nlp","computer vision","model","training","inference","prediction","classification","regression","clustering","transformer","bert","gpt","llm","pandas","numpy","scipy","matplotlib","jupyter"],weight:85},security:{keywords:["security","secure","auth","oauth","jwt","encryption","ssl","tls","penetration","vulnerability","owasp","firewall","waf","iam","identity","access","rbac","sso","saml","ldap","sonarqube","snyk","fortify","veracode","devsecops"],weight:78},messaging_streaming:{keywords:["kafka","rabbitmq","activemq","sqs","sns","pubsub","message","queue","event","stream","broker","producer","consumer","microservice","distributed","async","real-time","websocket"],weight:72},tools_ides:{keywords:["visual studio","vscode","intellij","pycharm","eclipse","netbeans","ide","editor","jira","confluence","trello","notion","figma","sketch","adobe","git","version control","svn"],weight:40},methodologies:{keywords:["agile","scrum","kanban","lean","waterfall","safe","sprint","standup","retrospective","backlog","user story","methodology","process","workflow","sdlc"],weight:30}},i={testing:"testing_tools",test:"testing_tools",tester:"testing_tools",automation:"testing_tools",framework:"web_frameworks",js:"programming_languages",lang:"programming_languages",db:"databases",sql:"databases",cloud:"cloud_platforms",ops:"devops_cicd",ci:"devops_cicd",cd:"devops_cicd",ml:"ai_ml",ai:"ai_ml",sec:"security",auth:"security",mq:"messaging_streaming",queue:"messaging_streaming"},r={"c#":{canonical:"C#",category:"programming_languages"},csharp:{canonical:"C#",category:"programming_languages"},dotnet:{canonical:".NET",category:"web_frameworks"},".net":{canonical:".NET",category:"web_frameworks"},net:{canonical:".NET",category:"web_frameworks"},"net core":{canonical:".NET",category:"web_frameworks"},".net core":{canonical:".NET",category:"web_frameworks"},"asp.net":{canonical:"ASP.NET",category:"web_frameworks"},"asp.net core":{canonical:"ASP.NET Core",category:"web_frameworks"},"t-sql":{canonical:"T-SQL",category:"programming_languages"},typescript:{canonical:"TypeScript",category:"programming_languages"},javascript:{canonical:"JavaScript",category:"programming_languages"},html5:{canonical:"HTML5",category:"programming_languages"},css3:{canonical:"CSS3",category:"programming_languages"},"azure functions":{canonical:"Azure Functions",category:"cloud_platforms"},"azure logic apps":{canonical:"Azure Logic Apps",category:"cloud_platforms"},"azure communication services":{canonical:"Azure Communication Services",category:"cloud_platforms"},"application insights":{canonical:"Application Insights",category:"cloud_platforms"},terraform:{canonical:"Terraform",category:"devops_cicd"},bicep:{canonical:"Bicep",category:"devops_cicd"},jenkins:{canonical:"Jenkins",category:"devops_cicd"},jmeter:{canonical:"JMeter",category:"performance_testing"},selenium:{canonical:"Selenium",category:"testing_tools"},postman:{canonical:"Postman",category:"api_testing"},kubernetes:{canonical:"Kubernetes",category:"devops_cicd"}},n={testing_tools:["jenkins","prometheus","grafana"],performance_testing:[],api_testing:[],devops_cicd:["selenium","cucumber"],cloud_platforms:[],programming_languages:[],web_frameworks:[],databases:[]},o=[{name:"testing_tools",displayName:"Testing & QA Tools",aliases:["Testing Tools","QA Tools","Test Automation","Testing Frameworks"],skills:new Set(["selenium","selenium webdriver","cypress","playwright","puppeteer","testng","junit","pytest","jest","moch
1a","chai","jasmine","cucumber","behave","specflow","robot framework","appium","espresso","xcuitest","detox","webdriverio","protractor","nightwatch","test automation","automation testing","automated testing","test case development","test planning","test strategy","functional testing","regression testing","integration testing","unit testing","e2e testing","end-to-end testing","manual testing","exploratory testing","acceptance testing","smoke testing","sanity testing","black box testing","white box testing","selenium grid","browserstack","sauce labs","lambdatest","testcafe","karate","rest assured","httpclient"]),patterns:[/\b(selenium|cypress|playwright|puppeteer)\b/i,/\b(test\s*(automation|framework|case|plan|strategy))\b/i,/\b(automation\s*testing)\b/i,/\b(junit|testng|pytest|jest|mocha)\b/i,/\b(cucumber|behave|specflow)\b/i,/\b(appium|espresso|xcuitest)\b/i],priority:100},{name:"performance_testing",displayName:"Performance Testing",aliases:["Load Testing","Performance Tools","Load Testing Tools"],skills:new Set(["jmeter","apache jmeter","gatling","locust","k6","loadrunner","hp loadrunner","micro focus loadrunner","neoload","blazemeter","artillery","performance testing","load testing","stress testing","capacity testing","volume testing","scalability testing","benchmark testing","endurance testing","soak testing","performance monitoring","apm","application performance monitoring"]),patterns:[/\b(jmeter|gatling|locust|k6)\b/i,/\b(loadrunner|neoload|blazemeter)\b/i,/\b(performance|load|stress|capacity)\s*testing\b/i],priority:100},{name:"api_testing",displayName:"API Testing",aliases:["API Testing Tools","API Tools","Web Services Testing"],skills:new Set(["postman","soapui","soap ui","insomnia","swagger","rest assured","karate","httpie","curl","api automation","api testing","rest api testing","soap testing","graphql testing","web services testing","ibm rational integration tester","rational integration tester","ready api","readyapi","paw","hoppscotch","newman","postman collection runner"]),patterns:[/\b(postman|soapui|soap\s*ui|insomnia)\b/i,/\b(api\s*(testing|automation))\b/i,/\b(rest\s*assured|karate)\b/i,/\b(rational\s*integration\s*tester)\b/i],priority:100},{name:"devops_cicd",displayName:"DevOps & CI/CD",aliases:["DevOps","CI/CD","Continuous Integration","Build Tools"],skills:new Set(["jenkins","gitlab ci","github actions","circleci","travis ci","azure devops","azure pipelines","bamboo","teamcity","buildkite","drone","argo cd","argocd","spinnaker","flux","harness","codefresh","bitbucket pipelines","docker","kubernetes","k8s","docker compose","docker swarm","podman","containerd","cri-o","openshift","rancher","helm","kustomize","istio","linkerd","envoy","terraform","pulumi","cloudformation","cdk","aws cdk","ansible","puppet","chef","saltstack","infrastructure as code","iac","gitops","devsecops","continuous integration","continuous deployment","continuous delivery","site reliability","sre","platform engineering","maven","gradle","ant","make","cmake","bazel","npm","yarn","pnpm","webpack","vite","rollup","pip","poetry","cargo","go mod","git","github","gitlab","bitbucket","svn","mercurial","prometheus","grafana","datadog","new relic","dynatrace","splunk","elk stack","elasticsearch","logstash","kibana","jaeger","zipkin","opentelemetry","cloudwatch","stackdriver"]),patterns:[/\b(jenkins|gitlab\s*ci|github\s*actions|circleci)\b/i,/\b(docker|kubernetes|k8s|helm)\b/i,/\b(terraform|ansible|puppet|chef)\b/i,/\b(ci\/cd|cicd|devops|gitops)\b/i,/\b(azure\s*devops|azure\s*pipelines)\b/i,/\b(prometheus|grafana|datadog)\b/i],priority:80},{name:"cloud_platforms",displayName:"Cloud Platforms",aliases:["Cloud","Cloud Computing","Cloud Services","Cloud Technologies"],skills:new Set(["aws","amazon web services","ec2","s3","lambda","rds","dynamodb","cloudfront","route 53","ecs","eks","fargate","sns","sqs","kinesis","api gateway","cognito","iam","vpc","cloudwatch","cloudformation","step functions","azure","microsoft azure","azure functions","azure blob","azure sql","cosmos db","azure kubernetes service","aks","azure app service","azure devops","azure ad","azure active directory","gcp","google cloud","google cloud platform","bigquery","cloud run","cloud functions","gke","cloud storage","pub/sub","cloud sql","firestore","vertex ai","heroku","digitalocean","linode","vultr","oracle cloud","ibm cloud","alibaba cloud","cloudflare","vercel","netlify","render","fly.io","railway","cloud computing","cloud architecture","cloud native","serverless","faas","paas","iaas","
1saas","multi-cloud","hybrid cloud","cloud migration"]),patterns:[/\b(aws|amazon\s*web\s*services)\b/i,/\b(azure|microsoft\s*azure)\b/i,/\b(gcp|google\s*cloud)\b/i,/\b(ec2|s3|lambda|rds|dynamodb)\b/i,/\b(serverless|cloud\s*native)\b/i],priority:70},{name:"programming_languages",displayName:"Programming Languages",aliases:["Languages","Coding Languages","Development Languages"],skills:new Set(["python","java","javascript","typescript","c#","csharp","c sharp","c++","cpp","c","go","golang","rust","ruby","php","swift","kotlin","scala","perl","r","julia","dart","objective-c","objective c","lua","haskell","erlang","elixir","f#","fsharp","clojure","groovy","cobol","fortran","html","html5","css","css3","sass","scss","less","sql","plsql","pl/sql","t-sql","tsql","mysql","postgresql","graphql","sparql","cypher","bash","shell","powershell","batch","vbscript","awk","sed","zsh","fish"]),patterns:[/\b(python|java|javascript|typescript)\b/i,/\b(c#|csharp|c\s*sharp)\b/i,/\b(c\+\+|cpp)\b/i,/\b(go|golang|rust|ruby|php|swift|kotlin)\b/i,/\b(sql|plsql|t-sql)\b/i],priority:60},{name:"web_frameworks",displayName:"Web Frameworks",aliases:["Frameworks","Web Development","Frontend Frameworks","Backend Frameworks"],skills:new Set(["react","react.js","reactjs","angular","vue","vue.js","vuejs","svelte","next.js","nextjs","nuxt","nuxt.js","gatsby","ember","backbone","jquery","preact","solid.js","qwik","node.js","nodejs","express","express.js","nestjs","nest.js","fastify","koa","hapi","adonis","adonisjs","django","flask","fastapi","tornado","pyramid","bottle","starlette","sanic","spring","spring boot","springboot","spring mvc","spring cloud","struts","hibernate","jpa","jsf","vaadin","micronaut","quarkus",".net","dotnet","asp.net","asp.net core",".net core",".net framework","blazor","entity framework","ef core","rails","ruby on rails","sinatra","hanami","laravel","symfony","codeigniter","yii","cakephp","slim","gin","echo","fiber","beego","gorilla","react native","flutter","ionic","xamarin","cordova","phonegap","nativescript","expo","redux","mobx","vuex","pinia","zustand","recoil","jotai","ngrx","akita"]),patterns:[/\b(react|angular|vue|svelte)\b/i,/\b(next\.?js|nuxt|gatsby)\b/i,/\b(node\.?js|express|nestjs)\b/i,/\b(django|flask|fastapi)\b/i,/\b(spring\s*boot|spring)\b/i,/\b(\.net|asp\.net|blazor)\b/i,/\b(laravel|symfony|rails)\b/i],priority:75},{name:"databases",displayName:"Databases",aliases:["Database Technologies","Data Storage","DBMS"],skills:new Set(["mysql","postgresql","postgres","oracle","oracle db","sql server","mssql","ms sql","sqlite","mariadb","aurora","cockroachdb","tidb","yugabyte","mongodb","couchdb","couchbase","firestore","documentdb","ravendb","arangodb","redis","memcached","dynamodb","etcd","riak","cassandra","hbase","scylladb","bigtable","neo4j","neptune","janusgraph","dgraph","arangodb","influxdb","timescaledb","questdb","prometheus","elasticsearch","opensearch","solr","algolia","meilisearch","snowflake","redshift","bigquery","synapse","databricks","clickhouse","druid","presto","trino"]),patterns:[/\b(mysql|postgresql|postgres|oracle)\b/i,/\b(sql\s*server|mssql)\b/i,/\b(mongodb|couchdb|dynamodb)\b/i,/\b(redis|memcached|cassandra)\b/i,/\b(neo4j|elasticsearch|snowflake)\b/i],priority:65},{name:"ai_ml",displayName:"AI & Machine Learning",aliases:["AI/ML","Machine Learning","Artificial Intelligence","Data Science"],skills:new Set(["tensorflow","pytorch","keras","scikit-learn","sklearn","xgboost","lightgbm","catboost","h2o","mlflow","hugging face","transformers","jax","mxnet","caffe","deep learning","neural networks","cnn","rnn","lstm","gru","transformer","bert","gpt","llm","large language models","computer vision","nlp","natural language processing","reinforcement learning","generative ai","gan","pandas","numpy","scipy","matplotlib","seaborn","plotly","jupyter","jupyter notebook","data analysis","data science","feature engineering","model training","hyperparameter tuning","mlops","kubeflow","sagemaker","vertex ai","azure ml","mlflow","wandb","weights & biases","model deployment","model serving","model monitoring","machine learning","artificial intelligence","ai/ml","ai ml","supervised learning","unsupervised learning","classification","regression","clustering","recommendation systems"]),patterns:[/\b(tensorflow|pytorch|keras|scikit[-\s]?learn)\b/i,/\b(machine\s*learning|deep\s*learning)\b/i,/\b(artificial\s*intelligence|ai\/ml)\b/i,/\b(nlp|natural\s*language\s*processing)\b/i,/\b(neural\s*network|transformer|bert|gpt)\b/i],priority:85},{name:"data_formats",displayName:"Data Formats",aliases:["Data Formats","File Formats"],skills:new Set(["json","xml","yaml","csv"]),patterns:[/\b(json|xml|yaml|csv)\b/i],priority:55},{name:"tools_ides",displayName:"Tools & Platforms",aliases:["Development Tools","IDEs","Productivity Tools"],skills:new Set(["visual studio","vs code","vscode","intellij","intellij idea","pycharm","webstorm","eclipse","netbeans","rider","xcode","android studio","atom","sublime text","vim","neovim","emacs","jira","confluence","trello","asana","monday.com","notion","clickup","linear","shortcut","figma","sketch","adobe xd","invision","zeplin","
1slack","teams","microsoft teams","discord","zoom","swagger","openapi","postman","readme","docusaurus"]),patterns:[/\b(visual\s*studio|vs\s*code|intellij)\b/i,/\b(pycharm|webstorm|eclipse)\b/i,/\b(jira|confluence|trello)\b/i,/\b(figma|sketch|adobe\s*xd)\b/i],priority:40},{name:"methodologies",displayName:"Development Methodologies",aliases:["Agile","Methodologies","Project Management"],skills:new Set(["agile","scrum","kanban","lean","safe","scaled agile","waterfall","xp","extreme programming","tdd","bdd","test driven development","behavior driven development","pair programming","mob programming","code review","sprint planning","retrospective","daily standup","continuous improvement","agile environments","agile methodology"]),patterns:[/\b(agile|scrum|kanban|lean)\b/i,/\b(tdd|bdd|test\s*driven)\b/i,/\b(sprint|retrospective)\b/i],priority:30},{name:"messaging_streaming",displayName:"Messaging & Streaming",aliases:["Message Queues","Event Streaming","Microservices"],skills:new Set(["kafka","apache kafka","rabbitmq","activemq","sqs","amazon sqs","azure service bus","google pub/sub","nats","zeromq","redis streams","kafka streams","flink","apache flink","spark streaming","kinesis","amazon kinesis","pulsar","apache pulsar","microservices","container-based microservices","service mesh","api gateway","event-driven architecture","event sourcing","cqrs","saga pattern","circuit breaker"]),patterns:[/\b(kafka|rabbitmq|activemq)\b/i,/\b(message\s*queue|event\s*streaming)\b/i,/\b(microservices|service\s*mesh)\b/i],priority:72},{name:"security",displayName:"Security",aliases:["Cybersecurity","Information Security","Application Security"],skills:new Set(["oauth","oauth2","openid","openid connect","saml","jwt","ssl","tls","https","encryption","hashing","owasp","penetration testing","vulnerability assessment","sast","dast","sca","security scanning","code scanning","sonarqube","snyk","checkmarx","fortify","veracode","identity management","iam","rbac","abac","firewalls","waf","ids","ips","siem","devsecops","security automation","threat modeling"]),patterns:[/\b(oauth|openid|saml|jwt)\b/i,/\b(owasp|penetration\s*testing)\b/i,/\b(sonarqube|snyk|veracode)\b/i,/\b(devsecops|security\s*automation)\b/i],priority:78}];function l(e,a){let t=[],l=!!(null==a?void 0:a.allowFuzzy),c="number"==typeof(null==a?void 0:a.fuzzyThreshold)?null==a?void 0:a.fuzzyThreshold:.78,p=((null==a?void 0:a.jobDescription)||"").toLowerCase(),g=!!(null==a?void 0:a.prioritizeJDSkills),m=Object.fromEntries(Object.entries((null==a?void 0:a.overrides)||{}).map(e=>{let[a,t]=e;return[a.toLowerCase(),t]}));if(!e)return[];function u(e,a){let t=e||"",s=a||"",i=t.length,r=s.length;if(0===i)return 0===r?1:0;let n=Array.from({length:i+1},()=>Array(r+1).fill(0));for(let e=0;e<=i;e++)n[e][0]=e;for(let e=0;e<=r;e++)n[0][e]=e;for(let e=1;e<=i;e++)for(let a=1;a<=r;a++){let i=t[e-1]===s[a-1]?0:1;n[e][a]=Math.min(n[e-1][a]+1,n[e][a-1]+1,n[e-1][a-1]+i)}return Math.max(0,1-n[i][r]/(Math.max(i,r)||1))}function d(e,a){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,s=e=>{let a=[],s=e.toLowerCase().replace(/[^a-z0-9\s]/g," ").split(/\s+/).filter(Boolean).join(" ");for(let e=0;e<=Math.max(0,s.length-t);e++)a.push(s.substr(e,t));return a},i=new Set(s(e)),r=new Set(s(a));if(0===i.size&&0===r.size)return 0;let n=Array.from(i).filter(e=>r.has(e)).length,o=new Set(Array.from(i).concat(Array.from(r))).size;return 0===o?0:n/o}"string"==typeof e?t.push(...e.replace(/\u2022|â¢/g,",").split(/[\n;,|\/]+|,|\u2022|â¢/).map(e=>e.trim()).filter(Boolean)):Array.isArray(e)?t.push(...e.map(e=>(e||"").toString().trim()).filter(Boolean)):"object"==typeof e&&(e.primary&&Array.isArray(e.primary)&&t.push(...e.primary.map(String)),e.skills&&("string"==typeof e.skills||Array.isArray(e.skills))&&(Array.isArray(e.skills)?t.push(...e.skills.map(String)):t.push(...e.skills.split(/[\n;,|\/]+|,/).map(e=>e.trim()).filter(Boolean))),e.raw&&"string"==typeof e.raw&&t.push(...e.raw.split(/[\n;,|\/]+|,/).map(e=>e.trim()).filter(Boolean)));let b=[];for(let e of t){let a=e.replace(/^[^:]{1,40}:\s*/,"").trim(),t=a.toLowerCase().trim().replace(/\s+/g," ").replace(/[.,;:!?'"()[\]{}]/g,"").replace(/\s*-\s*/g,"-"),y=t.toLowerCase(),f={exact:0,pattern:0,keyword:0,suffix:0,fuzzy:0,ngram:0,jdBoost:0},h=m[y];if(h&&(h.category||h.canonical)){let a=o.find(e=>e.name===(h.category||""))||null;b.push({skill:e,normalized:t,canonical:h.canonical||t,categoryName:a?a.name:h.category,categoryDisplay:a?a.displayName:null,confidence:100,breakdown:{override:!0}});continue}let k=r[y]||null;if(k){let a=o.find(e=>e.name===k.category)||null;b.push({skill:e,normalized:t,canonical:k.canonical,categoryName:a?a.name:k.category,categoryDisplay:a?a.displayName:null,confidence:100,breakdown:{canonical:!0}});continue}let w=null;for(let e of o)if(e.skills.has(t)){w=e;break}if(w){b.push({skill:e,normalized:t,canonical:t,categoryName:w.name,categoryDisplay:w.displayName,confidence:95,breakdown:{exact:!0}});continue}let v=null;for(let e of o){for(let t of e.patterns)if(t.test(a)){v=e;break}if(v)break}v&&(f.pattern=80);
1let j=function(e){let a=e.toLowerCase(),t=a.split(/[\s\-_.,/]+/).filter(e=>e.length>1),i=null;for(let[e,{keywords:r,weight:n}]of Object.entries(s)){let s=0,o=0,l=0;for(let e of r){let i=e.toLowerCase();t.includes(i)&&s++;let r=i.replace(/[.*+?^${}()|[\\]\\]/g,"\\$&");try{new RegExp("\\b".concat(r,"\\b")).test(a)?o++:a.includes(i)&&l++}catch(e){a.includes(i)&&l++}}let c=Math.round((10*s+5*o+2*l)/Math.max(1,10*r.length)*100*n/100);c>=15&&(!i||c>i.confidence)&&(i={categoryName:e,confidence:c})}return i}(a);j&&j.confidence>0&&(f.keyword=j.confidence);let _=function(e){let a=e.toLowerCase();for(let[e,t]of Object.entries(i))if(!(e.length<3)&&RegExp("(\\b".concat(e,"\\b|[ -]").concat(e,"$)"),"i").test(a)){if((n[t]||[]).some(e=>a.includes(e)))continue;return t}return null}(a);_&&(f.suffix=30);let x=0;for(let e of Object.keys(r)){let a=u(e,y);a>x&&(x=a)}l&&x>=c&&(f.fuzzy=Math.round(90*x));let q=0;for(let e of Object.keys(r)){let a=d(e,y,2);a>q&&(q=a)}q>0&&(f.ngram=Math.round(80*q));let z=0;p&&p.length>10&&(p.includes(y)||p.includes(a.toLowerCase())?z=20:d(p,y,3)>.05&&(z=12),g&&z>0&&(f.jdBoost=z));let S=Math.min(100,Math.round(Math.max(Math.max(f.pattern||0,f.keyword||0,f.fuzzy||0,f.ngram||0,f.suffix||0),10)+(z||0)));if(v&&S>=20){b.push({skill:e,normalized:t,canonical:t,categoryName:v.name,categoryDisplay:v.displayName,confidence:S,breakdown:f});continue}if(j&&j.confidence>=20){let a=o.find(e=>e.name===j.categoryName)||null;if(a){b.push({skill:e,normalized:t,canonical:t,categoryName:a.name,categoryDisplay:a.displayName,confidence:S,breakdown:f});continue}}if(f.fuzzy>=70){let a="",s=0,i=null;for(let[e,t]of Object.entries(r)){let r=u(e,y);r>s&&(s=r,a=e,i=o.find(e=>e.name===t.category)||null)}if(i){b.push({skill:e,normalized:t,canonical:r[a].canonical,categoryName:i.name,categoryDisplay:i.displayName,confidence:S,breakdown:f});continue}}if(f.ngram>=60){let a="",s=0,i=null;for(let[e,t]of Object.entries(r)){let r=Math.round(100*d(e,y,2));r>s&&(s=r,a=e,i=o.find(e=>e.name===t.category)||null)}if(i){b.push({skill:e,normalized:t,canonical:r[a].canonical,categoryName:i.name,categoryDisplay:i.displayName,confidence:S,breakdown:f});continue}}if(f.suffix>=20){let a=o.find(e=>e.name===_)||null;if(a){b.push({skill:e,normalized:t,canonical:t,categoryName:a.name,categoryDisplay:a.displayName,confidence:S,breakdown:f});continue}}b.push({skill:e,normalized:t,canonical:t,categoryName:null,categoryDisplay:null,confidence:S,breakdown:f})}return b}},80098:function(e,a,t){t.d(a,{H:function(){return s}});function s(e,a,t){if(!e)return[{type:"text",text:""}];if(!a||0===a.length)return[{type:"text",text:e}];let s={maxPerKeyword:3,maxTotalHighlights:40,allowPlural:!1,htmlSafe:!0,...t||{}};if(s.htmlSafe&&/<[^>]+>/.test(e))return[{type:"text",text:e}];let i=Array.from(new Set(a.filter(Boolean).map(e=>String(e).trim()).filter(Boolean))).sort((e,a)=>a.length-e.length);if(0===i.length)return[{type:"text",text:e}];let r=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=[],o={},l=(e,a)=>n.some(t=>Math.max(e,t.start)<Math.min(a,t.end));for(let a of i){let t;if(!a)continue;o[a]=0;let i=r(a);s.allowPlural&&/^[A-Za-z]+$/.test(a)&&!/s$/i.test(a)&&(i="(?:".concat(i,"(?:s|es)?)"));let c=RegExp("(^|[^\\p{L}\\p{N}_])(".concat(i,")(?=$|[^\\p{L}\\p{N}_])"),"giu");for(;null!==(t=c.exec(e));){let e=t[1]||"",i=t[2]||"",r=t.index+e.length,c=r+i.length;if(!l(r,c)){if((o[a]||0)>=(s.maxPerKeyword||0)||n.length>=(s.maxTotalHighlights||0))break;n.push({start:r,end:c,text:i,keyword:a}),o[a]=(o[a]||0)+1}}}if(0===n.length)return[{type:"text",text:e}];n.sort((e,a)=>e.start-a.start);let c=[],p=0;for(let a of n)a.start>p&&c.push({type:"text",text:e.slice(p,a.start)}),c.push({type:"match",text:e.slice(a.start,a.end),keyword:a.keyword}),p=a.end;return p<e.length&&c.push({type:"text",text:e.slice(p)}),c}},96999:function(e,a,t){t.d(a,{p:function(){return s}});function s(e){if(!e||"string"!=typeof e)return"";let a=e.replace(/[_\-]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2");return(a=a.trim().replace(/\s+/g," ")).split(" ").map(e=>e?/[a-zA-Z]/.test(e)&&e.toUpperCase()!==e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e:"").join(" ")}}}]);
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.