career.ru Ads.txt file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<meta name="format-detection" content="telephone=no" />
<meta name="yandex-verification" content="f3b6898589817f34" />
<meta name="yandex-verification" content="6ea5077469a7702a" />
<meta name="google-site-verification" content="nfsViKLUeLPdL_bUI-TikG813wiidlELioWE-qQyWbM" />
<script>window.globalServiceVars = window.globalServiceVars || {};
window.globalServiceVars.careerPlatformFront = window.globalServiceVars.careerPlatformFront || {};
window.globalServiceVars.careerPlatformFront.staticHost = 'https://career.hh.ru/static';
window.globalServiceVars.careerPlatformFront.requestId = '1750199597535b831b4999de86d7d6cb';
window.globalServiceVars.careerPlatformFront.sentryDSN = 'https://061a30320abf4756b54075f1c2c32a3e@sentry.hh.ru/327687';
window.globalServiceVars.careerPlatformFront.build = '2.1.58';
window.globalServiceVars.careerPlatformFront.userType = 'anonymous';
window.globalServiceVars.careerPlatformFront.features = {"enabled_articles": true, "enabled_assessment": true, "enabled_geo_location_button": true, "enabled_lk": true, "enabled_profile": true, "highlight_magritte_grid": null, "sentry_js_config": null, "sentry_logging": true, "sentry_request_queue_limit": null, "uxfeedback_profession_based_survey": "[\"122\", \"285\", \"314\", \"303\", \"69\", \"197\"]"};
window.globalServiceVars.careerPlatformFront.analyticsParams = {"hhtmFrom": "", "hhtmFromLabel": "", "hhtmSource": "ErrorPage", "hhtmSourceLabel": "", "method": "GET", "path": "/ads.txt", "screenName": "ErrorPage", "sender": "python"};
window.globalServiceVars.careerPlatformFront.hasSupportToDestroyApp = true;
window.globalServiceVars.careerPlatformFront.pageName = 'ErrorPage';
window.globalServiceVars.careerPlatformFront.apiHost = 'https://career.hh.ru';</script>
<script>
window.fontURL = "https://career.hh.ru/static/font.99b615122b9ab710.css"
</script>
<script>(()=>{"use strict";var __webpack_modules__={58908:function(e,t){const o="RUNTIME-001",r="RUNTIME-002",n="RUNTIME-003",s="RUNTIME-004",a="RUNTIME-005",i="RUNTIME-006",l="RUNTIME-007",c="RUNTIME-008",u="TYPE-001",p="BUILD-001";function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},m.apply(this,arguments)}const d={[o]:"Failed to get remoteEntry exports.",[r]:'The remote entry interface does not contain "init"',[n]:"Failed to get manifest.",[s]:"Failed to locate remote.",[a]:"Invalid loadShareSync function call from bundler runtime",[i]:"Invalid loadShareSync function call from runtime",[l]:"Failed to get remote snapshot.",[c]:"Failed to load script resources."},f={[u]:"Failed to generate type declaration."},h={[p]:"Failed to find expose module."},_=m({},d,f,h);t.BUILD_001=p,t.RUNTIME_001=o,t.RUNTIME_002=r,t.RUNTIME_003=n,t.RUNTIME_004=s,t.RUNTIME_005=a,t.RUNTIME_006=i,t.RUNTIME_007=l,t.RUNTIME_008=c,t.TYPE_001=u,t.buildDescMap=h,t.errorDescMap=_,t.getShortErrorMsg=(e,t,o,r)=>{const n=[`${[t[e]]} #${e}`];return o&&n.push(`args: ${JSON.stringify(o)}`),n.push((e=>`https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}/${e}`)(e)),r&&n.push(`Original Error Message:\n ${r}`),n.join("\n")},t.runtimeDescMap=d,t.typeDescMap=f},16515:function(e,t,o){var r=o(66340),n=o(50495),s=o(58908);const a="[ Federation Runtime ]",i=n.createLogger(a);function l(e,t){e||c(t)}function c(e){if(e instanceof Error)throw e.message=`${a}: ${e.message}`,e;throw new Error(`${a}: ${e}`)}function u(e){e instanceof Error?(e.message=`${a}: ${e.message}`,i.warn(e)):i.warn(e)}function p(e,t){return-1===e.findIndex((e=>e===t))&&e.push(t),e}function m(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function d(e){return void 0!==e.entry}function f(e){return!e.entry.includes(".json")&&e.entry.includes(".js")}function h(e){return e&&"object"==typeof e}const _=Object.prototype.toString;function g(e){return Array.isArray(e)?e:[e]}function y(e){const t={url:"",type:"global",globalName:""};return n.isBrowserEnv()?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}const E="object"==typeof globalThis?globalThis:window,b=(()=>{try{return document.defaultView}catch(e){return E}})(),S=b;function N(e,t,o){Object.defineProperty(e,t,{value:o,configurable:!1,writable:!0})}function v(e,t){return Object.hasOwnProperty.call(e,t)}v(E,"__GLOBAL_LOADING_REMOTE_ENTRY__")||N(E,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});const R=E.__GLOBAL_LOADING_REMOTE_ENTRY__;function I(e){var t,o,r,n,s,a;v(e,"__VMOK__")&&!v(e,"__FEDERATION__")&&N(e,"__FEDERATION__",e.__VMOK__),v(e,"__FEDERATION__")||(N(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),N(e,"__VMOK__",e.__FEDERATION__)),null!=(t=e.__FEDERATION__).__GLOBAL_PLUGIN__||(t.__GLOBAL_PLUGIN__=[]),null!=(o=e.__FEDERATION__).__INSTANCES__||(o.__INSTANCES__=[]),null!=(r=e.__FEDERATION__).moduleInfo||(r.moduleInfo={}),null!=(n=e.__FEDERATION__).__SHARE__||(n.__SHARE__={}),null!=(s=e.__FEDERATION__).__MANIFEST_LOADING__||(s.__MANIFEST_LOADING__={}),null!=(a=e.__FEDERATION__).__PRELOADED_MAP__||(a.__PRELOADED_MAP__=new Map)}function w(){E.__FEDERATION__.__GLOBAL_PLUGIN__=[],E.__FEDERATION__.__INSTANCES__=[],E.__FEDERATION__.moduleInfo={},E.__FEDERATION__.__SHARE__={},E.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(R).forEach((e=>{delete R[e]}))}function O(e){E.__FEDERATION__.__INSTANCES__.push(e)}function T(){return E.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function M(e,t=n.isDebugMode()){t&&(E.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,E.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="0.11.1")}function $(e,t){if("string"==typeof t){if(e[t])return{value:e[t],key:t};{const o=Object.keys(e);for(const r of o){const[o,n]=r.split(":"),s=`${o}:${t}`,a=e[s];if(a)return{value:a,key:s}}return{value:void 0,key:t}}}throw new Error("key must be string")}I(E),I(b);const k=()=>b.__FEDERATION__.moduleInfo,A=(e,t)=>{const o=$(t,m(e)).value;if(o&&!o.version&&"version"in e&&e.version&&(o.version=e.version),o)return o;if("version"in e&&e.version){const{version:t}=e,o=m(r._object_without_properties_loose(e,["version"])),n=$(b.__FEDERATION__.moduleInfo,o).value;if((null==n?void 0:n.version)===t)return n}},x=e=>A(e,b.__FEDERATION__.moduleInfo),P=(e,t)=>{const o=m(e);return b.__FEDERATION__.moduleInfo[o]=t,b.__FEDERATION__.moduleInfo},D=e=>(b.__FEDERATION__.moduleInfo=r._extends({},b.__FEDERATION__.moduleInfo,e),()=>{const t=Object.keys(e);for(const e of t)delete b.__FEDERATION__.moduleInfo[e]}),F=(e,t)=>{const o=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:o,entryExports:E[o]}},L=e=>{const{__GLOBAL_PLUGIN__:t}=b.__FEDERATION__;e.forEach((e=>{-1===t.findIndex((t=>t.name===e.name))?t.push(e):u(`The plugin ${e.name} has been registered.`)}))},H=()=>b.__FEDERATION__.__GLOBAL_PLUGIN__,j=e=>E.__FEDERATION__.__PRELOADED_MAP__.get(e),C=e=>E.__FEDERATION__.__PRELOADED_MAP__.set(e,!0),G="default",U="global",q="[0-9A-Za-z-]+",B=`(?:\\+(${q}(?:\\.${q})*))`,W="0|[1-9]\\d*",V="[0-9]+",z="\\d*[a-zA-Z-][a-zA-Z0-9-]*",K=`(?:${V}|${z})`,Y=`(?:${W}|${z})`,X=`(?:-(${Y}(?:\\.${Y})*))`,J=`${W}|x|X|\\*`,Z=`[v=\\s]*(${J})(?:\\.(${J})(?:\\.(${J})(?:${X})?${B}?)?)?`,Q=`^\\s*(${Z})\\s+-\\s+(${Z})\\s*$`,ee="((?:<|>)?=?)",te=`(\\s*)${ee}\\s*(${`[v=\\s]*${`(${V})\\.(${V})\\.(${V})`}${`(?:-?(${K}(?:\\.${K})*))`}?${B}?`}|${Z})`,oe="(?:~>?)",re=`(\\s*)${oe}\\s+`,ne="(?:\\^)",se=`(\\s*)${ne}\\s+`,ae="(<|>)?=?\\s*\\*",ie=`^${ne}${Z}$`,le=`^${oe}${Z}$`,ce=`^${ee}\\s*${Z}$`,ue=`^${ee}\\s*(${`v?${`(${W})\\.(${W})\\.(${W})`}${X}?${B}?`})$|^$`,pe="^\\s*>=\\s*0.0.0\\s*$";function me(e){return new RegExp(e)}function de(e){return!e||"x"===e.toLowerCase()||"*"===e}function fe(...e){return t=>e.reduce(((e,t)=>t(e)),t)}function he(e){return e.match(me(ue))}function _e(e,t,o,r){const n=`${e}.${t}.${o}`;return r?`${n}-${r}`:n}function ge(e){return e.replace(me(Q),((e,t,o,r,n,s,a,i,l,c,u,p)=>`${t=de(o)?"":de(r)?`>=${o}.0.0`:de(n)?`>=${o}.${r}.0`:`>=${t}`} ${i=de(l)?"":de(c)?`<${Number(l)+1}.0.0-0`:de(u)?`<${l}.${Number(c)+1}.0-0`:p?`<=${l}.${c}.${u}-${p}`:`<=${i}`}`.trim()))}function ye(e){return e.replace(me(te),"$1$2$3")}function Ee(e){return e.replace(me(re),"$1~")}function be(e){return e.replace(me(se),"$1^")}function Se(e){return e.trim().split(/\s+/).map((e=>e.replace(me(ie),((e,t,o,r,n)=>de(t)?"":de(o)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:de(r)?"0"===t?`>=${t}.${o}.0 <${t}.${Number(o)+1}.0-0`:`>=${t}.${o}.0 <${Number(t)+1}.0.0-0`:n?"0"===t?"0"===o?`>=${t}.${o}.${r}-${n} <${t}.${o}.${Number(r)+1}-0`:`>=${t}.${o}.${r}-${n} <${t}.${Number(o)+1}.0-0`:`>=${t}.${o}.${r}-${n} <${Number(t)+1}.0.0-0`:"0"===t?"0"===o?`>=${t}.${o}.${r} <${t}.${o}.${Number(r)+1}-0`:`>=${t}.${o}.${r} <${t}.${Number(o)+1}.0-0`:`>=${t}.${o}.${r} <${Number(t)+1}.0.0-0`)))).join(" ")}function Ne(e){return e.trim().split(/\s+/).map((e=>e.replace(me(le),((e,t,o,r,n)=>de(t)?"":de(o)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:de(r)?`>=${t}.${o}.0 <${t}.${Number(o)+1}.0-0`:n?`>=${t}.${o}.${r}-${n} <${t}.${Number(o)+1}.0-0`:`>=${t}.${o}.${r} <${t}.${Number(o)+1}.0-0`)))).join(" ")}function ve(e){return e.split(/\s+/).map((e=>e.trim().replace(me(ce),((e,t,o,r,n,s)=>{const a=de(o),i=a||de(r),l=i||de(n);return"="===t&&l&&(t=""),s="",a?">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(i&&(r=0),n=0,">"===t?(t=">=",i?(o=Number(o)+1,r=0,n=0):(r=Number(r)+1,n=0)):"<="===t&&(t="<",i?o=Number(o)+1:r=Number(r)+1),"<"===t&&(s="-0"),`${t+o}.${r}.${n}${s}`):i?`>=${o}.0.0${s} <${Number(o)+1}.0.0-0`:l?`>=${o}.${r}.0${s} <${o}.${Number(r)+1}.0-0`:e})))).join(" ")}function Re(e){return e.trim().replace(me(ae),"")}function Ie(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function we(e,t){return Ie(e.major,t.major)||Ie(e.minor,t.minor)||Ie(e.patch,t.patch)||function(e,t){const{preRelease:o}=e,{preRelease:r}=t;if(void 0===o&&Boolean(r))return 1;if(Boolean(o)&&void 0===r)return-1;if(void 0===o&&void 0===r)return 0;for(let e=0,t=o.length;e<=t;e++){const t=o[e],n=r[e];if(t!==n)return void 0===t&&void 0===n?0:t?n?Ie(t,n):-1:1}return 0}(e,t)}function Oe(e,t){return e.version===t.version}function Te(e,t){switch(e.operator){case"":case"=":return Oe(e,t);case">":return we(e,t)<0;case">=":return Oe(e,t)||we(e,t)<0;case"<":return we(e,t)>0;case"<=":return Oe(e,t)||we(e,t)>0;case void 0:return!0;default:return!1}}function Me(e,t){if(!e)return!1;const o=function(e){return fe(ge,ye,Ee,be)(e.trim()).split(/\s+/).join(" ")}(t),r=o.split(" ").map((e=>function(e){return fe(Se,Ne,ve,Re)(e)}(e))).join(" "),n=r.split(/\s+/).map((e=>e.trim().replace(me(pe),""))),s=he(e);if(!s)return!1;const[,a,,i,l,c,u]=s,p={operator:a,version:_e(i,l,c,u),major:i,minor:l,patch:c,preRelease:null==u?void 0:u.split(".")};for(const e of n){const t=he(e);if(!t)return!1;const[,o,,r,n,s,a]=t;if(!Te({operator:o,version:_e(r,n,s,a),major:r,minor:n,patch:s,preRelease:null==a?void 0:a.split(".")},p))return!1}return!0}function $e(e,t){const o=t.shared||{},n=t.name,s=Object.keys(o).reduce(((e,s)=>{const a=g(o[s]);return e[s]=e[s]||[],a.forEach((o=>{e[s].push(function(e,t,o,n){let s;var a,i,l;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve((()=>{throw new Error(`Can not get shared '${o}'!`)})),e.strategy&&u('"shared.strategy is deprecated, please set in initOptions.shareStrategy instead!"'),r._extends({deps:[],useIn:[],from:t,loading:null},e,{shareConfig:r._extends({requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1},e.shareConfig),get:s,loaded:!(!(null==e?void 0:e.loaded)&&!("lib"in e))||void 0,version:null!=(a=e.version)?a:"0",scope:Array.isArray(e.scope)?e.scope:[null!=(i=e.scope)?i:"default"],strategy:(null!=(l=e.strategy)?l:n)||"version-first"})}(o,n,s,t.shareStrategy))})),e}),{}),a=r._extends({},e.shared);return Object.keys(s).forEach((e=>{a[e]?s[e].forEach((t=>{a[e].find((e=>e.version===t.version))||a[e].push(t)})):a[e]=s[e]})),{shared:a,shareInfos:s}}function ke(e,t){const o=e=>{if(!Number.isNaN(Number(e))){const t=e.split(".");let o=e;for(let e=0;e<3-t.length;e++)o+=".0";return o}return e};return!!Me(o(e),`<=${o(t)}`)}const Ae=(e,t)=>{const o=t||function(e,t){return ke(e,t)};return Object.keys(e).reduce(((e,t)=>e?o(e,t)||"0"===e?t:e:t),0)},xe=e=>Boolean(e.loaded)||"function"==typeof e.lib,Pe=e=>Boolean(e.loading);function De(e,t,o){const r=e[t][o];return Ae(e[t][o],(function(e,t){return!xe(r[e])&&ke(e,t)}))}function Fe(e,t,o){const r=e[t][o];return Ae(e[t][o],(function(e,t){const o=e=>xe(e)||Pe(e);return o(r[t])?!o(r[e])||Boolean(ke(e,t)):!o(r[e])&&ke(e,t)}))}function Le(e){return"loaded-first"===e?Fe:De}function He(e,t,o,r){if(!e)return;const{shareConfig:n,scope:s=G,strategy:a}=o,i=Array.isArray(s)?s:[s];for(const s of i)if(n&&e[s]&&e[s][t]){const{requiredVersion:i}=n,l=Le(a)(e,s,t),p=()=>{if(n.singleton){if("string"==typeof i&&!Me(l,i)){const r=`Version ${l} from ${l&&e[s][t][l].from} of shared singleton module ${t} does not satisfy the requirement of ${o.from} which needs ${i})`;n.strictVersion?c(r):u(r)}return e[s][t][l]}if(!1===i||"*"===i)return e[s][t][l];if(Me(l,i))return e[s][t][l];for(const[o,r]of Object.entries(e[s][t]))if(Me(o,i))return r},m={shareScopeMap:e,scope:s,pkgName:t,version:l,GlobalFederation:S.__FEDERATION__,resolver:p};return(r.emit(m)||m).resolver()}}function je(){return S.__FEDERATION__.__SHARE__}function Ce(e){const{pkgName:t,extraOptions:o,shareInfos:r}=e;var n;const s=null!=(n=null==o?void 0:o.resolver)?n:e=>{if(!e)return;const t={};e.forEach((e=>{t[e.version]=e}));const o=Ae(t,(function(e,o){return!xe(t[e])&&ke(e,o)}));return t[o]};return Object.assign({},s(r[t]),null==o?void 0:o.customShareInfo)}var Ge={global:{Global:S,nativeGlobal:b,resetFederationGlobalInfo:w,setGlobalFederationInstance:O,getGlobalFederationConstructor:T,setGlobalFederationConstructor:M,getInfoWithoutType:$,getGlobalSnapshot:k,getTargetSnapshotInfoByModuleInfo:A,getGlobalSnapshotInfoByModuleInfo:x,setGlobalSnapshotInfoByModuleInfo:P,addGlobalSnapshot:D,getRemoteEntryExports:F,registerGlobalPlugins:L,getGlobalHostPlugins:H,getPreloaded:j,setPreloaded:C},share:{getRegisteredShare:He,getGlobalShareScope:je}};function Ue(e,t){for(const o of e){const e=t.startsWith(o.name);let r=t.replace(o.name,"");if(e){if(r.startsWith("/")){return r=`.${r}`,{pkgNameOrAlias:o.name,expose:r,remote:o}}if(""===r)return{pkgNameOrAlias:o.name,expose:".",remote:o}}const n=o.alias&&t.startsWith(o.alias);let s=o.alias&&t.replace(o.alias,"");if(o.alias&&n){if(s&&s.startsWith("/")){return s=`.${s}`,{pkgNameOrAlias:o.alias,expose:s,remote:o}}if(""===s)return{pkgNameOrAlias:o.alias,expose:".",remote:o}}}}async function qe({remoteInfo:e,remoteEntryExports:t,loaderHook:o}){const{entry:r,entryGlobalName:a,name:i,type:c}=e;switch(c){case"esm":case"module":return async function({entry:e,remoteEntryExports:t}){return new Promise(((o,r)=>{try{t?o(t):"undefined"!=typeof FEDERATION_ALLOW_NEW_FUNCTION?new Function("callbacks",`import("${e}").then(callbacks[0]).catch(callbacks[1])`)([o,r]):import(e).then(o).catch(r)}catch(e){r(e)}}))}({entry:r,remoteEntryExports:t});case"system":return async function({entry:e,remoteEntryExports:t}){return new Promise(((o,r)=>{try{t?o(t):new Function("callbacks",`System.import("${e}").then(callbacks[0]).catch(callbacks[1])`)([o,r])}catch(e){r(e)}}))}({entry:r,remoteEntryExports:t});default:return async function({name:e,globalName:t,entry:o,loaderHook:r}){const{entryExports:a}=F(e,t);return a||n.loadScript(o,{attrs:{},createScriptHook:(e,t)=>{const o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o)return o instanceof HTMLScriptElement||"script"in o||"timeout"in o?o:void 0}}).then((()=>{const{remoteEntryKey:r,entryExports:n}=F(e,t);return l(n,s.getShortErrorMsg(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:o,remoteEntryKey:r})),n})).catch((t=>{throw l(void 0,s.getShortErrorMsg(s.RUNTIME_008,s.runtimeDescMap,{remoteName:e,resourceUrl:o})),t}))}({entry:r,globalName:a,name:i,loaderHook:o})}}function Be(e){const{entry:t,name:o}=e;return n.composeKeyWithSeparator(o,t)}async function We({origin:e,remoteEntryExports:t,remoteInfo:o}){const r=Be(o);if(t)return t;if(!R[r]){const a=e.remoteHandler.hooks.lifecycle.loadEntry,i=e.loaderHook;R[r]=a.emit({loaderHook:i,remoteInfo:o,remoteEntryExports:t}).then((e=>e||(n.isBrowserEnv()?qe({remoteInfo:o,remoteEntryExports:t,loaderHook:i}):async function({remoteInfo:e,loaderHook:t}){const{entry:o,entryGlobalName:r,name:a,type:i}=e,{entryExports:c}=F(a,r);return c||n.loadScriptNode(o,{attrs:{name:a,globalName:r,type:i},loaderHook:{createScriptHook:(e,o={})=>{const r=t.lifecycle.createScript.emit({url:e,attrs:o});if(r)return"url"in r?r:void 0}}}).then((()=>{const{remoteEntryKey:e,entryExports:t}=F(a,r);return l(t,s.getShortErrorMsg(s.RUNTIME_001,s.runtimeDescMap,{remoteName:a,remoteEntryUrl:o,remoteEntryKey:e})),t})).catch((e=>{throw e}))}({remoteInfo:o,loaderHook:i}))))}return R[r]}function Ve(e){return r._extends({},e,{entry:"entry"in e?e.entry:"",type:e.type||U,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||G})}let ze=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e;try{e=await We({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports})}catch(t){const o=Be(this.remoteInfo);e=await this.host.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:We,origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports,globalLoading:R,uniqueKey:o})}return l(e,`remoteEntryExports is undefined \n ${n.safeToString(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async get(e,t,o,n){const{loadFactory:a=!0}=o||{loadFactory:!0},i=await this.getEntry();if(!this.inited){const t=this.host.shareScopeMap,o=this.remoteInfo.shareScope||"default";t[o]||(t[o]={});const a=t[o],l=[],u={version:this.remoteInfo.version||""};Object.defineProperty(u,"shareScopeMap",{value:t,enumerable:!1});const p=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:a,remoteEntryInitOptions:u,initScope:l,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==i?void 0:i.init)&&c(s.getShortErrorMsg(s.RUNTIME_002,s.runtimeDescMap,{remoteName:name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName})),await i.init(p.shareScope,p.initScope,p.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit(r._extends({},p,{id:e,remoteSnapshot:n,remoteEntryExports:i}))}let u;this.lib=i,this.inited=!0,u=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:i,expose:t,moduleInfo:this.remoteInfo}),u||(u=await i.get(t)),l(u,`${m(this.remoteInfo)} remote don't export ${t}.`);const p=((e,t)=>{let o;return o=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),o+=t,o})(this.remoteInfo.name,t),d=this.wraperFactory(u,p);if(!a)return d;return await d()}wraperFactory(e,t){function o(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{const r=await e();return o(r,t),r}:()=>{const r=e();return o(r,t),r}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}};class Ke{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){const t=this;this.on((function o(...r){return t.remove(o),e.apply(null,r)}))}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach((o=>{t=o(...e)})),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}class Ye extends Ke{emit(...e){let t;const o=Array.from(this.listeners);if(o.length>0){let r=0;const n=t=>!1!==t&&(r<o.length?Promise.resolve(o[r++].apply(null,e)).then(n):t);t=n()}return Promise.resolve(t)}}function Xe(e,t){if(!h(t))return!1;if(e!==t)for(const o in e)if(!(o in t))return!1;return!0}class Je extends Ke{emit(e){h(e)||c(`The data for the "${this.type}" hook should be an object.`);for(const t of this.listeners)try{const o=t(e);if(!Xe(e,o)){this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}e=o}catch(e){u(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=c,this.type=e}}class Ze extends Ke{emit(e){h(e)||c(`The response data for the "${this.type}" hook must be an object.`);const t=Array.from(this.listeners);if(t.length>0){let o=0;const r=t=>(u(t),this.onerror(t),e),n=s=>{if(Xe(e,s)){if(e=s,o<t.length)try{return Promise.resolve(t[o++](e)).then(n,r)}catch(e){return r(e)}}else this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);return e};return Promise.resolve(n(e))}return Promise.resolve(e)}constructor(e){super(),this.onerror=c,this.type=e}}class Qe{applyPlugin(e){var t;l((t=e,"[object Object]"===_.call(t)),"Plugin configuration is invalid.");const o=e.name;l(o,"A name must be provided by the plugin."),this.registerPlugins[o]||(this.registerPlugins[o]=e,Object.keys(this.lifecycle).forEach((t=>{const o=e[t];o&&this.lifecycle[t].on(o)})))}removePlugin(e){l(e,"A name is required.");const t=this.registerPlugins[e];l(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach((e=>{"name"!==e&&this.lifecycle[e].remove(t[e])}))}inherit({lifecycle:e,registerPlugins:t}){Object.keys(e).forEach((t=>{l(!this.lifecycle[t],`The hook "${t}" has a conflict and cannot be inherited.`),this.lifecycle[t]=e[t]})),Object.keys(t).forEach((e=>{l(!this.registerPlugins[e],`The plugin "${e}" has a conflict and cannot be inherited.`),this.applyPlugin(t[e])}))}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}function et(e){return r._extends({resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1},e)}function tt(e,t,o,r=!0){const{cssAssets:s,jsAssetsWithoutEntry:a,entryAssets:i}=o;if(t.options.inBrowser){if(i.forEach((o=>{const{moduleInfo:r}=o,n=t.moduleCache.get(e.name);We(n?{origin:t,remoteInfo:r,remoteEntryExports:n.remoteEntryExports}:{origin:t,remoteInfo:r,remoteEntryExports:void 0})})),r){const e={rel:"preload",as:"style"};s.forEach((o=>{const{link:r,needAttach:s}=n.createLink({url:o,cb:()=>{},attrs:e,createLinkHook:(e,o)=>{const r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:o});if(r instanceof HTMLLinkElement)return r}});s&&document.head.appendChild(r)}))}else{const e={rel:"stylesheet",type:"text/css"};s.forEach((o=>{const{link:r,needAttach:s}=n.createLink({url:o,cb:()=>{},attrs:e,createLinkHook:(e,o)=>{const r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:o});if(r instanceof HTMLLinkElement)return r},needDeleteLink:!1});s&&document.head.appendChild(r)}))}if(r){const e={rel:"preload",as:"script"};a.forEach((o=>{const{link:r,needAttach:s}=n.createLink({url:o,cb:()=>{},attrs:e,createLinkHook:(e,o)=>{const r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:o});if(r instanceof HTMLLinkElement)return r}});s&&document.head.appendChild(r)}))}else{const o={fetchpriority:"high",type:"module"===(null==e?void 0:e.type)?"module":"text/javascript"};a.forEach((e=>{const{script:r,needAttach:s}=n.createScript({url:e,cb:()=>{},attrs:o,createScriptHook:(e,o)=>{const r=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:o});if(r instanceof HTMLScriptElement)return r},needDeleteScript:!0});s&&document.head.appendChild(r)}))}}}function ot(e,t){const o=y(t);o.url||c(`The attribute remoteEntry of ${e.name} must not be undefined.`);let r=n.getResourceUrl(t,o.url);n.isBrowserEnv()||r.startsWith("http")||(r=`https:${r}`),e.type=o.type,e.entryGlobalName=o.globalName,e.entry=r,e.version=t.version,e.buildVersion=t.buildVersion}function rt(e){const t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function nt(e,t,o,r,s={},a){const i=m(t),{value:l}=$(e,i),c=a||l;if(c&&!n.isManifestProvider(c)&&(o(c,t,r),c.remotesInfo)){const t=Object.keys(c.remotesInfo);for(const r of t){if(s[r])continue;s[r]=!0;const t=rt(r),n=c.remotesInfo[r];nt(e,{name:t.name,version:n.matchedVersion},o,!1,s,void 0)}}}const st=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function at(e,t,o,r,s){const a=[],i=[],l=[],c=new Set,u=new Set,{options:p}=e,{preloadConfig:m}=t,{depsRemote:d}=m;if(nt(r,o,((t,o,r)=>{let s;if(r)s=m;else if(Array.isArray(d)){const e=d.find((e=>e.nameOrAlias===o.name||e.nameOrAlias===o.alias));if(!e)return;s=et(e)}else{if(!0!==d)return;s=m}const c=n.getResourceUrl(t,y(t).url);c&&l.push({name:o.name,moduleInfo:{name:o.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:o.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let u="modules"in t?t.modules:[];const p=(f=s.exposes)?f.map((e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e)):[];var f,h;p.length&&"modules"in t&&(u=null==t||null==(h=t.modules)?void 0:h.reduce(((e,t)=>(-1!==(null==p?void 0:p.indexOf(t.moduleName))&&e.push(t),e)),[]));function _(e){const o=e.map((e=>n.getResourceUrl(t,e)));return s.filter?o.filter(s.filter):o}if(u){const r=u.length;for(let n=0;n<r;n++){const r=u[n],l=`${o.name}/${r.moduleName}`;e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:"."===r.moduleName?o.name:l,name:o.name,remoteSnapshot:t,preloadConfig:s,remote:o,origin:e});j(l)||("all"===s.resourceCategory?(a.push(..._(r.assets.css.async)),a.push(..._(r.assets.css.sync)),i.push(..._(r.assets.js.async)),i.push(..._(r.assets.js.sync))):(s.resourceCategory="sync")&&(a.push(..._(r.assets.css.sync)),i.push(..._(r.assets.js.sync))),C(l))}}}),!0,{},s),s.shared){const t=(t,o)=>{const r=He(e.shareScopeMap,o.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare);r&&"function"==typeof r.lib&&(o.assets.js.sync.forEach((e=>{c.add(e)})),o.assets.css.sync.forEach((e=>{u.add(e)})))};s.shared.forEach((e=>{var o;const r=null==(o=p.shared)?void 0:o[e.sharedName];if(!r)return;const n=e.version?r.find((t=>t.version===e.version)):r;if(!n)return;g(n).forEach((o=>{t(o,e)}))}))}const f=i.filter((e=>!c.has(e)&&!st("script",e)));return{cssAssets:a.filter((e=>!u.has(e)&&!st("link",e))),jsAssetsWithoutEntry:f,entryAssets:l.filter((e=>!st("script",e.url)))}}function it(e,t){const o=x({name:t.options.name,version:t.options.version}),r=o&&"remotesInfo"in o&&o.remotesInfo&&$(o.remotesInfo,e.name).value;return r&&r.matchedVersion?{hostGlobalSnapshot:o,globalSnapshot:k(),remoteSnapshot:x({name:e.name,version:r.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:k(),remoteSnapshot:x({name:e.name,version:"version"in e?e.version:void 0})}}class lt{async loadSnapshot(e){const{options:t}=this.HostInstance,{hostGlobalSnapshot:o,remoteSnapshot:r,globalSnapshot:n}=this.getGlobalRemoteInfo(e),{remoteSnapshot:s,globalSnapshot:a}=await this.hooks.lifecycle.loadSnapshot.emit({options:t,moduleInfo:e,hostGlobalSnapshot:o,remoteSnapshot:r,globalSnapshot:n});return{remoteSnapshot:s,globalSnapshot:a}}async loadRemoteSnapshotInfo(e){const{options:t}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:t,moduleInfo:e});let o=x({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},D({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!$(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo=r._extends({},null==o?void 0:o.remotesInfo,{[e.name]:{matchedVersion:"version"in e?e.version:e.entry}}));const{hostGlobalSnapshot:a,remoteSnapshot:i,globalSnapshot:l}=this.getGlobalRemoteInfo(e),{remoteSnapshot:u,globalSnapshot:p}=await this.hooks.lifecycle.loadSnapshot.emit({options:t,moduleInfo:e,hostGlobalSnapshot:a,remoteSnapshot:i,globalSnapshot:l});let m,f;if(u)if(n.isManifestProvider(u)){const t=n.isBrowserEnv()?u.remoteEntry:u.ssrRemoteEntry||u.remoteEntry||"",o=await this.getManifestJson(t,e,{});m=o,f=P(r._extends({},e,{entry:t}),o)}else{const{remoteSnapshot:t}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:u,from:"global"});m=t,f=p}else if(d(e)){const t=await this.getManifestJson(e.entry,e,{}),o=P(e,t),{remoteSnapshot:r}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:t,from:"global"});m=r,f=o}else c(s.getShortErrorMsg(s.RUNTIME_007,s.runtimeDescMap,{hostName:e.name,hostVersion:e.version,globalSnapshot:JSON.stringify(p)}));return await this.hooks.lifecycle.afterLoadSnapshot.emit({options:t,moduleInfo:e,remoteSnapshot:m}),{remoteSnapshot:m,globalSnapshot:f}}getGlobalRemoteInfo(e){return it(e,this.HostInstance)}async getManifestJson(e,t,o){const r=async()=>{let o=this.manifestCache.get(e);if(o)return o;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),o=await t.json()}catch(r){o=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),o||(delete this.manifestLoading[e],c(s.getShortErrorMsg(s.RUNTIME_003,s.runtimeDescMap,{manifestUrl:e,moduleName:t.name},`${r}`)))}return l(o.metaData&&o.exposes&&o.shared,`${e} is not a federation manifest`),this.manifestCache.set(e,o),o},a=async()=>{const o=await r(),s=n.generateSnapshotFromManifest(o,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:o,remoteSnapshot:s,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then((e=>e))),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Qe({beforeLoadRemoteSnapshot:new Ye("beforeLoadRemoteSnapshot"),loadSnapshot:new Ze("loadGlobalSnapshot"),loadRemoteSnapshot:new Ze("loadRemoteSnapshot"),afterLoadSnapshot:new Ze("afterLoadSnapshot")}),this.manifestLoading=S.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}}class ct{registerShared(e,t){const{shareInfos:o,shared:r}=$e(e,t);return Object.keys(o).forEach((e=>{o[e].forEach((o=>{!He(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)&&o&&o.lib&&this.setShared({pkgName:e,lib:o.lib,get:o.get,loaded:!0,shared:o,from:t.name})}))})),{shareInfos:o,shared:r}}async loadShare(e,t){const{host:o}=this,r=Ce({pkgName:e,extraOptions:t,shareInfos:o.options.shared});(null==r?void 0:r.scope)&&await Promise.all(r.scope.map((async e=>{await Promise.all(this.initializeSharing(e,{strategy:r.strategy}))})));const n=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:r,shared:o.options.shared,origin:o}),{shareInfo:s}=n;l(s,`Cannot find ${e} Share in the ${o.options.name}. Please ensure that the ${e} Share parameters have been injected`);const a=He(this.shareScopeMap,e,s,this.hooks.lifecycle.resolveShare),i=e=>{e.useIn||(e.useIn=[]),p(e.useIn,o.options.name)};if(a&&a.lib)return i(a),a.lib;if(a&&a.loading&&!a.loaded){const e=await a.loading;return a.loaded=!0,a.lib||(a.lib=e),i(a),e}if(a){const t=(async()=>{const t=await a.get();s.lib=t,s.loaded=!0,i(s);const o=He(this.shareScopeMap,e,s,this.hooks.lifecycle.resolveShare);return o&&(o.lib=t,o.loaded=!0),t})();return this.setShared({pkgName:e,loaded:!1,shared:a,from:o.options.name,lib:null,loading:t}),t}{if(null==t?void 0:t.customShareInfo)return!1;const r=(async()=>{const t=await s.get();s.lib=t,s.loaded=!0,i(s);const o=He(this.shareScopeMap,e,s,this.hooks.lifecycle.resolveShare);return o&&(o.lib=t,o.loaded=!0),t})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:o.options.name,lib:null,loading:r}),r}}initializeSharing(e=G,t){const{host:o}=this,r=null==t?void 0:t.from,n=null==t?void 0:t.strategy;let s=null==t?void 0:t.initScope;const a=[];if("build"!==r){const{initTokens:t}=this;s||(s=[]);let o=t[e];if(o||(o=t[e]={from:this.host.name}),s.indexOf(o)>=0)return a;s.push(o)}const i=this.shareScopeMap,l=o.options.name;i[e]||(i[e]={});const c=i[e],u=async t=>{const{module:r}=await o.remoteHandler.getRemoteModuleAndOptions({id:t});if(r.getEntry){let a;try{a=await r.getEntry()}catch(e){a=await o.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:t,error:e,from:"runtime",lifecycle:"beforeLoadShare",origin:o})}r.inited||(await(n=a,n&&n.init&&n.init(i[e],s)),r.inited=!0)}var n};return Object.keys(o.options.shared).forEach((t=>{o.options.shared[t].forEach((o=>{o.scope.includes(e)&&((e,t)=>{var o;const{version:r,eager:n}=t;c[e]=c[e]||{};const s=c[e],a=s[r],i=Boolean(a&&(a.eager||(null==(o=a.shareConfig)?void 0:o.eager)));(!a||"loaded-first"!==a.strategy&&!a.loaded&&(Boolean(!n)!==!i?n:l>a.from))&&(s[r]=t)})(t,o)}))})),"version-first"!==o.options.shareStrategy&&"version-first"!==n||o.options.remotes.forEach((t=>{t.shareScope===e&&a.push(u(t.name))})),a}loadShareSync(e,t){const{host:o}=this,r=Ce({pkgName:e,extraOptions:t,shareInfos:o.options.shared});(null==r?void 0:r.scope)&&r.scope.forEach((e=>{this.initializeSharing(e,{strategy:r.strategy})}));const n=He(this.shareScopeMap,e,r,this.hooks.lifecycle.resolveShare),a=e=>{e.useIn||(e.useIn=[]),p(e.useIn,o.options.name)};if(n){if("function"==typeof n.lib)return a(n),n.loaded||(n.loaded=!0,n.from===o.options.name&&(r.loaded=!0)),n.lib;if("function"==typeof n.get){const t=n.get();if(!(t instanceof Promise))return a(n),this.setShared({pkgName:e,loaded:!0,from:o.options.name,lib:t,shared:n}),t}}if(r.lib)return r.loaded||(r.loaded=!0),r.lib;if(r.get){const n=r.get();if(n instanceof Promise){const r="build"===(null==t?void 0:t.from)?s.RUNTIME_005:s.RUNTIME_006;throw new Error(s.getShortErrorMsg(r,s.runtimeDescMap,{hostName:o.options.name,sharedPkgName:e}))}return r.lib=n,this.setShared({pkgName:e,loaded:!0,from:o.options.name,lib:r.lib,shared:r}),r.lib}throw new Error(s.getShortErrorMsg(s.RUNTIME_006,s.runtimeDescMap,{hostName:o.options.name,sharedPkgName:e}))}initShareScopeMap(e,t,o={}){const{host:r}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:r.options,origin:r,scopeName:e,hostShareScopeMap:o.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:o,lib:n,loading:s,loaded:a,get:i}){const{version:l,scope:c="default"}=t,u=r._object_without_properties_loose(t,["version","scope"]);(Array.isArray(c)?c:[c]).forEach((t=>{if(this.shareScopeMap[t]||(this.shareScopeMap[t]={}),this.shareScopeMap[t][e]||(this.shareScopeMap[t][e]={}),!this.shareScopeMap[t][e][l])return this.shareScopeMap[t][e][l]=r._extends({version:l,scope:["default"]},u,{lib:n,loaded:a,loading:s}),void(i&&(this.shareScopeMap[t][e][l].get=i));const o=this.shareScopeMap[t][e][l];s&&!o.loading&&(o.loading=s)}))}_setGlobalShareScopeMap(e){const t=je(),o=e.id||e.name;o&&!t[o]&&(t[o]=this.shareScopeMap)}constructor(e){this.hooks=new Qe({afterResolve:new Ze("afterResolve"),beforeLoadShare:new Ze("beforeLoadShare"),loadShare:new Ye,resolveShare:new Je("resolveShare"),initContainerShareScopeMap:new Je("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}class ut{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce(((e,t)=>(this.registerRemote(t,e,{force:!1}),e)),e.remotes)}setIdToRemoteMap(e,t){const{remote:o,expose:r}=t,{name:n,alias:s}=o;if(this.idToRemoteMap[e]={name:o.name,expose:r},s&&e.startsWith(n)){const t=e.replace(n,s);this.idToRemoteMap[t]={name:o.name,expose:r}}else if(s&&e.startsWith(s)){const t=e.replace(s,n);this.idToRemoteMap[t]={name:o.name,expose:r}}}async loadRemote(e,t){const{host:o}=this;try{const{loadFactory:r=!0}=t||{loadFactory:!0},{module:n,moduleOptions:s,remoteMatchInfo:a}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:i,remote:l,expose:c,id:u,remoteSnapshot:p}=a,m=await n.get(u,c,t,p),d=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:i,expose:c,exposeModule:r?m:void 0,exposeModuleFactory:r?void 0:m,remote:l,options:s,moduleInstance:n,origin:o});return this.setIdToRemoteMap(e,a),"function"==typeof d?d:m}catch(r){const{from:n="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:n,lifecycle:"onLoad",origin:o});if(!s)throw r;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const o=(r=t.options.remotes,e.map((e=>{const t=function(e,t){for(const o of e){if(t===o.name)return o;if(o.alias&&t===o.alias)return o}}(r,e.nameOrAlias);return l(t,`Unable to preload ${e.nameOrAlias} as it is not included in ${!t&&n.safeToString({remoteInfo:t,remotes:r})}`),{remote:t,preloadConfig:et(e)}})));var r;await Promise.all(o.map((async e=>{const{remote:o}=e,r=Ve(o),{globalSnapshot:n,remoteSnapshot:s}=await t.snapshotHandler.loadRemoteSnapshotInfo(o),a=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:o,remoteInfo:r,globalSnapshot:n,remoteSnapshot:s});a&&tt(r,t,a)})))}registerRemotes(e,t){const{host:o}=this;e.forEach((e=>{this.registerRemote(e,o.options.remotes,{force:null==t?void 0:t.force})}))}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:o}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:o,options:t.options,origin:t})}catch(e){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:o,options:t.options,origin:t,from:"runtime",error:e,lifecycle:"beforeRequest"}),!n)throw e}const{id:a}=n,i=Ue(t.options.remotes,a);l(i,s.getShortErrorMsg(s.RUNTIME_004,s.runtimeDescMap,{hostName:t.options.name,requestId:a}));const{remote:c}=i,u=Ve(c),p=await t.sharedHandler.hooks.lifecycle.afterResolve.emit(r._extends({id:a},i,{options:t.options,origin:t,remoteInfo:u})),{remote:m,expose:d}=p;l(m&&d,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let f=t.moduleCache.get(m.name);const h={host:t,remoteInfo:u};return f||(f=new ze(h),t.moduleCache.set(m.name,f)),{module:f,moduleOptions:h,remoteMatchInfo:p}}registerRemote(e,t,o){const{host:r}=this,s=()=>{if(e.alias){const o=t.find((t=>{var o;return e.alias&&(t.name.startsWith(e.alias)||(null==(o=t.alias)?void 0:o.startsWith(e.alias)))}));l(!o,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${o&&o.name} name or alias`)}"entry"in e&&n.isBrowserEnv()&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=G),e.type||(e.type=U)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:r});const a=t.find((t=>t.name===e.name));if(a){const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==o?void 0:o.force)&&(this.removeRemote(a),s(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r}),n.warn(i.join(" ")))}else s(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r})}removeRemote(e){try{const{host:o}=this,{name:r}=e,s=o.options.remotes.findIndex((e=>e.name===r));-1!==s&&o.options.remotes.splice(s,1);const a=o.moduleCache.get(e.name);if(a){const r=a.remoteInfo,s=r.entryGlobalName;var t;if(E[s])(null==(t=Object.getOwnPropertyDescriptor(E,s))?void 0:t.configurable)?delete E[s]:E[s]=void 0;const i=Be(a.remoteInfo);R[i]&&delete R[i],o.snapshotHandler.manifestCache.delete(r.entry);let l=r.buildVersion?n.composeKeyWithSeparator(r.name,r.buildVersion):r.name;const c=E.__FEDERATION__.__INSTANCES__.findIndex((e=>r.buildVersion?e.options.id===l:e.name===l));if(-1!==c){const e=E.__FEDERATION__.__INSTANCES__[c];l=e.options.id||l;const t=je();let o=!0;const n=[];Object.keys(t).forEach((e=>{const s=t[e];s&&Object.keys(s).forEach((t=>{const a=s[t];a&&Object.keys(a).forEach((s=>{const i=a[s];i&&Object.keys(i).forEach((a=>{const l=i[a];l&&"object"==typeof l&&l.from===r.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter((e=>e!==r.name)),l.useIn.length?o=!1:n.push([e,t,s,a])):n.push([e,t,s,a]))}))}))}))})),o&&(e.shareScopeMap={},delete t[l]),n.forEach((([e,o,r,n])=>{var s,a,i;null==(i=t[e])||(null==(a=i[o])||(null==(s=a[r])||delete s[n]))})),E.__FEDERATION__.__INSTANCES__.splice(c,1)}const{hostGlobalSnapshot:u}=it(e,o);if(u){const t=u&&"remotesInfo"in u&&u.remotesInfo&&$(u.remotesInfo,e.name).key;t&&(delete u.remotesInfo[t],Boolean(S.__FEDERATION__.__MANIFEST_LOADING__[t])&&delete S.__FEDERATION__.__MANIFEST_LOADING__[t])}o.moduleCache.delete(e.name)}}catch(e){i.log("removeRemote fail: ",e)}}constructor(e){this.hooks=new Qe({beforeRegisterRemote:new Je("beforeRegisterRemote"),registerRemote:new Je("registerRemote"),beforeRequest:new Ze("beforeRequest"),onLoad:new Ye("onLoad"),handlePreloadModule:new Ke("handlePreloadModule"),errorLoadRemote:new Ye("errorLoadRemote"),beforePreloadRemote:new Ye("beforePreloadRemote"),generatePreloadAssets:new Ye("generatePreloadAssets"),afterPreloadRemote:new Ye,loadEntry:new Ye}),this.host=e,this.idToRemoteMap={}}}var pt=Object.freeze({__proto__:null});Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return n.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return n.loadScriptNode}}),t.CurrentGlobal=E,t.FederationHost=class{initOptions(e){this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=G,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,o){const r=Ve({name:e,entry:t}),n=new ze({host:this,remoteInfo:r});return n.remoteEntryExports=o,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,o={}){this.sharedHandler.initShareScopeMap(e,t,o)}formatOptions(e,t){const{shared:o}=$e(e,t),{userOptions:n,options:s}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:o}),a=this.remoteHandler.formatAndRegisterRemote(s,n),{shared:i}=this.sharedHandler.registerShared(s,n),l=[...s.plugins];n.plugins&&n.plugins.forEach((e=>{l.includes(e)||l.push(e)}));const c=r._extends({},e,t,{plugins:l,remotes:a,shared:i});return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=function(e,t){const o=H();return o.length>0&&o.forEach((t=>{(null==e?void 0:e.find((e=>e.name!==t.name)))&&e.push(t)})),e&&e.length>0&&e.forEach((e=>{t.forEach((t=>{t.applyPlugin(e)}))})),e}(e,[this.hooks,this.remoteHandler.hooks,this.sharedHandler.hooks,this.snapshotHandler.hooks,this.loaderHook,this.bridgeHook]);this.options.plugins=this.options.plugins.reduce(((e,t)=>t?(e&&!e.find((e=>e.name===t.name))&&e.push(t),e):e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}constructor(e){this.hooks=new Qe({beforeInit:new Je("beforeInit"),init:new Ke,beforeInitContainer:new Ze("beforeInitContainer"),initContainer:new Ze("initContainer")}),this.version="0.11.1",this.moduleCache=new Map,this.loaderHook=new Qe({getModuleInfo:new Ke,createScript:new Ke,createLink:new Ke,fetch:new Ye,loadEntryError:new Ye,getModuleFactory:new Ye}),this.bridgeHook=new Qe({beforeBridgeRender:new Ke,afterBridgeRender:new Ke,beforeBridgeDestroy:new Ke,afterBridgeDestroy:new Ke});const t={id:"career_platform_front:local",name:e.name,plugins:[{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:o,expose:n,origin:s,remoteInfo:a}=e;if(!d(t)||!f(t)){const{remoteSnapshot:i,globalSnapshot:l}=await s.snapshotHandler.loadRemoteSnapshotInfo(t);ot(a,i);const c={remote:t,preloadConfig:{nameOrAlias:o,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:s,preloadOptions:c,remoteInfo:a,remote:t,remoteSnapshot:i,globalSnapshot:l});return u&&tt(a,s,u,!1),r._extends({},e,{remoteSnapshot:i})}return e}},{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:o,remoteInfo:r,remote:s,globalSnapshot:a,remoteSnapshot:i}=e;return n.isBrowserEnv()?d(s)&&f(s)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:s.name,url:s.entry,moduleInfo:{name:r.name,entry:s.entry,type:r.type||"global",entryGlobalName:"",shareScope:""}}]}:(ot(r,i),at(t,o,r,a,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}],remotes:[],shared:{},inBrowser:n.isBrowserEnv()};this.name=e.name,this.options=t,this.snapshotHandler=new lt(this),this.sharedHandler=new ct(this),this.remoteHandler=new ut(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...t.plugins,...e.plugins||[]]),this.options=this.formatOptions(t,e)}},t.Global=S,t.Module=ze,t.addGlobalSnapshot=D,t.assert=l,t.getGlobalFederationConstructor=T,t.getGlobalSnapshot=k,t.getInfoWithoutType=$,t.getRegisteredShare=He,t.getRemoteEntry=We,t.getRemoteInfo=Ve,t.helpers=Ge,t.isStaticResourcesEqual=function(e,t){const o=/^(https?:)?\/\//i;return e.replace(o,"").replace(/\/$/,"")===t.replace(o,"").replace(/\/$/,"")},t.matchRemoteWithNameAndExpose=Ue,t.registerGlobalPlugins=L,t.resetFederationGlobalInfo=w,t.safeWrapper=async function(e,t){try{return await e()}catch(e){return void(!t&&u(e))}},t.satisfy=Me,t.setGlobalFederationConstructor=M,t.setGlobalFederationInstance=O,t.types=pt},66340:function(e,t){function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},o.apply(this,arguments)}t._extends=o,t._object_without_properties_loose=function(e,t){if(null==e)return{};var o,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)o=s[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}},84620:function(e,t,o){var r=o(16515),n=o(87657);let s=null;r.setGlobalFederationConstructor(r.FederationHost),Object.defineProperty(t,"FederationHost",{enumerable:!0,get:function(){return r.FederationHost}}),Object.defineProperty(t,"Module",{enumerable:!0,get:function(){return r.Module}}),Object.defineProperty(t,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(t,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),Object.defineProperty(t,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),t.getInstance=function(){return s},t.init=function(e){const t=n.getGlobalFederationInstance(e.name,e.version);if(t)return t.initOptions(e),s||(s=t),t;{const t=r.getGlobalFederationConstructor()||r.FederationHost;return s=new t(e),r.setGlobalFederationInstance(s),s}},t.loadRemote=function(...e){return r.assert(s,"Please call init first"),s.loadRemote.apply(s,e)},t.loadShare=function(...e){return r.assert(s,"Please call init first"),s.loadShare.apply(s,e)},t.loadShareSync=function(...e){return r.assert(s,"Please call init first"),s.loadShareSync.apply(s,e)},t.preloadRemote=function(...e){return r.assert(s,"Please call init first"),s.preloadRemote.apply(s,e)},t.registerPlugins=function(...e){return r.assert(s,"Please call init first"),s.registerPlugins.apply(s,e)},t.registerRemotes=function(...e){return r.assert(s,"Please call init first"),s.registerRemotes.apply(s,e)}},87657:function(e,t,o){var r=o(16515);t.getGlobalFederationInstance=function(e,t){return r.CurrentGlobal.__FEDERATION__.__INSTANCES__.find((o=>"career_platform_front:local"===o.options.id||(o.options.name===e&&!o.options.version&&!t||!(o.options.name!==e||!t||o.options.version!==t))))}},50495:function(__unused_webpack_module,exports,__webpack_require__){var polyfills=__webpack_require__(31026);const FederationModuleManifest="federation-manifest.json",MANIFEST_EXT=".json",BROWSER_LOG_KEY="FEDERATION_DEBUG",BROWSER_LOG_VALUE="1",NameTransformSymbol={AT:"@",HYPHEN:"-",SLASH:"/"},NameTransformMap={[NameTransformSymbol.AT]:"scope_",[NameTransformSymbol.HYPHEN]:"_",[NameTransformSymbol.SLASH]:"__"},EncodedNameTransformMap={[NameTransformMap[NameTransformSymbol.AT]]:NameTransformSymbol.AT,[NameTransformMap[NameTransformSymbol.HYPHEN]]:NameTransformSymbol.HYPHEN,[NameTransformMap[NameTransformSymbol.SLASH]]:NameTransformSymbol.SLASH},SEPARATOR=":",ManifestFileName="mf-manifest.json",StatsFileName="mf-stats.json",MFModuleType={NPM:"npm",APP:"app"},MODULE_DEVTOOL_IDENTIFIER="__MF_DEVTOOLS_MODULE_INFO__",ENCODE_NAME_PREFIX="ENCODE_NAME_PREFIX",TEMP_DIR=".federation",MFPrefetchCommon={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};var ContainerPlugin=Object.freeze({__proto__:null}),ContainerReferencePlugin=Object.freeze({__proto__:null}),ModuleFederationPlugin=Object.freeze({__proto__:null}),SharePlugin=Object.freeze({__proto__:null});function isBrowserEnv(){return"undefined"!=typeof window}function isBrowserDebug(){try{if(isBrowserEnv()&&window.localStorage)return localStorage.getItem(BROWSER_LOG_KEY)===BROWSER_LOG_VALUE}catch(e){return!1}return!1}function isDebugMode(){return"undefined"!=typeof process&&process.env&&process.env.FEDERATION_DEBUG?Boolean(process.env.FEDERATION_DEBUG):!("undefined"==typeof FEDERATION_DEBUG||!Boolean(FEDERATION_DEBUG))||isBrowserDebug()}const getProcessEnv=function(){return"undefined"!=typeof process&&process.env?process.env:{}},LOG_CATEGORY="[ Federation Runtime ]",parseEntry=(e,t,o=SEPARATOR)=>{const r=e.split(o),n="development"===getProcessEnv().NODE_ENV&&t,s=e=>e.startsWith("http")||e.includes(MANIFEST_EXT);if(r.length>=2){let[t,...a]=r;e.startsWith(o)&&(t=r.slice(0,2).join(o),a=[n||r.slice(2).join(o)]);let i=n||a.join(o);return s(i)?{name:t,entry:i}:{name:t,version:i||"*"}}if(1===r.length){const[e]=r;return n&&s(n)?{name:e,entry:n}:{name:e,version:n||"*"}}throw`Invalid entry value: ${e}`},composeKeyWithSeparator=function(...e){return e.length?e.reduce(((e,t)=>t?e?`${e}${SEPARATOR}${t}`:t:e),""):""},encodeName=function(e,t="",o=!1){try{const r=o?".js":"";return`${t}${e.replace(new RegExp(`${NameTransformSymbol.AT}`,"g"),NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`,"g"),NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`,"g"),NameTransformMap[NameTransformSymbol.SLASH])}${r}`}catch(e){throw e}},decodeName=function(e,t,o){try{let r=e;if(t){if(!r.startsWith(t))return r;r=r.replace(new RegExp(t,"g"),"")}return r=r.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]),o&&(r=r.replace(".js","")),r}catch(e){throw e}},generateExposeFilename=(e,t)=>{if(!e)return"";let o=e;return"."===o&&(o="default_export"),o.startsWith("./")&&(o=o.replace("./","")),encodeName(o,"__federation_expose_",t)},generateShareFilename=(e,t)=>e?encodeName(e,"__federation_shared_",t):"",getResourceUrl=(e,t)=>{if("getPublicPath"in e){let o;return o=e.getPublicPath.startsWith("function")?new Function("return "+e.getPublicPath)()():new Function(e.getPublicPath)(),`${o}${t}`}return"publicPath"in e?`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},assert=(e,t)=>{e||error(t)},error=e=>{throw new Error(`${LOG_CATEGORY}: ${e}`)},warn=e=>{console.warn(`${LOG_CATEGORY}: ${e}`)};function safeToString(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}const VERSION_PATTERN_REGEXP=/^([\d^=v<>~]|[*xX]$)/;function isRequiredVersion(e){return VERSION_PATTERN_REGEXP.test(e)}const simpleJoinRemoteEntry=(e,t)=>{if(!e)return t;const o=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){const t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return o?o.endsWith("/")?`${o}${t}`:`${o}/${t}`:t};function inferAutoPublicPath(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function generateSnapshotFromManifest(e,t={}){var o,r;const{remotes:n={},overrides:s={},version:a}=t;let i;const l=()=>"publicPath"in e.metaData?"auto"===e.metaData.publicPath&&a?inferAutoPublicPath(a):e.metaData.publicPath:e.metaData.getPublicPath,c=Object.keys(s);let u={};var p;Object.keys(n).length||(u=(null==(p=e.remotes)?void 0:p.reduce(((e,t)=>{let o;const r=t.federationContainerName;return o=c.includes(r)?s[r]:"version"in t?t.version:t.entry,e[r]={matchedVersion:o},e}),{}))||{});Object.keys(n).forEach((e=>u[e]={matchedVersion:c.includes(e)?s[e]:n[e]}));const{remoteEntry:{path:m,name:d,type:f},types:h,buildInfo:{buildVersion:_},globalName:g,ssrRemoteEntry:y}=e.metaData,{exposes:E}=e;let b={version:a||"",buildVersion:_,globalName:g,remoteEntry:simpleJoinRemoteEntry(m,d),remoteEntryType:f,remoteTypes:simpleJoinRemoteEntry(h.path,h.name),remoteTypesZip:h.zip||"",remoteTypesAPI:h.api||"",remotesInfo:u,shared:null==e?void 0:e.shared.map((e=>({assets:e.assets,sharedName:e.name,version:e.version}))),modules:null==E?void 0:E.map((e=>({moduleName:e.name,modulePath:e.path,assets:e.assets})))};if(null==(o=e.metaData)?void 0:o.prefetchInterface){const t=e.metaData.prefetchInterface;b=polyfills._extends({},b,{prefetchInterface:t})}if(null==(r=e.metaData)?void 0:r.prefetchEntry){const{path:t,name:o,type:r}=e.metaData.prefetchEntry;b=polyfills._extends({},b,{prefetchEntry:simpleJoinRemoteEntry(t,o),prefetchEntryType:r})}if(i="publicPath"in e.metaData?polyfills._extends({},b,{publicPath:l()}):polyfills._extends({},b,{getPublicPath:l()}),y){const e=simpleJoinRemoteEntry(y.path,y.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=y.type||"commonjs-module"}return i}function isManifestProvider(e){return!(!("remoteEntry"in e)||!e.remoteEntry.includes(MANIFEST_EXT))}const PREFIX="[ Module Federation ]";let Logger=class{log(...e){console.log(this.prefix,...e)}warn(...e){console.log(this.prefix,...e)}error(...e){console.log(this.prefix,...e)}success(...e){console.log(this.prefix,...e)}info(...e){console.log(this.prefix,...e)}ready(...e){console.log(this.prefix,...e)}debug(...e){isDebugMode()&&console.log(this.prefix,...e)}constructor(e){this.prefix=e}};function createLogger(e){return new Logger(e)}const logger=createLogger(PREFIX);async function safeWrapper(e,t){try{return await e()}catch(e){return void(!t&&warn(e))}}function isStaticResourcesEqual(e,t){const o=/^(https?:)?\/\//i;return e.replace(o,"").replace(/\/$/,"")===t.replace(o,"").replace(/\/$/,"")}function createScript(e){let t,o=null,r=!0,n=2e4;const s=document.getElementsByTagName("script");for(let t=0;t<s.length;t++){const n=s[t],a=n.getAttribute("src");if(a&&isStaticResourcesEqual(a,e.url)){o=n,r=!1;break}}if(!o){const t=e.attrs;let r;o=document.createElement("script"),o.type="module"===(null==t?void 0:t.type)?"module":"text/javascript",e.createScriptHook&&(r=e.createScriptHook(e.url,e.attrs),r instanceof HTMLScriptElement?o=r:"object"==typeof r&&("script"in r&&r.script&&(o=r.script),"timeout"in r&&r.timeout&&(n=r.timeout))),o.src||(o.src=e.url),t&&!r&&Object.keys(t).forEach((e=>{o&&("async"===e||"defer"===e?o[e]=t[e]:o.getAttribute(e)||o.setAttribute(e,t[e]))}))}const a=async(r,n)=>{clearTimeout(t);const s=()=>{"error"===(null==n?void 0:n.type)?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(n)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(o&&(o.onerror=null,o.onload=null,safeWrapper((()=>{const{needDeleteScript:t=!0}=e;t&&(null==o?void 0:o.parentNode)&&o.parentNode.removeChild(o)})),r&&"function"==typeof r)){const e=r(n);if(e instanceof Promise){const t=await e;return s(),t}return s(),e}s()};return o.onerror=a.bind(null,o.onerror),o.onload=a.bind(null,o.onload),t=setTimeout((()=>{a(null,new Error(`Remote script "${e.url}" time-outed.`))}),n),{script:o,needAttach:r}}function createLink(e){let t=null,o=!0;const r=document.getElementsByTagName("link");for(let n=0;n<r.length;n++){const s=r[n],a=s.getAttribute("href"),i=s.getAttribute("rel");if(a&&isStaticResourcesEqual(a,e.url)&&i===e.attrs.rel){t=s,o=!1;break}}if(!t){let o;t=document.createElement("link"),t.setAttribute("href",e.url);const r=e.attrs;e.createLinkHook&&(o=e.createLinkHook(e.url,r),o instanceof HTMLLinkElement&&(t=o)),r&&!o&&Object.keys(r).forEach((e=>{t&&!t.getAttribute(e)&&t.setAttribute(e,r[e])}))}const n=(o,r)=>{const n=()=>{"error"===(null==r?void 0:r.type)?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(r)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,safeWrapper((()=>{const{needDeleteLink:o=!0}=e;o&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)})),o)){const e=o(r);return n(),e}n()};return t.onerror=n.bind(null,t.onerror),t.onload=n.bind(null,t.onload),{link:t,needAttach:o}}function loadScript(e,t){const{attrs:o={},createScriptHook:r}=t;return new Promise(((t,n)=>{const{script:s,needAttach:a}=createScript({url:e,cb:t,onErrorCallback:n,attrs:polyfills._extends({fetchpriority:"high"},o),createScriptHook:r,needDeleteScript:!0});a&&document.head.appendChild(s)}))}function importNodeModule(e){if(!e)throw new Error("import specifier is required");return new Function("name","return import(name)")(e).then((e=>e)).catch((t=>{throw console.error(`Error importing module ${e}:`,t),t}))}const loadNodeFetch=async()=>{const e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,o)=>{const r=await((e,t)=>o.lifecycle.fetch.emit(e,t))(e,t||{});if(!(r&&r instanceof Response)){return("undefined"==typeof fetch?await loadNodeFetch():fetch)(e,t||{})}return r};function createScriptNode(url,cb,attrs,loaderHook){if(null==loaderHook?void 0:loaderHook.createScriptHook){const e=loaderHook.createScriptHook(url);e&&"object"==typeof e&&"url"in e&&(url=e.url)}let urlObj;try{urlObj=new URL(url)}catch(e){return console.error("Error constructing URL:",e),void cb(new Error(`Invalid URL: ${e}`))}const getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"undefined"==typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants;const res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname);var _vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER;const script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\n})`,{filename,importModuleDynamically:null!=(_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER=null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)?_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER:importNodeModule});script.runInThisContext()(scriptContext.exports,scriptContext.module,eval("require"),urlDirname,filename);const exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName){const e=exportedInterface[attrs.globalName]||exportedInterface;return void cb(void 0,e)}cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:new Error(`Script execution error: ${e}`))}};getFetch().then((async e=>{if("esm"===(null==attrs?void 0:attrs.type)||"module"===(null==attrs?void 0:attrs.type))return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then((async e=>{await e.evaluate(),cb(void 0,e.namespace)})).catch((e=>{cb(e instanceof Error?e:new Error(`Script execution error: ${e}`))}));handleScriptFetch(e,urlObj)})).catch((e=>{cb(e)}))}function loadScriptNode(e,t){return new Promise(((o,r)=>{createScriptNode(e,((e,n)=>{if(e)r(e);else{var s,a;const e=(null==t||null==(s=t.attrs)?void 0:s.globalName)||`__FEDERATION_${null==t||null==(a=t.attrs)?void 0:a.name}:custom__`,r=globalThis[e]=n;o(r)}}),t.attrs,t.loaderHook)}))}async function loadModule(e,t){const{fetch:o,vm:r}=t,n=await o(e),s=await n.text(),a=new r.SourceTextModule(s,{importModuleDynamically:async(o,r)=>loadModule(new URL(o,e).href,t)});return await a.link((async o=>{const r=new URL(o,e).href;return await loadModule(r,t)})),a}function normalizeOptions(e,t,o){return function(r){if(!1===r)return!1;if(void 0===r)return!!e&&t;if(!0===r)return t;if(r&&"object"==typeof r)return polyfills._extends({},t,r);throw new Error(`Unexpected type for \`${o}\`, expect boolean/undefined/object, got: ${typeof r}`)}}exports.BROWSER_LOG_KEY=BROWSER_LOG_KEY,exports.BROWSER_LOG_VALUE=BROWSER_LOG_VALUE,exports.ENCODE_NAME_PREFIX=ENCODE_NAME_PREFIX,exports.EncodedNameTransformMap=EncodedNameTransformMap,exports.FederationModuleManifest=FederationModuleManifest,exports.MANIFEST_EXT=MANIFEST_EXT,exports.MFModuleType=MFModuleType,exports.MFPrefetchCommon=MFPrefetchCommon,exports.MODULE_DEVTOOL_IDENTIFIER=MODULE_DEVTOOL_IDENTIFIER,exports.ManifestFileName=ManifestFileName,exports.NameTransformMap=NameTransformMap,exports.NameTransformSymbol=NameTransformSymbol,exports.SEPARATOR=SEPARATOR,exports.StatsFileName=StatsFileName,exports.TEMP_DIR=TEMP_DIR,exports.assert=assert,exports.composeKeyWithSeparator=composeKeyWithSeparator,exports.containerPlugin=ContainerPlugin,exports.containerReferencePlugin=ContainerReferencePlugin,exports.createLink=createLink,exports.createLogger=createLogger,exports.createScript=createScript,exports.createScriptNode=createScriptNode,exports.decodeName=decodeName,exports.encodeName=encodeName,exports.error=error,exports.generateExposeFilename=generateExposeFilename,exports.generateShareFilename=generateShareFilename,exports.generateSnapshotFromManifest=generateSnapshotFromManifest,exports.getProcessEnv=getProcessEnv,exports.getResourceUrl=getResourceUrl,exports.inferAutoPublicPath=inferAutoPublicPath,exports.isBrowserEnv=isBrowserEnv,exports.isDebugMode=isDebugMode,exports.isManifestProvider=isManifestProvider,exports.isRequiredVersion=isRequiredVersion,exports.isStaticResourcesEqual=isStaticResourcesEqual,exports.loadScript=loadScript,exports.loadScriptNode=loadScriptNode,exports.logger=logger,exports.moduleFederationPlugin=ModuleFederationPlugin,exports.normalizeOptions=normalizeOptions,exports.parseEntry=parseEntry,exports.safeToString=safeToString,exports.safeWrapper=safeWrapper,exports.sharePlugin=SharePlugin,exports.simpleJoinRemoteEntry=simpleJoinRemoteEntry,exports.warn=warn},31026:function(e,t){function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},o.apply(this,arguments)}t._extends=o},79011:function(e,t){t.FEDERATION_SUPPORTED_TYPES=["script"]},79083:function(e,t,o){var r=o(84620),n=o(79011);function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var a=s(r);function i(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}const l="@",c="-",u="/",p={[l]:"scope_",[c]:"_",[u]:"__"},m={[p[l]]:l,[p[c]]:c,[p[u]]:u};const d={runtime:a,instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:function(e){const{chunkId:t,promises:o,chunkMapping:r,idToExternalAndNameMapping:s,webpackRequire:a,idToRemoteMap:d}=e;i(a),a.o(r,t)&&r[t].forEach((e=>{let t=a.R;t||(t=[]);const r=s[e],i=d[e];if(t.indexOf(r)>=0)return;if(t.push(r),r.p)return o.push(r.p);const f=t=>{t||(t=new Error("Container missing")),"string"==typeof t.message&&(t.message+=`\nwhile loading "${r[1]}" from ${r[2]}`),a.m[e]=()=>{throw t},r.p=0},h=(e,t,n,s,a,i)=>{try{const l=e(t,n);if(!l||!l.then)return a(l,s,i);{const e=l.then((e=>a(e,s)),f);if(!i)return e;o.push(r.p=e)}}catch(e){f(e)}},_=(e,t,o)=>e?h(a.I,r[0],0,e,g,o):f();var g=(e,o,n)=>h(o.get,r[1],t,0,y,n),y=t=>{r.p=1,a.m[e]=e=>{e.exports=t()}};const E=()=>{try{const e=function(e,t,o){try{let o=e;if(t){if(!o.startsWith(t))return o;o=o.replace(new RegExp(t,"g"),"")}return o=o.replace(new RegExp(`${p[l]}`,"g"),m[p[l]]).replace(new RegExp(`${p[u]}`,"g"),m[p[u]]).replace(new RegExp(`${p[c]}`,"g"),m[p[c]]),o}catch(e){throw e}}(i[0].name,"ENCODE_NAME_PREFIX")+r[1].slice(1),t=a.federation.instance,o=()=>a.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});return"version-first"===t.options.shareStrategy?Promise.all(t.sharedHandler.initializeSharing(r[0])).then((()=>o())):o()}catch(e){f(e)}};1===i.length&&n.FEDERATION_SUPPORTED_TYPES.includes(i[0].externalType)&&i[0].name?h(E,r[2],0,0,y,1):h(a,r[2],0,0,_,1)}))},consumes:function(e){const{chunkId:t,promises:o,chunkMapping:r,installedModules:n,moduleToHandlerMapping:s,webpackRequire:a}=e;i(a),a.o(r,t)&&r[t].forEach((e=>{if(a.o(n,e))return o.push(n[e]);const t=t=>{n[e]=0,a.m[e]=o=>{delete a.c[e],o.exports=t()}},r=t=>{delete n[e],a.m[e]=o=>{throw delete a.c[e],t}};try{const i=a.federation.instance;if(!i)throw new Error("Federation instance not found!");const{shareKey:l,getter:c,shareInfo:u}=s[e],p=i.loadShare(l,{customShareInfo:u}).then((e=>!1===e?c():e));p.then?o.push(n[e]=p.then(t).catch(r)):t(p)}catch(e){r(e)}}))},I:function({shareScopeName:e,webpackRequire:t,initPromises:o,initTokens:r,initScope:s}){s||(s=[]);const a=t.federation.instance;var l=r[e];if(l||(l=r[e]={from:a.name}),s.indexOf(l)>=0)return;s.push(l);const c=o[e];if(c)return c;var u=o=>{var r=e=>{return t="Initialization of sharing external failed: "+e,"undefined"!=typeof console&&console.warn&&console.warn(t);var t};try{var n=t(o);if(!n)return;var a=o=>o&&o.init&&o.init(t.S[e],s);if(n.then)return p.push(n.then(a,r));var i=a(n);if(i&&"boolean"!=typeof i&&i.then)return p.push(i.catch(r))}catch(e){r(e)}};const p=a.initializeSharing(e,{strategy:a.options.shareStrategy,initScope:s,from:"build"});i(t);const m=t.federation.bundlerRuntimeOptions.remotes;return m&&Object.keys(m.idToRemoteMap).forEach((e=>{const t=m.idToRemoteMap[e],o=m.idToExternalAndNameMapping[e][2];if(t.length>1)u(o);else if(1===t.length){const e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||u(o)}})),p.length?o[e]=Promise.all(p).then((()=>o[e]=!0)):o[e]=!0},S:{},installInitialConsumes:function(e){const{moduleToHandlerMapping:t,webpackRequire:o,installedModules:r,initialConsumes:n}=e;n.forEach((e=>{o.m[e]=n=>{r[e]=0,delete o.c[e];const s=function(e){const{moduleId:t,moduleToHandlerMapping:o,webpackRequire:r}=e,n=r.federation.instance;if(!n)throw new Error("Federation instance not found!");const{shareKey:s,shareInfo:a}=o[t];try{return n.loadShareSync(s,{customShareInfo:a})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}({moduleId:e,moduleToHandlerMapping:t,webpackRequire:o});if("function"!=typeof s)throw new Error(`Shared module is not available for eager consumption: ${e}`);n.exports=s()}}))},initContainerEntry:function(e){const{webpackRequire:t,shareScope:o,initScope:r,shareScopeKey:n,remoteEntryInitOptions:s}=e;if(!t.S)return;if(!t.federation||!t.federation.instance||!t.federation.initOptions)return;const a=t.federation.instance;var i=n||"default";return a.initOptions({name:t.federation.initOptions.name,remotes:[],...s}),a.initShareScopeMap(i,o,{hostShareScopeMap:s?.shareScopeMap||{}}),t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),t.I(i,r)}},attachShareScopeMap:i,bundlerRuntimeOptions:{}};e.exports=d},40809:function(e,t){t.default=void 0;const o=function(){const e="lstest";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}}();t.default=e=>{let{url:t,version:r,name:n}=e;if(!o)return;const s=document.getElementsByTagName("head")[0],a=`${n}Font`,i=`${n}FontVersion`;function l(e){const t=document.createElement("style");t.textContent=e,s.appendChild(t)}let c=!1,u=null;try{c=window.localStorage.getItem(i)===r,u=window.localStorage.getItem(a)}catch(e){return}c&&u?l(u):function(e,t){const o=new window.XMLHttpRequest;o.open("GET",e,!0),o.onload=function(){t(o.responseText)},o.send()}(t,(e=>{try{window.localStorage.setItem(a,e),window.localStorage.setItem(i,r)}catch(e){}finally{l(e)}}))}},33039:function(e,t,o){var r=o(40809);o.p=`${window.globalServiceVars.careerPlatformFront.staticHost}/`,(0,r.default)({url:window.fontURL,version:"4.0.0",name:"careerPlatformFrontFonts"})},73671:function(e,t,o){var r=o(79083),n=o.n(r);const s=[],a={};if((o.initializeSharingData||o.initializeExposesData)&&o.federation){var i,l,c,u,p,m,d;const e=(e,t,o)=>{e&&e[t]&&(e[t]=o)},t=(e,t,o)=>{const r=o();var n,s,a;if(Array.isArray(r))null!==(a=(n=e)[s=t])&&void 0!==a||(n[s]=[]),e[t].push(...r);else if("object"==typeof r&&null!==r){var i,l,c;null!==(c=(i=e)[l=t])&&void 0!==c||(i[l]={}),Object.assign(e[t],r)}},r=(e,t,o)=>{var r,n,s;null!==(s=(r=e)[n=t])&&void 0!==s||(r[n]=o())};var f;const E=null!==(f=null===(i=o.remotesLoadingData)||void 0===i?void 0:i.chunkMapping)&&void 0!==f?f:{};var h;const b=null!==(h=null===(l=o.remotesLoadingData)||void 0===l?void 0:l.moduleIdToRemoteDataMapping)&&void 0!==h?h:{};var _;const S=null!==(_=null===(c=o.initializeSharingData)||void 0===c?void 0:c.scopeToSharingDataMapping)&&void 0!==_?_:{};var g;const N=null!==(g=null===(u=o.consumesLoadingData)||void 0===u?void 0:u.chunkMapping)&&void 0!==g?g:{};var y;const v=null!==(y=null===(p=o.consumesLoadingData)||void 0===p?void 0:p.moduleIdToConsumeDataMapping)&&void 0!==y?y:{},R={},I=[],w={},O=null===(m=o.initializeExposesData)||void 0===m?void 0:m.shareScope;for(const e in n())o.federation[e]=n()[e];r(o.federation,"consumesLoadingModuleToHandlerMapping",(()=>{const e={};for(let[t,o]of Object.entries(v))e[t]={getter:o.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:o.requiredVersion,strictVersion:o.strictVersion,singleton:o.singleton,eager:o.eager},scope:[o.shareScope]},shareKey:o.shareKey};return e})),r(o.federation,"initOptions",(()=>({}))),r(o.federation.initOptions,"name",(()=>"career_platform_front")),r(o.federation.initOptions,"shareStrategy",(()=>"version-first")),r(o.federation.initOptions,"shared",(()=>{const e={};for(let[t,o]of Object.entries(S))for(let r of o)if("object"==typeof r&&null!==r){const{name:o,version:n,factory:s,eager:a,singleton:i,requiredVersion:l,strictVersion:c}=r,u={},p=function(e){return void 0!==e};p(i)&&(u.singleton=i),p(l)&&(u.requiredVersion=l),p(a)&&(u.eager=a),p(c)&&(u.strictVersion=c);const m={version:n,scope:[t],shareConfig:u,get:s};e[o]?e[o].push(m):e[o]=[m]}return e})),t(o.federation.initOptions,"remotes",(()=>Object.values(a).flat().filter((e=>"script"===e.externalType)))),t(o.federation.initOptions,"plugins",(()=>s)),r(o.federation,"bundlerRuntimeOptions",(()=>({}))),r(o.federation.bundlerRuntimeOptions,"remotes",(()=>({}))),r(o.federation.bundlerRuntimeOptions.remotes,"chunkMapping",(()=>E)),r(o.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",(()=>{const e={};for(let[t,o]of Object.entries(b))e[t]=[o.shareScope,o.name,o.externalModuleId,o.remoteName];return e})),r(o.federation.bundlerRuntimeOptions.remotes,"webpackRequire",(()=>o)),t(o.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",(()=>{const e={};for(let[t,o]of Object.entries(b)){const r=a[o.remoteName];r&&(e[t]=r)}return e})),e(o,"S",o.federation.bundlerRuntime.S),o.federation.attachShareScopeMap&&o.federation.attachShareScopeMap(o),e(o.f,"remotes",((e,t)=>o.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:E,idToExternalAndNameMapping:o.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:o.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:o}))),e(o.f,"consumes",((e,t)=>o.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:N,moduleToHandlerMapping:o.federation.consumesLoadingModuleToHandlerMapping,installedModules:R,webpackRequire:o}))),e(o,"I",((e,t)=>o.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:I,initTokens:w,webpackRequire:o}))),e(o,"initContainer",((e,t,r)=>o.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:O,webpackRequire:o}))),e(o,"getContainer",((e,t)=>{var r=o.initializeExposesData.moduleMap;return o.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),o.R=void 0,t})),o.federation.instance=o.federation.runtime.init(o.federation.initOptions),(null===(d=o.consumesLoadingData)||void 0===d?void 0:d.initialConsumes)&&o.federation.bundlerRuntime.installInitialConsumes({webpackRequire:o,installedModules:R,initialConsumes:o.consumesLoadingData.initialConsumes,moduleToHandlerMapping:o.federation.consumesLoadingModuleToHandlerMapping})}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](o,o.exports,__webpack_require__),o.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!0}}),__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var o in t)__webpack_require__.o(t,o)&&!__webpack_require__.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.p="",__webpack_require__.rv=()=>"1.2.8",__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{},uniqueName:"career-platform-front"},__webpack_require__.I=__webpack_require__.I||function(){throw new Error("should have __webpack_require__.I")},__webpack_require__.ruid="bundler=rspack@1.2.8",__webpack_require__(73671);var __webpack_exports__=__webpack_require__(33039)})();
//# sourceMappingURL=inline.1135a5754e1bbdff.js.map</script>
</head>
<body class="xs-friendly s-friendly">
<link href="https://career.hh.ru/static/main.8db1938a49b072ef.css" rel="stylesheet"/>
<div class="CareerPlatformFront-ReactRoot" data-ssr-status="success"><div><div class="magritte-day-theme ZzjjX87___theme-container_background-body"><div class="gAbNWSz___container"><header class="UIEU4eB___header"><a class="owjvRUw___container" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 40 40" class="hmRz6LM___hh-logo"><mask id="a" width="40" height="40" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" d="M40 0H0v40h40V0Z"></path></mask><g mask="url(#a)"><path fill="#FF0002" d="M20 40c11.046 0 20-8.954 20-20S31.046 0 20 0 0 8.954 0 20s8.954 20 20 20Z"></path><path fill="#fff" d="M29.73 17.05c-.605-.625-1.465-.965-2.515-.965-1.305 0-2.307.53-2.884 1.522v-4.926h-3.026v13.503h3.026v-4.747c0-1.106.227-1.815.567-2.232.331-.416.794-.576 1.296-.576.444 0 .794.141 1.04.397.246.265.388.671.388 1.239v5.91h3.026v-6.506c0-1.107-.322-2.005-.918-2.62ZM16.199 16.085c-1.305 0-2.308.53-2.884 1.522v-4.926h-3.026v13.503h3.026v-4.747c0-1.106.227-1.815.567-2.232.331-.416.794-.576 1.296-.576.444 0 .794.141 1.04.397.246.265.387.671.387 1.239v5.91h3.026v-6.506c0-1.107-.321-2.005-.926-2.629-.596-.624-1.457-.955-2.506-.955Z"></path></g></svg><div class="tvxeKyT___title"><svg xmlns="http://www.w3.org/2000/svg" width="93" height="19" fill="none" viewBox="0 0 93 19"><path d="M.676 13.467V1.108h3.562v5.574l3.975-5.574h3.925l-4.41 5.84 4.483 6.52H8.02l-3.78-5.671v5.67H.675Zm11.883-3.247c0-1.672 1.042-2.714 3.029-3.393l2.884-.993c1.042-.364 1.38-.655 1.38-1.188 0-.606-.484-1.042-1.477-1.042-1.26 0-2.157.727-2.327 2.084l-3.368-.63c.363-2.496 2.302-4.192 5.719-4.192 3.417 0 5.065 1.526 5.065 4.095v4.241c0 1.163.315 1.478 1.502 1.575L23.78 13.71c-2.012 0-3.15-.849-3.611-2.448-.606 1.454-1.842 2.447-3.683 2.447-2.448 0-3.926-1.502-3.926-3.49Zm3.465-.242c0 .557.46 1.066 1.454 1.066 1.454 0 2.423-1.09 2.423-3.126v-.485c-.315.267-.678.46-1.405.751l-1.381.558c-.727.29-1.091.678-1.091 1.236Zm22.724-2.69c0 3.998-2.253 6.421-5.21 6.421-1.793 0-3.175-.969-3.756-2.471v6.834h-3.563V1.108h3.563v2.254c.581-1.527 1.962-2.496 3.756-2.496 2.957 0 5.21 2.447 5.21 6.422Zm-3.635 0c0-2.351-.993-3.732-2.69-3.732-1.624 0-2.641 1.405-2.641 3.732 0 2.35 1.017 3.732 2.641 3.732 1.697 0 2.69-1.357 2.69-3.732Zm5.549 6.18V1.107h3.562v3.78h2.69c3.03 0 4.677 1.455 4.677 4.241 0 2.763-1.769 4.338-4.798 4.338h-6.131Zm5.55-2.666c1.284 0 1.817-.51 1.817-1.624 0-1.115-.533-1.624-1.745-1.624h-2.06v3.248h1.987Zm6.364-3.466c0-3.853 2.57-6.47 6.301-6.47 3.538 0 5.768 2.157 5.768 5.622 0 .363-.024.8-.073 1.405h-8.385c.121 1.915 1.164 3.054 2.763 3.054 1.309 0 2.18-.679 2.52-1.987l3.175.751c-.63 2.544-2.714 3.998-5.744 3.998-3.732 0-6.325-2.592-6.325-6.373Zm8.676-1.6c-.097-1.405-.945-2.229-2.35-2.229-1.333 0-2.278.824-2.618 2.23h4.968Zm17.96 1.552c0 3.998-2.254 6.421-5.21 6.421-1.794 0-3.175-.969-3.757-2.471v6.834h-3.562V1.108h3.562v2.254c.582-1.527 1.963-2.496 3.756-2.496 2.957 0 5.21 2.447 5.21 6.422Zm-3.635 0c0-2.351-.994-3.732-2.69-3.732-1.624 0-2.642 1.405-2.642 3.732 0 2.35 1.018 3.732 2.642 3.732 1.696 0 2.69-1.357 2.69-3.732Zm4.725 2.932c0-1.672 1.042-2.714 3.029-3.393l2.884-.993c1.042-.364 1.38-.655 1.38-1.188 0-.606-.484-1.042-1.477-1.042-1.26 0-2.157.727-2.327 2.084l-3.368-.63c.363-2.496 2.302-4.192 5.719-4.192 3.417 0 5.065 1.526 5.065 4.095v4.241c0 1.163.315 1.478 1.502 1.575l-1.187 2.933c-2.012 0-3.15-.849-3.611-2.448-.606 1.454-1.842 2.447-3.683 2.447-2.448 0-3.926-1.502-3.926-3.49Zm3.465-.242c0 .557.46 1.066 1.454 1.066 1.454 0 2.423-1.09 2.423-3.126v-.485c-.315.267-.678.46-1.405.751l-1.382.558c-.726.29-1.09.678-1.09 1.236Z"></path></svg></div></a><div class="a_fVQPc___header-controls"><button class="magritte-button___Pubhr_5-3-1 magritte-button_mode-tertiary___ZMpad_5-3-1 magritte-button_size-medium___WvUsb_5-3-1 magritte-button_textless___XBvNJ_5-3-1 magritte-button_style-neutral___I5qS5_5-3-1 magritte-button_with-icon___znqnP_5-3-1" type="button"><div class="magritte-button-view___53Slm_5-3-1"><span class="magritte-button__content___BXYU0_5-3-1"><span class="magritte-button__icon___912gw_5-3-1"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="menu burger button" role="img" focusable="false" class="magritte-icon___rRr4Q_10-2-1 magritte-icon_initial-primary___KhLAU_10-2-1"><g><path d="M20 6.80003L4 6.80003V5.00003H20V6.80003Z" fill="var(--magritte-ui-icon-color)"></path><path d="M20 12.9L4 12.9V11.1L20 11.1V12.9Z" fill="var(--magritte-ui-icon-color)"></path><path d="M4 19L20 19V17.2H4V19Z" fill="var(--magritte-ui-icon-color)"></path></g></svg></span></span></div></button><a class="magritte-button___Pubhr_5-3-1 magritte-button_mode-secondary___xYz4-_5-3-1 magritte-button_size-small___ZAmsS_5-3-1 magritte-button_style-neutral___I5qS5_5-3-1" tabindex="0" role="button" aria-disabled="false" href="/oauth/login"><div class="magritte-button-view___53Slm_5-3-1"><span class="magritte-button__content___BXYU0_5-3-1"><span class="magritte-button__label___zplmt_5-3-1">Войти</span></span></div></a></div></header><div class="magritte-grid-layout___JiVGG_2-2-18"><div class="magritte-grid-layout-content___fzkS0_2-2-18" data-qa="main-content"><div class="pAFIQBd___content"><svg xmlns="http://www.w3.org/2000/svg" width="170" height="84" fill="none" viewBox="0 0 170 84" class="TbRJpUo___icon"><path fill="#F9E193" d="m29.597 2.998 18.726 11.575-28.67 46.383L.926 49.38z"></path><path fill="#F9E193" d="M28.981 44.684h22.128V84H28.981z"></path><path fill="#A5E2B6" d="M118.893 50.108C118.893 68.826 103.719 84 85.001 84c-18.719 0-33.893-15.174-33.893-33.892 0-18.718 15.174-33.892 33.893-33.892 18.718 0 33.892 15.174 33.892 33.892Zm-49.288 0c0 8.503 6.892 15.396 15.395 15.396s15.396-6.893 15.396-15.396-6.893-15.396-15.395-15.396c-8.504 0-15.397 6.893-15.397 15.396Z"></path><path fill="#C1E8FD" d="m147.563 2.998 18.726 11.575-28.67 46.382-18.727-11.575z"></path><path fill="#C1E8FD" d="M146.946 44.684h22.128V84h-22.128z"></path></svg><p class="fDySRxT___error">Такой страницы нет</p><p class="nk91SUG___error-description">Возможно, в ссылке есть опечатка. Если считаете, что страница была здесь раньше, но исчезла — пишите на<!-- --> <a href="mailto:cp.help@hh.ru">cp.help@hh.ru</a></p><div class="acQd_F1___button-container"><a class="magritte-button___Pubhr_5-3-1 magritte-button_mode-primary___wU8PN_5-3-1 magritte-button_size-medium___WvUsb_5-3-1 magritte-button_stretched___-aXS6_5-3-1 magritte-button_style-neutral___I5qS5_5-3-1" tabindex="0" role="button" aria-disabled="false" href="/"><div class="magritte-button-view___53Slm_5-3-1"><span class="magritte-button__content___BXYU0_5-3-1"><span class="magritte-button__label___zplmt_5-3-1">Перейти на главную</span></span></div></a></div></div></div></div><div class="Y3TlLWb___expander"></div><footer class="sKmwBxv___footer">Все данные на сайте — результат аналитики вакансий и резюме на hh.ru</footer></div></div></div><div class="magritte-breakpoint-checker___EXzjN_5-0-0"></div></div>
<noindex>
<template style="display: none" class="CareerPlatformFront-InitialState">{"profile":null,"userArea":{"area":{"id":"1","text":"Москва"},"status":"unconfirmed"},"renderRestriction":{"breakpoint":"all","magritteBreakpoint":null,"force":false,"renderRestriction":false},"pageError":404,"trl":{"RU":{"error.page.authorization.link":"Личный кабинет","error.page.code":"Ошибка {0}","error.page.description.400":"Напишите в поддержку — там помогут решить проблему. В сообщение вставьте код ошибки: {0}","error.page.description.403":"Чтобы увидеть, доступна ли она вам, войдите в личный кабинет","error.page.description.404":"Возможно, в ссылке опечатка. Если считаете, что страница была здесь раньше, но исчезла, — напишите в службу поддержки.","error.page.link.feedback":"Написать в поддержку","error.page.link.index":"Перейти на главную","error.page.title.400":"Страница не открывается","error.page.title.403":"Эта страница доступна не всем","error.page.title.404":"Такой страницы нет","index.footer.menuitem.copyright":"© {0} ООО «Хэдхантер»","navi.logo.title":"hh.ru","page.403.pageTitle":"Ошибка 403","page.404.pageTitle":"Ошибка 404","page.4xx.pageTitle":"Ошибка","career-platform.components.button-link-external-course.button":"Перейти к курсу","career-platform.components.button-link-external-course.button.toCourse":"Перейти к курсу","career-platform.components.button-link-external-course.button.toProgram":"Перейти к программе","career-platform.components.card-course-price-details.prefix-type.from":"от","career-platform.components.card-course-promo.promocode.another":"Ещё","career-platform.components.card-course-promo.promocode.text":"−{discount}% по промокоду","career-platform.components.card-course.breadcrumbs.format.offline":"Офлайн","career-platform.components.card-course.breadcrumbs.format.online":"Онлайн","career-platform.components.card-course.breadcrumbs.profession":"Профессия","career-platform.components.card-course.breadcrumbs.skill":"Навык","career-platform.components.card-course.development":"Курс в разработке","career-platform.components.card-course.promocode.snack":"Промокод {0} скопирован","career-platform.components.card-course.promocode.tooltip":"Скопировать промокод","career-platform.components.carousel-ed-program.show-all-link":"Посмотреть все","career-platform.components.cookies-policy.agree":"Понятно","career-platform.components.cookies-policy.link":"Согласие на обработку и политика в отношении персональных данных.","career-platform.components.cookies-policy.text":"Мы используем файлы cookie, чтобы обеспечивать правильную работу сайта и анализировать сетевой трафик.","career-platform.components.form-disclaimer.1":"Нажимая «{0}», вы даёте","career-platform.components.form-disclaimer.2":"согласие на обработку персональных данных","career-platform.components.form-disclaimer.3":"и соглашаетесь","career-platform.components.form-disclaimer.4":"с политикой конфиденциальности","career-platform.components.header.login-button.close":"Закрыть","career-platform.components.header.login-button.login":"Войти","career-platform.components.header.login-button.logout":"Выйти","career-platform.components.mobile-nav.close":"Закрыть","career-platform.components.price.free":"Бесплатно","career-platform.footer.dataInfo":"Все данные на сайте — результат аналитики вакансий и резюме на hh.ru","career-platform.page-error.404.go-to-main":"Перейти на главную","career-platform.page-error.title.404.description":"Возможно, в ссылке есть опечатка. Если считаете, что страница была здесь раньше, но исчезла — пишите на","career-platform.page-error.title.404.title":"Такой страницы нет","career-platform.page-names.articles":"Журнал","career-platform.page-names.assessment":"Подтверждение навыков","career-platform.page-names.courses":"Обучение","career-platform.page-names.index":"Главная","career-platform.page-names.lk":"Личный кабинет","career-platform.page-names.professions":"Профессии","career-platform.page-names.profile":"Профиль","career-platform.pluralize.days.many":"дней","career-platform.pluralize.days.one":"день","career-platform.pluralize.days.some":"дня","career-platform.pluralize.hours.many":"часов","career-platform.pluralize.hours.one":"час","career-platform.pluralize.hours.some":"часа","career-platform.pluralize.minute.many":"минут","career-platform.pluralize.minute.one":"минута","career-platform.pluralize.minute.some":"минуты","career-platform.pluralize.months.many":"месяцев","career-platform.pluralize.months.one":"месяц","career-platform.pluralize.months.some":"месяца","career-platform.pluralize.second.many":"секунд","career-platform.pluralize.second.one":"секунда","career-platform.pluralize.second.some":"секунды","career-platform.pluralize.weeks.many":"недель","career-platform.pluralize.weeks.one":"неделя","career-platform.pluralize.weeks.some":"недели","career-platform.pluralize.years.many":"лет","career-platform.pluralize.years.one":"год","career-platform.pluralize.years.some":"года","career-platform.subscribe-to-course.close":"Закрыть","career-platform.subscribe-to-course.leaveEmail":"Оставить почту","career-platform.subscribe-to-course.pattern":"Похоже, в адрес закралась опечатка","career-platform.subscribe-to-course.placeholder":"Электронная почта","career-platform.subscribe-to-course.required":"Напишите почту, куда отправить письмо","career-platform.subscribe-to-course.snack.error":"Из-за сбоя не получилось — попробуйте немного позже","career-platform.subscribe-to-course.snack.success":"Готово — теперь старт не пропустите","career-platform.subscribe-to-course.subscribe":"Узнать о старте курса","career-platform.subscribe-to-course.title":"Оставьте почту — пришлём письмо о старте курса","career-platform.widgets.geo-location.confirm-city.change-button":"Нет, другой","career-platform.widgets.geo-location.confirm-city.confirm-button":"Да, верно","career-platform.widgets.geo-location.confirm-city.description":"От выбора зависит, какие зарплаты и аналитику покажем","career-platform.widgets.geo-location.confirm-city.title":"Ваш город {city}?","career-platform.widgets.geo-location.search-dialog.description":"От выбора зависит, какие зарплаты и аналитику покажем","career-platform.widgets.geo-location.search-dialog.input.placeholder":"Поиск","career-platform.widgets.geo-location.search-dialog.select-button":"Подтвердить","career-platform.widgets.geo-location.search-dialog.title":"Выберите город","career-platform.widgets.geo-location.search-empty-state.description":"Проверьте, нет ли опечатки? Если нет, поищите ближайший к вам крупный город","career-platform.widgets.geo-location.search-empty-state.title":"Не нашли такого города","career-platform.widgets.geo-location.snack.change-city-error":"Возникла ошибка при изменении города","career-platform.widgets.geo-location.snack.confirm-city-error":"Возникла ошибка при подтверждении города","lux.error":"Произошла ошибка. Попробуйте перезагрузить страницу.","lux.error.network":"Произошла ошибка. Проверьте подключение к сети и попробуйте еще раз."}},"langs":["RU"],"features":{"sentry_logging":true,"sentry_request_queue_limit":null,"sentry_js_config":null,"enabled_articles":true,"enabled_assessment":true,"enabled_geo_location_button":true,"enabled_lk":true,"enabled_profile":true,"highlight_magritte_grid":null,"uxfeedback_profession_based_survey":"[\"122\", \"285\", \"314\", \"303\", \"69\", \"197\"]"},"experiments":{"enabled":{},"checked":[]},"analyticsParams":{"method":"GET","path":"/ads.txt","screenName":"ErrorPage","sender":"python","hhtmSource":"ErrorPage","hhtmFrom":"","hhtmSourceLabel":"","hhtmFromLabel":""},"request":{"protocol":"https","host":"career.hh.ru","url":"/ads.txt","id":"1750199597535b831b4999de86d7d6cb","xsrfToken":"726bfbbe0bf78eb67dfeac630d6a6d71","pageName":"ErrorPage","origin":"https://career.hh.ru"},"config":{"staticHost":"https://career.hh.ru/static","apiHost":"https://career.hh.ru","hhcdnHost":"https://hhcdn.ru","sentryDSN":"https://061a30320abf4756b54075f1c2c32a3e@sentry.hh.ru/327687","imageResizingCdnHost":"https://img.hhcdn.ru","build":"2.1.58","externalMicroFrontendHosts":null},"userType":"anonymous","userId":null,"isWebView":false,"isProxiedComponent":false,"locale":{"areaId":"113","domainAreaId":"1","host":"hh.ru","protocolHost":"https://career.hh.ru","isSeoDomain":false,"platform":"HEADHUNTER","availableLanguages":["KG","EN","KZ","UZ","RU"],"siteLanguage":"RU"},"displayType":null}</template>
</noindex>
<script defer src="https://career.hh.ru/static/appEntryPoint.7b6224b04ba3c1c9.js"></script>
<!--yandex counter-->
<script type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, 'script', 'https://mc.yandex.ru/metrika/tag.js', 'ym');
window.ym(93699988, 'init', {
trackLinks: true,
accurateTrackBounce: true,
clickmap: false,
webvisor: true,
params: {
status: 'anonymous',
geoRegion: '1',
},
userParams: {
status: 'anonymous',
},
});
window.ymtag = function (method, ...args) {
[93699988].forEach(function (id) {
window.ym(id, method, ...args);
});
};
</script>
<noscript>
<div>
<img src="https://mc.yandex.ru/watch/93699988" style="position:absolute; left:-9999px;" alt="" />
</div>
</noscript>
<!--/yandex counter-->
<!--mytracker counter-->
<script>
var _tmr = window._tmr || (window._tmr = []);
(function (d, w, id) {
if (d.getElementById(id)) return;
var ts = d.createElement('script'); ts.type = 'text/javascript'; ts.async = true; ts.id = id;
ts.src = 'https://top-fwz1.mail.ru/js/code.js';
var f = function () {var s = d.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ts, s);};
if (w.opera == '[object Opera]') { d.addEventListener('DOMContentLoaded', f, false); } else { f(); }
})(document, window, 'tmr-code');
_tmr.push({id: '3426875', type: 'pageView', start: (new Date()).getTime()});
window.tmrPageView = function () {
_tmr.push(
{ id: '3426875', type: 'pageView', start: (new Date()).getTime() },
);
};
window.tmrReachGoal = function (category, event, label, eventParams) {
let goal = '';
const params = eventParams || {};
const goalAliases = {
'register': 'mt_registration',
'login': 'mt_login'
}
const goalAlias = goalAliases[event];
if (goalAlias) {
goal = goalAlias;
params.method = label;
} else {
goal = [category, event].filter(Boolean).join('_');
}
_tmr.push(
{ id: '3426875', type: 'reachGoal', goal, params },
);
};
</script>
<noscript>
<div>
<img src='https://top-fwz1.mail.ru/counter?id=3426875;js=na' style='position:absolute;left:-9999px;' alt='Top.Mail.Ru' />
</div>
</noscript>
<!--/mytracker counter-->
</body>
</html>