PageSourceSearch

https://www.vaalikone.fi/_next/static/chunks/pages/_app-8da01d795633ff9a.js

js vaalikone.fi collected 2026-10-02 11:36:58 UTC 1,452,488 bytes, 9 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[636],{91:(e,t,a)=>{"use strict";a.d(t,{p:()=>l});var i=a(32264),n=a(10714);let s=new Set(["brightness","contrast","saturate","opacity"]);function o(e){let[t,a]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;let[i]=a.match(n.S)||[];if(!i)return e;let o=a.replace(i,""),r=+!!s.has(t);return i!==a&&(r*=100),t+"("+r+o+")"}let r=/\b([a-z-]*)\(.*?\)/gu,l={...i.f,getAnimatableNone:e=>{let t=e.match(r);return t?t.map(o).join(" "):e}}},291:e=>{e.exports=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a}},620:(e,t,a)=>{var i=a(11229),n=a(16999),s=a(41016),o=a(62220),r=a(47508);function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}l.prototype.clear=i,l.prototype.delete=n,l.prototype.get=s,l.prototype.has=o,l.prototype.set=r,e.exports=l},740:e=>{e.exports={spinnerRoot:"Spinner_spinnerRoot__iewsF"}},831:(e,t,a)=>{var i=a(68988),n=a(22180);e.exports=function(e,t){return e&&e.length?n(e,i(t,2)):[]}},1183:e=>{e.exports={navigation:"styledComponents_navigation__K1r1G",line:"styledComponents_line__a3cZU"}},1217:(e,t,a)=>{"use strict";a.d(t,{D:()=>i});let i=e=>Array.isArray(e)&&"number"==typeof e[0]},1238:e=>{e.exports={textAreaField:"TextArea_textAreaField__kv9kY",textAreaRoot:"TextArea_textAreaRoot__ZWl4K",resizeHandleContainer:"TextArea_resizeHandleContainer__Hqtrx",top:"TextArea_top__z_Kdo",bottom:"TextArea_bottom__sVp_p"}},1278:(e,t,a)=>{var i=a(54703);e.exports=function(){try{var e=i(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},1361:e=>{e.exports={candidateImageRow:"CandidateCardResult_candidateImageRow__2rhcr",matchElement:"CandidateCardResult_matchElement__m_Ho_",textContainer:"CandidateCardResult_textContainer__epCuC"}},1840:e=>{e.exports={partiesGroupWrapper:"FinnishToEuroParties_partiesGroupWrapper__hsn1A",partiesGroup:"FinnishToEuroParties_partiesGroup__FJpal",partyTagAndNameWrapper:"FinnishToEuroParties_partyTagAndNameWrapper__ADpEv",arrowSvg:"FinnishToEuroParties_arrowSvg__wLyVK",roundedBox:"FinnishToEuroParties_roundedBox__UiA5S"}},1898:e=>{e.exports={backgroundLine:"ValueMeter_backgroundLine__jbCDr",centerLine:"ValueMeter_centerLine__xaTnQ",root:"ValueMeter_root__hpdNx",dimensionsTexts:"ValueMeter_dimensionsTexts__z_jdq",valueMeterContainer:"ValueMeter_valueMeterContainer__X0Bbl",valueMeterSVG:"ValueMeter_valueMeterSVG__f_wtp",dimensionText:"ValueMeter_dimensionText__Eilt5"}},1905:(e,t,a)=>{var i=a(53325),n=a(34024),s=a(68988);e.exports=function(e,t){var a={};return t=s(t,3),n(e,function(e,n,s){i(a,n,t(e,n,s))}),a}},1917:e=>{e.exports={xsm:"min-width: 375px",md:"min-width: 768px",candidateCardRoot:"candidateCardShared_candidateCardRoot__RT_sH",candidateCardContent:"candidateCardShared_candidateCardContent__PYehs"}},2193:(e,t,a)=>{var i=a(3128),n=a(29090),s=a(31835),o=a(96024),r=a(53140),l=a(91544),u=a(9541),m=a(43562),d="[object Arguments]",c="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,a,v,k,y){var f=l(e),g=l(t),b=f?c:r(e),j=g?c:r(t);b=b==d?h:b,j=j==d?h:j;var x=b==h,w=j==h,S=b==j;if(S&&u(e)){if(!u(t))return!1;f=!0,x=!1}if(S&&!x)return y||(y=new i),f||m(e)?n(e,t,a,v,k,y):s(e,t,b,a,v,k,y);if(!(1&a)){var N=x&&p.call(e,"__wrapped__"),A=w&&p.call(t,"__wrapped__");
1if(N||A){var P=N?e.value():e,_=A?t.value():t;return y||(y=new i),k(P,_,a,v,y)}}return!!S&&(y||(y=new i),o(e,t,a,v,k,y))}},2882:e=>{e.exports=function(e){return e!=e}},3128:(e,t,a)=>{var i=a(4650),n=a(95345),s=a(291),o=a(46468),r=a(36704),l=a(22344);function u(e){var t=this.__data__=new i(e);this.size=t.size}u.prototype.clear=n,u.prototype.delete=s,u.prototype.get=o,u.prototype.has=r,u.prototype.set=l,e.exports=u},3376:(e,t,a)=>{"use strict";a.d(t,{m:()=>j});var i=a(37146),n=a(29255),s=a(15315),o=a(87940),r=a(80753);let l={};function u(e,t){let a=(0,r.p)(e);return()=>l[t]??a()}let m=u(()=>void 0!==window.ScrollTimeline,"scrollTimeline");var d=a(31766),c=a(89602),h=a(78416),p=a(21224),v=a(1217);let k=u(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(e){return!1}return!0},"linearEasing");var y=a(89933);let f=([e,t,a,i])=>`cubic-bezier(${e}, ${t}, ${a}, ${i})`,g={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:f([0,.65,.55,1]),circOut:f([.55,0,1,.45]),backIn:f([.31,.01,.66,-.59]),backOut:f([.33,1.53,.69,.99])};var b=a(97880);class j extends c.q{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:t,name:a,keyframes:n,pseudoElement:s,allowFlatten:r=!1,finalKeyframe:l,onComplete:u}=e;this.isPseudoElement=!!s,this.allowFlatten=r,this.options=e,(0,i.V)("string"!=typeof e.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const m=function({type:e,...t}){return(0,b.W)(e)&&k()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}(e);this.animation=function(e,t,a,{delay:i=0,duration:n=300,repeat:s=0,repeatType:o="loop",ease:r="easeOut",times:l}={},u){let m={[t]:a};l&&(m.offset=l);let d=function e(t,a){if(t)return"function"==typeof t?k()?(0,y.K)(t,a):"ease-out":(0,v.D)(t)?f(t):Array.isArray(t)?t.map(t=>e(t,a)||g.easeOut):g[t]}(r,n);Array.isArray(d)&&(m.easing=d),p.Q.value&&h.q.waapi++;let c={delay:i,duration:n,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:"reverse"===o?"alternate":"normal"};u&&(c.pseudoElement=u);let b=e.animate(m,c);return p.Q.value&&b.finished.finally(()=>{h.q.waapi--}),b}(t,a,n,m,s),!1===m.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){let e=(0,d.X)(n,this.options,l,this.speed);this.updateMotionValue&&this.updateMotionValue(e),(0,o.e)(t,a,e),this.animation.cancel()}u?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(e){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;"idle"!==e&&"finished"!==e&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return(0,n.X)(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+(0,n.X)(e)}get time(){return(0,n.X)(Number(this.animation.currentTime)||0)}set time(e){let t=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=(0,n.f)(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:a,observe:i}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&m())?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),a&&(this.animation.rangeEnd=a),s.l):i(this)}}},3524:(e,t,a)=>{"use strict";a.d(t,{$:()=>s,q:()=>o});var i=a(10714);let n=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,s=(e,t)=>a=>!!("string"==typeof a&&n.test(a)&&a.startsWith(e)||t&&null!=a&&Object.prototype.hasOwnProperty.call(a,t)),o=(e,t,a)=>n=>{if("string"!=typeof n)return n;let[s,o,r,l]=n.match(i.S);return{[e]:parseFloat(s),[t]:parseFloat(o),[a]:parseFloat(r),alpha:void 0!==l?parseFloat(l):1}}},3540:e=>{e.exports=function(e){return function(t){return e(t)}}},3619:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3681:(e,t,a)=>{"use strict";a.d(t,{V:()=>i});let i=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2},4295:e=>{e.exports={baseCss:"buttonCommon_baseCss__359vh",borderAndShadow:"buttonCommon_borderAndShadow__o1dkq"}},4513:e=>{e.exports={buttonContainer:"ButtonContainer_buttonContainer__8kvMC"}},4609:e=>{e.exports={fanIconRoot:"FanIcon_fanIconRoot__rawv6",styledG:"FanIcon_styledG__98mDZ",styledPath:"FanIcon_styledPath__VYC50",borderElement:"FanIcon_borderElement__AV49j",fillElement:"FanIcon_fillElement___V0r8",youText:"FanIcon_youText__UBc5e"}},4650:(e,t,a)=>{var i=a(21895),n=a(15917),s=a(52182),o=a(5514),r=a(92786);function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}l.prototype.clear=i,l.prototype.delete=n,l.prototype.get=s,l.prototype.has=o,l.prototype.set=r,e.exports=l},5169:(e,t,a)=>{"use strict";a.d(t,{a:()=>i});let i=e=>Math.round(1e5*e)/1e5},5461:(e,t,a)=>{var i=a(30147),n=a(63912),s=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols;e.exports=o?function(e){return null==e?[]:i(o(e=Object(e)),function(t){return s.call(e,t)})}:n},5466:(e,t,a)=>{"use strict";a.d(t,{Y:()=>i});let i=(0,a(55729).createContext)({strict:!1})},5514:(e,t,a)=>{var i=a(36592);e.exports=function(e){return i(this.__data__,e)>-1}},5549:e=>{e.exports=function(e){return e}},5667:e=>{e.exports={modalFooter:"ModalFooter_modalFooter__lN6EQ",sideBySide:"ModalFooter_sideBySide__gYuHc"}},6500:(e,t,a)=>{"use strict";a.d(t,{a:()=>o,c:()=>n});let i=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function n(e){return i.has(e.tagName)||!0===e.isContentEditable}let s=new Set(["INPUT","SELECT","TEXTAREA"]);function o(e){return s.has(e.tagName)||!0===e.isContentEditable}},6627:(e,t,a)=>{"use strict";a.d(t,{W:()=>i});let i={}}
1,6655:(e,t,a)=>{"use strict";a.d(t,{U:()=>i,_:()=>n});let i=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],n=["initial",...i]},6782:e=>{e.exports={lineDivider:"LineDivider_lineDivider__tvLaD",fixed:"LineDivider_fixed__F9rPz",responsive:"LineDivider_responsive__O_o1F",dark:"LineDivider_dark__16_Y_",light:"LineDivider_light__Qlkg4"}},6802:(e,t,a)=>{var i=a(3128),n=a(7855);e.exports=function(e,t,a,s){var o=a.length,r=o,l=!s;if(null==e)return!r;for(e=Object(e);o--;){var u=a[o];if(l&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<r;){var m=(u=a[o])[0],d=e[m],c=u[1];if(l&&u[2]){if(void 0===d&&!(m in e))return!1}else{var h=new i;if(s)var p=s(d,c,m,e,t,h);if(!(void 0===p?n(c,d,3,s,h):p))return!1}}return!0}},6820:e=>{e.exports={textBase:"Typography_textBase__3u9e9","lineHeight-none":"Typography_lineHeight-none__lMzha","lineHeight-veryTight":"Typography_lineHeight-veryTight__d2OM2","lineHeight-tight":"Typography_lineHeight-tight__Q2WFB","lineHeight-semiTight":"Typography_lineHeight-semiTight__GLWqh","lineHeight-normal":"Typography_lineHeight-normal__LMymP","lineHeight-semiLoose":"Typography_lineHeight-semiLoose__jKwfJ","lineHeight-loose":"Typography_lineHeight-loose__Trx9y","size-initial":"Typography_size-initial__Sczf6","size-10":"Typography_size-10__cKOLe","size-11":"Typography_size-11__G78Ea","size-12":"Typography_size-12__DHJ7_","size-13":"Typography_size-13__9CNNx","size-14":"Typography_size-14__UJE5b","size-15":"Typography_size-15__pNssO","size-16":"Typography_size-16__N1i0s","size-18":"Typography_size-18__0eoxo","size-19":"Typography_size-19__8QE5o","size-20":"Typography_size-20__ApR39","size-21":"Typography_size-21__zcaoK","size-22":"Typography_size-22__hYiJL","size-23":"Typography_size-23__voIcF","size-24":"Typography_size-24__qbWyf","size-26":"Typography_size-26__hiO9Y","size-28":"Typography_size-28__kUeWw","size-30":"Typography_size-30__Msrwg","size-32":"Typography_size-32__eayp6","size-34":"Typography_size-34__Sw0QW","size-36":"Typography_size-36__wp2yG","size-38":"Typography_size-38__Gwy1R","size-40":"Typography_size-40__22m4j","size-44":"Typography_size-44__PiPjV","size-48":"Typography_size-48__uQBXo","size-52":"Typography_size-52__cYKC5","size-54":"Typography_size-54__XeK0R","size-56":"Typography_size-56__CeRGa","size-72":"Typography_size-72__c4R_N","size-74":"Typography_size-74__sg4Zj","size-88":"Typography_size-88__dANXk","textAlign-left":"Typography_textAlign-left__sE02J","textAlign-right":"Typography_textAlign-right__g5VQk","textAlign-center":"Typography_textAlign-center__GE8Lc","tracking-veryTight":"Typography_tracking-veryTight__KsZrI","tracking-tight":"Typography_tracking-tight__Ox_Nq","tracking-normal":"Typography_tracking-normal__CtIz9","tracking-semiLoose":"Typography_tracking-semiLoose__aDV_Z","tracking-loose":"Typography_tracking-loose__zokdg","tracking-veryLoose":"Typography_tracking-veryLoose__JczDE","weight-normal":"Typography_weight-normal__uGlWz","weight-medium":"Typography_weight-medium__TRYwW","weight-semiBold":"Typography_weight-semiBold__wZhSV","weight-bold":"Typography_weight-bold__CiCwG","weight-extraBold":"Typography_weight-extraBold__LCWzX","weight-black":"Typography_weight-black__m4_48","fontFamily-primary":"Typography_fontFamily-primary__cwrR0","fontFamily-heading-secondary":"Typography_fontFamily-heading-secondary__mWv7h","color-primary":"Typography_color-primary__TJX2e","color-heading-secondary":"Typography_color-heading-secondary__ng1gB","fontStyle-normal":"Typography_fontStyle-normal__Wwmxa",strongCss:"Typography_strongCss___U1oH",starAfterLabel:"Typography_starAfterLabel__aT_8L"}},7018:e=>{e.exports=function(){return!1}},7131:(e,t,a)=>{e.exports=a(33946)(Object.keys,Object)},7556:e=>{e.exports={tagRoot:"CandidateTag_tagRoot__QgFmK"}},7855:(e,t,a)=>{var i=a(2193),n=a(3619);e.exports=function e(t,a,s,o,r){return t===a||(null!=t&&null!=a&&(n(t)||n(a))?i(t,a,s,o,e,r):t!=t&&a!=a)}},8546:(e,t,a)=>{var i=a(92812),n=a(23183);e.exports=function(e,t){return null!=e&&n(e,t,i)}},8588:(e,t,a)=>{e.exports=a(92601)},8947:(e,t,a)=>{var i=a(81597),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g;e.exports=i(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(n,function(e,a,i,n){t.push(i?n.replace(s,"$1"):a||e)}),t})},9541:(e,t,a)=>{e=a.nmd(e);var i=a(45516),n=a(7018),s=t&&!t.nodeType&&t,o=s&&e&&!e.nodeType&&e,r=o&&o.exports===s?i.Buffer:void 0,l=r?r.isBuffer:void 0;e.exports=l||n},9929:(e,t,a)=>{e.exports=a(54703)(a(45516),"Promise")},10288:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>f});var i=a(6029);a(96856),a(38539);var n=a(71024),s=a.n(n);let o=s()(()=>Promise.all([a.e(990),a.e(174),a.e(384)]).then(a.bind(a,52384)),{loadableGenerated:{webpack:()=>[52384]}}),r=s()(()=>Promise.all([a.e(645),a.e(918),a.e(232)]).then(a.bind(a,53232)),{loadableGenerated:{webpack:()=>[53232]}}),l=s()(()=>Promise.all([a.e(282),a.e(10),a.e(367)]).then(a.bind(a,51367)),{loadableGenerated:{webpack:()=>[51367]}}),u=e=>{let{brand:t}=e;return(0,i.jsxs)(i.Fragment,{children:["hs"===t&&(0,i.jsx)(o,{}),("al"===t||"sk"===t)&&(0,i.jsx)(r,{}),"is"===t&&(0,i.jsx)(l,{})]})};var m=a(81278),d=a(55729),c=a(35388),h=a(85711),p=a(70949),v=a(62639),k=a(18267);[].at||(Array.prototype.at=function(e){return e>=0?this.slice(e,e+1)[0]:this.slice(e)[0]}),console.info("[DEPLOY-MARKER] election-machine-frontend — CDK asset image, env:","prod");let y=e=>{let{children:t}=e,{brand:a}=(0,c.uq)();return(0,i.jsx)("div",{className:"".concat(null!=a?a:"","-theme"),children:t})},f=e=>{var t;let{Component:a,pageProps:n}=e,s=(0,m.useRouter)(),{brand:o}=(0,c.uq)(),[r,l]=(0,d.useState)(!0);(0,d.useEffect)(()=>{let e=()=>{var e;
1l(!1),null==(e=document.getElementById("reset_focus"))||e.focus({preventScroll:!0})};return s.events.on("routeChangeComplete",e),s.events.on("routeChangeError",e),function(){s.events.off("routeChangeComplete",e),s.events.off("routeChangeError",e)}},[s.asPath,s.events]);let f=null!=(t=a.getLayout)?t:e=>e;return(0,i.jsxs)(y,{children:[(0,i.jsx)(u,{brand:null!=o?o:"hs"}),(0,i.jsx)(c.IS,{children:(0,i.jsx)(c.F4,{defaultElectionId:h.nb,children:(0,i.jsx)(v.t1,{children:(0,i.jsx)(v.RD,{children:(0,i.jsx)(v.Yl,{children:(0,i.jsxs)(k.b,{children:[(0,i.jsx)("div",{tabIndex:-1,id:"reset_focus"}),(0,i.jsx)(p.WD,{}),f((0,i.jsx)(a,{...n,isFirstPageLoad:r}))]})})})})})})]})}},10468:e=>{e.exports={md:"min-width: 768px",rootColumn:"ElectionLogoComponent_rootColumn__yER2y","logo-heading":"ElectionLogoComponent_logo-heading__b_0uA"}},10656:(e,t,a)=>{var i=a(16799);e.exports=function(e,t){return function(a,n){if(null==a)return a;if(!i(a))return e(a,n);for(var s=a.length,o=t?s:-1,r=Object(a);(t?o--:++o<s)&&!1!==n(r[o],o,r););return a}}},10714:(e,t,a)=>{"use strict";a.d(t,{S:()=>i});let i=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu},10815:(e,t,a)=>{"use strict";a.d(t,{Ay:()=>u,Lk:()=>s,QX:()=>l,S2:()=>o,wu:()=>r});var i=a(85711),n=a(15804);let s=(e,t,a,s)=>{let o=null==e?void 0:e.find(e=>(null==t?void 0:t.value)===e.id);return a.filter(e=>{let t="all"===s||s.includes(e.theme);return(0,i.qI)(e)&&o?t&&(0,n.A)({municipality:o,question:e}):t})},o=e=>[...new Set(e.map(e=>{let{theme:t}=e;return t}))],r=(e,t)=>[...new Set(e.map(e=>{var a;return null==(a=t.find(t=>t.id===e.questionId))?void 0:a.theme}).filter(e=>!!e))],l=(e,t)=>e.map(e=>t.find(t=>t.id===e)).filter(e=>!!e),u=(e,t,a,i)=>{var n;let r=null!=(n=null==a?void 0:a.find(e=>i===e.id))?n:null,l=o(s(a,r?{value:r.id,label:r.name}:null,e,"all"));return t.filter(e=>l.includes(e.value)).map(e=>{let{value:t}=e;return t})}},10854:(e,t,a)=>{"use strict";a.d(t,{D:()=>r});var i=a(73768),n=a(91),s=a(35861);let o={...a(85569).W,color:i.y,backgroundColor:i.y,outlineColor:i.y,fill:i.y,stroke:i.y,borderColor:i.y,borderTopColor:i.y,borderRightColor:i.y,borderBottomColor:i.y,borderLeftColor:i.y,filter:n.p,WebkitFilter:n.p,mask:s.d,WebkitMask:s.d},r=e=>o[e]},10858:(e,t,a)=>{e.exports=a(33946)(Object.getPrototypeOf,Object)},10931:(e,t,a)=>{var i=a(7855),n=a(60449),s=a(8546),o=a(25907),r=a(28617),l=a(20764),u=a(43092);e.exports=function(e,t){return o(e)&&r(t)?l(u(e),t):function(a){var o=n(a,e);return void 0===o&&o===t?s(a,e):i(t,o,3)}}},11186:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});let i=(e,t,a)=>a>t?t:a<e?e:a},11229:(e,t,a)=>{var i=a(81707);e.exports=function(){this.__data__=i?i(null):{},this.size=0}},11720:(e,t,a)=>{var i=a(86414);e.exports=function(e){return i(this,e).get(e)}},12366:(e,t,a)=>{"use strict";a.d(t,{n:()=>i});let i=e=>"string"==typeof e&&"svg"===e.toLowerCase()},12998:(e,t,a)=>{"use strict";a.d(t,{L:()=>o,m:()=>s});var i=a(75399),n=a(14934);function s(e,t){return(0,i.FY)((0,i.bS)(e.getBoundingClientRect(),t))}function o(e,t,a){let i=s(e,a),{scroll:o}=t;return o&&((0,n.Ql)(i.x,o.offset.x),(0,n.Ql)(i.y,o.offset.y)),i}},13574:(e,t,a)=>{var i=a(25080),n=Object.prototype,s=n.hasOwnProperty,o=n.toString,r=i?i.toStringTag:void 0;e.exports=function(e){var t=s.call(e,r),a=e[r];try{e[r]=void 0;var i=!0}catch(e){}var n=o.call(e);return i&&(t?e[r]=a:delete e[r]),n}},13731:(e,t,a)=>{var i=a(53325),n=a(25725),s=Object.prototype.hasOwnProperty;e.exports=n(function(e,t,a){s.call(e,a)?e[a].push(t):i(e,a,[t])})},13870:e=>{e.exports={md:"min-width: 768px",blockContainer:"CandidateResults_blockContainer__JYTwZ",textResult:"CandidateResults_textResult__pZ_bj"}},13920:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,a){var i=typeof e;return!!(a=null==a?0x1fffffffffffff:a)&&("number"==i||"symbol"!=i&&t.test(e))&&e>-1&&e%1==0&&e<a}},14107:(e,t,a)=>{"use strict";a.d(t,{N:()=>g});var i=a(6029),n=a(55729),s=a(72369),o=a(44033),r=a(28613),l=a(67017),u=a(25903),m=a(67908);function d(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class c extends n.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,u.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,a=(0,u.s)(e)&&e.offsetWidth||0,i=(0,u.s)(e)&&e.offsetHeight||0,n=getComputedStyle(t),s=this.props.sizeRef.current;s.height=parseFloat(n.height),s.width=parseFloat(n.width),s.top=t.offsetTop,s.left=t.offsetLeft,s.right=a-s.width-s.left,s.bottom=i-s.height-s.top,s.direction=n.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function h({children:e,isPresent:t,anchorX:a,anchorY:s,root:o,pop:r}){let l=(0,n.useId)(),u=(0,n.useRef)(null),p=(0,n.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:v}=(0,n.useContext)(m.Q),k=function(...e){return n.useCallback(function(...e){return t=>{let a=!1,i=e.map(e=>{let i=d(e,t);return a||"function"!=typeof i||(a=!0),i});if(a)return()=>{for(let t=0;t<i.length;t++){let a=i[t];"function"==typeof a?a():d(e[t],null)}}}}(...e),e)}(u,e.props?.ref??e?.ref);return(0,n.useInsertionEffect)(()=>{let{width:e,height:i,top:n,left:m,right:d,bottom:c,direction:h}=p.current;if(t||!1===r||!u.current||!e||!i)return;let k="rtl"===h,y="left"===a?k?`right: ${d}`:`left: ${m}`:k?`left: ${m}`:`right: ${d}`,f="bottom"===s?`bottom: ${c}`:`top: ${n}`;u.current.dataset.motionPopId=l;let g=document.createElement("style");v&&(g.nonce=v);let b=o??document.head;return b.appendChild(g),g.sheet&&g.sheet.insertRule(`
2          [data-motion-pop-id="${l}"] {
3            position: absolute !important;
4            width: ${e}px !important;
5            height: ${i}px !important;
6            ${y}px !important;
7            ${f}px !important;
8          }
9        `),()=>{u.current?.removeAttribute("data-motion-pop-id"),b.contains(g)&&b.removeChild(g)}},[t]),(0,i.jsx)(c,{isPresent:t,childRef:u,sizeRef:p,pop:r,children:!1===r?e:n.cloneElement(e,{ref:k})})}let p=({children:e,initial:t,isPresent:a,onExitComplete:s,custom:r,presenceAffectsLayout:u,mode:m,anchorX:d,anchorY:c,root:p})=>{let k=(0,o.M)(v),y=(0,n.useId)(),f=!0,g=(0,n.useMemo)(()=>(f=!1,{id:y,initial:t,isPresent:a,custom:r,onExitComplete:e=>
9{for(let t of(k.set(e,!0),k.values()))if(!t)return;s&&s()},register:e=>(k.set(e,!1),()=>k.delete(e))}),[a,k,s]);return u&&f&&(g={...g}),(0,n.useMemo)(()=>{k.forEach((e,t)=>k.set(t,!1))},[a]),n.useEffect(()=>{a||k.size||!s||s()},[a]),e=(0,i.jsx)(h,{pop:"popLayout"===m,isPresent:a,anchorX:d,anchorY:c,root:p,children:e}),(0,i.jsx)(l.t.Provider,{value:g,children:e})};function v(){return new Map}var k=a(39622);let y=e=>e.key||"";function f(e){let t=[];return n.Children.forEach(e,e=>{(0,n.isValidElement)(e)&&t.push(e)}),t}let g=({children:e,custom:t,initial:a=!0,onExitComplete:l,presenceAffectsLayout:u=!0,mode:m="sync",propagate:d=!1,anchorX:c="left",anchorY:h="top",root:v})=>{let[g,b]=(0,k.xQ)(d),j=(0,n.useMemo)(()=>f(e),[e]),x=d&&!g?[]:j.map(y),w=(0,n.useRef)(!0),S=(0,n.useRef)(j),N=(0,o.M)(()=>new Map),A=(0,n.useRef)(new Set),[P,_]=(0,n.useState)(j),[C,M]=(0,n.useState)(j);(0,r.E)(()=>{w.current=!1,S.current=j;for(let e=0;e<C.length;e++){let t=y(C[e]);x.includes(t)?(N.delete(t),A.current.delete(t)):!0!==N.get(t)&&N.set(t,!1)}},[C,x.length,x.join("-")]);let L=[];if(j!==P){let e=[...j];for(let t=0;t<C.length;t++){let a=C[t],i=y(a);x.includes(i)||(e.splice(t,0,a),L.push(a))}return"wait"===m&&L.length&&(e=L),M(f(e)),_(j),null}let{forceRender:E}=(0,n.useContext)(s.L);return(0,i.jsx)(i.Fragment,{children:C.map(e=>{let n=y(e),s=(!d||!!g)&&(j===C||x.includes(n));return(0,i.jsx)(p,{isPresent:s,initial:(!w.current||!!a)&&void 0,custom:t,presenceAffectsLayout:u,mode:m,root:v,onExitComplete:s?void 0:()=>{if(A.current.has(n)||!N.has(n))return;A.current.add(n),N.set(n,!0);let e=!0;N.forEach(t=>{t||(e=!1)}),e&&(E?.(),M(S.current),d&&b?.(),l&&l())},anchorX:c,anchorY:h,children:e},n)})})}},14870:(e,t,a)=>{"use strict";a.d(t,{c:()=>n});var i=a(85711);let n={env:"prod",electionApi:i.L4.electionMachineApiUrl,imageApi:i.L4.imageApiUrl,staticAreaFilesApi:i.L4.staticAreaFilesApiUrl}},14934:(e,t,a)=>{"use strict";a.d(t,{OU:()=>u,Ql:()=>m,Ww:()=>h,hq:()=>s,o4:()=>l});var i=a(22942),n=a(75157);function s(e,t,a){return a+t*(e-a)}function o(e,t,a,i,n){return void 0!==n&&(e=i+n*(e-i)),i+a*(e-i)+t}function r(e,t=0,a=1,i,n){e.min=o(e.min,t,a,i,n),e.max=o(e.max,t,a,i,n)}function l(e,{x:t,y:a}){r(e.x,t.translate,t.scale,t.originPoint),r(e.y,a.translate,a.scale,a.originPoint)}function u(e,t,a,i=!1){let s,o,r=a.length;if(r){t.x=t.y=1;for(let u=0;u<r;u++){o=(s=a[u]).projectionDelta;let{visualElement:r}=s.options;(!r||!r.props.style||"contents"!==r.props.style.display)&&(i&&s.options.layoutScroll&&s.scroll&&s!==s.root&&(m(e.x,-s.scroll.offset.x),m(e.y,-s.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,l(e,o)),i&&(0,n.HD)(s.latestValues)&&h(e,s.latestValues,s.layout?.layoutBox))}t.x<1.0000000000001&&t.x>.999999999999&&(t.x=1),t.y<1.0000000000001&&t.y>.999999999999&&(t.y=1)}}function m(e,t){e.min+=t,e.max+=t}function d(e,t,a,n,s=.5){let o=(0,i.k)(e.min,e.max,s);r(e,t,a,o,n)}function c(e,t){return"string"==typeof e?parseFloat(e)/100*(t.max-t.min):e}function h(e,t,a){let i=a??e;d(e.x,c(t.x,i.x),t.scaleX,t.scale,t.originX),d(e.y,c(t.y,i.y),t.scaleY,t.scale,t.originY)}},15051:(e,t,a)=>{var i=a(29794),n=a(5461),s=a(87567);e.exports=function(e){return i(e,s,n)}},15071:e=>{e.exports={anchor:"Anchor_anchor__HdXKR"}},15315:(e,t,a)=>{"use strict";a.d(t,{l:()=>i});let i=e=>e},15650:(e,t,a)=>{"use strict";a.d(t,{KN:()=>s,gQ:()=>u,px:()=>o,uj:()=>n,vh:()=>r,vw:()=>l});let i=e=>({test:t=>"string"==typeof t&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}),n=i("deg"),s=i("%"),o=i("px"),r=i("vh"),l=i("vw"),u={...s,parse:e=>s.parse(e)/100,transform:e=>s.transform(100*e)}},15804:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});let i=e=>{var t,a;let{municipality:i,question:n}=e;switch(n.nominationAreaLevel){case"county":return(null==(t=i.wellbeingCounty)?void 0:t.officialName)===n.location;case"municipal":return i.name===n.location;case"parliamentary":return i.electionDistrict.officialName===n.location;default:throw Error("Exhaustive check failed with ".concat(null!=(a=n.nominationAreaLevel)?a:"","."))}}},15917:(e,t,a)=>{var i=a(36592),n=Array.prototype.splice;e.exports=function(e){var t=this.__data__,a=i(t,e);return!(a<0)&&(a==t.length-1?t.pop():n.call(t,a,1),--this.size,!0)}},15973:(e,t,a)=>{"use strict";a.d(t,{X:()=>i});class i{constructor(e){this.isMounted=!1,this.node=e}update(){}}},15996:e=>
9{e.exports={content:"QuestionBackgroundInformation_content__Ce6KW"}},16080:e=>{e.exports={arrowUp:"Tooltip_arrowUp__VnvDI",arrowDown:"Tooltip_arrowDown__vtW1L",tooltipContainer:"Tooltip_tooltipContainer__KNnZK",tooltipText:"Tooltip_tooltipText__u66ER"}},16153:(e,t,a)=>{var i=a(25080),n=a(88601),s=a(91544),o=a(50515),r=1/0,l=i?i.prototype:void 0,u=l?l.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(s(t))return n(t,e)+"";if(o(t))return u?u.call(t):"";var a=t+"";return"0"==a&&1/t==-r?"-0":a}},16186:(e,t,a)=>{"use strict";a.d(t,{J:()=>O});var i=a(40574),n=a(10854),s=a(73525),o=a(17203),r=a(36457),l=a(86938),u=a(37146),m=a(54026),d=a(47130);let c=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;var h=a(57672),p=a(95752),v=a(32264),k=a(39017);let y=new Set(["auto","none","0"]);var f=a(61184);class g extends h.h{constructor(e,t,a,i,n){super(e,t,a,i,n,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:a}=this;if(!t||!t.current)return;super.readKeyframes();for(let a=0;a<e.length;a++){let i=e[a];if("string"==typeof i&&(i=i.trim(),(0,d.pG)(i))){let n=function e(t,a,i=1){(0,u.V)(i<=4,`Max CSS variable fallback depth detected in property "${t}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[n,s]=function(e){let t=c.exec(e);if(!t)return[,];let[,a,i,n]=t;return[`--${a??i}`,n]}(t);if(!n)return;let o=window.getComputedStyle(a).getPropertyValue(n);if(o){let e=o.trim();return(0,m.i)(e)?parseFloat(e):e}return(0,d.pG)(s)?e(s,a,i+1):s}(i,t.current);void 0!==n&&(e[a]=n),a===e.length-1&&(this.finalKeyframe=i)}}if(this.resolveNoneKeyframes(),!r.$.has(a)||2!==e.length)return;let[i,n]=e,s=(0,l.n)(i),o=(0,l.n)(n);if((0,d.rm)(i)!==(0,d.rm)(n)&&f.Hr[a]){this.needsMeasurement=!0;return}if(s!==o)if((0,f.E4)(s)&&(0,f.E4)(o))for(let t=0;t<e.length;t++){let a=e[t];"string"==typeof a&&(e[t]=parseFloat(a))}else f.Hr[a]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,a=[];for(let t=0;t<e.length;t++){var i;(null===e[t]||("number"==typeof(i=e[t])?0===i:null===i||"none"===i||"0"===i||(0,p.$)(i)))&&a.push(t)}a.length&&function(e,t,a){let i,n=0;for(;n<e.length&&!i;){let t=e[n];"string"==typeof t&&!y.has(t)&&(0,v.V)(t).values.length&&(i=e[n]),n++}if(i&&a)for(let n of t)e[n]=(0,k.J)(a,i)}(e,a,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:a}=this;if(!e||!e.current)return;"height"===a&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=f.Hr[a](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let i=t[t.length-1];void 0!==i&&e.getValue(a,i).jump(i,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:a}=this;if(!e||!e.current)return;let i=e.getValue(t);i&&i.jump(this.measuredOrigin,!1);let n=a.length-1,s=a[n];a[n]=f.Hr[t](e.measureViewportBox(),window.getComputedStyle(e.current)),null!==s&&void 0===this.finalKeyframe&&(this.finalKeyframe=s),this.removedTransforms?.length&&this.removedTransforms.forEac
9h(([t,a])=>{e.getValue(t).set(a)}),this.resolveNoneKeyframes()}}var b=a(92071);class j extends b.BX{constructor(){super(...arguments),this.KeyframeResolver=g}sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){let a=e.style;return a?a[t]:void 0}removeValueFromRenderState(e,{vars:t,style:a}){delete t[e],delete a[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;(0,o.S)(e)&&(this.childSubscription=e.on("change",e=>{this.current&&(this.current.textContent=`${e}`)}))}}var x=a(78777),w=a(56061);let S=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);var N=a(12366);function A(e,{style:t,vars:a},i,n){let s,o=e.style;for(s in t)o[s]=t[s];for(s in n?.applyProjectionStyles(o,i),a)o.setProperty(s,a[s])}var P=a(40194);class _ extends j{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=s.ge}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(i.f.has(t)){let e=(0,n.D)(t);return e&&e.default||0}return t=S.has(t)?t:(0,x.I)(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,a){return(0,P.x)(e,t,a)}build(e,t,a){(0,w.B)(e,t,this.isSVGTag,a.transformTemplate,a.style)}renderInstance(e,t,a,i){for(let a in A(e,t,void 0,i),t.attrs)e.setAttribute(S.has(a)?a:(0,x.I)(a),t.attrs[a])}mount(e){this.isSVGTag=(0,N.n)(e.tagName),super.mount(e)}}var C=a(43224),M=a(12998),L=a(64698),E=a(41977);class I extends j{constructor(){super(...arguments),this.type="html",this.renderInstance=A}readValueFromInstance(e,t){if(i.f.has(t))return this.projection?.isProjecting?(0,C.zs)(t):(0,C.Ib)(e,t);{let a=window.getComputedStyle(e),i=((0,d.j4)(t)?a.getPropertyValue(t):a[t])||0;return"string"==typeof i?i.trim():i}}measureInstanceViewportBox(e,{transformPagePoint:t}){return(0,M.m)(e,t)}build(e,t,a){(0,L.O)(e,t,a.transformTemplate)}scrapeMotionValuesFromProps(e,t,a){return(0,E.x)(e,t,a)}}var T=a(55729),V=a(65269);let O=(e,t)=>t.isSVG??(0,V.Q)(e)?new _(t):new I(t,{allowProjection:e!==T.Fragment})},16271:(e,t,a)=>{"use strict";function i(e){return e&&"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}a.d(t,{X:()=>i})},16768:e=>{e.exports={root:"WithLabel_root__hGOmk"}},16799:(e,t,a)=>{var i=a(98499),n=a(48039);e.exports=function(e){return null!=e&&n(e.length)&&!i(e)}},16928:e=>{e.exports={pillRoot:"Pill_pillRoot__2Kru2",primary:"Pill_primary__abhF0",secondary:"Pill_secondary__FWbNa",tertiary:"Pill_tertiary__scrSX",quarternary:"Pill_quarternary__ltr7V",chosen:"Pill_chosen__deIdn",combined:"Pill_combined__X1avf",shadowed:"Pill_shadowed__kVF7c",bordered:"Pill_bordered__o_wm1"}},16943:(e,t,a)=>{var i=a(88601),n=a(68988),s=a(43233),o=a(85508);e.exports=function(e,t){if(null==e)return{};var a=i(o(e),function(e){return[e]});return t=n(t),s(e,a,function(e,a){return t(e,a[0])})}},16999:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},17085:e=>{e.exports=function(e,t){for(var a=-1,i=Array(e);++a<e;)i[a]=t(a);return i}},17203:(e,t,a)=>{"use strict";a.d(t,{S:()=>i});let i=e=>!!(e&&e.getVelocity)},17252:(e,t,a)=>{"use strict";a.d(t,{Xy:()=>o,_J:()=>l,cC:()=>r,ck:()=>u});var i=a(6029),n=a(45969),s=a.n(n);let o=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("ul",{className:"".concat(null!=(t=s().unorderedList)?t:""," ").concat(null!=a?a:""),...n})},r=e=>{var t,a;let{className:n,...o}=e;return(0,i.jsx)("ul",{className:"".concat(null!=(t=s().unorderedList)?t:""," ").concat(null!=(a=s().disc)?a:""," ").concat(null!=n?n:""),...o})},l=e=>{var t;let{className:a,type:n,...o}=e;return(0,i.jsx)("ol",{type:n,className:"".concat(null!=(t=s().orderedList)?t:""," ").concat(null!=a?a:""),...o})},u=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("li",{className:"".concat(null!=(t=s().listItem)?t:""," ").concat(null!=a?a:""),...n})}},17588:(e,t,a)=>{"use strict";a.d(t,{W:()=>M});var i=a(15973),n=a(99606);function s(e,t,a){let i=e.getProps();return(0,n.a)(i,t,void 0!==a?a:i.custom,e)}var o=a(25125),r=a(32113),l=a(36457),u=a(40318);let m=e=>Array.isArray(e);var d=a(94229),c=a(36321),h=a(35031),p=a(50891);function v(e,t,{delay:a=0,transitionOverride:i,type:n}={}){let{transition:k,transitionEnd:y,...f}=t,g=e.getDefaultTransition();k=k?(0,r.K)(k,g):g;let b=k?.reduceMotion,j=k?.skipAnimations;i&&(k=i);let x=[],w=n&&e.animationState&&e.animationState.getState()[n],S=k?.path;for(let t in S&&S.animateVisualElement(e,f,k,a,x),f){let i=e.getValue(t,e.latestValues[t]??null),n=f[t];if(void 0===n||w&&function({protectedKeys:e,needsAnimating:t},a){let i=e.hasOwnProperty(a)&&!0!==t[a];return t[a]=!1,i}(w,t))continue;let s={delay:a,...(0,o.r)(k||{},t)};j&&(s.skipAnimations=!0);let r=i.get();if(void 0!==r&&!i.isAnimating()&&!Array.isArray(n)&&n===r&&!s.velocity){p.Gt.update(()=>i.set(n));continue}let u=!1;if(window.MotionHandoffAnimation){let a=(0,c.P)(e);if(a){let e=window.MotionHandoffAnimation(a,t,p.Gt);null!==e&&(s.startTime=e,u=!0)}}(0,d.g)(e,t);let m=b??e.shouldReduceMotion;i.start((0,h.f)(t,i,n,m&&l.$.has(t)?{type:!1}:s,e,u));let v=i.animation;v&&x.push(v)}if(y){let t=()=>p.Gt.update(()=>{y&&function(e,t){let{transitionEnd:a={},transition:i={},...n}=s(e,t)||{};for(let t in n={...n,...a}
9){var o;let a=m(o=n[t])?o[o.length-1]||0:o;e.hasValue(t)?e.getValue(t).set(a):e.addValue(t,(0,u.OQ)(a))}}(e,y)});x.length?Promise.all(x).then(t):t()}return x}function k(e,t,a,i=0,n=1){let s=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,r=(o-1)*i;return"function"==typeof a?a(s,o):1===n?s*i:r-s*i}function y(e,t,a={}){let i=s(e,t,"exit"===a.type?e.presenceContext?.custom:void 0),{transition:n=e.getDefaultTransition()||{}}=i||{};a.transitionOverride&&(n=a.transitionOverride);let o=i?()=>Promise.all(v(e,i,a)):()=>Promise.resolve(),r=e.variantChildren&&e.variantChildren.size?(i=0)=>{let{delayChildren:s=0,staggerChildren:o,staggerDirection:r}=n;return function(e,t,a=0,i=0,n=0,s=1,o){let r=[];for(let l of e.variantChildren)l.notify("AnimationStart",t),r.push(y(l,t,{...o,delay:a+("function"==typeof i?0:i)+k(e.variantChildren,l,i,n,s)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(r)}(e,t,i,s,o,r,a)}:()=>Promise.resolve(),{when:l}=n;if(!l)return Promise.all([o(),r(a.delay)]);{let[e,t]="beforeChildren"===l?[o,r]:[r,o];return e().then(()=>t())}}var f=a(98936),g=a(6655);let b=g._.length;var j=a(17665);function x(e,t){if(!Array.isArray(t))return!1;let a=t.length;if(a!==e.length)return!1;for(let i=0;i<a;i++)if(t[i]!==e[i])return!1;return!0}let w=[...g.U].reverse(),S=g.U.length;function N(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function A(){return{animate:N(!0),whileInView:N(),whileHover:N(),whileTap:N(),whileDrag:N(),whileFocus:N(),exit:N()}}class P extends i.X{constructor(e){super(e),e.animationState||(e.animationState=function(e){let t=t=>Promise.all(t.map(({animation:t,options:a})=>(function(e,t,a={}){let i;if(e.notify("AnimationStart",t),Array.isArray(t))i=Promise.all(t.map(t=>y(e,t,a)));else if("string"==typeof t)i=y(e,t,a);else{let n="function"==typeof t?s(e,t,a.custom):t;i=Promise.all(v(e,n,a))}return i.then(()=>{e.notify("AnimationComplete",t)})})(e,t,a))),a=A(),i=!0,n=!1,o=t=>(a,i)=>{let n=s(e,i,"exit"===t?e.presenceContext?.custom:void 0);if(n){let{transition:e,transitionEnd:t,...i}=n;a={...a,...i,...t}}return a};function r(r){let{props:l}=e,u=function e(t){if(!t)return;if(!t.isControllingVariants){let a=t.parent&&e(t.parent)||{};return void 0!==t.props.initial&&(a.initial=t.props.initial),a}let a={};for(let e=0;e<b;e++){let i=g._[e],n=t.props[i];((0,f.w)(n)||!1===n)&&(a[i]=n)}return a}(e.parent)||{},d=[],c=new Set,h={},p=1/0;for(let t=0;t<S;t++){var v,y;let g=w[t],b=a[g],S=void 0!==l[g]?l[g]:u[g],N=(0,f.w)(S),A=g===r?b.isActive:null;!1===A&&(p=t);let P=S===u[g]&&S!==l[g]&&N;if(P&&(i||n)&&e.manuallyAnimateOnMount&&(P=!1),b.protectedKeys={...h},!b.isActive&&null===A||!S&&!b.prevProp||(0,j.N)(S)||"boolean"==typeof S)continue;if("exit"===g&&b.isActive&&!0!==A){b.prevResolvedValues&&(h={...h,...b.prevResolvedValues});continue}let _=(v=b.prevProp,"string"==typeof(y=S)?y!==v:!!Array.isArray(y)&&!x(y,v)),C=_||g===r&&b.isActive&&!P&&N||t>p&&N,M=!1,L=Array.isArray(S)?S:[S],E=L.reduce(o(g),{});!1===A&&(E={});let{prevResolvedValues:I={}}=b,T={...I,...E},V=t=>{C=!0,c.has(t)&&(M=!0,c.delete(t)),b.needsAnimating[t]=!0;let a=e.getValue(t);a&&(a.liveStyle=!1)};for(let e in T){let t=E[e],a=I[e];if(!h.hasOwnProperty(e))(m(t)&&m(a)?!x(t,a)||_:t!==a)?null!=t?V(e):c.add(e):void 0!==t&&c.has(e)?V(e):b.protectedKeys[e]=!0}b.prevProp=S,b.prevResolvedValues=E,b.isActive&&(h={...h,...E}),(i||n)&&e.blockInitialAnimation&&(C=!1);let O=P&&_,K=!O||M;C&&K&&d.push(...L.map(t=>{let a={type:g};if("string"==typeof t&&(i||n)&&!O&&e.manuallyAnimateOnMount&&e.parent){let{parent:i}=e,n=s(i,t);if(i.enteringChildren&&n){let{delayChildren:t}=n.transition||{};a.delay=k(i.enteringChildren,e,t)}}return{animation:t,options:a}}))}if(c.size){let t={};if("boolean"!=typeof l.initial){let a=s(e,Array.isArray(l.initial)?l.initial[0]:l.initial);a&&a.transition&&(t.transition=a.transition)}c.forEach(a=>{let i=e.getBaseTarget(a),n=e.getValue(a);n&&(n.liveStyle=!0),t[a]=i??null}),d.push({animation:t})}let N=!!d.length;return i&&(!1===l.initial||l.initial===l.animate)&&!e.manuallyAnimateOnMount&&(N=!1),i=!1,n=!1,N?t(d):Promise.resolve()}return{animateChanges:r,setActive:function(t,i){if(a[t].isActive===i)return Promise.resolve();
9e.variantChildren?.forEach(e=>e.animationState?.setActive(t,i)),a[t].isActive=i;let n=r(t);for(let e in a)a[e].protectedKeys={};return n},setAnimateFunction:function(a){t=a(e)},getState:()=>a,reset:()=>{a=A(),n=!0}}}(e))}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();(0,j.N)(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let _=0;class C extends i.X{constructor(){super(...arguments),this.id=_++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===a)return;if(e&&!1===a){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if("string"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)){let a=s(this.node,e,t);if(a){let{transition:e,transitionEnd:t,...i}=a;for(let e in i)this.node.getValue(e)?.jump(i[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let i=this.node.animationState.setActive("exit",!e);t&&!e&&i.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}let M={animation:{Feature:P},exit:{Feature:C}}},17665:(e,t,a)=>{"use strict";function i(e){return null!==e&&"object"==typeof e&&"function"==typeof e.start}a.d(t,{N:()=>i})},18267:(e,t,a)=>{"use strict";a.d(t,{V:()=>m,b:()=>u});var i=a(6029),n=a(55729),s=a(28639),o=a(62215),r=a(60209);let l=(0,n.createContext)(null),u=e=>{let{children:t}=e,{results:a}=(0,r.t)(),u=(0,n.useMemo)(()=>a&&(0,o.A)(a.partyMatch,"mostRelevant"),[a]),[m,d]=(0,n.useState)(()=>u?u.slice(0,s.QJ):[]);return(0,n.useEffect)(()=>{u&&d(u.slice(0,s.QJ))},[u]),(0,i.jsx)(l.Provider,{value:{selectedParties:m,setSelectedParties:d,clearSelection:()=>{d([])},toggleParty:e=>{m.find(t=>t.id===e.id)?d(m.filter(t=>t.id!==e.id)):d(m.concat([e]))}},children:t})},m=()=>{let e=(0,n.useContext)(l);if(!e)throw Error("usePartyContext must be used within a PartyContextProvider");return e}},18482:(e,t,a)=>{var i=a(23356),n=a(23282),s=a(80244),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!i(e))return s(e);var t=n(e),a=[];for(var r in e)"constructor"==r&&(t||!o.call(e,r))||a.push(r);return a}},18921:e=>{e.exports={contentContainer:"PaginatedAnswerBrowser_contentContainer__HjW0L"}},19173:(e,t,a)=>{"use strict";a.d(t,{On:()=>p,em:()=>c,rP:()=>k,t1:()=>v});var i=a(6029),n=a(22318),s=a(81278),o=a(55729),r=a(35388),l=a(85711);let u=(0,o.createContext)(null),m=(e,t)=>e-t,d=(e,t)=>"AREA_".concat(t,"_").concat(e),c=(e,t)=>{let a=(0,r._9)(d(t,e));if(!a)return null;let i=(0,l.Xs)(t).validate(a);return i.error?null:i.value},h=e=>{let t=(0,r._9)(e);if(!t)return[];let a=n.array().items(n.number()).validate(t);return a.error?[]:a.value},p=(e,t,a)=>{e.forEach(e=>{(0,r.kH)(d(e,a),t)})},v=e=>{let{children:t}=e,a=(0,s.useRouter)(),{brand:n,electionId:p}=(0,r.uq)(),v="THEMES_".concat(null!=n?n:"","_").concat(null!=p?p:""),[k,y]=(0,o.useState)(p?h(v):[]),[f,g]=(0,o.useState)(p?h(v):[]),[b,j]=(0,o.useState)(p&&n?c(n,p):null),x=(0,o.useMemo)(()=>{if(p)return!!(0,l.sO)(p).metadata.combinedElectionId},[p]);(0,o.useEffect)(()=>{let e="u">typeof sessionStorage;p&&n&&x&&e&&j(c(n,p))},[p,n,x]);let[w,S]=(0,o.useState)(()=>a.asPath),[N,A]=(0,o.useState)({}),P=(0,r.ZC)(w);return(0,o.useEffect)(()=>{let e=e=>{S(e)};return a.events.on("routeChangeComplete",e),()=>{a.events.off("routeChangeComplete",e)}},[a.events]),(0,i.jsx)(u.Provider,{value:{addQuestionThemes:e=>{p&&n&&(g(e),(0,r.kH)(v,e))},addQuestionTheme:e=>{if(p&&n){let t=[...new Set([...f,e])].sort(m);g(t),(0,r.kH)(v,t)}},addInitialQuestionThemes:e=>{y(e)},area:b,questionThemes:f,initialQuestionThemes:k,removeQuestionTheme:e=>{if(p&&n){let t=f.filter(t=>t!==e).sort(m);g(t),(0,r.kH)(v,t)}},resetThemes:()=>{p&&n&&(g([]),(0,r.kH)(v,[]))},updateArea:(e,t,a)=>{(0,r.kH)(d(t,a),e),j(e)},route:{current:w,previous:P},setAreaCandidatesCount:A,areaCandidatesCount:N},children:t})},k=()=>{let e=(0,o.useContext)(u);if(!e)throw Error("useConfigContext must be used within a ConfigContextProvider");return e}},19375:e=>{"use strict";var t;function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}
9let i=Object.entries,n=Object.setPrototypeOf,s=Object.isFrozen,o=Object.getPrototypeOf,r=Object.getOwnPropertyDescriptor,l=Object.freeze,u=Object.seal,m=Object.create,d="u">typeof Reflect&&Reflect,c=d.apply,h=d.construct;l||(l=function(e){return e}),u||(u=function(e){return e}),c||(c=function(e,t){for(var a=arguments.length,i=Array(a>2?a-2:0),n=2;n<a;n++)i[n-2]=arguments[n];return e.apply(t,i)}),h||(h=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];return new e(...a)});let p=T(Array.prototype.forEach),v=T(Array.prototype.lastIndexOf),k=T(Array.prototype.pop),y=T(Array.prototype.push),f=T(Array.prototype.splice),g=Array.isArray,b=T(String.prototype.toLowerCase),j=T(String.prototype.toString),x=T(String.prototype.match),w=T(String.prototype.replace),S=T(String.prototype.indexOf),N=T(String.prototype.trim),A=T(Number.prototype.toString),P=T(Boolean.prototype.toString),_="u"<typeof BigInt?null:T(BigInt.prototype.toString),C="u"<typeof Symbol?null:T(Symbol.prototype.toString),M=T(Object.prototype.hasOwnProperty),L=T(Object.prototype.toString),E=T(RegExp.prototype.test),I=(t=TypeError,function(){for(var e=arguments.length,a=Array(e),i=0;i<e;i++)a[i]=arguments[i];return h(t,a)});function T(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,i=Array(a>1?a-1:0),n=1;n<a;n++)i[n-1]=arguments[n];return c(e,t,i)}}function V(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;if(n&&n(e,null),!g(t))return e;let i=t.length;for(;i--;){let n=t[i];if("string"==typeof n){let e=a(n);e!==n&&(s(t)||(t[i]=e),n=e)}e[n]=!0}return e}function O(e){let t=m(null);for(let s of i(e)){var n=function(e){if(Array.isArray(e))return e}(s)||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,i,n,s,o=[],r=!0,l=!1;try{n=(t=t.call(e)).next,!1;for(;!(r=(a=n.call(t)).done)&&(o.push(a.value),2!==o.length);r=!0);}catch(e){l=!0,i=e}finally{try{if(!r&&null!=t.return&&(s=t.return(),Object(s)!==s))return}finally{if(l)throw i}}return o}}(s)||function(e){if(e){if("string"==typeof e)return a(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,2):void 0}}(s)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let i=n[0],o=n[1];M(e,i)&&(g(o)?t[i]=function(e){for(let t=0;t<e.length;t++)M(e,t)||(e[t]=null);return e}(o):o&&"object"==typeof o&&o.constructor===Object?t[i]=O(o):t[i]=o)}return t}function K(e,t){for(;null!==e;){let a=r(e,t);if(a){if(a.get)return T(a.get);if("function"==typeof a.value)return T(a.value)}e=o(e)}return function(){return null}}let U=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),R=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),D=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),B=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),H=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),F=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),z=l(["#text"]),$=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","
9spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),q=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),G=l(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),W=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Y=u(/{{[\w\W]*|^[\w\W]*}}/g),J=u(/<%[\w\W]*|^[\w\W]*%>/g),Q=u(/\${[\w\W]*/g),X=u(/^data-[\-\w.\u00B7-\uFFFF]+$/),Z=u(/^aria-[\-\w]+$/),ee=u(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),et=u(/^(?:\w+script|data):/i),ea=u(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ei=u(/^html$/i),en=u(/^[a-z][.\w]*(-[.\w]+)+$/i),es=u(/<[/\w!]/g),eo=u(/<[/\w]/g),er=u(/<\/no(script|embed|frames)/i),el=u(/\/>/i),eu=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let a=null,i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(a=t.getAttribute(i));let n="dompurify"+(a?"#"+a:"");try{return e.createPolicy(n,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+n+" could not be created."),null}},em=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ed=function(e,t,a,i){return M(e,t)&&g(e[t])?V(i.base?O(i.base):{},e[t],i.transform):a};e.exports=function e(){let t,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,s=t=>e(t);if(s.version="3.4.13",s.removed=[],!n||!n.document||9!==n.document.nodeType||!n.Element)return s.isSupported=!1,s;let o=n.document,r=o,d=r.currentScript;n.DocumentFragment;let c=n.HTMLTemplateElement,h=n.Node,T=n.Element,ec=n.NodeFilter;void 0===n.NamedNodeMap&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let eh=n.DOMParser,ep=n.trustedTypes,ev=T.prototype,ek=K(ev,"cloneNode"),ey=K(ev,"remove"),ef=K(ev,"nextSibling"),eg=K(ev,"childNodes"),eb=K(ev,"parentNode"),ej=K(ev,"shadowRoot"),ex=K(ev,"attributes"),ew=h&&h.prototype?K(h.prototype,"nodeType"):null,eS=h&&h.prototype?K(h.prototype,"nodeName"):null,eN=h&&h.prototype?K(h.prototype,"ownerDocument"):null;if("function"==typeof c){let e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let eA="",eP=!1,e_=0,eC=function(){if(e_>0)throw I('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},eM=function(e){eC(),e_++;try{return t.createHTML(e)}finally{e_--}},eL=function(e){eC(),e_++;try{return t.createScriptURL(e)}finally{e_--}},eE=o,eI=eE.implementation,eT=eE.createNodeIterator,eV=eE.createDocumentFragment,eO=eE.getElementsByTagName,eK=r.importNode,eU=em();s.isSupported="function"==typeof i&&"function"==typeof eb&&eI&&void 0!==eI.createHTMLDocument;let eR=ee,eD=null,eB=V({},[...U,...R,...D,...H,...z]),eH=null,eF=V({},[...$,...q,...G,...W]),ez=Object.seal(m(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),e$=null,eq=null,eG=Object.seal(m(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),eW=!0,eY=!0,eJ=!1,eQ=!0,eX=!1,eZ=!0,e0=!1,e1=!1,e2=null,e5=null,e3=!1,e4=!1,e6=!1,e8=!1,e9=!0,e7=!1,te="user-content-",tt=!0,ta=!1,ti={},tn=null,ts=V({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),to=null,tr=V({},["audio","video","img","source","image","track"]),tl=null,tu=V({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tm="http://www.w3.org/1998/Math/MathML",td="http://www.w3.org/2000/svg",tc="http://www.w3.org/1999/xhtml",th=tc,tp=!1,tv=null,tk=V({},[tm,td,tc],j),ty=l(["mi","mo","mn","ms","mtext"]),tf=V({},ty),tg=l(["annotation-xml"]),tb=V({},tg),tj=V({},["title","style","font","a","script"]),tx=null,tw=["application/xhtml+xml","text/html"],tS=null,tN=null,tA=o.createElement("form"),tP=function(e){return e instanceof RegExp||e instanceof Function},t_=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(tN&&tN===e)return;e&&"object"==typeof e||(e={}),e=O(e),tS="application/xhtml+xml"===(tx=-1===tw.indexOf(e.PARSER_MEDIA_TYPE
9)?"text/html":e.PARSER_MEDIA_TYPE)?j:b,eD=ed(e,"ALLOWED_TAGS",eB,{transform:tS}),eH=ed(e,"ALLOWED_ATTR",eF,{transform:tS}),tv=ed(e,"ALLOWED_NAMESPACES",tk,{transform:j}),tl=ed(e,"ADD_URI_SAFE_ATTR",tu,{transform:tS,base:tu}),to=ed(e,"ADD_DATA_URI_TAGS",tr,{transform:tS,base:tr}),tn=ed(e,"FORBID_CONTENTS",ts,{transform:tS}),e$=ed(e,"FORBID_TAGS",O({}),{transform:tS}),eq=ed(e,"FORBID_ATTR",O({}),{transform:tS}),ti=!!M(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?O(e.USE_PROFILES):e.USE_PROFILES),eW=!1!==e.ALLOW_ARIA_ATTR,eY=!1!==e.ALLOW_DATA_ATTR,eJ=e.ALLOW_UNKNOWN_PROTOCOLS||!1,eQ=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,eX=e.SAFE_FOR_TEMPLATES||!1,eZ=!1!==e.SAFE_FOR_XML,e0=e.WHOLE_DOCUMENT||!1,e4=e.RETURN_DOM||!1,e6=e.RETURN_DOM_FRAGMENT||!1,e8=e.RETURN_TRUSTED_TYPE||!1,e3=e.FORCE_BODY||!1,e9=!1!==e.SANITIZE_DOM,e7=e.SANITIZE_NAMED_PROPS||!1,tt=!1!==e.KEEP_CONTENT,ta=e.IN_PLACE||!1,eR=!function(e){try{return E(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?ee:e.ALLOWED_URI_REGEXP,th="string"==typeof e.NAMESPACE?e.NAMESPACE:tc,tf=M(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?O(e.MATHML_TEXT_INTEGRATION_POINTS):V({},ty),tb=M(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?O(e.HTML_INTEGRATION_POINTS):V({},tg);let i=M(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?O(e.CUSTOM_ELEMENT_HANDLING):m(null);if(ez=m(null),M(i,"tagNameCheck")&&tP(i.tagNameCheck)&&(ez.tagNameCheck=i.tagNameCheck),M(i,"attributeNameCheck")&&tP(i.attributeNameCheck)&&(ez.attributeNameCheck=i.attributeNameCheck),M(i,"allowCustomizedBuiltInElements")&&"boolean"==typeof i.allowCustomizedBuiltInElements&&(ez.allowCustomizedBuiltInElements=i.allowCustomizedBuiltInElements),u(ez),eX&&(eY=!1),e6&&(e4=!0),ti&&(eD=V({},z),eH=m(null),!0===ti.html&&(V(eD,U),V(eH,$)),!0===ti.svg&&(V(eD,R),V(eH,q),V(eH,W)),!0===ti.svgFilters&&(V(eD,D),V(eH,q),V(eH,W)),!0===ti.mathMl&&(V(eD,H),V(eH,G),V(eH,W))),eG.tagCheck=null,eG.attributeCheck=null,M(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?eG.tagCheck=e.ADD_TAGS:g(e.ADD_TAGS)&&(eD===eB&&(eD=O(eD)),V(eD,e.ADD_TAGS,tS))),M(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?eG.attributeCheck=e.ADD_ATTR:g(e.ADD_ATTR)&&(eH===eF&&(eH=O(eH)),V(eH,e.ADD_ATTR,tS))),M(e,"ADD_URI_SAFE_ATTR")&&g(e.ADD_URI_SAFE_ATTR)&&V(tl,e.ADD_URI_SAFE_ATTR,tS),M(e,"FORBID_CONTENTS")&&g(e.FORBID_CONTENTS)&&(tn===ts&&(tn=O(tn)),V(tn,e.FORBID_CONTENTS,tS)),M(e,"ADD_FORBID_CONTENTS")&&g(e.ADD_FORBID_CONTENTS)&&(tn===ts&&(tn=O(tn)),V(tn,e.ADD_FORBID_CONTENTS,tS)),tt&&(eD["#text"]=!0),e0&&V(eD,["html","head","body"]),eD.table&&(V(eD,["tbody"]),delete e$.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let a=t;t=e.TRUSTED_TYPES_POLICY;try{eA=eM("")}catch(e){throw t=a,e}}else null===e.TRUSTED_TYPES_POLICY?(t=void 0,eA=""):(void 0===t&&(eP||(a=eu(ep,d),eP=!0),t=a),t&&"string"==typeof eA&&(eA=eM("")));l&&l(e),tN=e},tC=V({},[...R,...D,...B]),tM=V({},[...H,...F]),tL=function(e){var t,a,i;let n=eb(e);n&&n.tagName||(n={namespaceURI:th,tagName:"template"});let s=b(e.tagName),o=b(n.tagName);return!!tv[e.namespaceURI]&&(e.namespaceURI===td?(t=n).namespaceURI===tc?"svg"===s:t.namespaceURI===tm?"svg"===s&&("annotation-xml"===o||tf[o]):!!tC[s]:e.namespaceURI===tm?(a=n).namespaceURI===tc?"math"===s:a.namespaceURI===td?"math"===s&&tb[o]:!!tM[s]:e.namespaceURI===tc?((i=n).namespaceURI!==td||!!tb[o])&&(i.namespaceURI!==tm||!!tf[o])&&!tM[s]&&(tj[s]||!tC[s]):"application/xhtml+xml"===tx&&!!tv[e.namespaceURI])},tE=function(e){y(s.removed,{element:e});try{eb(e).removeChild(e)}catch(t){if(ey(e),!eb(e))throw I("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},tI=function(e){tO(e);let t=eg(e);if(t){let e=[];p(t,t=>{y(e,t)}),p(e,e=>{try{ey(e)}catch(e){}})}let a=ex(e);if(a)for(let t=a.length-1;t>=0;--t){let i=a[t],n=i&&i.name;if("string"==typeof n)try{e.removeAttribute(n)}catch(e){}}},tT=function(e,t){try{y(s.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){y(s.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(e4||e6)try{tE(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},tV=function(e){let t=ex(e);if(t)for(let a=t.length-1;a>=0;--a){let i=t[a],n=i&&i.name;if("string"==typeof n&&!eH[tS(n)])try{e.removeAttribute(n)}catch(e){}}},tO=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(ew?ew(e):e.nodeType)===1&&tV(e);let a=eg(e);if(a)for(let e=a.length-1;e>=0;--e)t.push(a[e])}},tK=function(e){if(!eZ)return;let t=[e];for(;t.length>0;){let e=t.pop(),a=ew?ew(e):e.nodeType;if(7===a||8===a&&E(eo,e.data)){try{ey(e)}catch(e){}continue}if(1===a){let t=tS(eS?eS(e):e.nodeName);try{e.hasAttribute&&e.hasAttribute("patchsrc")&&e.removeAttribute("patchsrc"),e.hasAttribute&&e.hasAttribute("for")&&"label"!==t&&"output"!==t&&e.removeAttribute("for")}catch(e){}}let i=eg(e);if(i)for(let e=i.length-1;e>=0;--e)t.push(i[e])}},tU=function(e){let a=null,i=null;if(e3)e="<remove></remove>"+e;else{let t=x(e,/^[\r\n\t ]+/);i=t&&t[0]}"application/xhtml+xml"===tx&&th===tc&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let n=t?eM(e):e;if(th===tc)try{a=new eh().parseFromString(n,tx)}catch(e){}if(!a||!a.documentElement){a=eI.createDocument(th,"template",null);try{a.documentElement.innerHTML=tp?eA:n}catch(e){}}let s=a.body||a.documentElement;return(e&&i&&s.insertBefore(o.createTextNode(i),s.childNodes[0]||null),th===tc)?eO.call(a,e0?"html":"body")[0]:e0?a.documentElement:s},tR=function(e){let t=eN?eN(e):e.ownerDocument;return eT.call(t||e,e,ec.SHOW_ELEMENT|ec.SHOW_COMMENT|ec.SHOW_TEXT|ec.SHOW_PROCESSING_INSTRUCTION|ec.SHOW_CDATA_SECTION,null)},tD=function(e){return e=w(e,Y," "),e=w(e,J," "),e=w(e,Q," ")},tB=function(e){var t;e.normalize();let a=eN?eN(e):e.ownerDocument,i=eT.call(a||e,e,ec.SHOW_TEXT|ec.SHOW_COMMENT|ec.SHOW_CDATA_SECTION|ec.SHOW_PROCESSING_INSTRUCTION,null),n=i.nextNode();for(;n;)n.data=tD(n.data),n=i.nextNode();let s=null==(t=e.querySelectorAll)?void 0:t.call(e,"template");s&&p(s,e=>{tF(e.content)&&tB(e.content)})},tH=function(e){let t=eS?eS(e):null;return"string"==typeof t&&"form"===tS(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==ex(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.nodeType!==ew(e)||e.childNodes!==eg(e))},tF=function(e){if(!ew||"object"!=typeof e||null===e)return!1;try{return 11===ew(e)}catch(e){return!1}},tz=function(e){if(!ew||"object"!=typeof e||null===e)return!1;try{return"number"==typeof ew(e)}catch(e){return!1}};function t$(e,t,a){0!==e.length&&p(e,e=>{e.call(s,t,a,tN)})}let tq=function(e,t,a){if(!e$[t]&&tQ(t)&&(ez.tagNameCheck instanceof RegExp&&E(ez.tagNameCheck,t)||ez.tagNameCheck instanceof Function&&ez.tagNameCheck(t)))return!1;if(tt&&!tn[t]){let t=eb(e),i=eg(e);if(i&&t){let n=i.length;for(let s=n-1;s>=0;--s){let n=e===a?ek(i[s],!0):i[s];t.insertBefore(n,ef(e))}}}return tE(e),!0},tG=function(e,t,a,i){return 0===e.length?t:t===a||t===i?O(t):t},tW=function(e,t){if(t$(eU.beforeSanitizeElements,e,null),e!==t&&null===eb(e))return ta&&tO(e),!0;if(tH(e))return tE(e),!0;let a=tS(eS?eS(e):e.nodeName);if(eD=tG(eU.uponSanitizeElement,eD,eB,e2),t$(eU.uponSanitizeElement,e,{tagName:a,allowedTags:eD}),e!==t&&null===eb(e))return ta&&tO(e),!0;if(eZ&&e.hasChildNodes()&&!tz(e.firstElementChild)&&E(es,e.textContent)&&E(es,e.innerHTML)||eZ&&e.namespaceURI===tc&&"style"===a&&tz(e.firstElementChild)||7===e.nodeType||eZ&&8===e.n
9odeType&&E(eo,e.data))return tE(e),!0;if(e$[a]||!(eG.tagCheck instanceof Function&&eG.tagCheck(a))&&!eD[a]){let i=tq(e,a,t);return!1===i&&t$(eU.afterSanitizeElements,e,null),i}if((ew?ew(e):e.nodeType)===1&&!tL(e)||("noscript"===a||"noembed"===a||"noframes"===a)&&E(er,e.innerHTML))return tE(e),!0;if(eX&&3===e.nodeType){let t=tD(e.textContent);e.textContent!==t&&(y(s.removed,{element:e.cloneNode()}),e.textContent=t)}return t$(eU.afterSanitizeElements,e,null),!1},tY=function(e,t,a){if(eq[t]||eZ&&"patchsrc"===t||eZ&&"for"===t&&"label"!==e&&"output"!==e||e9&&("id"===t||"name"===t)&&(a in o||a in tA))return!1;let i=eH[t]||eG.attributeCheck instanceof Function&&eG.attributeCheck(t,e);if(eY&&E(X,t));else if(eW&&E(Z,t));else if(i){if(tl[t]);else if(E(eR,w(a,ea,"")));else if(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===S(a,"data:")&&to[e]);else if(eJ&&!E(et,w(a,ea,"")));else if(a)return!1}else if(!(tQ(e)&&(ez.tagNameCheck instanceof RegExp&&E(ez.tagNameCheck,e)||ez.tagNameCheck instanceof Function&&ez.tagNameCheck(e))&&(ez.attributeNameCheck instanceof RegExp&&E(ez.attributeNameCheck,t)||ez.attributeNameCheck instanceof Function&&ez.attributeNameCheck(t,e))||"is"===t&&ez.allowCustomizedBuiltInElements&&(ez.tagNameCheck instanceof RegExp&&E(ez.tagNameCheck,a)||ez.tagNameCheck instanceof Function&&ez.tagNameCheck(a))))return!1;return!0},tJ=V({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),tQ=function(e){return!tJ[b(e)]&&E(en,e)},tX=function(e,a,i,n){if(t&&"object"==typeof ep&&"function"==typeof ep.getAttributeType&&!i)switch(ep.getAttributeType(e,a)){case"TrustedHTML":return eM(n);case"TrustedScriptURL":return eL(n)}return n},tZ=function(e,t,a,i){try{a?e.setAttributeNS(a,t,i):e.setAttribute(t,i),tH(e)?tE(e):k(s.removed)}catch(a){tT(t,e)}},t0=function(e){t$(eU.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||tH(e))return;let a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:eH=tG(eU.uponSanitizeAttribute,eH,eF,e5),forceKeepAttr:void 0},i=t.length,n=tS(e.nodeName);for(;i--;){let s=t[i],o=s.name,r=s.namespaceURI,l=s.value,u=tS(o),m="value"===o?l:N(l);if(a.attrName=u,a.attrValue=m,a.keepAttr=!0,a.forceKeepAttr=void 0,t$(eU.uponSanitizeAttribute,e,a),m=a.attrValue,e7&&("id"===u||"name"===u)&&0!==S(m,te)&&(tT(o,e),m=te+m),eZ&&E(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,m)||"attributename"===u&&x(m,"href")){tT(o,e);continue}if(!a.forceKeepAttr){if(!a.keepAttr||!eQ&&E(el,m)||(eX&&(m=tD(m)),!tY(n,u,m))){tT(o,e);continue}(m=tX(n,u,r,m))!==l&&tZ(e,o,r,m)}}t$(eU.afterSanitizeAttributes,e,null)},t1=function(e){let t=null,a=tR(e);for(t$(eU.beforeSanitizeShadowDOM,e,null);t=a.nextNode();)if(t$(eU.uponSanitizeShadowNode,t,null),tW(t,e),t0(t),tF(t.content)&&t1(t.content),(ew?ew(t):t.nodeType)===1){let e=ej(t);tF(e)&&(t2(e),t1(e))}t$(eU.afterSanitizeShadowDOM,e,null)},t2=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){t1(e.shadow);continue}let a=e.node,i=(ew?ew(a):a.nodeType)===1,n=eg(a);if(n)for(let e=n.length-1;e>=0;--e)t.push({node:n[e],shadow:null});if(i){let e=eS?eS(a):null;if("string"==typeof e&&"template"===tS(e)){let e=a.content;tF(e)&&t.push({node:e,shadow:null})}}if(i){let e=ej(a);tF(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return s.sanitize=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,n=null,o=null,l=null;if((tp=!e)&&(e="\x3c!--\x3e"),"string"!=typeof e&&!tz(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return A(e);case"boolean":return P(e);case"bigint":return _?_(e):"0";case"symbol":return C?C(e):"Symbol()";case"undefined":default:return L(e);case"function":case"object":{if(null===e)return L(e);let t=K(e,"toString");if("function"==typeof t){let a=t(e);return"string"==typeof a?a:L(a)}return L(e)}}}(e)))throw I("dirty is not a string, aborting");if(!s.isSupported)return e;e1?(eD=e2,eH=e5):t_(a),(eU.uponSanitizeElement.length>0||eU.uponSanitizeAttribute.length>
90)&&(eD=O(eD)),eU.uponSanitizeAttribute.length>0&&(eH=O(eH)),s.removed=[];let u=ta&&"string"!=typeof e&&tz(e);if(u){tK(e);let t=eS?eS(e):e.nodeName;if("string"==typeof t){let a=tS(t);if(!eD[a]||e$[a])throw tI(e),I("root node is forbidden and cannot be sanitized in-place")}if(tH(e))throw tI(e),I("root node is clobbered and cannot be sanitized in-place");try{t2(e)}catch(t){throw tI(e),t}}else if(tz(e))1===(n=(i=tU("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?i=n:i.appendChild(n),t2(n);else{if(!e4&&!eX&&!e0&&-1===e.indexOf("<"))return t&&e8?eM(e):e;if(!(i=tU(e)))return e4?null:e8?eA:""}i&&e3&&tE(i.firstChild);let m=u?e:i;try{let e=tR(m);for(;o=e.nextNode();)tW(o,m),t0(o),tF(o.content)&&t1(o.content)}catch(t){throw u&&(tI(e),p(s.removed,e=>{e.element&&tO(e.element)})),t}if(u)return p(s.removed,e=>{e.element&&tO(e.element)}),eX&&tB(e),e;if(e4){if(eX&&tB(i),e6)for(l=eV.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(eH.shadowroot||eH.shadowrootmode)&&(l=eK.call(r,l,!0)),l}let d=e0?i.outerHTML:i.innerHTML;return e0&&eD["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&E(ei,i.ownerDocument.doctype.name)&&(d="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+d),eX&&(d=tD(d)),t&&e8?eM(d):d},s.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t_(e),e1=!0,e2=eD,e5=eH},s.clearConfig=function(){tN=null,e1=!1,e2=null,e5=null,t=a,eA=""},s.isValidAttribute=function(e,t,a){return tN||t_({}),tY(tS(e),tS(t),a)},s.addHook=function(e,t){"function"!=typeof t||M(eU,e)&&y(eU[e],t)},s.removeHook=function(e,t){if(M(eU,e)){if(void 0!==t){let a=v(eU[e],t);return -1===a?void 0:f(eU[e],a,1)[0]}return k(eU[e])}},s.removeHooks=function(e){M(eU,e)&&(eU[e]=[])},s.removeAllHooks=function(){eU=em()},s}()},19436:e=>{e.exports={contentContainer:"AnswerBrowser_contentContainer__W0ZRD",themeContainer:"AnswerBrowser_themeContainer__wkQO7"}},20055:(e,t,a)=>{"use strict";a.d(t,{Ay:()=>l,W3:()=>r,vP:()=>o});var i=a(85711);let n=(e,t)=>e.match.percentage-t.match.percentage,s=(e,t)=>t.match.percentage-e.match.percentage,o=[{label:"Osuvin",value:"mostRelevant"},{label:"V\xe4hiten osuva",value:"leastRelevant"}],r=e=>{switch(e){case"mostRelevant":return s;case"leastRelevant":return n;default:throw(0,i.ZT)(e),Error("Unhandled sort: ".concat(String(e)))}},l=(e,t)=>{let a=[...e];return a.sort(r(t)),a}},20444:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){let a=null;if(!e||"string"!=typeof e)return a;let i=(0,n.default)(e),s="function"==typeof t;return i.forEach(e=>{if("declaration"!==e.type)return;let{property:i,value:n}=e;s?t(i,n,e):n&&((a=a||{})[i]=n)}),a};let n=i(a(47492))},20541:(e,t,a)=>{"use strict";a.d(t,{A:()=>i.A});var i=a(53499)},20764:e=>{e.exports=function(e,t){return function(a){return null!=a&&a[e]===t&&(void 0!==t||e in Object(a))}}},21224:(e,t,a)=>{"use strict";a.d(t,{Q:()=>i});let i={value:null,addProjectionMetrics:null}},21248:(e,t,a)=>{e.exports=a(83588)()},21895:e=>{e.exports=function(){this.__data__=[],this.size=0}},21939:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var i=a(6029),n=a(35388),s=a(63390),o=a(62950);let r=e=>{let{"aria-label":t,width:a=100,value:r,variant:l="primary",showPercentage:u,centered:m}=e,d=a*r;return(0,i.jsx)("div",{style:{height:u?30:10,paddingTop:4,display:"flex",justifyContent:m?"center":"initial"},children:(0,i.jsxs)(o.KB,{"aria-label":t,"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":100*r,role:"meter",direction:"horizontal",style:{width:a},children:[(0,i.jsx)(o.VS,{variant:l}),(0,i.jsx)(o.yP,{style:{width:d},variant:l,direction:"horizontal"}),(0,i.jsx)(o.jl,{style:{left:d},variant:l,direction:"horizontal"}),u&&(0,i.jsx)(o.ax,{variant:l,typography:{textAlign:"center",size:o.Gx},style:{bottom:-o.Gx-8,width:"40px",left:d-20},children:(0,i.jsx)(s.OH,{children:(0,n.KN)(r)})})]})})}},22064:e=>{e.exports={centerContainer:"CandidateCardPreview_centerContainer__DTl9D"}},22128:e=>{e.exports={md:"min-width: 768px",main:"AppLayout_main__ws6OF",appLayoutRoot:"AppLayout_appLayoutRoot__IBI7X",gradientBackgroun
9d:"AppLayout_gradientBackground__I0CzE",withoutNavigation:"AppLayout_withoutNavigation__xFAuK"}},22156:e=>{e.exports={md:"min-width: 768px",alertRoot:"Alert_alertRoot__GORmw",alert:"Alert_alert__gISPc",info:"Alert_info__Yegg0",warning:"Alert_warning__3x_ur",topContainer:"Alert_topContainer__K4sS1",iconContainer:"Alert_iconContainer__GJh2n","margin-auto":"Alert_margin-auto__fnYXT","margin-small":"Alert_margin-small__rRSNz","margin-only-bottom":"Alert_margin-only-bottom__XdzrS"}},22180:(e,t,a)=>{var i=a(22926),n=a(68668),s=a(86152),o=a(82694),r=a(79860),l=a(48546);e.exports=function(e,t,a){var u=-1,m=n,d=e.length,c=!0,h=[],p=h;if(a)c=!1,m=s;else if(d>=200){var v=t?null:r(e);if(v)return l(v);c=!1,m=o,p=new i}else p=t?[]:h;e:for(;++u<d;){var k=e[u],y=t?t(k):k;if(k=a||0!==k?k:0,c&&y==y){for(var f=p.length;f--;)if(p[f]===y)continue e;t&&p.push(y),h.push(k)}else m(p,y,a)||(p!==h&&p.push(y),h.push(k))}return h}},22318:e=>{var t,a;self,t={1238:e=>{"use strict";e.exports={version:"17.6.0"}},7629:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(9474),o=a(1687),r=a(8652),l=a(8160),u=a(3292),m=a(6354),d=a(8901),c=a(9708),h=a(6914),p=a(2294),v=a(6133),k=a(1152),y=a(8863),f=a(2036),g=class{constructor(e){this.type=e,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new p.Ids,this._preferences=null,this._refs=new v.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return i("function"==typeof c.describe,"Manifest functionality disabled"),c.describe(this)}allow(...e){return l.verifyFlat(e,"allow"),this._values(e,"_valids")}alter(e){i(e&&"object"==typeof e&&!Array.isArray(e),"Invalid targets argument"),i(!this._inRuleset(),"Cannot set alterations inside a ruleset");let t=this.clone();for(let a in t.$_terms.alterations=t.$_terms.alterations||[],e){let n=e[a];i("function"==typeof n,"Alteration adjuster for",a,"must be a function"),t.$_terms.alterations.push({target:a,adjuster:n})}return t.$_temp.ruleset=!1,t}artifact(e){return i(void 0!==e,"Artifact cannot be undefined"),i(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",e)}cast(e){return i(!1===e||"string"==typeof e,"Invalid to value"),i(!1===e||this._definition.cast[e],"Type",this.type,"does not support casting to",e),this.$_setFlag("cast",!1===e?void 0:e)}default(e,t){return this._default("default",e,t)}description(e){return i(e&&"string"==typeof e,"Description must be a non-empty string"),this.$_setFlag("description",e)}empty(e){let t=this.clone();return void 0!==e&&(e=t.$_compile(e,{override:!1})),t.$_setFlag("empty",e,{clone:!1})}error(e){return i(e,"Missing error"),i(e instanceof Error||"function"==typeof e,"Must provide a valid Error object or a function"),this.$_setFlag("error",e)}example(e,t={}){return i(void 0!==e,"Missing example"),l.assertOptions(t,["override"]),this._inner("examples",e,{single:!0,override:t.override})}external(e,t){return"object"==typeof e&&(i(!t,"Cannot combine options with description"),t=e.description,e=e.method),i("function"==typeof e,"Method must be a function"),i(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this._inner("externals",{method:e,description:t},{single:!0})}failover(e,t){return this._default("failover",e,t)}
9forbidden(){return this.presence("forbidden")}id(e){return e?(i("string"==typeof e,"id must be a non-empty string"),i(/^[^\.]+$/.test(e),"id cannot contain period character"),this.$_setFlag("id",e)):this.$_setFlag("id",void 0)}invalid(...e){return this._values(e,"_invalids")}label(e){return i(e&&"string"==typeof e,"Label name must be a non-empty string"),this.$_setFlag("label",e)}meta(e){return i(void 0!==e,"Meta cannot be undefined"),this._inner("metas",e,{single:!0})}note(...e){for(let t of(i(e.length,"Missing notes"),e))i(t&&"string"==typeof t,"Notes must be non-empty strings");return this._inner("notes",e)}only(e=!0){return i("boolean"==typeof e,"Invalid mode:",e),this.$_setFlag("only",e)}optional(){return this.presence("optional")}prefs(e){i(e,"Missing preferences"),i(void 0===e.context,"Cannot override context"),i(void 0===e.externals,"Cannot override externals"),i(void 0===e.warnings,"Cannot override warnings"),i(void 0===e.debug,"Cannot override debug"),l.checkPreferences(e);let t=this.clone();return t._preferences=l.preferences(t._preferences,e),t}presence(e){return i(["optional","required","forbidden"].includes(e),"Unknown presence mode",e),this.$_setFlag("presence",e)}raw(e=!0){return this.$_setFlag("result",e?"raw":void 0)}result(e){return i(["raw","strip"].includes(e),"Unknown result mode",e),this.$_setFlag("result",e)}required(){return this.presence("required")}strict(e){let t=this.clone();return t._preferences=l.preferences(t._preferences,{convert:void 0!==e&&!e}),t}strip(e=!0){return this.$_setFlag("result",e?"strip":void 0)}tag(...e){for(let t of(i(e.length,"Missing tags"),e))i(t&&"string"==typeof t,"Tags must be non-empty strings");return this._inner("tags",e)}unit(e){return i(e&&"string"==typeof e,"Unit name must be a non-empty string"),this.$_setFlag("unit",e)}valid(...e){l.verifyFlat(e,"valid");let t=this.allow(...e);return t.$_setFlag("only",!!t._valids,{clone:!1}),t}when(e,t){let a=this.clone();a.$_terms.whens||(a.$_terms.whens=[]);let n=u.when(a,e,t);if(!["any","link"].includes(a.type))for(let e of n.is?[n]:n.switch)i(!e.then||"any"===e.then.type||e.then.type===a.type,"Cannot combine",a.type,"with",e.then&&e.then.type),i(!e.otherwise||"any"===e.otherwise.type||e.otherwise.type===a.type,"Cannot combine",a.type,"with",e.otherwise&&e.otherwise.type);return a.$_terms.whens.push(n),a.$_mutateRebuild()}cache(e){i(!this._inRuleset(),"Cannot set caching inside a ruleset"),i(!this._cache,"Cannot override schema cache"),i(void 0===this._flags.artifact,"Cannot cache a rule with an artifact");let t=this.clone();return t._cache=e||r.provider.provision(),t.$_temp.ruleset=!1,t}clone(){let e=Object.create(Object.getPrototypeOf(this));return this._assign(e)}concat(e){i(l.isSchema(e),"Invalid schema object"),i("any"===this.type||"any"===e.type||e.type===this.type,"Cannot merge type",this.type,"with another type:",e.type),i(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),i(!e._inRuleset(),"Cannot concatenate a schema with open ruleset");let t=this.clone();if("any"===this.type&&"any"!==e.type){let a=e.clone();for(let e of Object.keys(t))"type"!==e&&(a[e]=t[e]);t=a}for(let a of(t._ids.concat(e._ids),t._refs.register(e,v.toSibling),t._preferences=t._preferences?l.preferences(t._preferences,e._preferences):e._preferences,t._valids=f.merge(t._valids,e._valids,e._invalids),t._invalids=f.merge(t._invalids,e._invalids,e._valids),e._singleRules.keys()))t._singleRules.has(a)&&(t._rules=t._rules.filter(e=>e.keep||e.name!==a),t._singleRules.delete(a));for(let a of e._rules)e._definition.rules[a.method].multi||t._singleRules.set(a.name,a),t._rules.push(a);if(t._flags.empty&&e._flags.empty){t._flags.empty=t._flags.empty.c
9oncat(e._flags.empty);let a=Object.assign({},e._flags);delete a.empty,o(t._flags,a)}else if(e._flags.empty){t._flags.empty=e._flags.empty;let a=Object.assign({},e._flags);delete a.empty,o(t._flags,a)}else o(t._flags,e._flags);for(let a in e.$_terms){let i=e.$_terms[a];i?t.$_terms[a]?t.$_terms[a]=t.$_terms[a].concat(i):t.$_terms[a]=i.slice():t.$_terms[a]||(t.$_terms[a]=i)}return this.$_root._tracer&&this.$_root._tracer._combine(t,[this,e]),t.$_mutateRebuild()}extend(e){return i(!e.base,"Cannot extend type with another base"),d.type(this,e)}extract(e){return e=Array.isArray(e)?e:e.split("."),this._ids.reach(e)}fork(e,t){i(!this._inRuleset(),"Cannot fork inside a ruleset");let a=this;for(let i of[].concat(e))i=Array.isArray(i)?i:i.split("."),a=a._ids.fork(i,t,a);return a.$_temp.ruleset=!1,a}rule(e){let t=this._definition;l.assertOptions(e,Object.keys(t.modifiers)),i(!1!==this.$_temp.ruleset,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");let a=null===this.$_temp.ruleset?this._rules.length-1:this.$_temp.ruleset;i(a>=0&&a<this._rules.length,"Cannot apply rules to empty ruleset");let s=this.clone();for(let o=a;o<s._rules.length;++o){let a=s._rules[o],r=n(a);for(let n in e)t.modifiers[n](r,e[n]),i(r.name===a.name,"Cannot change rule name");s._rules[o]=r,s._singleRules.get(r.name)===a&&s._singleRules.set(r.name,r)}return s.$_temp.ruleset=!1,s.$_mutateRebuild()}get ruleset(){i(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");let e=this.clone();return e.$_temp.ruleset=e._rules.length,e}get $(){return this.ruleset}tailor(e){e=[].concat(e),i(!this._inRuleset(),"Cannot tailor inside a ruleset");let t=this;if(this.$_terms.alterations)for(let{target:a,adjuster:n}of this.$_terms.alterations)e.includes(a)&&(t=n(t),i(l.isSchema(t),"Alteration adjuster for",a,"failed to return a schema object"));return(t=t.$_modify({each:t=>t.tailor(e),ref:!1})).$_temp.ruleset=!1,t.$_mutateRebuild()}tracer(){return k.location?k.location(this):this}validate(e,t){return y.entry(e,this,t)}validateAsync(e,t){return y.entryAsync(e,this,t)}$_addRule(e){for(let t in"string"==typeof e&&(e={name:e}),i(e&&"object"==typeof e,"Invalid options"),i(e.name&&"string"==typeof e.name,"Invalid rule name"),e)i("_"!==t[0],"Cannot set private rule properties");let t=Object.assign({},e);t._resolve=[],t.method=t.method||t.name;let a=this._definition.rules[t.method],n=t.args;i(a,"Unknown rule",t.method);let s=this.clone();if(n)for(let e in i(1===Object.keys(n).length||Object.keys(n).length===this._definition.rules[t.name].args.length,"Invalid rule definition for",this.type,t.name),n){let o=n[e];if(void 0!==o){if(a.argsByName){let r=a.argsByName.get(e);if(r.ref&&l.isResolvable(o))t._resolve.push(e),s.$_mutateRegister(o);else if(r.normalize&&(o=r.normalize(o),n[e]=o),r.assert){let t=l.validateArg(o,e,r);i(!t,t,"or reference")}}n[e]=o}else delete n[e]}return a.multi||(s._ruleRemove(t.name,{clone:!1}),s._singleRules.set(t.name,t)),!1===s.$_temp.ruleset&&(s.$_temp.ruleset=null),a.priority?s._rules.unshift(t):s._rules.push(t),s}$_compile(e,t){return u.schema(this.$_root,e,t)}$_createError(e,t,a,i,n,s={}){let o=!1!==s.flags?this._flags:{},r=s.messages?h.merge(this._definition.messages,s.messages):this._definition.messages;return new m.Report(e,t,a,o,r,i,n)}$_getFlag(e){return this._flags[e]}$_getRule(e){return this._singleRules.get(e)}$_mapLabels(e){return e=Array.isArray(e)?e:e.split("."),this._ids.labels(e)}$_match(e,t,a,i){(a=Object.assign({},a)).abortEarly=!0,a._externals=!1,t.snapshot();let n=!y.validate(e,this,t,a,i).errors;return t.restore(),n}$_modify(e){return l.assertOptions(e,["each","once","ref","schema"]),p.schema(this,e)||this}$_mutateRebuild(){return i(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset(),this.$_modify({each:(e,{source:t,name:a,path:i,key:n})=>{let s=this._definition[t][a]&&this._definition[t][a].register;!1!==s&&this.$_mutateRegister(e,{family:s,key:n})}}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(e,{family:t,key:a}={}){this._refs.register(e,t),this._ids.register(e,{key:a})}$_property(e){return this._definition.properties[e]}$_reach(e){return this._ids.reach(e)}$_rootReferences(){return this._refs.roots()}$_setFlag(e,t,a={}){i("_"===e[0]||!this._inRuleset(),"Cannot set flag inside a ruleset");let n=this._definition.flags[e]||{};if(s(t,n.default)&&(t=void 0),s(t,this._flags[e]))return this;let o=!1!==a.clone?this.clone():this;return void 0!==t?(o._flags[e]=t,o.$_mutateRegister(t)):delete o._flags[e],"_"!==e[0]&&(o.$_temp.ruleset=!1),o}$_parent(e,...t){return this[e][l.symbols.parent].call(this,...t)}
9$_validate(e,t,a){return y.validate(e,this,t,a)}_assign(e){for(let t in e.type=this.type,e.$_root=this.$_root,e.$_temp=Object.assign({},this.$_temp),e.$_temp.whens={},e._ids=this._ids.clone(),e._preferences=this._preferences,e._valids=this._valids&&this._valids.clone(),e._invalids=this._invalids&&this._invalids.clone(),e._rules=this._rules.slice(),e._singleRules=n(this._singleRules,{shallow:!0}),e._refs=this._refs.clone(),e._flags=Object.assign({},this._flags),e._cache=null,e.$_terms={},this.$_terms)e.$_terms[t]=this.$_terms[t]?this.$_terms[t].slice():null;for(let t in e.$_super={},this.$_super)e.$_super[t]=this._super[t].bind(e);return e}_bare(){let e=this.clone();e._reset();let t=e._definition.terms;for(let a in t){let i=t[a];e.$_terms[a]=i.init}return e.$_mutateRebuild()}_default(e,t,a={}){return l.assertOptions(a,"literal"),i(void 0!==t,"Missing",e,"value"),i("function"==typeof t||!a.literal,"Only function value supports literal option"),"function"==typeof t&&a.literal&&(t={[l.symbols.literal]:!0,literal:t}),this.$_setFlag(e,t)}_generate(e,t,a){if(!this.$_terms.whens)return{schema:this};let i=[],n=[];for(let s=0;s<this.$_terms.whens.length;++s){let o=this.$_terms.whens[s];if(o.concat){i.push(o.concat),n.push("".concat(s,".concat"));continue}let r=o.ref?o.ref.resolve(e,t,a):e,l=o.is?[o]:o.switch,u=n.length;for(let u=0;u<l.length;++u){let{is:m,then:d,otherwise:c}=l[u],h="".concat(s).concat(o.switch?"."+u:"");if(m.$_match(r,t.nest(m,"".concat(h,".is")),a)){if(d){let s=t.localize([...t.path,"".concat(h,".then")],t.ancestors,t.schemas),{schema:o,id:r}=d._generate(e,s,a);i.push(o),n.push("".concat(h,".then").concat(r?"(".concat(r,")"):""));break}}else if(c){let s=t.localize([...t.path,"".concat(h,".otherwise")],t.ancestors,t.schemas),{schema:o,id:r}=c._generate(e,s,a);i.push(o),n.push("".concat(h,".otherwise").concat(r?"(".concat(r,")"):""));break}}if(o.break&&n.length>u)break}let s=n.join(", ");if(t.mainstay.tracer.debug(t,"rule","when",s),!s)return{schema:this};if(!t.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;for(let n of(this._definition.generate&&(o=this._definition.generate(this,e,t,a)),i))o=o.concat(n);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...i]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(e,t,a={}){i(!this._inRuleset(),"Cannot set ".concat(e," inside a ruleset"));let n=this.clone();return n.$_terms[e]&&!a.override||(n.$_terms[e]=[]),a.single?n.$_terms[e].push(t):n.$_terms[e].push(...t),n.$_temp.ruleset=!1,n}_inRuleset(){return null!==this.$_temp.ruleset&&!1!==this.$_temp.ruleset}_ruleRemove(e,t={}){if(!this._singleRules.has(e))return this;let a=!1!==t.clone?this.clone():this;a._singleRules.delete(e);let i=[];for(let t=0;t<a._rules.length;++t){let n=a._rules[t];n.name!==e||n.keep?i.push(n):a._inRuleset()&&t<a.$_temp.ruleset&&--a.$_temp.ruleset}return a._rules=i,a}_values(e,t){l.verifyFlat(e,t.slice(1,-1));let a=this.clone(),n=e[0]===l.symbols.override;if(n&&(e=e.slice(1)),!a[t]&&e.length?a[t]=new f:n&&(a[t]=e.length?new f:null,a.$_mutateRebuild()),!a[t])return a;for(let s of(n&&a[t].override(),e)){i(void 0!==s,"Cannot call allow/valid/invalid with undefined"),i(s!==l.symbols.override,"Override must be the first value");let e="_invalids"===t?"_valids":"_invalids";a[e]&&(a[e].remove(s),a[e].length||(i("_valids"===t||!a._flags.only,"Setting invalid value",s,"leaves schema rejecting all values due to previous valid rule"),a[e]=null)),a[t].add(s,a._refs)}return a}};g.prototype[l.symbols.any]={version:l.version,compile:u.compile,root:"$_root"},g.prototype.isImmutable=!0,g.prototype.deny=g.prototype.invalid,g.prototype.disallow=g.prototype.invalid,g.prototype.equal=g.prototype.valid,g.prototype.exist=g.prototype.required,g.prototype.not=g.prototype.invalid,g.prototype.options=g.prototype.prefs,g.prototype.preferences=g.prototype.prefs,e.exports=new g},8652:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(8160),o={max:1e3,supported:new Set(["undefined","boolean","number","string"])};t.provider={provision:e=>new o.Cache(e)},o.Cache=class{constructor(e={}){s.assertOptions(e,["max"]),i(void 0===e.max||e.max&&e.max>0&&isFinite(e.max),"Invalid max cache size"),this._max=e.max||o.max,this._map=new Map,this._list=new o.List}get length(){return this._map.size}set(e,t){if(null!==e&&!o.supported.has(typeof e))return;let a=this._map.get(e);a?(a.value=t,this._list.first(a)):(a=this._list.unshift({key:e,value:t}),this._map.set(e,a),this._compact())}get(e){let t=this._map.get(e);if(t)return this._list.first(t),n(t.value)}_compact(){if(this._map.size>this._max){let e=this._list.pop();this._map.delete(e.key)}}},o.List=class{constructor(){this.tail=null,this.head=null}unshift(e){return e.next=null,e.prev=this.head,this.head&&(this.head.next=e),this.head=e,this.tail||(this.tail=e),e}first(e){e!==this.head&&(this._remove(e),this.unshift(e))}pop(){return this._remove(this.tail)}_remove(e){let{next:t,prev:a}=e;return t.prev=a,a&&(a.next=t),e===this.tail&&(this.tail=t),e.prev=null,e.next=null,e}}},8160:(e,t,a)=>{"use strict";let i,n,s=a(375),o=a(7916),r=a(1238),l=/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/;
9t.version=r.version,t.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1},t.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")},t.assertOptions=function(e,t,a="Options"){s(e&&"object"==typeof e&&!Array.isArray(e),"Options must be of type object");let i=Object.keys(e).filter(e=>!t.includes(e));s(0===i.length,"".concat(a," contain unknown keys: ").concat(i))},t.checkPreferences=function(e){let t=(n=n||a(3378)).preferences.validate(e);if(t.error)throw new o([t.error.details[0].message])},t.compare=function(e,t,a){switch(a){case"=":return e===t;case">":return e>t;case"<":return e<t;case">=":return e>=t;case"<=":return e<=t}},t.default=function(e,t){return void 0===e?t:e},t.isIsoDate=function(e){return l.test(e)},t.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},t.isResolvable=function(e){return!!e&&(e[t.symbols.ref]||e[t.symbols.template])},t.isSchema=function(e,a={}){let i=e&&e[t.symbols.any];return!!i&&(s(a.legacy||i.version===t.version,"Cannot mix different versions of joi schemas"),!0)},t.isValues=function(e){return e[t.symbols.values]},t.limit=function(e){return Number.isSafeInteger(e)&&e>=0},t.preferences=function(e,n){i=i||a(6914);let s=Object.assign({},e=e||{},n=n||{});return n.errors&&e.errors&&(s.errors=Object.assign({},e.errors,n.errors),s.errors.wrap=Object.assign({},e.errors.wrap,n.errors.wrap)),n.messages&&(s.messages=i.compile(n.messages,e.messages)),delete s[t.symbols.prefs],s},t.tryWithPath=function(e,t,a={}){try{return e()}catch(e){throw void 0!==e.path?e.path=t+"."+e.path:e.path=t,a.append&&(e.message="".concat(e.message," (").concat(e.path,")")),e}},t.validateArg=function(e,a,{assert:i,message:n}){if(t.isSchema(i)){let t=i.validate(e);if(!t.error)return;return t.error.message}if(!i(e))return a?"".concat(a," ").concat(n):n},t.verifyFlat=function(e,t){for(let a of e)s(!Array.isArray(a),"Method no longer accepts array arguments:",t)}},3292:(e,t,a)=>{"use strict";let i=a(375),n=a(8160),s=a(6133),o={};
9t.schema=function(e,t,a={}){n.assertOptions(a,["appendPath","override"]);try{return o.schema(e,t,a)}catch(e){throw a.appendPath&&void 0!==e.path&&(e.message="".concat(e.message," (").concat(e.path,")")),e}},o.schema=function(e,t,a){i(void 0!==t,"Invalid undefined schema"),Array.isArray(t)&&(i(t.length,"Invalid empty array schema"),1===t.length&&(t=t[0]));let s=(t,...i)=>!1!==a.override?t.valid(e.override,...i):t.valid(...i);if(o.simple(t))return s(e,t);if("function"==typeof t)return e.custom(t);if(i("object"==typeof t,"Invalid schema content:",typeof t),n.isResolvable(t))return s(e,t);if(n.isSchema(t))return t;if(Array.isArray(t)){for(let a of t)if(!o.simple(a))return e.alternatives().try(...t);return s(e,...t)}return t instanceof RegExp?e.string().regex(t):t instanceof Date?s(e.date(),t):(i(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),e.object().keys(t))},t.ref=function(e,t){return s.isRef(e)?e:s.create(e,t)},t.compile=function(e,a,s={}){n.assertOptions(s,["legacy"]);let r=a&&a[n.symbols.any];if(r)return i(s.legacy||r.version===n.version,"Cannot mix different versions of joi schemas:",r.version,n.version),a;if("object"!=typeof a||!s.legacy)return t.schema(e,a,{appendPath:!0});let l=o.walk(a);return l?l.compile(l.root,a):t.schema(e,a,{appendPath:!0})},o.walk=function(e){if("object"!=typeof e)return null;if(Array.isArray(e)){for(let t of e){let e=o.walk(t);if(e)return e}return null}let t=e[n.symbols.any];if(t)return{root:e[t.root],compile:t.compile};for(let t in i(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),e){let a=o.walk(e[t]);if(a)return a}return null},o.simple=function(e){return null===e||["boolean","string","number"].includes(typeof e)},t.when=function(e,a,r){if(void 0===r&&(i(a&&"object"==typeof a,"Missing options"),r=a,a=s.create(".")),Array.isArray(r)&&(r={switch:r}),n.assertOptions(r,["is","not","then","otherwise","switch","break"]),n.isSchema(a))return i(void 0===r.is,'"is" can not be used with a schema condition'),i(void 0===r.not,'"not" can not be used with a schema condition'),i(void 0===r.switch,'"switch" can not be used with a schema condition'),o.condition(e,{is:a,then:r.then,otherwise:r.otherwise,break:r.break});if(i(s.isRef(a)||"string"==typeof a,"Invalid condition:",a),i(void 0===r.not||void 0===r.is,'Cannot combine "is" with "not"'),void 0===r.switch){let l=r;void 0!==r.not&&(l={is:r.not,then:r.otherwise,otherwise:r.then,break:r.break});let u=void 0!==l.is?e.$_compile(l.is):e.$_root.invalid(null,!1,0,"").required();return i(void 0!==l.then||void 0!==l.otherwise,'options must have at least one of "then", "otherwise", or "switch"'),i(void 0===l.break||void 0===l.then||void 0===l.otherwise,"Cannot specify then, otherwise, and break all together"),void 0===r.is||s.isRef(r.is)||n.isSchema(r.is)||(u=u.required()),o.condition(e,{ref:t.ref(a),is:u,then:l.then,otherwise:l.otherwise,break:l.break})}i(Array.isArray(r.switch),'"switch" must be an array'),i(void 0===r.is,'Cannot combine "switch" with "is"'),i(void 0===r.not,'Cannot combine "switch" with "not"'),i(void 0===r.then,'Cannot combine "switch" with "then"');let l={ref:t.ref(a),switch:[],break:r.break};for(let t=0;t<r.switch.length;++t){let a=r.switch[t],o=t===r.switch.length-1;n.assertOptions(a,o?["is","then","otherwise"]:["is","then"]),i(void 0!==a.is,'Switch statement missing "is"'),i(void 0!==a.then,'Switch statement missing "then"');let u={is:e.$_compile(a.is),then:e.$_compile(a.then)};if(s.isRef(a.is)||n.isSchema(a.is)||(u.is=u.is.required()),o){i(void 0===r.otherwise||void 0===a.otherwise,'Cannot specify "otherwise" inside and outside a "switch"');let t=void 0!==r.otherwise?r.otherwise:a.otherwise;void 0!==t&&(i(void 0===l.break,"Cannot specify both otherwise and break"),u.otherwise=e.$_compile(t))}l.switch.push(u)}return l},o.condition=function(e,t){for(let a of["then","otherwise"])void 0===t[a]?delete t[a]:t[a]=e.$_compile(t[a]);return t}},6354:(e,t,a)=>{"use strict";let i=a(5688),n=a(8160),s=a(3328);t.Report=class{constructor(e,a,i,n,s,o,r){if(this.code=e,this.flags=n,this.messages=s,this.path=o.path,this.prefs=r,this.state=o,this.value=a,this.message=null,this.template=null,this.local=i||{},this.local.label=t.label(this.flags,this.state,this.prefs,this.messages),void 0===this.value||this.local.hasOwnProperty("value")||(this.local.value=this.value),this.path.length){const e=this.path[this.path.length-1];"object"!=typeof e&&(this.local.key=e)}}_setTemplate(e){if(this.template=e,!this.flags.label&&0===this.path.length){let e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;let e=this.code;
9if(!this.prefs.errors.render)return this.code;let t=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return void 0===t?'Error code "'.concat(e,'" is not defined, your custom type is missing the correct messages definition'):(this.message=t.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(e,a){return t.template(this.value,e,a||this.code,this.state,this.prefs)}},t.path=function(e){let t="";for(let a of e)"object"!=typeof a&&("string"==typeof a?(t&&(t+="."),t+=a):t+="[".concat(a,"]"));return t},t.template=function(e,t,a,i,o){if(!t)return;if(s.isTemplate(t))return"root"!==a?t:null;let r=o.errors.language;if(n.isResolvable(r)&&(r=r.resolve(e,i,o)),r&&t[r]){if(void 0!==t[r][a])return t[r][a];if(void 0!==t[r]["*"])return t[r]["*"]}return t[a]?t[a]:t["*"]},t.label=function(e,a,i,n){if(e.label)return e.label;if(!i.errors.label)return"";let s=a.path;return"key"===i.errors.label&&a.path.length>1&&(s=a.path.slice(-1)),t.path(s)||t.template(null,i.messages,"root",a,i)||n&&t.template(null,n,"root",a,i)||"value"},t.process=function(e,a,i){if(!e)return null;let{override:n,message:s,details:o}=t.details(e);if(n)return n;if(i.errors.stack)return new t.ValidationError(s,o,a);let r=Error.stackTraceLimit;Error.stackTraceLimit=0;let l=new t.ValidationError(s,o,a);return Error.stackTraceLimit=r,l},t.details=function(e,t={}){let a=[],i=[];for(let n of e){if(n instanceof Error){if(!1!==t.override)return{override:n};let e=n.toString();a.push(e),i.push({message:e,type:"override",context:{error:n}});continue}let e=n.toString();a.push(e),i.push({message:e,path:n.path.filter(e=>"object"!=typeof e),type:n.code,context:n.local})}return a.length>
91&&(a=[...new Set(a)]),{message:a.join(". "),details:i}},t.ValidationError=class extends Error{constructor(e,t,a){super(e),this._original=a,this.details=t}static isError(e){return e instanceof t.ValidationError}},t.ValidationError.prototype.isJoi=!0,t.ValidationError.prototype.name="ValidationError",t.ValidationError.prototype.annotate=i.error},8901:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(8160),o=a(6914),r={};t.type=function(e,t){let a=Object.getPrototypeOf(e),l=n(a),u=e._assign(Object.create(l)),m=Object.assign({},t);delete m.base,l._definition=m;let d=a._definition||{};m.messages=o.merge(d.messages,m.messages),m.properties=Object.assign({},d.properties,m.properties),u.type=m.type,m.flags=Object.assign({},d.flags,m.flags);let c=Object.assign({},d.terms);if(m.terms)for(let e in m.terms){let t=m.terms[e];i(void 0===u.$_terms[e],"Invalid term override for",m.type,e),u.$_terms[e]=t.init,c[e]=t}m.terms=c,m.args||(m.args=d.args),m.prepare=r.prepare(m.prepare,d.prepare),m.coerce&&("function"==typeof m.coerce&&(m.coerce={method:m.coerce}),m.coerce.from&&!Array.isArray(m.coerce.from)&&(m.coerce={method:m.coerce.method,from:[].concat(m.coerce.from)})),m.coerce=r.coerce(m.coerce,d.coerce),m.validate=r.validate(m.validate,d.validate);let h=Object.assign({},d.rules);if(m.rules)for(let e in m.rules){let t=m.rules[e];i("object"==typeof t,"Invalid rule definition for",m.type,e);let a=t.method;if(void 0===a&&(a=function(){return this.$_addRule(e)}),a&&(i(!l[e],"Rule conflict in",m.type,e),l[e]=a),i(!h[e],"Rule conflict in",m.type,e),h[e]=t,t.alias)for(let e of[].concat(t.alias))l[e]=t.method;t.args&&(t.argsByName=new Map,t.args=t.args.map(e=>("string"==typeof e&&(e={name:e}),i(!t.argsByName.has(e.name),"Duplicated argument name",e.name),s.isSchema(e.assert)&&(e.assert=e.assert.strict().label(e.name)),t.argsByName.set(e.name,e),e)))}m.rules=h;let p=Object.assign({},d.modifiers);if(m.modifiers)for(let e in m.modifiers){i(!l[e],"Rule conflict in",m.type,e);let t=m.modifiers[e];i("function"==typeof t,"Invalid modifier definition for",m.type,e);let a=function(t){return this.rule({[e]:t})};l[e]=a,p[e]=t}if(m.modifiers=p,m.overrides){for(let e in l._super=a,u.$_super={},m.overrides)i(a[e],"Cannot override missing",e),m.overrides[e][s.symbols.parent]=a[e],u.$_super[e]=a[e].bind(u);Object.assign(l,m.overrides)}m.cast=Object.assign({},d.cast,m.cast);let v=Object.assign({},d.manifest,m.manifest);return v.build=r.build(m.manifest&&m.manifest.build,d.manifest&&d.manifest.build),m.manifest=v,m.rebuild=r.rebuild(m.rebuild,d.rebuild),u},r.build=function(e,t){return e&&t?function(a,i){return t(e(a,i),i)}:e||t},r.coerce=function(e,t){return e&&t?{from:e.from&&t.from?[...new Set([...e.from,...t.from])]:null,method(a,i){let n;if((!t.from||t.from.includes(typeof a))&&(n=t.method(a,i))){if(n.errors||void 0===n.value)return n;a=n.value}if(!e.from||e.from.includes(typeof a)){let t=e.method(a,i);if(t)return t}return n}}:e||t},r.prepare=function(e,t){return e&&t?function(a,i){let n=e(a,i);if(n){if(n.errors||void 0===n.value)return n;a=n.value}return t(a,i)||n}:e||t},r.rebuild=function(e,t){return e&&t?function(a){t(a),e(a)}:e||t},r.validate=function(e,t){return e&&t?function(a,i){let n=t(a,i);if(n){if(n.errors&&(!Array.isArray(n.errors)||n.errors.length))return n;a=n.value}return e(a,i)||n}:e||t}},5107:(e,t,a)=>{"use strict";let i,n=a(375),s=a(8571),o=a(8652),r=a(8160),l=a(3292),u=a(6354),m=a(8901),d=a(9708),c=a(6133),h=a(3328),p=a(1152),v={types:{alternatives:a(4946),any:a(8068),array:a(546),boolean:a(4937),date:a(7500),function:a(390),link:a(8785),number:a(3832),object:a(8966),string:a(7417),symbol:a(8826)},aliases:{alt:"alternatives",bool:"boolean",func:"function"},root:function(){let e={_types:new Set(Object.keys(v.types))};for(let t of e._types)e[t]=function(...e){return n(!e.length||["alternatives","link","object"].includes(t),"The",t,"type does not allow arguments"),v.generate(this,v.types[t],e)};for(let t of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])e[t]=function(...e){return this.any()[t](...e)};for(let t in Object.assign(e,v.methods),v.aliases){let a=v.aliases[t];e[t]=e[a]}return e.x=e.expression,p.setup&&p.setup(e),e}};
9v.methods={ValidationError:u.ValidationError,version:r.version,cache:o.provider,assert(e,t,...a){v.assert(e,t,!0,a)},attempt:(e,t,...a)=>v.assert(e,t,!1,a),build(e){return n("function"==typeof d.build,"Manifest functionality disabled"),d.build(this,e)},checkPreferences(e){r.checkPreferences(e)},compile(e,t){return l.compile(this,e,t)},defaults(e){n("function"==typeof e,"modifier must be a function");let t=Object.assign({},this);for(let a of t._types){let i=e(t[a]());n(r.isSchema(i),"modifier must return a valid schema object"),t[a]=function(...e){return v.generate(this,i,e)}}return t},expression:(...e)=>new h(...e),extend(...e){r.verifyFlat(e,"extend"),i=i||a(3378),n(e.length,"You need to provide at least one extension"),this.assert(e,i.extensions);let t=Object.assign({},this);for(let a of(t._types=new Set(t._types),e))for(let e of("function"==typeof a&&(a=a(t)),this.assert(a,i.extension),v.expandExtension(a,t))){n(void 0===t[e.type]||t._types.has(e.type),"Cannot override name",e.type);let a=e.base||this.any(),i=m.type(a,e);t._types.add(e.type),t[e.type]=function(...e){return v.generate(this,i,e)}}return t},isError:u.ValidationError.isError,isExpression:h.isTemplate,isRef:c.isRef,isSchema:r.isSchema,in:(...e)=>c.in(...e),override:r.symbols.override,ref:(...e)=>c.create(...e),types(){let e={};for(let t of this._types)e[t]=this[t]();for(let t in v.aliases)e[t]=this[t]();return e}},v.assert=function(e,t,a,i){let n=i[0]instanceof Error||"string"==typeof i[0]?i[0]:null,o=n?i[1]:i[0],l=t.validate(e,r.preferences({errors:{stack:!0}},o||{})),m=l.error;if(!m)return l.value;if(n instanceof Error)throw n;let d=a&&"function"==typeof m.annotate?m.annotate():m.message;throw m instanceof u.ValidationError==0&&(m=s(m)),m.message=n?"".concat(n," ").concat(d):d,m},v.generate=function(e,t,a){return n(e,"Must be invoked on a Joi instance."),t.$_root=e,t._definition.args&&a.length?t._definition.args(t,...a):t},v.expandExtension=function(e,t){if("string"==typeof e.type)return[e];let a=[];for(let i of t._types)if(e.type.test(i)){let n=Object.assign({},e);n.type=i,n.base=t[i](),a.push(n)}return a},e.exports=v.root()},6914:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(3328);t.compile=function(e,t){if("string"==typeof e)return i(!t,"Cannot set single message string"),new s(e);if(s.isTemplate(e))return i(!t,"Cannot set single message template"),e;for(let a in i("object"==typeof e&&!Array.isArray(e),"Invalid message options"),t=t?n(t):{},e){let n=e[a];if("root"===a||s.isTemplate(n)){t[a]=n;continue}if("string"==typeof n){t[a]=new s(n);continue}for(a in i("object"==typeof n&&!Array.isArray(n),"Invalid message for",a),t[a]=t[a]||{},n){let e=n[a];"root"===a||s.isTemplate(e)?t[a][a]=e:(i("string"==typeof e,"Invalid message for",a,"in",a),t[a][a]=new s(e))}}return t},t.decompile=function(e){let t={};for(let a in e){let i=e[a];if("root"===a){t.root=i;continue}if(s.isTemplate(i)){t[a]=i.describe({compact:!0});continue}for(a in t[a]={},i){let e=i[a];"root"!==a?t[a][a]=e.describe({compact:!0}):t[a].root=e}}return t},t.merge=function(e,a){if(!e)return t.compile(a);if(!a)return e;if("string"==typeof a)return new s(a);if(s.isTemplate(a))return a;let o=n(e);for(let e in a){let t=a[e];if("root"===e||s.isTemplate(t)){o[e]=t;continue}if("string"==typeof t){o[e]=new s(t);continue}for(e in i("object"==typeof t&&!Array.isArray(t),"Invalid message for",e),o[e]=o[e]||{},t){let a=t[e];"root"===e||s.isTemplate(a)?o[e][e]=a:(i("string"==typeof a,"Invalid message for",e,"in",e),o[e][e]=new s(a))}}return o}},2294:(e,t,a)=>{"use strict";function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){var i,n,s;i=e,n=t,s=a[t],n in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEac
9h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}let s=a(375),o=a(8160),r=a(6133),l={};t.Ids=l.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){let e=new l.Ids;return e._byId=new Map(this._byId),e._byKey=new Map(this._byKey),e._schemaChain=this._schemaChain,e}concat(e){for(let[t,a]of(e._schemaChain&&(this._schemaChain=!0),e._byId.entries()))s(!this._byKey.has(t),"Schema id conflicts with existing key:",t),this._byId.set(t,a);for(let[t,a]of e._byKey.entries())s(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,a)}fork(e,t,a){let i=this._collect(e);i.push({schema:a});let n=i.shift(),r={id:n.id,schema:t(n.schema)};for(let e of(s(o.isSchema(r.schema),"adjuster function failed to return a joi schema type"),i))r={id:e.id,schema:l.fork(e.schema,r.id,r.schema)};return r.schema}labels(e,t=[]){let a=e[0],i=this._get(a);if(!i)return[...t,...e].join(".");let n=e.slice(1);return t=[...t,i.schema._flags.label||a],n.length?i.schema._ids.labels(n,t):t.join(".")}reach(e,t=[]){let a=e[0],i=this._get(a);s(i,"Schema does not contain path",[...t,...e].join("."));let n=e.slice(1);return n.length?i.schema._ids.reach(n,[...t,a]):i.schema}register(e,{key:t}={}){if(!e||!o.isSchema(e))return;(e.$_property("schemaChain")||e._ids._schemaChain)&&(this._schemaChain=!0);let a=e._flags.id;if(a){let t=this._byId.get(a);s(!t||t.schema===e,"Cannot add different schemas with the same id:",a),s(!this._byKey.has(a),"Schema id conflicts with existing key:",a),this._byId.set(a,{schema:e,id:a})}t&&(s(!this._byKey.has(t),"Schema already contains key:",t),s(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,{schema:e,id:t}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(e,t=[],a=[]){let i=e[0],n=this._get(i);s(n,"Schema does not contain path",[...t,...e].join(".")),a=[n,...a];let o=e.slice(1);return o.length?n.schema._ids._collect(o,[...t,i],a):a}_get(e){return this._byId.get(e)||this._byKey.get(e)}},l.fork=function(e,a,i){let n=t.schema(e,{each:(e,{key:t})=>{if(a===(e._flags.id||t))return i},ref:!1});return n?n.$_mutateRebuild():e},t.schema=function(e,t){let a;for(let i in e._flags){if("_"===i[0])continue;let n=l.scan(e._flags[i],{source:"flags",name:i},t);void 0!==n&&((a=a||e.clone())._flags[i]=n)}for(let i=0;i<e._rules.length;++i){let n=e._rules[i],s=l.scan(n.args,{source:"rules",name:n.name},t);if(void 0!==s){a=a||e.clone();let t=Object.assign({},n);t.args=s,a._rules[i]=t,a._singleRules.get(n.name)===n&&a._singleRules.set(n.name,t)}}for(let i in e.$_terms){if("_"===i[0])continue;let n=l.scan(e.$_terms[i],{source:"terms",name:i},t);void 0!==n&&((a=a||e.clone()).$_terms[i]=n)}return a},l.scan=function(e,t,a,i,s){let u,m=i||[];if(null!==e&&"object"==typeof e){if(Array.isArray(e)){for(let i=0;i<e.length;++i){let n="terms"===t.source&&"keys"===t.name&&e[i].key,s=l.scan(e[i],t,a,[i,...m],n);void 0!==s&&((u=u||e.slice())[i]=s)}return u}if(!1!==a.schema&&o.isSchema(e)||!1!==a.ref&&r.isRef(e)){let i=a.each(e,n(n({},t),{},{path:m,key:s}));if(i===e)return;return i}for(let i in e){if("_"===i[0])continue;let n=l.scan(e[i],t,a,[i,...m],s);void 0!==n&&((u=u||Object.assign({},e))[i]=n)}return u}}},6133:(e,t,a)=>{"use strict";let i;function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){var i,n,s;i=e,n=t,s=a[t],n in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}let o=a(375),r=a(8571),l=a(9621),u=a(8160),m={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,
9separator:".",type:"value"}};t.create=function(e,t={}){o("string"==typeof e,"Invalid reference key:",e),u.assertOptions(t,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),o(!t.prefix||"object"==typeof t.prefix,"options.prefix must be of type object");let a=Object.assign({},m.defaults,t);delete a.prefix;let i=a.separator,n=m.context(e,i,t.prefix);if(a.type=n.type,e=n.key,"value"===a.type)if(n.root&&(o(!i||e[0]!==i,"Cannot specify relative path with root prefix"),a.ancestor="root",e||(e=null)),i&&i===e)e=null,a.ancestor=0;else if(void 0!==a.ancestor)o(!i||!e||e[0]!==i,"Cannot combine prefix with ancestor option");else{let[t,n]=m.ancestor(e,i);n&&""===(e=e.slice(n))&&(e=null),a.ancestor=t}return a.path=i?null===e?[]:e.split(i):[e],new m.Ref(a)},t.in=function(e,a={}){return t.create(e,s(s({},a),{},{in:!0}))},t.isRef=function(e){return!!e&&!!e[u.symbols.ref]},m.Ref=class{constructor(e){o("object"==typeof e,"Invalid reference construction"),u.assertOptions(e,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),o([!1,void 0].includes(e.separator)||"string"==typeof e.separator&&1===e.separator.length,"Invalid separator"),o(!e.adjust||"function"==typeof e.adjust,"options.adjust must be a function"),o(!e.map||Array.isArray(e.map),"options.map must be an array"),o(!e.map||!e.adjust,"Cannot set both map and adjust options"),Object.assign(this,m.defaults,e),o("value"===this.type||void 0===this.ancestor,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(e,t,a,i,n={}){return o(!this.in||n.in,"Invalid in() reference usage"),"global"===this.type?this._resolve(a.context,t,n):"local"===this.type?this._resolve(i,t,n):this.ancestor?"root"===this.ancestor?this._resolve(t.ancestors[t.ancestors.length-1],t,n):(o(this.ancestor<=t.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(t.ancestors[this.ancestor-1],t,n)):this._resolve(e,t,n)}_resolve(e,t,a){let i;if("value"===this.type&&t.mainstay.shadow&&!1!==a.shadow&&(i=t.mainstay.shadow.get(this.absolute(t))),void 0===i&&(i=l(e,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(i=this.adjust(i)),this.map){let e=this.map.get(i);void 0!==e&&(i=e)}return t.mainstay&&t.mainstay.tracer.resolve(t,this,i),i}toString(){return this.display}absolute(e){return[...e.path.slice(0,-this.ancestor),...this.path]}clone(){return new m.Ref(this)}describe(){let e={path:this.path};for(let t of("value"!==this.type&&(e.type=this.type),"."!==this.separator&&(e.separator=this.separator),"value"===this.type&&1!==this.ancestor&&(e.ancestor=this.ancestor),this.map&&(e.map=[...this.map]),["adjust","iterables","render"]))null!==this[t]&&void 0!==this[t]&&(e[t]=this[t]);return!1!==this.in&&(e.in=!0),{ref:e}}updateDisplay(){let e=null!==this.key?this.key:"";if("value"!==this.type)return void(this.display="ref:".concat(this.type,":").concat(e));if(!this.separator)return void(this.display="ref:".concat(e));if(!this.ancestor)return void(this.display="ref:".concat(this.separator).concat(e));if("root"===this.ancestor)return void(this.display="ref:root:".concat(e));if(1===this.ancestor)return void(this.display="ref:".concat(e||".."));let t=Array(this.ancestor+1).fill(this.separator).join("");this.display="ref:".concat(t).concat(e||"")}},m.Ref.prototype[u.symbols.ref]=!0,t.build=function(e){return"value"===(e=Object.assign({},m.defaults,e)).type&&void 0===e.ancestor&&(e.ancestor=1),new m.Ref(e)},m.context=function(e,t,a={}){if(e=e.trim(),a){let i=void 0===a.global?"$":a.global;if(i!==t&&e.startsWith(i))return{key:e.slice(i.length),type:"global"};let n=void 0===a.local?"#":a.local;if(n!==t&&e.startsWith(n))return{key:e.slice(n.length),type:"local"};let s=void 0===a.root?"/":a.root;if(s!==t&&e.startsWith(s))return{key:e.slice(s.length),type:"value",root:!0}}return{key:e,type:"value"}},m.ancestor=function(e,t){if(!t||e[0]!==t)return[1,0];if(e[1]!==t)return[0,1];let a=2;for(;e[a]===t;)++a;return[a-1,a]},t.toSibling=0,t.toParent=1,t.Manager=class{constructor(){this.refs=[]}register(e,n){if(e)if(n=void 0===n?t.toParent:n,Array.isArray(e))for(let t of e)this.register(t,n);else if(u.isSchema(e))for(let t of e._refs.refs)t.ancestor-n>=0&&this.refs.push({ancestor:t.ancestor-n,root:t.root});else t.isRef(e)&&"value"===e.type&&e.ancestor-n>=0&&this.refs.push({ancestor:e.ancestor-n,root:e.root}),(i=i||a(3328)).isTemplate(e)&&this.register(e.refs(),n)}get length(){return this.refs.length}clone(){let e=new t.Manager;return e.refs=r(this.refs),e}reset(){this.refs=[]}roots(){return this.refs.filter(e=>!e.ancestor).map(e=>e.root)}}},3378:(e,t,a)=>{"use strict";let i=a(5107),n={};n.wrap=i.string().min(1).max(2).allow(!1),t.preferences=i.object({allowUnknown:i.boolean(),abortEarly:i.boolean(),artifacts:i.boolean(),cache:i.boolean(),context:i.object(),convert:i.boolean(),dateFormat:i.valid("date","iso","string","time","utc"),debug:i.boolean(),errors:{escapeHtml:i.boolean(),label:i.valid("path","key",!1),language:[i.string(),i.object().ref()],render:i.boolean(),stack:i.boolean(),wrap:{label:n.wrap,array:n.wrap,string:n.wrap}},externals:i.boolean(),messages:i.object(),noDefaults:i.boolean(),nonEnumerables:i.boolean(),presence:i.valid("required","optional","forbidden"),skipFunctions:i.boolean(),stripUnknown:i.object({arrays:i.boolean(),objects:i.boolean()}).or("arrays","objects").allow(!0,!1),warnings:i.boolean()}).strict(),n.nameRx=/^[a-zA-Z0-9]\w*$/,n.rule=i.object({alias:i.array().items(i.string().pattern(n.nameRx)).single(),args:i.array().items(i.string(),i.object({name:i.string().pattern(n.nameRx).required(),ref:i.boolean(),assert:i.alternatives([i.function(),i.object().schema()]).conditional("ref",{is:!0,then:i.required()}),normalize:i.function(),message:i.string().when("assert",{is:i.function(),then:i.required()})})),convert:i.boolean(),manifest:i.boolean(),method:i.function().allow(!1),multi:i.boolean(),validate:i.function()}),t.extension=i.object({type:i.alternatives([i.string(),i.object().regex()]).required(),args:i.function(),cast:i.object().pattern(n.nameRx,i.object({from:i.function().maxArity(1).required(),to:i.function().minArity(1).maxArity(2).required()})),base:i.object().schema().when("type",{is:i.object().regex(),then:i.forbidden()}),coerce:[i.function().maxArity(3),i.object({method:i.function().maxArity(3).required(),from:i.array().items(i.string()).single()})],flags:i.object().pattern(n.nameRx,i.object({setter:i.string(),default:i.any()})),manifest:{build:i.function().arity(2)},messages:[i.object(),i.string()],modifiers:i.object().pattern(n.nameRx,i.function().minArity(1).maxArity(2)),overrides:i.object().pattern(n.nameRx,i.function()),prepare:i.function().maxArity(3),rebuild:i.function().arity(1),rules:i.object().pattern(n.nameRx,n.rule),terms:i.object().pattern(n.nameRx,i.object({init:i.array().allow(null).required(),manifest:i.object().pattern(/.+/,[i.valid("schema","single"),i.object({mapped:i.object({from:i.string().required(),to:i.string().required()}).required()})])}
9)),validate:i.function().maxArity(3)}).strict(),t.extensions=i.array().items(i.object(),i.function().arity(1)).strict(),n.desc={buffer:i.object({buffer:i.string()}),func:i.object({function:i.function().required(),options:{literal:!0}}),override:i.object({override:!0}),ref:i.object({ref:i.object({type:i.valid("value","global","local"),path:i.array().required(),separator:i.string().length(1).allow(!1),ancestor:i.number().min(0).integer().allow("root"),map:i.array().items(i.array().length(2)).min(1),adjust:i.function(),iterables:i.boolean(),in:i.boolean(),render:i.boolean()}).required()}),regex:i.object({regex:i.string().min(3)}),special:i.object({special:i.valid("deep").required()}),template:i.object({template:i.string().required(),options:i.object()}),value:i.object({value:i.alternatives([i.object(),i.array()]).required()})},n.desc.entity=i.alternatives([i.array().items(i.link("...")),i.boolean(),i.function(),i.number(),i.string(),n.desc.buffer,n.desc.func,n.desc.ref,n.desc.regex,n.desc.special,n.desc.template,n.desc.value,i.link("/")]),n.desc.values=i.array().items(null,i.boolean(),i.function(),i.number().allow(1/0,-1/0),i.string().allow(""),i.symbol(),n.desc.buffer,n.desc.func,n.desc.override,n.desc.ref,n.desc.regex,n.desc.template,n.desc.value),n.desc.messages=i.object().pattern(/.+/,[i.string(),n.desc.template,i.object().pattern(/.+/,[i.string(),n.desc.template])]),t.description=i.object({type:i.string().required(),flags:i.object({cast:i.string(),default:i.any(),description:i.string(),empty:i.link("/"),failover:n.desc.entity,id:i.string(),label:i.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:i.boolean(),unit:i.string()}).unknown(),preferences:{allowUnknown:i.boolean(),abortEarly:i.boolean(),artifacts:i.boolean(),cache:i.boolean(),convert:i.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:i.boolean(),label:["path","key"],language:[i.string(),n.desc.ref],wrap:{label:n.wrap,array:n.wrap}},externals:i.boolean(),messages:n.desc.messages,noDefaults:i.boolean(),nonEnumerables:i.boolean(),presence:["required","optional","forbidden"],skipFunctions:i.boolean(),stripUnknown:i.object({arrays:i.boolean(),objects:i.boolean()}).or("arrays","objects").allow(!0,!1),warnings:i.boolean()},allow:n.desc.values,invalid:n.desc.values,rules:i.array().min(1).items({name:i.string().required(),args:i.object().min(1),keep:i.boolean(),message:[i.string(),n.desc.messages],warn:i.boolean()}),keys:i.object().pattern(/.*/,i.link("/")),link:n.desc.ref}).pattern(/^[a-z]\w*$/,i.any())},493:(e,t,a)=>{"use strict";let i=a(8571),n=a(9621),s=a(8160),o={value:Symbol("value")};e.exports=o.State=class{constructor(e,t,a){this.path=e,this.ancestors=t,this.mainstay=a.mainstay,this.schemas=a.schemas,this.debug=null}localize(e,t=null,a=null){let i=new o.State(e,t,this);return a&&i.schemas&&(i.schemas=[o.schemas(a),...i.schemas]),i}nest(e,t){let a=new o.State(this.path,this.ancestors,this);return a.schemas=a.schemas&&[o.schemas(e),...a.schemas],a.debug=t,a}shadow(e,t){this.mainstay.shadow=this.mainstay.shadow||new o.Shadow,this.mainstay.shadow.set(this.path,e,t)}snapshot(){this.mainstay.shadow&&(this._snapshot=i(this.mainstay.shadow.node(this.path)))}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0)}},o.schemas=function(e){return s.isSchema(e)?{schema:e}:e},o.Shadow=class{constructor(){this._values=null}set(e,t,a){if(!e.length||"strip"===a&&"number"==typeof e[e.length-1])return;this._values=this._values||new Map;let i=this._values;for(let t=0;t<e.length;++t){let a=e[t],n=i.get(a);n||(n=new Map,i.set(a,n)),i=n}i[o.value]=t}get(e){let t=this.node(e);if(t)return t[o.value]}node(e){if(this._values)return n(this._values,e,{iterables:!0})}override(e,t){if(!this._values)return;let a=e.slice(0,-1),i=e[e.length-1],s=n(this._values,a,{iterables:!0});t?s.set(i,t):s&&s.delete(i)}}},3328:(e,t,a)=>{"use strict";function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};
9t%2?i(Object(a),!0).forEach(function(t){var i,n,s;i=e,n=t,s=a[t],n in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}let s=a(375),o=a(8571),r=a(5277),l=a(1447),u=a(8160),m=a(6354),d=a(6133),c={symbol:Symbol("template"),opens:Array(1e3).join("\0"),closes:Array(1e3).join("\x01"),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};e.exports=c.Template=class{constructor(e,t){s("string"==typeof e,"Template source must be a string"),s(!e.includes("\0")&&!e.includes("\x01"),"Template source cannot contain reserved control characters"),this.source=e,this.rendered=e,this._template=null,this._settings=o(t),this._parse()}_parse(){if(!this.source.includes("{"))return;let e=c.encode(this.source),t=c.split(e),a=!1,i=[],n=t.shift();for(let e of(n&&i.push(n),t)){let t="{"!==e[0],n=t?"}":"}}",s=e.indexOf(n);if(-1===s||"{"===e[1]){i.push("{".concat(c.decode(e)));continue}let o=e.slice(+!t,s),r=":"===o[0];r&&(o=o.slice(1));let l=this._ref(c.decode(o),{raw:t,wrapped:r});i.push(l),"string"!=typeof l&&(a=!0);let u=e.slice(s+n.length);u&&i.push(c.decode(u))}a?this._template=i:this.rendered=i.join("")}static date(e,t){return c.dateFormat[t.dateFormat].call(e)}describe(e={}){if(!this._settings&&e.compact)return this.source;let t={template:this.source};return this._settings&&(t.options=this._settings),t}static build(e){return new c.Template(e.template,e.options)}isDynamic(){return!!this._template}static isTemplate(e){return!!e&&!!e[u.symbols.template]}refs(){if(!this._template)return;let e=[];for(let t of this._template)"string"!=typeof t&&e.push(...t.refs);return e}resolve(e,t,a,i){return this._template&&1===this._template.length?this._part(this._template[0],e,t,a,i,{}):this.render(e,t,a,i)}_part(e,...t){return e.ref?e.ref.resolve(...t):e.formula.evaluate(t)}render(e,t,a,i,n={}){if(!this.isDynamic())return this.rendered;let s=[];for(let o of this._template)if("string"==typeof o)s.push(o);else{let l=this._part(o,e,t,a,i,n),u=c.stringify(l,e,t,a,i,n);if(void 0!==u){let e=o.raw||!1===(n.errors&&n.errors.escapeHtml)?u:r(u);s.push(c.wrap(e,o.wrapped&&a.errors.wrap.label))}}return s.join("")}_ref(e,{raw:t,wrapped:a}){let i=[],n=e=>{let t=d.create(e,this._settings);return i.push(t),e=>t.resolve(...e)};try{var s=new l.Parser(e,{reference:n,functions:c.functions,constants:c.constants})}catch(t){throw t.message='Invalid template variable "'.concat(e,'" fails due to: ').concat(t.message),t}if(s.single){if("reference"===s.single.type){let e=i[0];return{ref:e,raw:t,refs:i,wrapped:a||"local"===e.type&&"label"===e.key}}return c.stringify(s.single.value)}return{formula:s,raw:t,refs:i}}toString(){return this.source}},c.Template.prototype[u.symbols.template]=!0,c.Template.prototype.isImmutable=!0,c.encode=function(e){return e.replace(/\\(\{+)/g,(e,t)=>c.opens.slice(0,t.length)).replace(/\\(\}+)/g,(e,t)=>c.closes.slice(0,t.length))},c.decode=function(e){return e.replace(/\u0000/g,"{").replace(/\u0001/g,"}")},c.split=function(e){let t=[],a="";for(let i=0;i<e.length;++i){let n=e[i];if("{"===n){let n="";for(;i+1<e.length&&"{"===e[i+1];)n+="{",++i;t.push(a),a=n}else a+=n}return t.push(a),t},c.wrap=function(e,t){return t?1===t.length?"".concat(t).concat(e).concat(t):"".concat(t[0]).concat(e).concat(t[1]):e},c.stringify=function(e,t,a,i,s,o={}){let r=typeof e,l=i&&i.errors&&i.errors.wrap||{},u=!1;if(d.isRef(e)&&e.render&&(u=e.in,e=e.resolve(t,a,i,s,n({in:e.in},o))),null===e)return"null";if("string"===r)return c.wrap(e,o.arrayItems&&l.string);if("number"===r||"function"===r||"symbol"===r)return e.toString();if("object"!==r)return JSON.stringify(e);if(e instanceof Date)return c.Template.date(e,i);if(e instanceof Map){let t=[];for(let[a,i]of e.entries())t.push("".concat(a.toString()," -> ").concat(i.toString()));e=t}if(!Array.isArray(e))return e.toString();let m=[];for(let r of e)m.push(c.stringify(r,t,a,i,s,n({arrayItems:!0},o)));return c.wrap(m.join(", "),!u&&l.array)},c.constants={true:!0,false:!1,null:null,second:1e3,minute:6e4,hour:36e5,day:864e5},c.functions={if:(e,t,a)=>e?t:a,length:e=>"string"==typeof e?e.length:e&&"object"==typeof e?Array.isArray(e)?e.length:Object.keys(e).length:null,msg(e){let[t,a,i,n,s]=this,o=s.messages;if(!o)return"";let r=m.template(t,o[0],e,a,i)||m.template(t,o[1],e,a,i);return r?r.render(t,a,i,n,s):""},number:e=>"number"==typeof e?e:"string"==typeof e?parseFloat(e):"boolean"==typeof e?+!!e:e instanceof Date?e.getTime():null}},4946:(e,t,a)=>{"use strict";let i=a(375),n=a(1687),s=a(8068),o=a(8160),r=a(3292),l=a(6354),u=a(6133),m={};e.exports=s.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:u.toSibling}},args:(e,...t)=>1===t.length&&Array.isArray(t[0])?e.try(...t[0]):e.try(...t),validate(e,t){let{schema:a,error:i,state:s,prefs:o}=t;if(a._flags.match){let t=[],r=[];for(let i=0;i<a.$_terms.matches.length;++i){let n=a.$_terms.matches[i],l=s.nest(n.schema,"match.".concat(i));l.snapshot();let u=n.schema.$_validate(e,l,o);
9u.errors?(r.push(u.errors),l.restore()):t.push(u.value)}if(0===t.length)return{errors:i("alternatives.any",{details:r.map(e=>l.details(e,{override:!1}))})};if("one"===a._flags.match)return 1===t.length?{value:t[0]}:{errors:i("alternatives.one")};if(t.length!==a.$_terms.matches.length)return{errors:i("alternatives.all",{details:r.map(e=>l.details(e,{override:!1}))})};let u=e=>e.$_terms.matches.some(e=>"object"===e.schema.type||"alternatives"===e.schema.type&&u(e.schema));return u(a)?{value:t.reduce((e,t)=>n(e,t,{mergeArrays:!1}))}:{value:t[t.length-1]}}let r=[];for(let t=0;t<a.$_terms.matches.length;++t){let i=a.$_terms.matches[t];if(i.schema){let a=s.nest(i.schema,"match.".concat(t));a.snapshot();let n=i.schema.$_validate(e,a,o);if(!n.errors)return n;a.restore(),r.push({schema:i.schema,reports:n.errors});continue}let n=i.ref?i.ref.resolve(e,s,o):e,l=i.is?[i]:i.switch;for(let a=0;a<l.length;++a){let{is:r,then:u,otherwise:m}=l[a],d="match.".concat(t).concat(i.switch?"."+a:"");if(r.$_match(n,s.nest(r,"".concat(d,".is")),o)){if(u)return u.$_validate(e,s.nest(u,"".concat(d,".then")),o)}else if(m)return m.$_validate(e,s.nest(m,"".concat(d,".otherwise")),o)}}return m.errors(r,t)},rules:{conditional:{method(e,t){i(!this._flags._endedSwitch,"Unreachable condition"),i(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),i(void 0===t.break,"Cannot use break option with alternatives conditional");let a=this.clone(),n=r.when(a,e,t);for(let e of n.is?[n]:n.switch)if(e.then&&e.otherwise){a.$_setFlag("_endedSwitch",!0,{clone:!1});break}return a.$_terms.matches.push(n),a.$_mutateRebuild()}},match:{method(e){if(i(["any","one","all"].includes(e),"Invalid alternatives match mode",e),"any"!==e)for(let t of this.$_terms.matches)i(t.schema,"Cannot combine match mode",e,"with conditional rules");return this.$_setFlag("match",e)}},try:{method(...e){i(e.length,"Missing alternative schemas"),o.verifyFlat(e,"try"),i(!this._flags._endedSwitch,"Unreachable condition");let t=this.clone();for(let a of e)t.$_terms.matches.push({schema:t.$_compile(a)});return t.$_mutateRebuild()}}},overrides:{label(e){return this.$_parent("label",e).$_modify({each:(t,a)=>"is"!==a.path[0]?t.label(e):void 0,ref:!1})}},rebuild(e){e.$_modify({each:t=>{o.isSchema(t)&&"array"===t.type&&e.$_setFlag("_arrayItems",!0,{clone:!1})}})},manifest:{build(e,t){if(t.matches)for(let a of t.matches){let{schema:t,ref:i,is:n,not:s,then:o,otherwise:r}=a;e=t?e.try(t):i?e.conditional(i,{is:n,then:o,not:s,otherwise:r,switch:a.switch}):e.conditional(n,{then:o,otherwise:r})}return e}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}}),m.errors=function(e,{error:t,state:a}){if(!e.length)return{errors:t("alternatives.any")};if(1===e.length)return{errors:e[0].reports};let i=new Set,n=[];for(let{reports:s,schema:o}of e){if(s.length>1)return m.unmatched(e,t);let r=s[0];if(r instanceof l.Report==0)return m.unmatched(e,t);if(r.state.path.length!==a.path.length){n.push({type:o.type,report:r});continue}if("any.only"===r.code){for(let e of r.local.valids)i.add(e);continue}let[u,d]=r.code.split(".");"base"===d?i.add(u):n.push({type:o.type,report:r})}return n.length?1===n.length?{errors:n[0].report}:m.unmatched(e,t):{errors:t("alternatives.types",{types:[...i]})}},m.unmatched=function(e,t){let a=[];for(let t of e)a.push(...t.reports);return{errors:t("alternatives.match",l.details(a,{override:!1}))}}},8068:(e,t,a)=>{"use strict";let i=a(375),n=a(7629),s=a(8160),o=a(6914);e.exports=n.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(e,t){return i("function"==typeof e,"Method must be a function"),i(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:e,description:t}})},validate(e,t,{method:a}){try{return a(e,t)}catch(e){return t.error("any.custom",{error:e})}},args:["method","description"],multi:!0},messages:{method(e){return this.prefs({messages:e})}},shared:{method(e){i(s.isSchema(e)&&e._flags.id,"Schema must be a schema with an id");let t=this.clone();return t.$_terms.shared=t.$_terms.shared||[],t.$_terms.shared.push(e),t.$_mutateRegister(e),t}},warning:{method(e,t){return i(e&&"string"==typeof e,"Invalid warning code"),this.$_addRule({name:"warning",args:{code:e,local:t},warn:!0})},validate:(e,t,{code:a,local:i})=>t.error(a,i),args:["code","local"],multi:!0}},modifiers:{keep(e,t=!0){e.keep=t},message(e,t){e.message=o.compile(t)},warn(e,t=!0){e.warn=t}},manifest:{build(e,t){for(let a in t){let i=t[a];if(["examples","externals","metas","notes","tags"].includes(a))for(let t of i)e=e[a.slice(0,-1)](t);else if("alterations"!==a)if("whens"!==a){if("shared"===a)for(let t of i)e=e.shared(t)}else for(let t of i){let{ref:a,is:i,not:n,then:s,otherwise:o,concat:r}=t;e=r?e.concat(r):a?e.when(a,{is:i,not:n,then:s,otherwise:o,switch:t.switch,break:t.break}):e.when(i,{then:s,otherwise:o,break:t.break})}else{let t={};for(let{target:e,adjuster:a}of i)t[e]=a;e=e.alter(t)}}return e}}
9,messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})},546:(e,t,a)=>{"use strict";let i=a(375),n=a(9474),s=a(9621),o=a(8068),r=a(8160),l=a(3292),u={};e.exports=o.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(e,{schema:t,state:a,prefs:i}){if(!Array.isArray(e))return;let n=t.$_getRule("sort");return n?u.sort(t,e,n.args.options,a,i):void 0}},validate(e,{schema:t,error:a}){if(!Array.isArray(e)){if(t._flags.single){let t=[e];return t[r.symbols.arraySingle]=!0,{value:t}}return{errors:a("array.base")}}if(t.$_getRule("items")||t.$_terms.externals)return{value:e.slice()}},rules:{has:{method(e){e=this.$_compile(e,{appendPath:!0});let t=this.$_addRule({name:"has",args:{schema:e}});return t.$_mutateRegister(e),t},validate(e,{state:t,prefs:a,error:i},{schema:n}){let s=[e,...t.ancestors];for(let i=0;i<e.length;++i){let o=t.localize([...t.path,i],s,n);if(n.$_match(e[i],o,a))return e}let o=n._flags.label;return o?i("array.hasKnown",{patternLabel:o}):i("array.hasUnknown",null)},multi:!0},items:{method(...e){r.verifyFlat(e,"items");let t=this.$_addRule("items");for(let a=0;a<e.length;++a){let i=r.tryWithPath(()=>this.$_compile(e[a]),a,{append:!0});t.$_terms.items.push(i)}return t.$_mutateRebuild()},validate(e,{schema:t,error:a,state:i,prefs:n,errorsArray:s}){let o=t.$_terms._requireds.slice(),l=t.$_terms.ordered.slice(),m=[...t.$_terms._inclusions,...o],d=!e[r.symbols.arraySingle];delete e[r.symbols.arraySingle];let c=s(),h=e.length;for(let s=0;s<h;++s){let r=e[s],p=!1,v=!1,k=d?s:new Number(s),y=[...i.path,k];if(!t._flags.sparse&&void 0===r){if(c.push(a("array.sparse",{key:k,path:y,pos:s,value:void 0},i.localize(y))),n.abortEarly)return c;l.shift();continue}let f=[e,...i.ancestors];for(let e of t.$_terms._exclusions)if(e.$_match(r,i.localize(y,f,e),n,{presence:"ignore"})){if(c.push(a("array.excludes",{pos:s,value:r},i.localize(y))),n.abortEarly)return c;p=!0,l.shift();break}if(p)continue;if(t.$_terms.ordered.length){if(l.length){let o=l.shift(),m=o.$_validate(r,i.localize(y,f,o),n);if(m.errors){if(c.push(...m.errors),n.abortEarly)return c}else if("strip"===o._flags.result)u.fastSplice(e,s),--s,--h;else{if(!t._flags.sparse&&void 0===m.value){if(c.push(a("array.sparse",{key:k,path:y,pos:s,value:void 0},i.localize(y))),n.abortEarly)return c;continue}e[s]=m.value}continue}if(!t.$_terms.items.length){if(c.push(a("array.orderedLength",{pos:s,limit:t.$_terms.ordered.length})),n.abortEarly)return c;break}}let g=[],b=o.length;for(let l=0;l<b;++l){let m=i.localize(y,f,o[l]);m.snapshot();let d=o[l].$_validate(r,m,n);if(g[l]=d,!d.errors){if(e[s]=d.value,v=!0,u.fastSplice(o,l),--l,--b,!t._flags.sparse&&void 0===d.value&&(c.push(a("array.sparse",{key:k,path:y,pos:s,value:void 0},i.localize(y))),n.abortEarly))return c;break}m.restore()}if(v)continue;let j=n.stripUnknown&&!!n.stripUnknown.arrays||!1;for(let l of(b=m.length,m)){let m,d=o.indexOf(l);if(-1!==d)m=g[d];else{let o=i.localize(y,f,l);if(o.snapshot(),!(m=l.$_validate(r,o,n)).errors){"strip"===l._flags.result?(u.fastSplice(e,s),--s,--h):t._flags.sparse||void 0!==m.value?e[s]=m.value:(c.push(a("array.sparse",{key:k,path:y,pos:s,value:void 0},i.localize(y))),p=!0),v=!0;break}o.restore()}if(1===b){if(j){u.fastSplice(e,s),--s,--h,v=!0;break}if(c.push(...m.errors),n.abortEarly)return c;p=!0;break}}if(!p&&(t.$_terms._inclusions.length||t.$_terms._requireds.length)&&!v){if(j){u.fastSplice(e,s),--s,--h;continue}if(c.push(a("array.includes",{pos:s,value:r},i.localize(y))),n.abortEarly)return c}}return o.length&&u.fillMissedErrors(t,c,o,e,i,n),l.length&&(u.fillOrderedErrors(t,c,l,e,i,n),c.length||u.fillDefault(l,e,i,n)),c.length?c:e},priority:!0,manifest:!1},length:{method(e){return this.$_addRule({name:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:a},{name:i,operator:n,args:s})=>r.compare(e.length,a,n)?e:t.error("array."+i,{limit:s.limit,value:e}),args:[{name:"limit",ref:!0,assert:r.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}},ordered:{method(...e){r.verifyFlat(e,"ordered");let t=this.$_addRule("items");for(let a=0;a<e.length;++a){let i=r.tryWithPath(()=>this.$_compile(e[a]),a,{append:!0});u.validateSingle(i,t),t.$_mutateRegister(i),t.$_terms.ordered.push(i)}return t.$_mutateRebuild()}},single:{method(e){let t=void 0===e||!!e;return i(!t||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",t)}},sort:{method(e={}){r.assertOptions(e,["by","order"]);let t={order:e.order||"ascending"};return e.by&&(t.by=l.ref(e.by,{ancestor:0}),i(!t.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:t}})},validate(e,{error:t,state:a,prefs:i,schema:n},{options:s}){let{value:o,errors:r}=u.sort(n,e,s,a,i);if(r)return r;for(let a=0;a<e.length;++a)if(e[a]!==o[a])return t("array.sort",{order:s.order,by:s.by?s.by.key:"value"});return e},convert:!0},sparse:{method(e){let t=void 0===e||!!e;return this._flags.sparse===t?this:(t?this.clone():this.$_addRule("items")).$_setFlag("sparse",t,{clone:!1})}},unique:{method(e,t={}){i(!e||"function"==typeof e||"string"==typeof e,"comparator must be a function or a string"),r.assertOptions(t,["ignoreUndefined","separator"]);let a={name:"unique",args:{options:t,comparator:e}};
9if(e)if("string"==typeof e){let i=r.default(t.separator,".");a.path=i?e.split(i):[e]}else a.comparator=e;return this.$_addRule(a)},validate(e,{state:t,error:a,schema:o},{comparator:r,options:l},{comparator:u,path:m}){let d={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),object:new Map,function:new Map,custom:new Map},c=u||n,h=l.ignoreUndefined;for(let n=0;n<e.length;++n){let o=m?s(e[n],m):e[n],l=u?d.custom:d[typeof o];if(i(l,"Failed to find unique map container for type",typeof o),l instanceof Map){let i,s=l.entries();for(;!(i=s.next()).done;)if(c(i.value[0],o)){let s=t.localize([...t.path,n],[e,...t.ancestors]),o={pos:n,value:e[n],dupePos:i.value[1],dupeValue:e[i.value[1]]};return m&&(o.path=r),a("array.unique",o,s)}l.set(o,n)}else{if((!h||void 0!==o)&&void 0!==l[o]){let i={pos:n,value:e[n],dupePos:l[o],dupeValue:e[l[o]]};return m&&(i.path=r),a("array.unique",i,t.localize([...t.path,n],[e,...t.ancestors]))}l[o]=n}}return e},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to:(e,t)=>new Set(e)}},rebuild(e){for(let t of(e.$_terms._inclusions=[],e.$_terms._exclusions=[],e.$_terms._requireds=[],e.$_terms.items))u.validateSingle(t,e),"required"===t._flags.presence?e.$_terms._requireds.push(t):"forbidden"===t._flags.presence?e.$_terms._exclusions.push(t):e.$_terms._inclusions.push(t);for(let t of e.$_terms.ordered)u.validateSingle(t,e)},manifest:{build:(e,t)=>(t.items&&(e=e.items(...t.items)),t.ordered&&(e=e.ordered(...t.ordered)),e)},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}}),u.fillMissedErrors=function(e,t,a,i,n,s){let o=[],r=0;for(let e of a){let t=e._flags.label;t?o.push(t):++r}o.length?r?t.push(e.$_createError("array.includesRequiredBoth",i,{knownMisses:o,unknownMisses:r},n,s)):t.push(e.$_createError("array.includesRequiredKnowns",i,{knownMisses:o},n,s)):t.push(e.$_createError("array.includesRequiredUnknowns",i,{unknownMisses:r},n,s))},u.fillOrderedErrors=function(e,t,a,i,n,s){let o=[];for(let e of a)"required"===e._flags.presence&&o.push(e);o.length&&u.fillMissedErrors(e,t,o,i,n,s)},u.fillDefault=function(e,t,a,i){let n=[],s=!0;for(let o=e.length-1;o>=0;--o){let r=e[o],l=[t,...a.ancestors],u=r.$_validate(void 0,a.localize(a.path,l,r),i).value;if(s){if(void 0===u)continue;s=!1}n.unshift(u)}n.length&&t.push(...n)},u.fastSplice=function(e,t){let a=t;for(;a<e.length;)e[a++]=e[a];--e.length},u.validateSingle=function(e,t){("array"===e.type||e._flags._arrayItems)&&(i(!t._flags.single,"Cannot specify array item with single rule enabled"),t.$_setFlag("_arrayItems",!0,{clone:!1}))},u.sort=function(e,t,a,i,n){let s="ascending"===a.order?1:-1,o=-1*s;try{return{value:t.slice().sort((r,l)=>{let m=u.compare(r,l,o,s);if(null!==m||(a.by&&(r=a.by.resolve(r,i,n),l=a.by.resolve(l,i,n)),null!==(m=u.compare(r,l,o,s))))return m;let d=typeof r;if(d!==typeof l)throw e.$_createError("array.sort.mismatching",t,null,i,n);if("number"!==d&&"string"!==d)throw e.$_createError("array.sort.unsupported",t,{type:d},i,n);return"number"===d?(r-l)*s:r<l?o:s})}}catch(e){return{errors:e}}},u.compare=function(e,t,a,i){return e===t?0:void 0===e?1:void 0===t?-1:null===e?i:null===t?a:null}},4937:(e,t,a)=>{"use strict";let i=a(375),n=a(8068),s=a(8160),o=a(2036),r=function(e){return"boolean"==typeof e};e.exports=n.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(e,{schema:t}){if("boolean"!=typeof e){if("string"==typeof e){let a=t._flags.sensitive?e:e.toLowerCase();e="true"===a||"false"!==a&&e}return"boolean"!=typeof e&&(e=t.$_terms.truthy&&t.$_terms.truthy.has(e,null,null,!t._flags.sensitive)||(!t.$_terms.falsy||!t.$_terms.falsy.has(e,null,null,!t._flags.sensitive))&&e),{value:e}}},validate(e,{error:t}){if("boolean"!=typeof e)return{value:e,errors:t("boolean.base")}},rules:{truthy:{method(...e){s.verifyFlat(e,"truthy");let t=this.clone();t.$_terms.truthy=t.$_terms.truthy||new o;for(let a=0;a<e.length;++a){let n=e[a];i(void 0!==n,"Cannot call truthy with undefined"),t.$_terms.truthy.add(n)}return t}},falsy:{method(...e){s.verifyFlat(e,"falsy");let t=this.clone();t.$_terms.falsy=t.$_terms.falsy||new o;for(let a=0;a<e.length;++a){let n=e[a];i(void 0!==n,"Cannot call falsy with undefined"),t.$_terms.falsy.add(n)}return t}},sensitive:{method(e=!0){return this.$_setFlag("sensitive",e)}}},cast:{number:{from:r,to:(e,t)=>+!!e},string:{from:r,to:(e,t)=>e?"true":"false"}},manifest:{build:(e,t)=>(t.truthy&&(e=e.truthy(...t.truthy)),t.falsy&&(e=e.falsy(...t.falsy)),e)},messages:{"boolean.base":"{{#label}} must be a boolean"}})},7500:(e,t,a)=>{"use strict";let i=a(375),n=a(8068),s=a(8160),o=a(3328),r={isDate:function(e){return e instanceof Date}};e.exports=n.extend({type:"date",coerce:{from:["number","string"],method:(e,{schema:t})=>({value:r.parse(e,t._flags.format)||e})},validate(e,{schema:t,error:a,prefs:i}){if(e instanceof Date&&!isNaN(e.getTime()))return;let n=t._flags.format;return i.convert&&n&&"string"==typeof e?{value:e,errors:a("date.format",{format:n})}:{value:e,errors:a("date.base")}},rules:{compare:{method:!1,validate(e,t,{date:a},{name:i,operator:n,args:o}){let r="now"===a?Date.now():a.getTime();return s.compare(e.getTime(),r,n)?e:t.error("date."+i,{limit:o.date,value:e})},args:[{name:"date",ref:!0,normalize:e=>"now"===e?e:r.parse(e),assert:e=>null!==e,message:"must have a valid date format"}]},format:{method(e){return i(["iso","javascript","unix"].includes(e),"Unknown date format",e),this.$_setFlag("format",e)}},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{date:e},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{date:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{date:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{date:e},operator:">="})}},timestamp:{method(e="javascript"){return i(["javascript","unix"].includes(e),'"type" must be one of "javascript, unix"'),this.format(e)}}},cast:{number:{from:r.isDate,to:(e,t)=>e.getTime()},string:{from:r.isDate,to:(e,{prefs:t})=>
9o.date(e,t)}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}}),r.parse=function(e,t){if(e instanceof Date)return e;if("string"!=typeof e&&(isNaN(e)||!isFinite(e))||/^\s*$/.test(e))return null;if("iso"===t)return s.isIsoDate(e)?r.date(e.toString()):null;let a=e;if("string"==typeof e&&/^[+-]?\d+(\.\d+)?$/.test(e)&&(e=parseFloat(e)),t){if("javascript"===t)return r.date(+e);if("unix"===t)return r.date(1e3*e);if("string"==typeof a)return null}return r.date(e)},r.date=function(e){let t=new Date(e);return isNaN(t.getTime())?null:t}},390:(e,t,a)=>{"use strict";let i=a(375);e.exports=a(7824).extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(e){return i(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:e}})},validate:(e,t,{n:a})=>e.length===a?e:t.error("function.arity",{n:a})},class:{method(){return this.$_addRule("class")},validate:(e,t)=>/^\s*class\s/.test(e.toString())?e:t.error("function.class",{value:e})},minArity:{method(e){return i(Number.isSafeInteger(e)&&e>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:e}})},validate:(e,t,{n:a})=>e.length>=a?e:t.error("function.minArity",{n:a})},maxArity:{method(e){return i(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:e}})},validate:(e,t,{n:a})=>e.length<=a?e:t.error("function.maxArity",{n:a})}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})},7824:(e,t,a)=>{"use strict";let i=a(978),n=a(375),s=a(8571),o=a(3652),r=a(8068),l=a(8160),u=a(3292),m=a(6354),d=a(6133),c=a(3328),h={renameDefaults:{alias:!1,multiple:!1,override:!1}};e.exports=r.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:!1}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args:(e,t)=>e.keys(t),validate(e,{schema:t,error:a,state:i,prefs:n}){if(!e||typeof e!==t.$_property("typeof")||Array.isArray(e))return{value:e,errors:a("object.base",{type:t.$_property("typeof")})};if(!(t.$_terms.renames||t.$_terms.dependencies||t.$_terms.keys||t.$_terms.patterns||t.$_terms.externals))return;e=h.clone(e,n);let s=[];if(t.$_terms.renames&&!h.rename(t,e,i,n,s)||!t.$_terms.keys&&!t.$_terms.patterns&&!t.$_terms.dependencies)return{value:e,errors:s};let o=new Set(Object.keys(e));if(t.$_terms.keys){let a=[e,...i.ancestors];for(let r of t.$_terms.keys){let t=r.key,l=e[t];o.delete(t);let u=i.localize([...i.path,t],a,r),m=r.schema.$_validate(l,u,n);if(m.errors){if(n.abortEarly)return{value:e,errors:m.errors};void 0!==m.value&&(e[t]=m.value),s.push(...m.errors)}else"strip"===r.schema._flags.result||void 0===m.value&&void 0!==l?delete e[t]:void 0!==m.value&&(e[t]=m.value)}}if(o.size||t._flags._hasPatternMatch){let a=h.unknown(t,e,o,s,i,n);if(a)return a}if(t.$_terms.dependencies)for(let a of t.$_terms.dependencies){if(a.key&&void 0===a.key.resolve(e,i,n,null,{shadow:!1}))continue;let o=h.dependencies[a.rel](t,a,e,i,n);if(o){let a=t.$_createError(o.code,e,o.context,i,n);if(n.abortEarly)return{value:e,errors:a};s.push(a)}}return{value:e,errors:s}},rules:{and:{method(...e){return l.verifyFlat(e,"and"),h.dependency(this,"and",null,e)}},append:{method(e){return null==e||0===Object.keys(e).length?this:this.keys(e)}},assert:{method(e,t,a){c.isTemplate(e)||(e=u.ref(e)),n(void 0===a||"string"==typeof a,"Message must be a string"),t=this.$_compile(t,{appendPath:!0});let i=this.$_addRule({name:"assert",args:{subject:e,schema:t,message:a}});return i.$_mutateRegister(e),i.$_mutateRegister(t),i},validate(e,{error:t,prefs:a,state:i},{subject:n,schema:s,message:o}){let r=n.resolve(e,i,a),l=d.isRef(n)?n.absolute(i):[];return s.$_match(r,i.localize(l,[e,...i.ancestors],s),a)?e:t("object.assert",{subject:n,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(e,t){return n("function"==typeof e,"constructor must be a function"),t=t||e.name,this.$_addRule({name:"instance",args:{constructor:e,name:t}})},validate:(e,t,{constructor:a,name:i})=>e instanceof a?e:t.error("object.instance",{type:i,value:e}),args:["constructor","name"]},keys:{method(e){n(void 0===e||"object"==typeof e,"Object schema must be a valid object"),n(!l.isSchema(e),"Object schema cannot be a joi schema");let t=this.clone();if(e)if(Object.keys(e).length)for(let a in t.$_terms.keys=t.$_terms.keys?t.$_terms.keys.filter(t=>!e.hasOwnProperty(t.key)):new h.Keys,e)l.tryWithPath(()=>t.$_terms.keys.push({key:a,schema:this.$_compile(e[a])}),a);else t.$_terms.keys=new h.Keys;else t.$_terms.keys=null;return t.$_mutateRebuild()}},length:{method(e){return this.$_addRule({name:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:a},{name:i,operator:n,args:s})=>l.compare(Object.keys(e).length,a,n)?e:t.error("object."+i,{limit:s.limit,value:e}),args:[{name:"limit",ref:!0,assert:l.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}},nand:{method(...e){return l.verifyFlat(e,"nand"),h.dependency(this,"nand",null,e)}},or:{method(...e){return l.verifyFlat(e,"or"),h.dependency(this,"or",null,e)}},oxor:{method(...e){return h.dependency(this,"oxor",null,e)}},pattern:{method(e,t,a={}){let i=e instanceof RegExp;i||(e=this.$_compile(e,{appendPath:!0})),n(void 0!==t,"Invalid rule"),l.assertOptions(a,["fallthrough","matches"]),i&&n(!e.flags.includes("g")&&!e.flags.includes("y"),"pattern should not use global or sticky mode"),t=this.$_compile(t,{appendPath:!0});let s=this.clone();s.$_terms.patterns=s.$_terms.patterns||[];let o={[i?"regex":"schema"]:e,rule:t};return a.matches&&(o.matches=this.$_compile(a.matches),"array"!==o.matches.type&&(o.matches=o.matches.$_root.array().items(o.matches)),s.$_mutateRegister(o.matches),s.$_setFlag("_hasPatternMatch",!0,{clone:!1})),a.fallthrough&&(o.fallthrough=!0),s.$_terms.patterns.push(o),s.$_mutateRegister(t),s}},ref:{method(){return this.$_addRule("ref")},validate:(e,t)=>
9d.isRef(e)?e:t.error("object.refType",{value:e})},regex:{method(){return this.$_addRule("regex")},validate:(e,t)=>e instanceof RegExp?e:t.error("object.regex",{value:e})},rename:{method(e,t,a={}){n("string"==typeof e||e instanceof RegExp,"Rename missing the from argument"),n("string"==typeof t||t instanceof c,"Invalid rename to argument"),n(t!==e,"Cannot rename key to same name:",e),l.assertOptions(a,["alias","ignoreUndefined","override","multiple"]);let s=this.clone();for(let t of(s.$_terms.renames=s.$_terms.renames||[],s.$_terms.renames))n(t.from!==e,"Cannot rename the same key multiple times");return t instanceof c&&s.$_mutateRegister(t),s.$_terms.renames.push({from:e,to:t,options:i(h.renameDefaults,a)}),s}},schema:{method(e="any"){return this.$_addRule({name:"schema",args:{type:e}})},validate:(e,t,{type:a})=>l.isSchema(e)&&("any"===a||e.type===a)?e:t.error("object.schema",{type:a})},unknown:{method(e){return this.$_setFlag("unknown",!1!==e)}},with:{method(e,t,a={}){return h.dependency(this,"with",e,t,a)}},without:{method(e,t,a={}){return h.dependency(this,"without",e,t,a)}},xor:{method(...e){return l.verifyFlat(e,"xor"),h.dependency(this,"xor",null,e)}}},overrides:{default(e,t){return void 0===e&&(e=l.symbols.deepDefault),this.$_parent("default",e,t)}},rebuild(e){if(e.$_terms.keys){let t=new o.Sorter;for(let a of e.$_terms.keys)l.tryWithPath(()=>t.add(a,{after:a.schema.$_rootReferences(),group:a.key}),a.key);e.$_terms.keys=new h.Keys(...t.nodes)}},manifest:{build(e,t){if(t.keys&&(e=e.keys(t.keys)),t.dependencies)for(let{rel:a,key:i=null,peers:n,options:s}of t.dependencies)e=h.dependency(e,a,i,n,s);if(t.patterns)for(let{regex:a,schema:i,rule:n,fallthrough:s,matches:o}of t.patterns)e=e.pattern(a||i,n,{fallthrough:s,matches:o});if(t.renames)for(let{from:a,to:i,options:n}of t.renames)e=e.rename(a,i,n);return e}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}}),h.clone=function(e,t){if("object"==typeof e){if(t.nonEnumerables)return s(e,{shallow:!0});let a=Object.create(Object.getPrototypeOf(e));return Object.assign(a,e),a}let a=function(...t){return e.apply(this,t)};return a.prototype=s(e.prototype),Object.defineProperty(a,"name",{value:e.name,writable:!1}),Object.defineProperty(a,"length",{value:e.length,writable:!1}),Object.assign(a,e),a},h.dependency=function(e,t,a,i,s){n(null===a||"string"==typeof a,t,"key must be a strings"),s||(s=i.length>1&&"object"==typeof i[i.length-1]?i.pop():{}),l.assertOptions(s,["separator"]),i=[].concat(i);let o=l.default(s.separator,"."),r=[];for(let e of i)n("string"==typeof e,t,"peers must be strings"),r.push(u.ref(e,{separator:o,ancestor:0,prefix:!1}));null!==a&&(a=u.ref(a,{separator:o,ancestor:0,prefix:!1}));let m=e.clone();return m.$_terms.dependencies=m.$_terms.dependencies||[],m.$_terms.dependencies.push(new h.Dependency(t,a,r,i)),m},h.dependencies={and(e,t,a,i,n){let s=[],o=[],r=t.peers.length;for(let e of t.peers)void 0===e.resolve(a,i,n,null,{shadow:!1})?s.push(e.key):o.push(e.key);if(s.length!==r&&o.length!==r)return{code:"object.and",context:{present:o,presentWithLabels:h.keysToLabels(e,o),missing:s,missingWithLabels:h.keysToLabels(e,s)}}},nand(e,t,a,i,n){let s=[];for(let e of t.peers)void 0!==e.resolve(a,i,n,null,{shadow:!1})&&s.push(e.key);if(s.length!==t.peers.length)return;let o=t.paths[0],r=t.paths.slice(1);return{code:"object.nand",context:{main:o,mainWithLabel:h.keysToLabels(e,o),peers:r,peersWithLabels:h.keysToLabels(e,r)}}},or(e,t,a,i,n){for(let e of t.peers)if(void 0!==e.resolve(a,i,n,null,{shadow:!1}))return;return{code:"object.missing",context:{peers:t.paths,peersWithLabels:h.keysToLabels(e,t.paths)}}},oxor(e,t,a,i,n){let s=[];for(let e of t.peers)void 0!==e.resolve(a,i,n,null,{shadow:!1})&&s.push(e.key);if(!s.length||1===s.length)return;let o={peers:t.paths,peersWithLabels:h.keysToLabels(e,t.paths)};return o.present=s,o.presentWithLabels=h.keysToLabels(e,s),{code:"object.oxor",context:o}},with(e,t,a,i,n){for(let s of t.peers)if(void 0===s.resolve(a,i,n,null,{shadow:!1}))return{code:"object.with",context:{main:t.key.key,mainWithLabel:h.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:h.keysToLabels(e,s.key)}}},without(e,t,a,i,n){for(let s of t.peers)if(void 0!==s.resolve(a,i,n,null,{shadow:!1}))return{code:"object.without",context:{main:t.key.key,mainWithLabel:h.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:h.keysToLabels(e,s.key)}}},xor(e,t,a,i,n){let s=[];for(let e of t.peers)void 0!==e.resolve(a,i,n,null,{shadow:!1})&&s.push(e.key);if(1===s.length)return;let o={peers:t.paths,peersWithLabels:h.keysToLabels(e,t.paths)};return 0===s.length?{code:"object.missing",context:o}:(o.present=s,o.presentWithLabels=h.keysToLabels(e,s),{code:"object.xor",context:o})}},h.keysToLabels=function(e,t){return Array.isArray(t)?t.map(t=>e.$_mapLabels(t)):e.$_mapLabels(t)},h.rename=function(e,t,a,i,n){let s={};for(let o of e.$_terms.renames){let r=[],l="string"!=typeof o.from;if(l)for(let e in t){if(void 0===t[e]&&o.options.ignoreUndefined||e===o.to)continue;let a=o.from.exec(e);a&&r.push({from:e,to:o.to,match:a})}else!Object.prototype.hasOwnProperty.call(t,o.from)||void 0===t[o.from]&&o.options.ignoreUndefined||r.push(o);for(let u of r){let r=u.from,m=u.to;if(m instanceof c&&(m=m.render(t,a,i,u.match)),r!==m){if(!o.options.multiple&&s[m]&&(n.push(e.$_createError("object.rename.multiple",t,{from:r,to:m,pattern:l},a,i)),i.abortEarly)||Object.prototype.hasOwnProperty.call(t,m)&&!o.options.override&&!s[m]&&(n.push(e.$_createError("object.rename.override",t,{from:r,to:m,pattern:l},a,i)),i.abortEarly))return!1;void 0===t[r]?delete t[m]:t[m]=t[r],s[m]=!0,o.options.alias||delete t[r]}}}return!0},h.unknown=function(e,t,a,i,n,s){if(e.$_terms.patterns){let o=!1,r=e.$_terms.patterns.map(e=>{if(e.matches)return o=!0,[]}),l=[t,...n.ancestors];for(let o of a){let u=t[o],m=[...n.path,o];for(let d=0;d<e.$_terms.patterns.length;++d){let c=e.$_terms.patterns[d];if(c.regex){let e=c.regex.test(o);if(n.mainstay.tracer.debug(n,"rule","pattern.".concat(d),e?"pass":"error"),!e)continue}else if(!c.schema.$_match(o,n.nest(c.schema,"pattern.".concat(d)),s))continue;a.delete(o);let h=n.localize(m,l,{schema:c.rule,key:o}),p=c.rule.$_validate(u,h,s);if(p.errors){if(s.abortEarly)return{value:t,errors:p.errors};i.push(...p.errors)}if(c.matches&&r[d].push(o),t[o]=p.value,!c.fallthrough)break}}if(o)for(let a=0;a<r.length;++a){let o=r[a];if(!o)continue;let u=e.$_terms.patterns[a].matches,d=n.localize(n.path,l,u),c=u.$_validate(o,d,s);if(c.errors){let a=m.details(c.errors,{override:!1});a.matches=o;let r=e.$_createError("object.pattern.match",t,a,n,s);if(s.abortEarly)return{value:t,errors:r};i.push(r)}}}
9if(a.size&&(e.$_terms.keys||e.$_terms.patterns)){if(s.stripUnknown&&!e._flags.unknown||s.skipFunctions){let e=!(!s.stripUnknown||!0!==s.stripUnknown&&!s.stripUnknown.objects);for(let i of a)e?(delete t[i],a.delete(i)):"function"==typeof t[i]&&a.delete(i)}if(!l.default(e._flags.unknown,s.allowUnknown))for(let o of a){let a=n.localize([...n.path,o],[]),r=e.$_createError("object.unknown",t[o],{child:o},a,s,{flags:!1});if(s.abortEarly)return{value:t,errors:r};i.push(r)}}},h.Dependency=class{constructor(e,t,a,i){this.rel=e,this.key=t,this.peers=a,this.paths=i}describe(){let e={rel:this.rel,peers:this.paths};return null!==this.key&&(e.key=this.key.key),"."!==this.peers[0].separator&&(e.options={separator:this.peers[0].separator}),e}},h.Keys=class extends Array{concat(e){let t=this.slice(),a=new Map;for(let e=0;e<t.length;++e)a.set(t[e].key,e);for(let i of e){let e=i.key,n=a.get(e);void 0!==n?t[n]={key:e,schema:t[n].schema.concat(i.schema)}:t.push(i)}return t}}},8785:(e,t,a)=>{"use strict";let i=a(375),n=a(8068),s=a(8160),o=a(3292),r=a(6354),l={};e.exports=n.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args:(e,t)=>e.ref(t),validate(e,{schema:t,state:a,prefs:n}){i(t.$_terms.link,"Uninitialized link schema");let s=l.generate(t,e,a,n),o=t.$_terms.link[0].ref;return s.$_validate(e,a.nest(s,"link:".concat(o.display,":").concat(s.type)),n)},generate:(e,t,a,i)=>l.generate(e,t,a,i),rules:{ref:{method(e){i(!this.$_terms.link,"Cannot reinitialize schema"),i("value"===(e=o.ref(e)).type||"local"===e.type,"Invalid reference type:",e.type),i("local"===e.type||"root"===e.ancestor||e.ancestor>0,"Link cannot reference itself");let t=this.clone();return t.$_terms.link=[{ref:e}],t}},relative:{method(e=!0){return this.$_setFlag("relative",e)}}},overrides:{concat(e){i(this.$_terms.link,"Uninitialized link schema"),i(s.isSchema(e),"Invalid schema object"),i("link"!==e.type,"Cannot merge type link with another link");let t=this.clone();return t.$_terms.whens||(t.$_terms.whens=[]),t.$_terms.whens.push({concat:e}),t.$_mutateRebuild()}},manifest:{build:(e,t)=>(i(t.link,"Invalid link description missing link"),e.ref(t.link))}}),l.generate=function(e,t,a,i){let n=a.mainstay.links.get(e);if(n)return n._generate(t,a,i).schema;let s=e.$_terms.link[0].ref,{perspective:o,path:r}=l.perspective(s,a);l.assert(o,"which is outside of schema boundaries",s,e,a,i);try{n=r.length?o.$_reach(r):o}catch(t){l.assert(!1,"to non-existing schema",s,e,a,i)}return l.assert("link"!==n.type,"which is another link",s,e,a,i),e._flags.relative||a.mainstay.links.set(e,n),n._generate(t,a,i).schema},l.perspective=function(e,t){if("local"===e.type){for(let{schema:a,key:i}of t.schemas){if((a._flags.id||i)===e.path[0])return{perspective:a,path:e.path.slice(1)};if(a.$_terms.shared){for(let t of a.$_terms.shared)if(t._flags.id===e.path[0])return{perspective:t,path:e.path.slice(1)}}}return{perspective:null,path:null}}return"root"===e.ancestor?{perspective:t.schemas[t.schemas.length-1].schema,path:e.path}:{perspective:t.schemas[e.ancestor]&&t.schemas[e.ancestor].schema,path:e.path}},l.assert=function(e,t,a,n,s,o){e||i(!1,'"'.concat(r.label(n._flags,s,o),'" contains link reference "').concat(a.display,'" ').concat(t))}},3832:(e,t,a)=>{"use strict";let i=a(375),n=a(8068),s=a(8160),o={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/};e.exports=n.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(e,{schema:t,error:a}){let i=e.match(o.numberRx);if(!i)return;let n={value:parseFloat(e=e.trim())};if(0===n.value&&(n.value=0),!t._flags.unsafe)if(e.match(/e/i)){if(o.normalizeExponent("".concat(n.value/Math.pow(10,i[1]),"e").concat(i[1]))!==o.normalizeExponent(e))return n.errors=a("number.unsafe"),n}else{let t=n.value.toString();if(t.match(/e/i))return n;if(t!==o.normalizeDecimal(e))return n.errors=a("number.unsafe"),n}return n}},validate(e,{schema:t,error:a,prefs:i}){if(e===1/0||e===-1/0)return{value:e,errors:a("number.infinity")};if(!s.isNumber(e))return{value:e,errors:a("number.base")};let n={value:e};if(i.convert){let e=t.$_getRule("precision");if(e){let t=Math.pow(10,e.args.limit);n.value=Math.round(n.value*t)/t}}return 0===n.value&&(n.value=0),!t._flags.unsafe&&(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)&&(n.errors=a("number.unsafe")),n},rules:{compare:{method:!1,validate:(e,t,{limit:a},{name:i,operator:n,args:o})=>s.compare(e,a,n)?e:t.error("number."+i,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:s.isNumber,message:"must be a number"}]},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{limit:e},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate:(e,t)=>
9Math.trunc(e)-e==0?e:t.error("number.integer")},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{limit:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{limit:e},operator:">="})}},multiple:{method(e){return this.$_addRule({name:"multiple",args:{base:e}})},validate:(e,t,{base:a},i)=>1/a*e%1==0?e:t.error("number.multiple",{multiple:i.args.base,value:e}),args:[{name:"base",ref:!0,assert:e=>"number"==typeof e&&isFinite(e)&&e>0,message:"must be a positive number"}],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate:(e,t)=>Number.isSafeInteger(e)&&e>=0&&e<=65535?e:t.error("number.port")},positive:{method(){return this.sign("positive")}},precision:{method(e){return i(Number.isSafeInteger(e),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:e}})},validate(e,t,{limit:a}){let i=e.toString().match(o.precisionRx);return Math.max((i[1]?i[1].length:0)-(i[2]?parseInt(i[2],10):0),0)<=a?e:t.error("number.precision",{limit:a,value:e})},convert:!0},sign:{method(e){return i(["negative","positive"].includes(e),"Invalid sign",e),this.$_addRule({name:"sign",args:{sign:e}})},validate:(e,t,{sign:a})=>"negative"===a&&e<0||"positive"===a&&e>0?e:t.error("number.".concat(a))},unsafe:{method(e=!0){return i("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("unsafe",e)}}},cast:{string:{from:e=>"number"==typeof e,to:(e,t)=>e.toString()}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}}),o.normalizeExponent=function(e){return e.replace(/E/,"e").replace(/\.(\d*[1-9])?0+e/,".$1e").replace(/\.e/,"e").replace(/e\+/,"e").replace(/^\+/,"").replace(/^(-?)0+([1-9])/,"$1$2")},o.normalizeDecimal=function(e){return(e=e.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2")).includes(".")&&e.endsWith("0")&&(e=e.replace(/0+$/,"")),"-0"===e?"0":e}},8966:(e,t,a)=>{"use strict";e.exports=a(7824).extend({type:"object",cast:{map:{from:e=>e&&"object"==typeof e,to:(e,t)=>new Map(Object.entries(e))}}})},7417:(e,t,a)=>{"use strict";function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){var i,n,s;i=e,n=t,s=a[t],n in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}let s=a(375),o=a(5380),r=a(1745),l=a(9959),u=a(6064),m=a(9926),d=a(5752),c=a(8068),h=a(8160),p={tlds:m instanceof Set&&{tlds:{allow:m,deny:null}},base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:/^[a-f0-9]+$/i,ipRegex:l.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};e.exports=c.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(e,{schema:t,state:a,prefs:i}){let n=t.$_getRule("normalize");n&&(e=e.normalize(n.args.form));let s=t.$_getRule("case");s&&(e="upper"===s.args.direction?e.toLocaleUpperCase():e.toLocaleLowerCase());let o=t.$_getRule("trim");if(o&&o.args.enabled&&(e=e.trim()),t.$_terms.replacements)for(let a of t.$_terms.replacements)e=e.replace(a.pattern,a.replacement);let r=t.$_getRule("hex");
9if(r&&r.args.options.byteAligned&&e.length%2!=0&&(e="0".concat(e)),t.$_getRule("isoDate")){let t=p.isoDate(e);t&&(e=t)}if(t._flags.truncate){let n=t.$_getRule("max");if(n){let s=n.args.limit;if(h.isResolvable(s)&&(s=s.resolve(e,a,i),!h.limit(s)))return{value:e,errors:t.$_createError("any.ref",s,{ref:n.args.limit,arg:"limit",reason:"must be a positive integer"},a,i)};e=e.slice(0,s)}}return{value:e}}},validate(e,{schema:t,error:a}){if("string"!=typeof e)return{value:e,errors:a("string.base")};if(""===e){let i=t.$_getRule("min");if(i&&0===i.args.limit)return;return{value:e,errors:a("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate:(e,t)=>/^[a-zA-Z0-9]+$/.test(e)?e:t.error("string.alphanum")},base64:{method(e={}){return h.assertOptions(e,["paddingRequired","urlSafe"]),s("boolean"==typeof(e=n({urlSafe:!1,paddingRequired:!0},e)).paddingRequired,"paddingRequired must be boolean"),s("boolean"==typeof e.urlSafe,"urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:e}})},validate:(e,t,{options:a})=>p.base64Regex[a.paddingRequired][a.urlSafe].test(e)?e:t.error("string.base64")},case:{method(e){return s(["lower","upper"].includes(e),"Invalid case:",e),this.$_addRule({name:"case",args:{direction:e}})},validate:(e,t,{direction:a})=>"lower"===a&&e===e.toLocaleLowerCase()||"upper"===a&&e===e.toLocaleUpperCase()?e:t.error("string.".concat(a,"case")),convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(e,t){let a=e.length,i=0,n=1;for(;a--;){let t=e.charAt(a)*n;i+=t-9*(t>9),n^=3}return i>0&&i%10==0?e:t.error("string.creditCard")}},dataUri:{method(e={}){return h.assertOptions(e,["paddingRequired"]),s("boolean"==typeof(e=n({paddingRequired:!0},e)).paddingRequired,"paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:e}})},validate(e,t,{options:a}){let i=e.match(p.dataUriRegex);return i&&(!i[2]||"base64"!==i[2]||p.base64Regex[a.paddingRequired].false.test(i[3]))?e:t.error("string.dataUri")}},domain:{method(e){e&&h.assertOptions(e,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let t=p.addressOptions(e);return this.$_addRule({name:"domain",args:{options:e},address:t})},validate:(e,t,a,{address:i})=>o.isValid(e,i)?e:t.error("string.domain")},email:{method(e={}){h.assertOptions(e,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),s(void 0===e.multiple||"boolean"==typeof e.multiple,"multiple option must be an boolean");let t=p.addressOptions(e),a=new RegExp("\\s*[".concat(e.separator?u(e.separator):",","]\\s*"));return this.$_addRule({name:"email",args:{options:e},regex:a,address:t})},validate(e,t,{options:a},{regex:i,address:n}){let s=a.multiple?e.split(i):[e],o=[];for(let e of s)r.isValid(e,n)||o.push(e);return o.length?t.error("string.email",{value:e,invalids:o}):e}},guid:{alias:"uuid",method(e={}){h.assertOptions(e,["version","separator"]);let t="";if(e.version){let a=[].concat(e.version);s(a.length>=1,"version must have at least 1 valid version specified");let i=new Set;for(let e=0;e<a.length;++e){let n=a[e];s("string"==typeof n,"version at position "+e+" must be a string");let o=p.guidVersions[n.toLowerCase()];s(o,"version at position "+e+" must be one of "+Object.keys(p.guidVersions).join(", ")),s(!i.has(o),"version at position "+e+" must not be a duplicate"),t+=o,i.add(o)}}s(p.guidSeparators.has(e.separator),'separator must be one of true, false, "-", or ":"');let a=void 0===e.separator?"[:-]?":!0===e.separator?"[:-]":!1===e.separator?"[]?":"\\".concat(e.separator),i=RegExp("^([\\[{\\(]?)[0-9A-F]{8}(".concat(a,")[0-9A-F]{4}\\2?[").concat(t||"0-9A-F","][0-9A-F]{3}\\2?[").concat(t?"89AB":"0-9A-F","][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$"),"i");return this.$_addRule({name:"guid",args:{options:e},regex:i})},validate(e,t,a,{regex:i}){let n=i.exec(e);return n?p.guidBrackets[n[1]]!==n[n.length-1]?t.error("string.guid"):e:t.error("string.guid")}},hex:{method(e={}){return h.assertOptions(e,["byteAligned"]),s("boolean"==typeof(e=n({byteAligned:!1},e)).byteAligned,"byteAligned must be boolean"),this.$_addRule({name:"hex",args:{options:e}})},validate:(e,t,{options:a})=>p.hexRegex.test(e)?a.byteAligned&&e.length%2!=0?t.error("string.hexAlign"):e:t.error("string.hex")},hostname:{method(){return this.$_addRule("hostname")},validate:(e,t)=>
9o.isValid(e,{minDomainSegments:1})||p.ipRegex.test(e)?e:t.error("string.hostname")},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(e={}){h.assertOptions(e,["cidr","version"]);let{cidr:t,versions:a,regex:i}=l.regex(e),n=e.version?a:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:t,version:n}},regex:i})},validate:(e,t,{options:a},{regex:i})=>i.test(e)?e:a.version?t.error("string.ipVersion",{value:e,cidr:a.cidr,version:a.version}):t.error("string.ip",{value:e,cidr:a.cidr})},isoDate:{method(){return this.$_addRule("isoDate")},validate:(e,{error:t})=>p.isoDate(e)?e:t("string.isoDate")},isoDuration:{method(){return this.$_addRule("isoDuration")},validate:(e,t)=>p.isoDurationRegex.test(e)?e:t.error("string.isoDuration")},length:{method(e,t){return p.length(this,"length",e,"=",t)},validate(e,t,{limit:a,encoding:i},{name:n,operator:s,args:o}){let r=!i&&e.length;return h.compare(r,a,s)?e:t.error("string."+n,{limit:o.limit,value:e,encoding:i})},args:[{name:"limit",ref:!0,assert:h.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(e,t){return p.length(this,"max",e,"<=",t)},args:["limit","encoding"]},min:{method(e,t){return p.length(this,"min",e,">=",t)},args:["limit","encoding"]},normalize:{method(e="NFC"){return s(p.normalizationForms.includes(e),"normalization form must be one of "+p.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:e}})},validate:(e,{error:t},{form:a})=>e===e.normalize(a)?e:t("string.normalize",{value:e,form:a}),convert:!0},pattern:{alias:"regex",method(e,t={}){s(e instanceof RegExp,"regex must be a RegExp"),s(!e.flags.includes("g")&&!e.flags.includes("y"),"regex should not use global or sticky mode"),"string"==typeof t&&(t={name:t}),h.assertOptions(t,["invert","name"]);let a="string.pattern"+(t.invert?".invert":"")+(t.name?".name":".base");return this.$_addRule({name:"pattern",args:{regex:e,options:t},errorCode:a})},validate:(e,t,{regex:a,options:i},{errorCode:n})=>a.test(e)^i.invert?e:t.error(n,{name:i.name,regex:a,value:e}),args:["regex","options"],multi:!0},replace:{method(e,t){"string"==typeof e&&(e=RegExp(u(e),"g")),s(e instanceof RegExp,"pattern must be a RegExp"),s("string"==typeof t,"replacement must be a String");let a=this.clone();return a.$_terms.replacements||(a.$_terms.replacements=[]),a.$_terms.replacements.push({pattern:e,replacement:t}),a}},token:{method(){return this.$_addRule("token")},validate:(e,t)=>/^\w+$/.test(e)?e:t.error("string.token")},trim:{method(e=!0){return s("boolean"==typeof e,"enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:e}})},validate:(e,t,{enabled:a})=>a&&e!==e.trim()?t.error("string.trim"):e,convert:!0},truncate:{method(e=!0){return s("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("truncate",e)}},uppercase:{method(){return this.case("upper")}},uri:{method(e={}){h.assertOptions(e,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme"]),e.domain&&h.assertOptions(e.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let{regex:t,scheme:a}=d.regex(e),i=e.domain?p.addressOptions(e.domain):null;return this.$_addRule({name:"uri",args:{options:e},regex:t,domain:i,scheme:a})},validate(e,t,{options:a},{regex:i,domain:n,scheme:s}){if(["http:/","https:/"].includes(e))return t.error("string.uri");let r=i.exec(e);if(r){let i=r[1]||r[2];return!n||a.allowRelative&&!i||o.isValid(i,n)?e:t.error("string.domain",{value:i})}return a.relativeOnly?t.error("string.uriRelativeOnly"):a.scheme?t.error("string.uriCustomScheme",{scheme:s,value:e}):t.error("string.uri")}}},manifest:{build(e,t){if(t.replacements)for(let{pattern:a,replacement:i}of t.replacements)e=e.replace(a,i);return e}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}}),p.addressOptions=function(e){if(!e||(s(void 0===e.minDomainSegments||Number.isSafeInteger(e.minDomainSegments)&&e.minDomainSegments>0,"minDomainSegments must be a positive integer"),s(void 0===e.maxDomainSegments||Number.isSafeInteger(e.maxDomainSegments)&&e.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),!1===e.tlds))return e;if(!0===e.tlds||void 0===e.tlds)return s(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds);s("object"==typeof e.tlds,"tlds must be true, false, or an object");let t=e.tlds.deny;if(t)return Array.isArray(t)&&(e=Object.assign({},e,{tlds:{deny:new Set(t)}})),s(e.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),s(!e.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),p.validateTlds(e.tlds.deny,"tlds.deny"),e;let a=e.tlds.allow;return a?!0===a?(s(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds)):(Array.isArray(a)&&(e=Object.assign({}
9,e,{tlds:{allow:new Set(a)}})),s(e.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),p.validateTlds(e.tlds.allow,"tlds.allow"),e):e},p.validateTlds=function(e,t){for(let a of e)s(o.isValid(a,{minDomainSegments:1,maxDomainSegments:1}),"".concat(t," must contain valid top level domain names"))},p.isoDate=function(e){if(!h.isIsoDate(e))return null;/.*T.*[+-]\d\d$/.test(e)&&(e+="00");let t=new Date(e);return isNaN(t.getTime())?null:t.toISOString()},p.length=function(e,t,a,i,n){return s(!n,"Invalid encoding:",n),e.$_addRule({name:t,method:"length",args:{limit:a,encoding:n},operator:i})}},8826:(e,t,a)=>{"use strict";let i=a(375),n=a(8068),s={};s.Map=class extends Map{slice(){return new s.Map(this)}},e.exports=n.extend({type:"symbol",terms:{map:{init:new s.Map}},coerce:{method(e,{schema:t,error:a}){let i=t.$_terms.map.get(e);return i&&(e=i),t._flags.only&&"symbol"!=typeof e?{value:e,errors:a("symbol.map",{map:t.$_terms.map})}:{value:e}}},validate(e,{error:t}){if("symbol"!=typeof e)return{value:e,errors:t("symbol.base")}},rules:{map:{method(e){e&&!e[Symbol.iterator]&&"object"==typeof e&&(e=Object.entries(e)),i(e&&e[Symbol.iterator],"Iterable must be an iterable or object");let t=this.clone(),a=[];for(let n of e){i(n&&n[Symbol.iterator],"Entry must be an iterable");let[e,s]=n;i("object"!=typeof e&&"function"!=typeof e&&"symbol"!=typeof e,"Key must not be of type object, function, or Symbol"),i("symbol"==typeof s,"Value must be a Symbol"),t.$_terms.map.set(e,s),a.push(s)}return t.valid(...a)}}},manifest:{build:(e,t)=>(t.map&&(e=e.map(t.map)),e)},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})},8863:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(738),o=a(9621),r=a(8160),l=a(6354),u=a(493),m={result:Symbol("result")};t.entry=function(e,t,a){let n=r.defaults;a&&(i(void 0===a.warnings,"Cannot override warnings preference in synchronous validation"),i(void 0===a.artifacts,"Cannot override artifacts preference in synchronous validation"),n=r.preferences(r.defaults,a));let s=m.entry(e,t,n);i(!s.mainstay.externals.length,"Schema with external rules must use validateAsync()");let o={value:s.value};return s.error&&(o.error=s.error),s.mainstay.warnings.length&&(o.warning=l.details(s.mainstay.warnings)),s.mainstay.debug&&(o.debug=s.mainstay.debug),s.mainstay.artifacts&&(o.artifacts=s.mainstay.artifacts),o},t.entryAsync=async function(e,t,a){let i=r.defaults;a&&(i=r.preferences(r.defaults,a));let n=m.entry(e,t,i),s=n.mainstay;if(n.error)throw s.debug&&(n.error.debug=s.debug),n.error;if(s.externals.length){let e=n.value;for(let{method:t,path:n,label:r}of s.externals){let s,l,u=e;n.length&&(s=n[n.length-1],u=(l=o(e,n.slice(0,-1)))[s]);try{let i=await t(u,{prefs:a});if(void 0===i||i===u)continue;l?l[s]=i:e=i}catch(e){throw i.errors.label&&(e.message+=" (".concat(r,")")),e}}n.value=e}if(!i.warnings&&!i.debug&&!i.artifacts)return n.value;let u={value:n.value};return s.warnings.length&&(u.warning=l.details(s.warnings)),s.debug&&(u.debug=s.debug),s.artifacts&&(u.artifacts=s.artifacts),u},m.entry=function(e,a,i){let{tracer:n,cleanup:s}=m.tracer(a,i),o={externals:[],warnings:[],tracer:n,debug:i.debug?[]:null,links:a._ids._schemaChain?new Map:null},r=new u([],[],{mainstay:o,schemas:a._ids._schemaChain?[{schema:a}]:null}),d=t.validate(e,a,r,i);s&&a.$_root.untrace();let c=l.process(d.errors,e,i);return{value:d.value,error:c,mainstay:o}},m.tracer=function(e,t){return e.$_root._tracer?{tracer:e.$_root._tracer._register(e)}:t.debug?(i(e.$_root.trace,"Debug mode not supported"),{tracer:e.$_root.trace()._register(e),cleanup:!0}):{tracer:m.ignore}},t.validate=function(e,t,a,i,n={}){if(t.$_terms.whens&&(t=t._generate(e,a,i).schema),t._preferences&&(i=m.prefs(t,i)),t._cache&&i.cache){let i=t._cache.get(e);if(a.mainstay.tracer.debug(a,"validate","cached",!!i),i)return i}let s=(n,s,o)=>t.$_createError(n,e,s,o||a,i),o={original:e,prefs:i,schema:t,state:a,error:s,errorsArray:m.errorsArray,warn:(e,t,i)=>a.mainstay.warnings.push(s(e,t,i)),message:(n,s)=>t.$_createError("custom",e,s,a,i,{messages:n})};a.mainstay.tracer.entry(t,a);let l=t._definition;if(l.prepare&&void 0!==e&&i.convert){let t=l.prepare(e,o);if(t){if(a.mainstay.tracer.value(a,"prepare",e,t.value),t.errors)return m.finalize(t.value,[].concat(t.errors),o);e=t.value}}if(l.coerce&&void 0!==e&&i.convert&&(!l.coerce.from||l.coerce.from.includes(typeof e))){let t=l.coerce.method(e,o);if(t){if(a.mainstay.tracer.value(a,"coerced",e,t.value),t.errors)return m.finalize(t.value,[].concat(t.errors),o);e=t.value}}let u=t._flags.empty;u&&u.$_match(m.trim(e,t),a.nest(u),r.defaults)&&(a.mainstay.tracer.value(a,"empty",e,void 0),e=void 0);let d=n.presence||t._flags.presence||(t._flags._endedSwitch?null:i.presence);if(void 0===e){if("forbidden"===d)return m.finalize(e,null,o);if("required"===d)return m.finalize(e,[t.$_createError("any.required",e,null,a,i)],o);if("optional"===d){if(t._flags.default!==r.symbols.deepDefault)return m.finalize(e,null,o);a.mainstay.tracer.value(a,"default",e,{}),e={}}}else if("forbidden"===d)return m.finalize(e,[t.$_createError("any.unknown",e,null,a,i)],o);let c=[];if(t._valids){let n=t._valids.get(e,a,i,t._flags.insensitive);if(n)return i.convert&&(a.mainstay.tracer.value(a,"valids",e,n.value),e=n.value),a.mainstay.tracer.filter(t,a,"valid",n),m.finalize(e,null,o);if(t._flags.only){let n=t.$_createError("any.only",e,{valids:t._valids.values({display:!0})},a,i);if(i.abortEarly)return m.finalize(e,[n],o);c.push(n)}}if(t._invalids){let n=t._invalids.get(e,a,i,t._flags.insensitive);if(n){a.mainstay.tracer.filter(t,a,"invalid",n);let s=t.$_createError("any.invalid",e,{invalids:t._invalids.values({display:!0})},a,i);if(i.abortEarly)return m.finalize(e,[s],o);c.push(s)}}if(l.validate){let t=l.validate(e,o);if(t&&(a.mainstay.tracer.value(a,"base",e,t.value),e=t.value,t.errors)){if(!Array.isArray(t.errors))return c.push(t.errors),m.finalize(e,c,o);if(t.errors.length)return c.push(...t.errors),m.finalize(e,c,o)}}return t._rules.length?m.rules(e,c,o):m.finalize(e,c,o)},m.rules=function(e,t,a){let{schema:i,state:n,prefs:s}=a;for(let o of i._rules){let l=i._definition.rules[o.method];if(l.convert&&s.convert){n.mainstay.tracer.log(i,n,"rule",o.name,"full");continue}let u,d=o.args;if(o._resolve.length)for(let t of(d=Object.assign({},d),o._resolve)){let a=l.argsByName.get(t),o=d[t].resolve(e,n,s),m=a.normalize?a.normalize(o):o,c=r.validateArg(m,null,a);if(c){u=i.$_createError("any.ref",o,{arg:t,ref:d[t],reason:c},n,s);break}d[t]=m}u=u||l.validate(e,a,d,o);let c=m.rule(u,o);if(c.errors){if(n.mainstay.tracer.log(i,n,"rule",o.name,"error"),o.warn){n.mainstay.warnings.push(...c.errors);continue}if(s.abortEarly)return m.finalize(e,c.errors,a);t.push(...c.errors)}else n.mainstay.tracer.log(i,n,"rule",o.name,"pass"),n.mainstay.tracer.value(n,"rule",e,c.value,o.name),e=c.value}return m.finalize(e,t,a)},m.rule=function(e,t){return e instanceof l.Report?(m.error(e,t),{errors:[e],value:null}
9):Array.isArray(e)&&e[r.symbols.errors]?(e.forEach(e=>m.error(e,t)),{errors:e,value:null}):{errors:null,value:e}},m.error=function(e,t){return t.message&&e._setTemplate(t.message),e},m.finalize=function(e,t,a){let{schema:n,state:s,prefs:o}=a;if((t=t||[]).length){let i=m.default("failover",void 0,t,a);void 0!==i&&(s.mainstay.tracer.value(s,"failover",e,i),e=i,t=[])}if(t.length&&n._flags.error)if("function"==typeof n._flags.error)for(let e of(Array.isArray(t=n._flags.error(t))||(t=[t]),t))i(e instanceof Error||e instanceof l.Report,"error() must return an Error object");else t=[n._flags.error];if(void 0===e){let i=m.default("default",e,t,a);s.mainstay.tracer.value(s,"default",e,i),e=i}if(n._flags.cast&&void 0!==e){let t=n._definition.cast[n._flags.cast];if(t.from(e)){let i=t.to(e,a);s.mainstay.tracer.value(s,"cast",e,i,n._flags.cast),e=i}}if(n.$_terms.externals&&o.externals&&!1!==o._externals)for(let{method:e}of n.$_terms.externals)s.mainstay.externals.push({method:e,path:s.path,label:l.label(n._flags,s,o)});let r={value:e,errors:t.length?t:null};return n._flags.result&&(r.value="strip"===n._flags.result?void 0:a.original,s.mainstay.tracer.value(s,n._flags.result,e,r.value),s.shadow(e,n._flags.result)),n._cache&&!1!==o.cache&&!n._refs.length&&n._cache.set(a.original,r),void 0===e||r.errors||void 0===n._flags.artifact||(s.mainstay.artifacts=s.mainstay.artifacts||new Map,s.mainstay.artifacts.has(n._flags.artifact)||s.mainstay.artifacts.set(n._flags.artifact,[]),s.mainstay.artifacts.get(n._flags.artifact).push(s.path)),r},m.prefs=function(e,t){let a=t===r.defaults;return a&&e._preferences[r.symbols.prefs]?e._preferences[r.symbols.prefs]:(t=r.preferences(t,e._preferences),a&&(e._preferences[r.symbols.prefs]=t),t)},m.default=function(e,t,a,i){let{schema:s,state:o,prefs:l}=i,u=s._flags[e];if(l.noDefaults||void 0===u)return t;if(o.mainstay.tracer.log(s,o,"rule",e,"full"),!u)return u;if("function"==typeof u){let t=u.length?[n(o.ancestors[0]),i]:[];try{return u(...t)}catch(t){return void a.push(s.$_createError("any.".concat(e),null,{error:t},o,l))}}return"object"!=typeof u?u:u[r.symbols.literal]?u.literal:r.isResolvable(u)?u.resolve(t,o,l):n(u)},m.trim=function(e,t){if("string"!=typeof e)return e;let a=t.$_getRule("trim");return a&&a.args.enabled?e.trim():e},m.ignore={active:!1,debug:s,entry:s,filter:s,log:s,resolve:s,value:s},m.errorsArray=function(){let e=[];return e[r.symbols.errors]=!0,e}},2036:(e,t,a)=>{"use strict";let i=a(375),n=a(9474),s=a(8160),o={};e.exports=o.Values=class{constructor(e,t){this._values=new Set(e),this._refs=new Set(t),this._lowercase=o.lowercases(e),this._override=!1}get length(){return this._values.size+this._refs.size}add(e,t){s.isResolvable(e)?this._refs.has(e)||(this._refs.add(e),t&&t.register(e)):this.has(e,null,null,!1)||(this._values.add(e),"string"==typeof e&&this._lowercase.set(e.toLowerCase(),e))}static merge(e,t,a){if(e=e||new o.Values,t){if(t._override)return t.clone();for(let a of[...t._values,...t._refs])e.add(a)}if(a)for(let t of[...a._values,...a._refs])e.remove(t);return e.length?e:null}remove(e){s.isResolvable(e)?this._refs.delete(e):(this._values.delete(e),"string"==typeof e&&this._lowercase.delete(e.toLowerCase()))}has(e,t,a,i){return!!this.get(e,t,a,i)}get(e,t,a,i){if(!this.length)return!1;if(this._values.has(e))return{value:e};if("string"==typeof e&&e&&i){let t=this._lowercase.get(e.toLowerCase());if(t)return{value:t}}if(!this._refs.size&&"object"!=typeof e)return!1;if("object"==typeof e){for(let t of this._values)if(n(t,e))return{value:t}}if(t)for(let s of this._refs){let o=s.resolve(e,t,a,null,{in:!0});if(void 0!==o){for(let t of s.in&&"object"==typeof o?Array.isArray(o)?o:Object.keys(o):[o])if(typeof t==typeof e){if(i&&e&&"string"==typeof e){if(t.toLowerCase()===e.toLowerCase())return{value:t,ref:s}}else if(n(t,e))return{value:t,ref:s}}}}return!1}override(){this._override=!0}values(e){if(e&&e.display){let e=[];for(let t of[...this._values,...this._refs])void 0!==t&&e.push(t);return e}return Array.from([...this._values,...this._refs])}clone(){let e=new o.Values(this._values,this._refs);return e._override=this._override,e}concat(e){i(!e._override,"Cannot concat override set of values");let t=new o.Values([...this._values,...e._values],[...this._refs,...e._refs]);return t._override=this._override,t}describe(){let e=[];for(let t of(this._override&&e.push({override:!0}
9),this._values.values()))e.push(t&&"object"==typeof t?{value:t}:t);for(let t of this._refs.values())e.push(t.describe());return e}},o.Values.prototype[s.symbols.values]=!0,o.Values.prototype.slice=o.Values.prototype.clone,o.lowercases=function(e){let t=new Map;if(e)for(let a of e)"string"==typeof a&&t.set(a.toLowerCase(),a);return t}},978:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(1687),o=a(9621),r={};e.exports=function(e,t,a={}){if(i(e&&"object"==typeof e,"Invalid defaults value: must be an object"),i(!t||!0===t||"object"==typeof t,"Invalid source value: must be true, falsy or an object"),i("object"==typeof a,"Invalid options: must be an object"),!t)return null;if(a.shallow)return r.applyToDefaultsWithShallow(e,t,a);let o=n(e);return!0===t?o:s(o,t,{nullOverride:void 0!==a.nullOverride&&a.nullOverride,mergeArrays:!1})},r.applyToDefaultsWithShallow=function(e,t,a){let l=a.shallow;i(Array.isArray(l),"Invalid keys");let u=new Map,m=!0===t?null:new Set;for(let a of l){let i=o(e,a=Array.isArray(a)?a:a.split("."));i&&"object"==typeof i?u.set(i,m&&o(t,a)||i):m&&m.add(a)}let d=n(e,{},u);if(!m)return d;for(let e of m)r.reachCopy(d,t,e);return s(d,t,{nullOverride:void 0!==a.nullOverride&&a.nullOverride,mergeArrays:!1})},r.reachCopy=function(e,t,a){for(let e of a){if(!(e in t))return;let a=t[e];if("object"!=typeof a||null===a)return;t=a}let i=t,n=e;for(let e=0;e<a.length-1;++e){let t=a[e];"object"!=typeof n[t]&&(n[t]={}),n=n[t]}n[a[a.length-1]]=i}},375:(e,t,a)=>{"use strict";let i=a(7916);e.exports=function(e,...t){if(!e){if(1===t.length&&t[0]instanceof Error)throw t[0];throw new i(t)}}},8571:(e,t,a)=>{"use strict";let i=a(9621),n=a(4277),s=a(7043),o={needsProtoHack:new Set([n.set,n.map,n.weakSet,n.weakMap])};e.exports=o.clone=function(e,t={},a=null){if("object"!=typeof e||null===e)return e;let i=o.clone,r=a;if(t.shallow){if(!0!==t.shallow)return o.cloneWithShallow(e,t);i=e=>e}else if(r){let t=r.get(e);if(t)return t}else r=new Map;let l=n.getInternalProto(e);if(l===n.buffer)return!1;if(l===n.date)return new Date(e.getTime());if(l===n.regex)return new RegExp(e);let u=o.base(e,l,t);if(u===e)return e;if(r&&r.set(e,u),l===n.set)for(let a of e)u.add(i(a,t,r));else if(l===n.map)for(let[a,n]of e)u.set(a,i(n,t,r));for(let a of s.keys(e,t)){if("__proto__"===a)continue;if(l===n.array&&"length"===a){u.length=e.length;continue}let s=Object.getOwnPropertyDescriptor(e,a);s?s.get||s.set?Object.defineProperty(u,a,s):s.enumerable?u[a]=i(e[a],t,r):Object.defineProperty(u,a,{enumerable:!1,writable:!0,configurable:!0,value:i(e[a],t,r)}):Object.defineProperty(u,a,{enumerable:!0,writable:!0,configurable:!0,value:i(e[a],t,r)})}return u},o.cloneWithShallow=function(e,t){let a=t.shallow;(t=Object.assign({},t)).shallow=!1;let n=new Map;for(let t of a){let a=i(e,t);"object"!=typeof a&&"function"!=typeof a||n.set(a,a)}return o.clone(e,t,n)},o.base=function(e,t,a){if(!1===a.prototype)return o.needsProtoHack.has(t)?new t.constructor:t===n.array?[]:{};let i=Object.getPrototypeOf(e);if(i&&i.isImmutable)return e;if(t===n.array){let e=[];return i!==t&&Object.setPrototypeOf(e,i),e}if(o.needsProtoHack.has(t)){let e=new i.constructor;return i!==t&&Object.setPrototypeOf(e,i),e}return Object.create(i)}},9474:(e,t,a)=>{"use strict";let i=a(4277),n={mismatched:null};e.exports=function(e,t,a){return a=Object.assign({prototype:!0},a),!!n.isDeepEqual(e,t,a,[])},n.isDeepEqual=function(e,t,a,s){if(e===t)return 0!==e||1/e==1/t;let o=typeof e;if(o!==typeof t||null===e||null===t)return!1;if("function"===o){if(!a.deepFunction||e.toString()!==t.toString())return!1}else if("object"!==o)return e!=e&&t!=t;let r=n.getSharedType(e,t,!!a.prototype);switch(r){case i.buffer:return!1;case i.promise:return e===t;case i.regex:return e.toString()===t.toString();case n.mismatched:return!1}for(let a=s.length-1;a>=0;--a)if(s[a].isSame(e,t))return!0;s.push(new n.SeenEntry(e,t));try{return!!n.isDeepEqualObj(r,e,t,a,s)}finally{s.pop()}},n.getSharedType=function(e,t,a){if(a)return Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?n.mismatched:i.getInternalProto(e);let s=i.getInternalProto(e);return s!==i.getInternalProto(t)?n.mismatched:s},n.valueOf=function(e){let t=e.valueOf;if(void 0===t)return e;try{return t.call(e)}catch(e){return e}},n.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)},n.isSetSimpleEqual=function(e,t){for(let a of Set.prototype.values.call(e))if(!Set.prototype.has.call(t,a))return!1;return!0},n.isDeepEqualObj=function(e,t,a,s,o){let{isDeepEqual:r,valueOf:l,hasOwnEnumerableProperty:u}=n,{keys:m,getOwnPropertySymbols:d}=Object;if(e===i.array){if(!s.part){if(t.length!==a.length)return!1;for(let e=0;e<t.length;++e)if(!r(t[e],a[e],s,o))return!1;return!0}for(let e of t)for(let t of a)if(r(e,t,s,o))return!0}else if(e===i.set){if(t.size!==a.size)return!1;if(!n.isSetSimpleEqual(t,a)){let e=new Set(Set.prototype.values.call(a));for(let a of Set.prototype.values.call(t)){if(e.delete(a))continue;let t=!1;for(let i of e)if(r(a,i,s,o)){e.delete(i),t=!0;break}if(!t)return!1}}}else if(e===i.map){if(t.size!==a.size)return!1;for(let[e,i]of Map.prototype.entries.call(t))if(void 0===i&&!Map.prototype.has.call(a,e)||!r(i,Map.prototype.get.call(a,e),s,o))return!1}else if(e===i.error&&(t.name!==a.name||t.message!==a.message))return!1;let c=l(t),h=l(a);if((t!==c||a!==h)&&!r(c,h,s,o))return!1;let p=m(t);if(!s.part&&p.length!==m(a).length&&!s.skip)return!1;let v=0;for(let e of p)if(s.skip&&s.skip.includes(e))void 0===a[e]&&++v;else if(!u(a,e)||!r(t[e],a[e],s,o))return!1;if(!s.part&&p.length-v!==m(a).length)return!1;if(!1!==s.symbols){let e=d(t),i=new Set(d(a));for(let n of e){if(!s.skip||!s.skip.includes(n)){if(u(t,n)){if(!u(a,n)||!r(t[n],a[n],s,o))return!1}else if(u(a,n))return!1}i.delete(n)}for(let e of i)if(u(a,e))return!1}return!0},n.SeenEntry=class{constructor(e,t){this.obj=e,this.ref=t}isSame(e,t){return this.obj===e&&this.ref===t}}},7916:(e,t,a)=>{"use strict";let i=a(8761);
9e.exports=class extends Error{constructor(e){super(e.filter(e=>""!==e).map(e=>"string"==typeof e?e:e instanceof Error?e.message:i(e)).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t.assert)}}},5277:e=>{"use strict";let t={};e.exports=function(e){if(!e)return"";let a="";for(let i=0;i<e.length;++i){let n=e.charCodeAt(i);t.isSafe(n)?a+=e[i]:a+=t.escapeHtmlChar(n)}return a},t.escapeHtmlChar=function(e){let a=t.namedHtml[e];if(void 0!==a)return a;if(e>=256)return"&#"+e+";";let i=e.toString(16).padStart(2,"0");return"&#x".concat(i,";")},t.isSafe=function(e){return void 0!==t.safeCharCodes[e]},t.namedHtml={38:"&amp;",60:"&lt;",62:"&gt;",34:"&quot;",160:"&nbsp;",162:"&cent;",163:"&pound;",164:"&curren;",169:"&copy;",174:"&reg;"},t.safeCharCodes=function(){let e={};for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||32===t||46===t||44===t||45===t||58===t||95===t)&&(e[t]=null);return e}()},6064:e=>{"use strict";e.exports=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},738:e=>{"use strict";e.exports=function(){}},1687:(e,t,a)=>{"use strict";let i=a(375),n=a(8571),s=a(7043),o={};e.exports=o.merge=function(e,t,a){if(i(e&&"object"==typeof e,"Invalid target value: must be an object"),i(null==t||"object"==typeof t,"Invalid source value: must be null, undefined, or an object"),!t)return e;if(a=Object.assign({nullOverride:!0,mergeArrays:!0},a),Array.isArray(t)){i(Array.isArray(e),"Cannot merge array onto an object"),a.mergeArrays||(e.length=0);for(let i=0;i<t.length;++i)e.push(n(t[i],{symbols:a.symbols}));return e}let r=s.keys(t,a);for(let i=0;i<r.length;++i){let s=r[i];if("__proto__"===s||!Object.prototype.propertyIsEnumerable.call(t,s))continue;let l=t[s];if(l&&"object"==typeof l){if(e[s]===l)continue;!e[s]||"object"!=typeof e[s]||Array.isArray(e[s])!==Array.isArray(l)||l instanceof Date||l instanceof RegExp?e[s]=n(l,{symbols:a.symbols}):o.merge(e[s],l,a)}else(null!=l||a.nullOverride)&&(e[s]=l)}return e}},9621:(e,t,a)=>{"use strict";let i=a(375),n={};e.exports=function(e,t,a){if(!1===t||null==t)return e;"string"==typeof(a=a||{})&&(a={separator:a});let s=Array.isArray(t);i(!s||!a.separator,"Separator option no valid for array-based chain");let o=s?t:t.split(a.separator||"."),r=e;for(let e=0;e<o.length;++e){let s=o[e],l=a.iterables&&n.iterables(r);if(Array.isArray(r)||"set"===l){let e=Number(s);Number.isInteger(e)&&(s=e<0?r.length+e:e)}if(!r||"function"==typeof r&&!1===a.functions||!l&&void 0===r[s]){i(!a.strict||e+1===o.length,"Missing segment",s,"in reach path ",t),i("object"==typeof r||!0===a.functions||"function"!=typeof r,"Invalid segment",s,"in reach path ",t),r=a.default;break}r=l?"set"===l?[...r][s]:r.get(s):r[s]}return r},n.iterables=function(e){return e instanceof Set?"set":e instanceof Map?"map":void 0}},8761:e=>{"use strict";e.exports=function(...e){try{return JSON.stringify.apply(null,e)}catch(e){return"[Cannot display object: "+e.message+"]"}}},4277:(e,t)=>{"use strict";let a={};a.typeMap=new Map([["[object Error]",(t=e.exports={array:Array.prototype,buffer:!1,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype}).error],["[object Map]",t.map],["[object Promise]",t.promise],["[object Set]",t.set],["[object WeakMap]",t.weakMap],["[object WeakSet]",t.weakSet]]),t.getInternalProto=function(e){if(Array.isArray(e))return t.array;if(e instanceof Date)return t.date;if(e instanceof RegExp)return t.regex;if(e instanceof Error)return t.error;let i=Object.prototype.toString.call(e);return a.typeMap.get(i)||t.generic}},7043:(e,t)=>{"use strict";t.keys=function(e,t={}){return!1!==t.symbols?Reflect.ownKeys(e):Object.getOwnPropertyNames(e)}},3652:(e,t,a)=>{"use strict";let i=a(375),n={};t.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(e,t){let a=[].concat((t=t||{}).before||[]),n=[].concat(t.after||[]),s=t.group||"?",o=t.sort||0;for(let t of(i(!a.includes(s),"Item cannot come before itself: ".concat(s)),i(!a.includes("?"),"Item cannot come before unassociated items"),i(!n.includes(s),"Item cannot come after itself: ".concat(s)),i(!n.includes("?"),"Item cannot come after unassociated items"),Array.isArray(e)||(e=[e]),e)){let e={seq:this._items.length,sort:o,before:a,after:n,group:s,node:t};this._items.push(e)}return t.manual||i(this._sort(),"item","?"!==s?"added into group ".concat(s):"","created a dependencies error"),this.nodes}merge(e){for(let t of(Array.isArray(e)||(e=[e]),e))if(t)for(let e of t._items)this._items.push(Object.assign({},e));this._items.sort(n.mergeSort);for(let e=0;e<this._items.length;++e)this._items[e].seq=e;return i(this._sort(),"merge created a dependencies error"),this.nodes}sort(){return i(this._sort(),"sort created a dependencies error"),this.nodes}_sort(){let e={},t=Object.create(null),a=Object.create(null);for(let i of this._items){let n=i.seq,s=i.group;for(let o of(a[s]=a[s]||[],a[s].push(n),e[n]=i.before,i.after))t[o]=t[o]||[],t[o].push(n)}for(let t in e){let i=[];for(let n in e[t]){let s=e[t][n];a[s]=a[s]||[],i.push(...a[s])}e[t]=i}
9for(let i in t)if(a[i])for(let n of a[i])e[n].push(...t[i]);let i={};for(let t in e)for(let a of e[t])i[a]=i[a]||[],i[a].push(t);let n={},s=[];for(let e=0;e<this._items.length;++e){let t=e;if(i[e]){t=null;for(let e=0;e<this._items.length;++e){if(!0===n[e])continue;i[e]||(i[e]=[]);let a=i[e].length,s=0;for(let t=0;t<a;++t)n[i[e][t]]&&++s;if(s===a){t=e;break}}}null!==t&&(n[t]=!0,s.push(t))}if(s.length!==this._items.length)return!1;let o={};for(let e of this._items)o[e.seq]=e;for(let e of(this._items=[],this.nodes=[],s)){let t=o[e];this.nodes.push(t.node),this._items.push(t)}return!0}},n.mergeSort=(e,t)=>e.sort===t.sort?0:e.sort<t.sort?-1:1},5380:(e,t,a)=>{"use strict";let i=a(443),n=a(2178),s={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:i.URL||URL};t.analyze=function(e,t={}){if(!e)return n.code("DOMAIN_NON_EMPTY_STRING");if("string"!=typeof e)throw Error("Invalid input: domain must be a string");if(e.length>256)return n.code("DOMAIN_TOO_LONG");if(s.nonAsciiRx.test(e)){if(!1===t.allowUnicode)return n.code("DOMAIN_INVALID_UNICODE_CHARS");e=e.normalize("NFC")}if(s.domainControlRx.test(e))return n.code("DOMAIN_INVALID_CHARS");e=s.punycode(e),t.allowFullyQualified&&"."===e[e.length-1]&&(e=e.slice(0,-1));let a=t.minDomainSegments||s.minDomainSegments,i=e.split(".");if(i.length<a)return n.code("DOMAIN_SEGMENTS_COUNT");if(t.maxDomainSegments&&i.length>t.maxDomainSegments)return n.code("DOMAIN_SEGMENTS_COUNT_MAX");let o=t.tlds;if(o){let e=i[i.length-1].toLowerCase();if(o.deny&&o.deny.has(e)||o.allow&&!o.allow.has(e))return n.code("DOMAIN_FORBIDDEN_TLDS")}for(let e=0;e<i.length;++e){let t=i[e];if(!t.length)return n.code("DOMAIN_EMPTY_SEGMENT");if(t.length>63)return n.code("DOMAIN_LONG_SEGMENT");if(e<i.length-1){if(!s.domainSegmentRx.test(t))return n.code("DOMAIN_INVALID_CHARS")}else if(!s.tldSegmentRx.test(t))return n.code("DOMAIN_INVALID_TLDS_CHARS")}return null},t.isValid=function(e,a){return!t.analyze(e,a)},s.punycode=function(e){e.includes("%")&&(e=e.replace(/%/g,"%25"));try{return new s.URL("http://".concat(e)).host}catch(t){return e}}},1745:(e,t,a)=>{"use strict";let i=a(9848),n=a(5380),s=a(2178),o={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(i.TextEncoder||TextEncoder)};t.analyze=function(e,t){return o.email(e,t)},t.isValid=function(e,t){return!o.email(e,t)},o.email=function(e,t={}){if("string"!=typeof e)throw Error("Invalid input: email must be a string");if(!e)return s.code("EMPTY_STRING");let a=!o.nonAsciiRx.test(e);if(!a){if(!1===t.allowUnicode)return s.code("FORBIDDEN_UNICODE");e=e.normalize("NFC")}let i=e.split("@");if(2!==i.length)return i.length>2?s.code("MULTIPLE_AT_CHAR"):s.code("MISSING_AT_CHAR");let[r,l]=i;if(!r)return s.code("EMPTY_LOCAL");if(!t.ignoreLength){if(e.length>254)return s.code("ADDRESS_TOO_LONG");if(o.encoder.encode(r).length>64)return s.code("LOCAL_TOO_LONG")}return o.local(r,a)||n.analyze(l,t)},o.local=function(e,t){for(let a of e.split(".")){if(!a.length)return s.code("EMPTY_LOCAL_SEGMENT");if(t){if(!o.atextRx.test(a))return s.code("INVALID_LOCAL_CHARS")}else for(let e of a){if(o.atextRx.test(e))continue;let t=o.binary(e);if(!o.atomRx.test(t))return s.code("INVALID_LOCAL_CHARS")}}},o.binary=function(e){return Array.from(o.encoder.encode(e)).map(e=>String.fromCharCode(e)).join("")},o.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/,o.atomRx=RegExp("(?:[\\xc2-\\xdf][\\x80-\\xbf])|(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})|(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})")},2178:(e,t)=>{"use strict";t.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ 
9character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"},t.code=function(e){return{code:e,error:t.codes[e]}}},9959:(e,t,a)=>{"use strict";let i=a(375),n=a(5752);t.regex=function(e={}){i(void 0===e.cidr||"string"==typeof e.cidr,"options.cidr must be a string");let t=e.cidr?e.cidr.toLowerCase():"optional";i(["required","optional","forbidden"].includes(t),"options.cidr must be one of required, optional, forbidden"),i(void 0===e.version||"string"==typeof e.version||Array.isArray(e.version),"options.version must be a string or an array of string");let a=e.version||["ipv4","ipv6","ipvfuture"];Array.isArray(a)||(a=[a]),i(a.length>=1,"options.version must have at least 1 version specified");for(let e=0;e<a.length;++e)i("string"==typeof a[e],"options.version must only contain strings"),a[e]=a[e].toLowerCase(),i(["ipv4","ipv6","ipvfuture"].includes(a[e]),"options.version contains unknown version "+a[e]+" - must be one of ipv4, ipv6, ipvfuture");let s=(a=Array.from(new Set(a))).map(e=>{if("forbidden"===t)return n.ip[e];let a="\\/".concat("ipv4"===e?n.ip.v4Cidr:n.ip.v6Cidr);return"required"===t?"".concat(n.ip[e]).concat(a):"".concat(n.ip[e],"(?:").concat(a,")?")}),o="(?:".concat(s.join("|"),")");return{cidr:t,versions:a,regex:new RegExp("^".concat(o,"$")),raw:o}}},5752:(e,t,a)=>{"use strict";let i=a(375),n=a(6064),s={generate:function(){let e={},t="!\\$&'\\(\\)\\*\\+,;=",a="\\w-\\.~%\\dA-Fa-f"+t+":@",i="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";e.ipv4address="(?:"+i+"\\.){3}"+i;let n="[\\dA-Fa-f]{1,4}",s="(?:"+n+":"+n+"|"+e.ipv4address+")",o="(?:(?:"+n+":){0,1}"+n+")?::(?:"+n+":){3}"+s,r="(?:(?:"+n+":){0,2}"+n+")?::(?:"+n+":){2}"+s,l="(?:(?:"+n+":){0,3}"+n+")?::"+n+":"+s;e.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",e.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",e.ipv6address="(?:(?:"+n+":){6}"+s+"|"+("::(?:"+n)+":){5}"+s+"|"+("(?:"+n+")?::(?:"+n)+":){4}"+s+"|"+o+"|"+r+"|"+l+"|"+("(?:(?:"+n+":){0,4}"+n)+")?::"+s+"|(?:(?:[\\dA-Fa-f]{1,4}:){0,5}[\\dA-Fa-f]{1,4})?::[\\dA-Fa-f]{1,4}|(?:(?:[\\dA-Fa-f]{1,4}:){0,6}[\\dA-Fa-f]{1,4})?::)",e.ipvFuture="v[\\dA-Fa-f]+\\.[\\w-\\.~"+t+":]+",e.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",e.schemeRegex=new RegExp(e.scheme);let u="[\\w-\\.~%\\dA-Fa-f"+t+":]*",m="(?:\\[(?:"+e.ipv6address+"|"+e.ipvFuture+")\\]|"+e.ipv4address+"|[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=]{1,255})",d="(?:"+u+"@)?"+m+"(?::\\d*)?",c="(?:"+u+"@)?("+m+")(?::\\d*)?",h="["+a+"]+",p="(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*",v="\\/(?:"+h+p+")?",k=h+p,y="[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=@]+"+p;return e.hierPart="(?:(?:\\/\\/"+d+p+")|"+v+"|"+k+"|(?:\\/\\/\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*))",e.hierPartCapture="(?:(?:\\/\\/"+c+p+")|"+v+"|"+k+")",e.relativeRef="(?:(?:\\/\\/"+d+p+")|"+v+"|"+y+"|)",e.relativeRefCapture="(?:(?:\\/\\/"+c+p+")|"+v+"|"+y+"|)",e.query="["+a+"\\/\\?]*(?=#|$)",e.queryWithSquareBrackets="["+a+"\\[\\]\\/\\?]*(?=#|$)",e.fragment="["+a+"\\/\\?]*",e}};s.rfc3986=s.generate(),t.ip={v4Cidr:s.rfc3986.ipv4Cidr,v6Cidr:s.rfc3986.ipv6Cidr,ipv4:s.rfc3986.ipv4address,ipv6:s.rfc3986.ipv6address,ipvfuture:s.rfc3986.ipvFuture},s.createRegex=function(e){let t=s.rfc3986,a="(?:\\?"+(e.allowQuerySquareBrackets?t.queryWithSquareBrackets:t.query)+")?(?:#"+t.fragment+")?",o=e.domain?t.relativeRefCapture:t.relativeRef;if(e.relativeOnly)return s.wrap(o+a);let r="";if(e.scheme){i(e.scheme instanceof RegExp||"string"==typeof e.scheme||Array.isArray(e.sc
9heme),"scheme must be a RegExp, String, or Array");let a=[].concat(e.scheme);i(a.length>=1,"scheme must have at least 1 scheme specified");let s=[];for(let e=0;e<a.length;++e){let o=a[e];i(o instanceof RegExp||"string"==typeof o,"scheme at position "+e+" must be a RegExp or String"),o instanceof RegExp?s.push(o.source.toString()):(i(t.schemeRegex.test(o),"scheme at position "+e+" must be a valid scheme"),s.push(n(o)))}r=s.join("|")}let l="(?:"+(r?"(?:"+r+")":t.scheme)+":"+(e.domain?t.hierPartCapture:t.hierPart)+")",u=e.allowRelative?"(?:"+l+"|"+o+")":l;return s.wrap(u+a,r)},s.wrap=function(e,t){return{raw:e="(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])".concat(e),regex:new RegExp("^".concat(e,"$")),scheme:t}},s.uriRegex=s.createRegex({}),t.regex=function(e={}){return e.scheme||e.allowRelative||e.relativeOnly||e.allowQuerySquareBrackets||e.domain?s.createRegex(e):s.uriRegex}},1447:(e,t)=>{"use strict";let a={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*\.?[0-9]*){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};t.Parser=class{constructor(e,t={}){if(!t[a.settings]&&t.constants)for(const e in t.constants){const a=t.constants[e];if(null!==a&&!["boolean","number","string"].includes(typeof a))throw Error("Formula constant ".concat(e," contains invalid ").concat(typeof a," value type"))}this.settings=t[a.settings]?t:Object.assign({[a.settings]:!0,constants:{},functions:{}},t),this.single=null,this._parts=null,this._parse(e)}_parse(e){let i=[],n="",s=0,o=!1,r=e=>{if(s)throw Error("Formula missing closing parenthesis");let r=i.length?i[i.length-1]:null;if(o||n||e){if(r&&"reference"===r.type&&")"===e)return r.type="function",r.value=this._subFormula(n,r.value),void(n="");if(")"===e){let e=new t.Parser(n,this.settings);i.push({type:"segment",value:e})}else if(o){if("]"===o)return i.push({type:"reference",value:n}),void(n="");i.push({type:"literal",value:n})}else if(a.operatorCharacters.includes(n))r&&"operator"===r.type&&a.operators.includes(r.value+n)?r.value+=n:i.push({type:"operator",value:n});else if(n.match(a.numberRx))i.push({type:"constant",value:parseFloat(n)});else if(void 0!==this.settings.constants[n])i.push({type:"constant",value:this.settings.constants[n]});else{if(!n.match(a.tokenRx))throw Error("Formula contains invalid token: ".concat(n));i.push({type:"reference",value:n})}n=""}};for(let t of e)o?t===o?(r(),o=!1):n+=t:s?"("===t?(n+=t,++s):")"===t?--s?n+=t:r(t):n+=t:t in a.literals?o=a.literals[t]:"("===t?(r(),++s):a.operatorCharacters.includes(t)?(r(),n=t,r()):" "!==t?n+=t:r();r();let l=!1;for(let e of i=i.map((e,t)=>"operator"!==e.type||"-"!==e.value||t&&"operator"!==i[t-1].type?e:{type:"operator",value:"n"})){if("operator"===e.type){if(a.operatorsPrefix.includes(e.value))continue;if(!l)throw Error("Formula contains an operator in invalid position");if(!a.operators.includes(e.value))throw Error("Formula contains an unknown operator ".concat(e.value))}else if(l)throw Error("Formula missing expected operator");l=!l}if(!l)throw Error("Formula contains invalid trailing operator");1===i.length&&["reference","literal","constant"].includes(i[0].type)&&(this.single={type:"reference"===i[0].type?"reference":"value",value:i[0].value}),this._parts=i.map(e=>{if("operator"===e.type)return a.operatorsPrefix.includes(e.value)?e:e.value;if("reference"!==e.type)return e.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(e.value))throw Error("Formula contains invalid reference ".concat(e.value));return this.settings.reference?this.settings.reference(e.value):a.reference(e.value)})}_subFormula(e,i){let n=this.settings.functions[i];if("function"!=typeof n)throw Error("Formula contains unknown function ".concat(i));let s=[];if(e){let t="",n=0,o=!1,r=()=>{if(!t)throw Error("Formula contains function ".concat(i," with invali
9d arguments ").concat(e));s.push(t),t=""};for(let i=0;i<e.length;++i){let s=e[i];o?(t+=s,s===o&&(o=!1)):s in a.literals&&!n?(t+=s,o=a.literals[s]):","!==s||n?(t+=s,"("===s?++n:")"===s&&--n):r()}r()}return s=s.map(e=>new t.Parser(e,this.settings)),function(e){let t=[];for(let a of s)t.push(a.evaluate(e));return n.call(e,...t)}}evaluate(e){let t=this._parts.slice();for(let i=t.length-2;i>=0;--i){let n=t[i];if(n&&"operator"===n.type){let s=t[i+1];t.splice(i+1,1);let o=a.evaluate(s,e);t[i]=a.single(n.value,o)}}return a.operatorsOrder.forEach(i=>{for(let n=1;n<t.length-1;)if(i.includes(t[n])){let i=t[n],s=a.evaluate(t[n-1],e),o=a.evaluate(t[n+1],e);t.splice(n,2);let r=a.calculate(i,s,o);t[n-1]=0===r?0:r}else n+=2}),a.evaluate(t[0],e)}},t.Parser.prototype[a.symbol]=!0,a.reference=function(e){return function(t){return t&&void 0!==t[e]?t[e]:null}},a.evaluate=function(e,t){return null===e?null:"function"==typeof e?e(t):e[a.symbol]?e.evaluate(t):e},a.single=function(e,t){if("!"===e)return!t;let a=-t;return 0===a?0:a},a.calculate=function(e,t,i){if("??"===e)return a.exists(t)?t:i;if("string"==typeof t||"string"==typeof i){if("+"===e)return(t=a.exists(t)?t:"")+(a.exists(i)?i:"")}else switch(e){case"^":return Math.pow(t,i);case"*":return t*i;case"/":return t/i;case"%":return t%i;case"+":return t+i;case"-":return t-i}switch(e){case"<":return t<i;case"<=":return t<=i;case">":return t>i;case">=":return t>=i;case"==":return t===i;case"!=":return t!==i;case"&&":return t&&i;case"||":return t||i}return null},a.exists=function(e){return null!=e}},9926:()=>{},5688:()=>{},9708:()=>{},1152:()=>{},443:()=>{},9848:()=>{}},a={},e.exports=function e(i){var n=a[i];if(void 0!==n)return n.exports;var s=a[i]={exports:{}};return t[i](s,s.exports,e),s.exports}(5107)},22344:(e,t,a)=>{var i=a(4650),n=a(50874),s=a(33276);e.exports=function(e,t){var a=this.__data__;if(a instanceof i){var o=a.__data__;if(!n||o.length<199)return o.push([e,t]),this.size=++a.size,this;a=this.__data__=new s(o)}return a.set(e,t),this.size=a.size,this}},22847:(e,t,a)=>{"use strict";a.d(t,{G:()=>i});let i=e=>"object"==typeof e&&null!==e},22864:(e,t,a)=>{"use strict";a.d(t,{cA:()=>i.c,Qx:()=>n.A,RP:()=>s.Ay,$W:()=>d,y5:()=>c.y5});var i=a(14870),n=a(15804),s=a(10815),o=a(831),r=a.n(o),l=a(40508),u=a(85711);let m=e=>!!e,d=e=>{let{apiData:t,questions:a,themes:i}=e,n=t.filter(e=>a.map(e=>e.id).includes(e.questionId)).map(e=>{var t,n,s,o,r;let m=a.find(t=>t.id===e.questionId),d=null!=(t=i.find(t=>t.id===e.theme))?t:null;return{id:e.id,candidateId:e.candidateId,questionId:e.questionId,text:null!=(n=null==m?void 0:m.text)?n:null,theme:d,...(0,l.s8)(e)?{answer:e.answer,explanation:null!=(s=e.explanation)?s:null}:{emptyAnswer:null!=(o=e.emptyAnswer)?o:null,skipped:null!=(r=e.skipped)?r:null},...(0,u.qI)(m)?{location:m.location,nominationAreaLevel:m.nominationAreaLevel}:{}}}).sort((e,t)=>e.questionId-t.questionId),s=n.map(e=>e.theme).filter(m);return r()(s,"id").sort((e,t)=>e.id-t.id).map(e=>({theme:e,questions:n.filter(t=>{var a;return(null==(a=t.theme)?void 0:a.id)===e.id})}))};var c=a(35388)},22926:(e,t,a)=>{var i=a(33276),n=a(91353),s=a(36022);function o(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new i;++t<a;)this.add(e[t])}o.prototype.add=o.prototype.push=n,o.prototype.has=s,e.exports=o},22942:(e,t,a)=>{"use strict";a.d(t,{k:()=>i});let i=(e,t,a)=>e+(t-e)*a},23055:e=>{e.exports={matchRoot:"match-commons_matchRoot__P3EEg",vertical:"match-commons_vertical__QDrJc",horizontal:"match-commons_horizontal__Q9ovg",background:"match-commons_background__iXaKS",primary:"match-commons_primary__9zp_N",secondary:"match-commons_secondary__2agVS",bar:"match-commons_bar__d3zHg",circle:"match-commons_circle__pejV7",circular:"match-commons_circular__nQR_U",percentageText:"match-commons_percentageText__Cjh4u"}},23079:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},23183:(e,t,a)=>{var i=a(25248),n=a(42209),s=a(91544),o=a(13920),r=a(48039),l=a(43092);e.exports=function(e,t,a){t=i(t,e);for(var u=-1,m=t.length,d=!1;++u<m;){var c=l(t[u]);if(!(d=null!=e&&a(e,c)))break;e=e[c]}return d||++u!=m?d:!!(m=null==e?0:e.length)&&r(m)&&o(c,m)&&(s(e)||n(e))}},23282:e=>{var t=Object.prototype;e.exports=function(e){var a=e&&e.constructor;return e===("function"==typeof a&&a.prototype||t)}},23356:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},23429:e=>{e.exports={iconButtonRoot:"IconButton_iconButtonRoot__6_yOq",hidden:"IconButton_hidden__AJ8vL",small:"IconButton_small__5zB7m",medium:"IconButton_medium__3pAb5",disabledColors:"IconButton_disabledColors__PLHQq"}},23765:(e,t,a)=>{"use strict";a.d(t,{Bw:()=>l,CI:()=>u,tr:()=>m});var i=a(22318),n=a.n(i),s=a(35388),o=a(85711),r=a(42177);let l=(e,t,a,i,o)=>{let l=a.map(e=>"&candidateId=".concat(encodeURIComponent(e))).join("");return(0,s.$Y)((0,s.Bx)(n().array().items(n().object())),"".concat(r.t,"/answersByCandidate?electionId=").concat(e,"&brand=").concat(t).concat(i?"&dropExplanation=true":"").concat(l),{headers:o})},u=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"country",a=arguments.length>2?arguments[2]:void 0;return(0,s.$Y)((0,s.Bx)(n().array()),"".concat(r.t,"/partyAnswers?electionId=").concat(e,"&key=").concat(t,"&getBy=area"),{headers:a})},m=(e,t)=>
9(0,s.$Y)((0,s.Bx)(o.NI),"".concat(r.t,"/readyCandidates?electionId=").concat(e,"&key=").concat(t,"&getBy=area"))},24127:(e,t,a)=>{var i=a(25248),n=a(43092);e.exports=function(e,t){t=i(t,e);for(var a=0,s=t.length;null!=e&&a<s;)e=e[n(t[a++])];return a&&a==s?e:void 0}},24238:e=>{e.exports={roundedImageRoot:"RoundedImage_roundedImageRoot__aXcLQ",imageContainer:"RoundedImage_imageContainer__p_frm",selected:"RoundedImage_selected__sDVlf",blackAndWhiteImage:"RoundedImage_blackAndWhiteImage__hV6vI"}},24490:(e,t,a)=>{e.exports=a(54703)(a(45516),"WeakMap")},24877:(e,t,a)=>{var i,n=a(62272),s=(i=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";e.exports=function(e){return!!s&&s in e}},24926:e=>{e.exports={link:"CandidateSocialMediaLinks_link__XcgYR",socialMediaLinkContainer:"CandidateSocialMediaLinks_socialMediaLinkContainer__2ZWn4",socialMediaIcon:"CandidateSocialMediaLinks_socialMediaIcon__EBCEi"}},25080:(e,t,a)=>{e.exports=a(45516).Symbol},25125:(e,t,a)=>{"use strict";a.d(t,{r:()=>n});var i=a(32113);function n(e,t){let a=e?.[t]??e?.default??e;return a!==e?(0,i.K)(a,e):a}},25248:(e,t,a)=>{var i=a(91544),n=a(25907),s=a(8947),o=a(60567);e.exports=function(e,t){return i(e)?e:n(e,t)?[e]:s(o(e))}},25523:(e,t)=>{var a,i,n;!function(){if("u">typeof window){var s,o=0,r=!1,l=!1,u=7,m="[iFrameSizer]",d=m.length,c=null,h=window.requestAnimationFrame,p={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},v={},k=null,y={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){N("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}},f={};window.jQuery&&((s=window.jQuery).fn?s.fn.iFrameResize||(s.fn.iFrameResize=function(e){return this.filter("iframe").each(function(t,a){U(a,e)}).end()}):S("","Unable to bind to jQuery, it is not fully loaded.")),i=[],void 0===(n="function"==typeof(a=H)?a.apply(t,i):a)||(e.exports=n),window.iFrameResize=window.iFrameResize||H()}function g(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function b(e,t,a){e.addEventListener(t,a,!1)}function j(e,t,a){e.removeEventListener(t,a,!1)}function x(e){return v[e]?v[e].log:r}function w(e,t){A("log",e,t,x(e))}function S(e,t){A("info",e,t,x(e))}function N(e,t){A("warn",e,t,!0)}function A(e,t,a,i){var n;!0===i&&"object"==typeof window.console&&console[e](m+"["+(n="Host page: "+t,window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+t:"Nested host page: "+t),n)+"]",a)}function P(e){function t(){a("Height"),a("Width"),V(function(){T(D),E(B),_(B,"onResized",D)},D,"init")}function a(e){var t=Number(v[B]["max"+e]),a=Number(v[B]["min"+e]),i=e.toLowerCase(),n=Number(D[i]);w(B,"Checking "+i+" is in range "+a+"-"+t),n<a&&(n=a,w(B,"Set "+i+" to min value")),n>t&&(n=t,w(B,"Set "+i+" to max value")),D[i]=""+n}function i(e){return R.substr(R.indexOf(":")+u+e)}function n(e,t){var a,i;a=function(){var a,i;O("Send Page Info","pageInfo:"+(a=document.body.getBoundingClientRect(),JSON.stringify({iframeHeight:(i=D.iframe.getBoundingClientRect()).height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-a.top,10),offsetLeft:parseInt(i.left-a.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,t)},f[i=t]||(f[i]=setTimeout(function(){f[i]=null,a()},32))}function s(e){var t=e.getBoundingClientRect();return L(B),{x:Math.floor(Number(t.left)+Number(c.x)),y:Math.floor(Number(t.top)+Number(c.y)
9)}}function o(e){var t=e?s(D.iframe):{x:0,y:0},a={x:Number(D.width)+t.x,y:Number(D.height)+t.y};w(B,"Reposition requested from iFrame (offset x:"+t.x+" y:"+t.y+")"),window.top!==window.self?window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](a.x,a.y):N(B,"Unable to scroll to requested position, window.parentIFrame not found"):(c=a,r(),w(B,"--"))}function r(){!1!==_(B,"onScroll",c)?E(B):c=null}function l(e){var t,a,n={};if(0===Number(D.width)&&0===Number(D.height)){var s=i(9).split(":");n={x:s[1],y:s[0]}}else n={x:D.width,y:D.height};t=e,a={iframe:D.iframe,screenX:Number(n.x),screenY:Number(n.y),type:D.type},_(B,t,a)}var h,p,k,y,g,x,A,P,C,U,R=e.data,D={},B=null;if("[iFrameResizerChild]Ready"===R)for(var H in v)O("iFrame requested init",K(H),v[H].iframe,H);else if(m===(""+R).substr(0,d)&&R.substr(d).split(":")[0]in v){(y=(k=R.substr(d).split(":"))[1]?parseInt(k[1],10):0,x=getComputedStyle(g=v[k[0]]&&v[k[0]].iframe),v[B=(D={iframe:g,id:k[0],height:y+("border-box"!==(h=x).boxSizing?0:(h.paddingTop?parseInt(h.paddingTop,10):0)+(h.paddingBottom?parseInt(h.paddingBottom,10):0))+("border-box"!==(p=x).boxSizing?0:(p.borderTopWidth?parseInt(p.borderTopWidth,10):0)+(p.borderBottomWidth?parseInt(p.borderBottomWidth,10):0)),width:k[2],type:k[3]}).id]&&(v[B].loaded=!0),(A=D.type in{true:1,false:1,undefined:1})&&w(B,"Ignoring init message from meta parent page"),!A&&(C=!0,v[P=B]||(C=!1,N(D.type+" No settings for "+P+". Message was: "+R)),C))&&(w(B,"Received: "+R),U=!0,null===D.iframe&&(N(B,"IFrame ("+D.id+") not found"),U=!1),U&&function(){var t,a=e.origin,i=v[B]&&v[B].checkOrigin;if(i&&""+a!="null"&&!(i.constructor===Array?function(){var e=0,t=!1;for(w(B,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===a){t=!0;break}return t}():(t=v[B]&&v[B].remoteHost,w(B,"Checking connection is from: "+t),a===t)))throw Error("Unexpected message received from: "+a+" for "+D.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(v[B]&&v[B].firstRun&&v[B]&&(v[B].firstRun=!1),D.type){case"close":M(D.iframe);break;case"message":y=i(6),w(B,"onMessage passed: {iframe: "+D.iframe.id+", message: "+y+"}"),p="onMessage",k={iframe:D.iframe,message:JSON.parse(y)},_(B,p,k),w(B,"--");break;case"mouseenter":l("onMouseEnter");break;case"mouseleave":l("onMouseLeave");break;case"autoResize":v[B].autoResize=JSON.parse(i(9));break;case"scrollTo":o(!1);break;case"scrollToOffset":o(!0);break;case"pageInfo":function e(e,t){function i(){v[g]?n(v[g].iframe,g):a()}["scroll","resize"].forEach(function(a){w(g,e+a+" listener for sendPageInfo"),t(window,a,i)})}function a(){e("Remove ",j)}n(v[B]&&v[B].iframe,B);var u,m,d,h,p,k,y,f,g=B;e("Add ",b),v[g]&&(v[g].stopPageInfo=a);break;case"pageInfoStop":v[B]&&v[B].stopPageInfo&&(v[B].stopPageInfo(),delete v[B].stopPageInfo);break;case"inPageLink":d=decodeURIComponent(m=i(9).split("#")[1]||""),(h=document.getElementById(d)||document.getElementsByName(d)[0])?(u=s(h),w(B,"Moving to in page link (#"+m+") at x: "+u.x+" y: "+u.y),c={x:u.x,y:u.y},r(),w(B,"--")):window.top!==window.self?window.parentIFrame?window.parentIFrame.moveToAnchor(m):w(B,"In page link #"+m+" not found and window.parentIFrame not found"):w(B,"In page link #"+m+" not found");break;case"reset":I(D);break;case"init":t(),f=D.iframe,_(B,"onInit",f);break;default:0===Number(D.width)&&0===Number(D.height)?N("Unsupported message received ("+D.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):t()}}())}else S(B,"Ignored: "+R)}function _(e,t,a){var i=null,n=null;if(v[e])if("function"==typeof(i=v[e][t]))n=i(a);else throw TypeError(t+" on iFrame["+e+"] is not a function");return n}function C(e){var t=e.id;delete v[t]}function M(e){var t=e.id;if(!1===_(t,"onClose",t))return void w(t,"Close iframe cancelled by onClose event");w(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){N(e)}_(t,"onClosed",t),w(t,"--"),C(e)}function L(e){null===c&&w(e,"Get page position: "+(c={x:void 0!==window.pageXOffset?window.pageXOffset:document.documentElement.scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop}).x+","+c.y)}function E(e){null!==c&&(window.scrollTo(c.x,c.y),w(e,"Set page position: "+c.x+","+c.y),c=null)}function I(e){w(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),L(e.id),V(function(){T(e),O("reset","reset",e.iframe,e.id)},e,"reset")}
9function T(e){function t(t){e.id?(e.iframe.style[t]=e[t]+"px",w(e.id,"IFrame ("+a+") "+t+" set to "+e[t]+"px")):w("undefined","messageData id not set"),l||"0"!==e[t]||(l=!0,w(a,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(v).forEach(function(e){function t(t){return"0px"===(v[e]&&v[e].iframe.style[t])}v[e]&&null!==v[e].iframe.offsetParent&&(t("height")||t("width"))&&O("Visibility change","resize",v[e].iframe,e)})}var t,a=g();a&&(t=document.querySelector("body"),new a(function(t){w("window","Mutation observed: "+t[0].target+" "+t[0].type),R(e,16)}).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}var a=e.iframe.id;v[a]&&(v[a].sizeHeight&&t("height"),v[a].sizeWidth&&t("width"))}function V(e,t,a){a!==t.type&&h&&!window.jasmine?(w(t.id,"Requesting animation frame"),h(e)):e()}function O(e,t,a,i,n){var s,o=!1;v[i=i||a.id]&&(a&&"contentWindow"in a&&null!==a.contentWindow?(s=v[i]&&v[i].targetOrigin,w(i,"["+e+"] Sending msg to iframe["+i+"] ("+t+") targetOrigin: "+s),a.contentWindow.postMessage(m+t,s)):N(i,"["+e+"] IFrame("+i+") not found"),n&&v[i]&&v[i].warningTimeout&&(v[i].msgTimeout=setTimeout(function(){!v[i]||v[i].loaded||o||(o=!0,N(i,"IFrame has not responded within "+v[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))},v[i].warningTimeout)))}function K(e){return e+":"+v[e].bodyMarginV1+":"+v[e].sizeWidth+":"+v[e].log+":"+v[e].interval+":"+v[e].enablePublicMethods+":"+v[e].autoResize+":"+v[e].bodyMargin+":"+v[e].heightCalculationMethod+":"+v[e].bodyBackground+":"+v[e].bodyPadding+":"+v[e].tolerance+":"+v[e].inPageLinks+":"+v[e].resizeFrom+":"+v[e].widthCalculationMethod+":"+v[e].mouseEvents}function U(e,t){var a=function(a){if(""===a){var i;i=t&&t.id||y.id+o++,null!==document.getElementById(i)&&(i+=o++),e.id=a=i,r=(t||{}).log,w(a,"Added missing iframe ID: "+a+" ("+e.src+")")}return a}(e.id);if(a in v&&"iFrameResizer"in e)N(a,"Ignored iFrame, already setup.");else{var i,n,s,l=t;if(l=l||{},v[a]={firstRun:!0,iframe:e,remoteHost:e.src&&e.src.split("/").slice(0,3).join("/")},"object"!=typeof l)throw TypeError("Options is not an object");Object.keys(l).forEach(function(e){var t=e.split("Callback");if(2===t.length){var i="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[i]=this[e],delete this[e],N(a,"Deprecated: '"+e+"' has been renamed '"+i+"'. The old method will be removed in the next major version.")}},l);var u=l;for(var m in y)Object.prototype.hasOwnProperty.call(y,m)&&(v[a][m]=Object.prototype.hasOwnProperty.call(u,m)?u[m]:y[m]);switch(v[a]&&(v[a].targetOrigin=!0===v[a].checkOrigin?""===(i=v[a].remoteHost)||null!==i.match(/^(about:blank|javascript:|file:\/\/)/)?"*":i:"*"),w(a,"IFrame scrolling "+(v[a]&&v[a].scrolling?"enabled":"disabled")+" for "+a),e.style.overflow=!1===(v[a]&&v[a].scrolling)?"hidden":"auto",v[a]&&v[a].scrolling){case"omit":break;case!0:e.scrolling="yes";break;case!1:e.scrolling="no";break;default:e.scrolling=v[a]?v[a].scrolling:"no"}function d(t){var i=v[a][t];1/0!==i&&0!==i&&(e.style[t]="number"==typeof i?i+"px":i,w(a,"Set "+t+" = "+e.style[t]))}function c(e){if(v[a]["min"+e]>v[a]["max"+e])throw Error("Value for min"+e+" can not be greater than max"+e)}c("Height"),c("Width"),d("maxHeight"),d("minHeight"),d("maxWidth"),d("minWidth"),("number"==typeof(v[a]&&v[a].bodyMargin)||"0"===(v[a]&&v[a].bodyMargin))&&(v[a].bodyMarginV1=v[a].bodyMargin,v[a].bodyMargin=""+v[a].bodyMargin+"px"),n=K(a),(s=g())&&e.parentNode&&new s(function(t){t.forEach(function(t){Array.prototype.slice.call(t.removedNodes).forEach(function(t){t===e&&M(e)})})}).observe(e.parentNode,{childList:!0}),b(e,"load",function(){var t,i;O("iFrame.onload",n,e,void 0,!0),t=v[a]&&v[a].firstRun,i=v[a]&&v[a].heightCalculationMethod in p,!t&&i&&I({iframe:e,height:0,width:0,type:"init"})}),O("init",n,e,void 0,!0),v[a]&&(v[a].iframe.iFrameResizer={close:M.bind(null,v[a].iframe),removeListeners:C.bind(null,v[a].iframe),resize:O.bind(null,"Window resize","resize",v[a].iframe),moveToAnchor:function(e){O("Move to anchor","moveToAnchor:"+e,v[a].iframe,a)},sendMessage:function(e){O("Send Message","message:"+(e=JSON.stringify(e)),v[a].iframe,a)}})}}function R(e,t){null===k&&(k=setTimeout(function(){k=null,e()},t))}
9function D(){"hidden"!==document.visibilityState&&(w("document","Trigger event: Visiblity change"),R(function(){B("Tab Visable","resize")},16))}function B(e,t){Object.keys(v).forEach(function(a){v[a]&&"parent"===v[a].resizeFrom&&v[a].autoResize&&!v[a].firstRun&&O(e,t,v[a].iframe,a)})}function H(){function e(e,a){if(a){if(a.tagName){if("IFRAME"!==a.tagName.toUpperCase())throw TypeError("Expected <IFRAME> tag, found <"+a.tagName+">")}else throw TypeError("Object is not a valid DOM element");U(a,e),t.push(a)}}var t,a,i=["moz","webkit","o","ms"];for(a=0;a<i.length&&!h;a+=1)h=window[i[a]+"RequestAnimationFrame"];return h?h=h.bind(window):w("setup","RequestAnimationFrame not supported"),b(window,"message",P),b(window,"resize",function(){w("window","Trigger event: resize"),R(function(){B("Window resize","resize")},16)}),b(document,"visibilitychange",D),b(document,"-webkit-visibilitychange",D),function(a,i){switch(t=[],a&&a.enablePublicMethods&&N("enablePublicMethods option has been removed, public methods are now always available in the iFrame"),typeof i){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(i||"iframe"),e.bind(void 0,a));break;case"object":e(a,i);break;default:throw TypeError("Unexpected data type ("+typeof i+")")}return t}}}()},25684:(e,t,a)=>{"use strict";function i(e,t){-1===e.indexOf(t)&&e.push(t)}function n(e,t){let a=e.indexOf(t);a>-1&&e.splice(a,1)}a.d(t,{Ai:()=>n,Kq:()=>i})},25725:(e,t,a)=>{var i=a(81648),n=a(78492),s=a(68988),o=a(91544);e.exports=function(e,t){return function(a,r){var l=o(a)?i:n,u=t?t():{};return l(a,e,s(r,2),u)}}},25782:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>g});var i=a(6029),n=a(54386),s=a(35388),o=a(40508),r=a(28639),l=a(45920);let u=(e,t,a)=>"translate(".concat(e," ").concat(t,") rotate(").concat(90*("cw"===a?1:-1),") translate(").concat(-e," ").concat(-t,")");var m=a(48181),d=a(63390),c=a(6820),h=a.n(c),p=a(67044),v=a.n(p);let k=e=>{var t;let{className:a,...n}=e,s={size:n.size,weight:n.weight,color:n.color,fontFamily:n.fontFamily,fontStyle:n.fontStyle,lineHeight:n.lineHeight,textAlign:n.textAlign,tracking:n.tracking},o=(0,d.gq)(s),r=h().strongCss,l="".concat(null!=(t=v().dimensionText)?t:""," ").concat(o," ").concat(null!=r?r:""," ").concat(null!=a?a:"");return(0,i.jsx)("text",{className:l,...n})},y=r.Lg+4+4,f=y+10,g=(0,s.kt)(e=>{let{items:t,ownValues:a,dimensions:s,parentDimensions:{width:d},hoveredItemId:c,setHoveredItemId:h,selectedItemId:p,setSelectedItemId:g}=e,b=(0,n.A)().range([f,d-f]).domain([-1,1]),j=(0,n.A)().range([f,d-f]).domain([-1,1]),x=t.find(e=>e.id===c),w=null==a?void 0:a[s.x.name],S=null==a?void 0:a[s.y.name],N=t.map(e=>{var t,a;let i,n;return i=null==(t=e.values)?void 0:t[s.x.name],n=null==(a=e.values)?void 0:a[s.y.name],(0,o.l8)(i)&&(0,o.l8)(n)?{id:e.id,title:e.title,subTitle:e.subTitle,createComponent:e.createComponent,selected:e.id===p,location:{x:b(i),y:j(n)}}:null}).filter(e=>null!==e),A=(0,i.jsx)(l.OB,{items:N,onHover:h,onClick:g,selectedItemId:p,ownElementLocation:(0,o.l8)(w)&&(0,o.l8)(S)?{x:b(w),y:j(S)}:void 0});return(0,i.jsxs)("div",{className:v().valueMapContainer,style:{width:d,height:d},children:[(0,i.jsxs)("svg",{className:v().valueMapSVG,width:"100%",height:"100%",viewBox:"0 0 ".concat(d," ").concat(d),children:[(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{x:y,y:y,rx:"25px",width:Math.max(d-2*y,0),height:Math.max(d-2*y,0),className:v().background}),(0,i.jsx)("line",{className:v().line,x1:f,x2:d-f,y1:d/2,y2:d/2}),(0,i.jsx)("line",{className:v().line,y1:f,y2:d-f,x1:d/2,x2:d/2})]}),(0,i.jsxs)("g",{children:[(0,i.jsx)(k,{x:d/2,y:r.Lg,textAnchor:"middle",size:r.Lg,children:s.y.endPoints[0]}),(0,i.jsx)(k,{x:d/2,y:d-4,textAnchor:"middle",size:r.Lg,children:s.y.endPoints[1]}),(0,i.jsx)(k,{x:r.Lg+4,y:d/2,textAnchor:"middle",size:r.Lg,transform:u(r.Lg,d/2,"ccw"),children:s.x.endPoints[0]}),(0,i.jsx)(k,{x:d-4-4,y:d/2,textAnchor:"middle",size:r.Lg,transform:u(d-4,d/2,"ccw"),children:s.x.endPoints[1]})]}),A]}),(()=>{var e,t;if(!x)return null;let a=null==(e=x.values)?void 0:e[s.x.name],n=null==(t=x.values)?void 0:t[s.y.name];return(0,o.l8)(a)&&(0,o.l8)(n)&&(0,i.jsx)(m.A,{location:{x:b(a),y:j(n)},text:x.title,containerSize:{width:d,height:d},margin:x.createComponent||x.id===p?10:l.V$})})()]})})},25903:(e,t,a)=>{"use strict";a.d(t,{s:()=>n});var i=a(22847);function n(e){return(0,i.G)(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}},25907:(e,t,a)=>{var i=a(91544),n=a(50515),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(i(e))return!1;var a=typeof e;return!!("number"==a||"symbol"==a||"boolean"==a||null==e||n(e))||o.test(e)||!s.test(e)||null!=t&&e in Object(t)}},26027:(e,t,a)=>{var i=a(81014),n=a(25248),s=a(13920),o=a(23356),r=a(43092);e.exports=function(e,t,a,l){if(!o(e))return e;t=n(t,e);for(var u=-1,m=t.length,d=m-1,c=e;null!=c&&++u<m;){var h=r(t[u]),p=a;if("__proto__"===h||"constructor"===h||"prototype"===h)break;if(u!=d){var v=c[h];void 0===(p=l?l(v,h,c):void 0)&&(p=o(v)?v:s(t[u+1])?[]:{})}i(c,h,p),c=c[h]}return e}},26584:(e,t,a)=>{"use strict";a.d(t,{Y:()=>s});var i=a(92071),n=a(99230);function s(e){let t=(0,n.j)();for(let a in e)t[a]={...t[a],...e[a]};(0,i.lr)(t)}},26679:e=>{e.exports={checkboxRoot:"Checkbox_checkboxRoot__35QfK",disabled:"Checkbox_disabled__Mn69w",checkIcon:"Checkbox_checkIcon__6wLZQ",checkMarkContainer:"Checkbox_checkMarkContainer__FB7_u",styledCheckbox:"Checkbox_styledCheckbox__dNEn9"}},26795:(e,t,a)=>{"use strict";a.d(t,{EY:()=>l,OH:()=>u,gq:()=>r});var i=a(6029),n=a(55729),s=a(6820),o=a.n(s);let r=e=>{let{color:t="primary",fontFamily:a="primary",fontStyle:i="normal",lineHeight:n="normal",size:s="initial",textAlign:r="left",tracking:l="normal",weight:u="normal",starAfterLabel:m}=e;return[o().textBase,o()["color-".concat(t)],o()["fontFamily-".concat(a)],o()["fontStyle-".concat(i)],o()["lineHeight-".concat(n)],o()["size-".concat(s)],o()["textAlign-".concat(r)],o()["tracking-".concat(l)],o()["weight-".concat(u)],m?o().starAfterLabel:""].join(" ")},l=e=>{let{className:t,as:a="span",color:i,fontFamily:s,fontStyle:o,lineHeight:l,size:u,textAlign:m,tracking:d,weight:c,customMargin:h,starAfterLabel:p,...v}=e,k=r({color:e.color,fontFamily:e.fontFamily,fontStyle:e.fontStyle,lineHeight:e.lineHeight,size:e.size,textAlign:e.textAlign,tracking:e.tracking,weight:e.weight,starAfterLabel:p});return n.createElement(a,{style:{margin:null!=h?h:0,...v.style},className:"".concat(k," ").concat(null!=t?t:""),...v})},u=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("strong",{className:"".concat(null!=(t=o().strongCss)?t:""," ").concat(null!=a?a:""),...n})}},27185:(e,t,a)=>{"use strict";function i(e,t,a,n={passive:!0}){return e.addEventListener(t,a,n),()=>e.removeEventListener(t,a)}a.d(t,{k:()=>i})},27206:(e,t,a)=>{"use strict";a.d(t,{A:()=>
9o});var i=a(6029),n=a(6782),s=a.n(n);let o=e=>{var t,a,n;let{className:o,width:r="fixed",theme:l="dark",...u}=e,m="".concat(null!=(t=s().lineDivider)?t:""," ").concat(null!=(a=s()[r])?a:""," ").concat(null!=(n=s()[l])?n:""," ").concat(null!=o?o:"");return(0,i.jsx)("div",{className:m,...u})}},27420:function(e,t,a){"use strict";var i=(this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(a(20444)),n=a(72756);function s(e,t){var a={};return e&&"string"==typeof e&&(0,i.default)(e,function(e,i){e&&i&&(a[(0,n.camelCase)(e,t)]=i)}),a}s.default=s,e.exports=s},28180:e=>{e.exports={screenReaderOnly:"ScreenReaderOnly_screenReaderOnly__H3_nL"}},28340:(e,t,a)=>{var i=a(33573),n=a(48039),s=a(3619),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return s(e)&&n(e.length)&&!!o[i(e)]}},28392:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a=Object.prototype.toString,i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===a.call(e)},o=function(e){if(!e||"[object Object]"!==a.call(e))return!1;var i,n=t.call(e,"constructor"),s=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!s)return!1;for(i in e);return void 0===i||t.call(e,i)},r=function(e,t){i&&"__proto__"===t.name?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,a){if("__proto__"===a){if(!t.call(e,a))return;else if(n)return n(e,a).value}return e[a]};e.exports=function e(){var t,a,i,n,u,m,d=arguments[0],c=1,h=arguments.length,p=!1;for("boolean"==typeof d&&(p=d,d=arguments[1]||{},c=2),(null==d||"object"!=typeof d&&"function"!=typeof d)&&(d={});c<h;++c)if(t=arguments[c],null!=t)for(a in t)i=l(d,a),d!==(n=l(t,a))&&(p&&n&&(o(n)||(u=s(n)))?(u?(u=!1,m=i&&s(i)?i:[]):m=i&&o(i)?i:{},r(d,{name:a,newValue:e(p,m,n)})):void 0!==n&&r(d,{name:a,newValue:n}));return d}},28469:(e,t,a)=>{var i=a(28617),n=a(87567);e.exports=function(e){for(var t=n(e),a=t.length;a--;){var s=t[a],o=e[s];t[a]=[s,o,i(o)]}return t}},28613:(e,t,a)=>{"use strict";a.d(t,{E:()=>n});var i=a(55729);let n="u">typeof window?i.useLayoutEffect:i.useEffect},28617:(e,t,a)=>{var i=a(23356);e.exports=function(e){return e==e&&!i(e)}},28639:(e,t,a)=>{"use strict";a.d(t,{Lg:()=>n,Ny:()=>i,QJ:()=>o,Wg:()=>r,YA:()=>l,tQ:()=>s});let i=12,n=14,s=640,o=4,r=5,l=5},29090:(e,t,a)=>{var i=a(22926),n=a(98501),s=a(82694);e.exports=function(e,t,a,o,r,l){var u=1&a,m=e.length,d=t.length;if(m!=d&&!(u&&d>m))return!1;var c=l.get(e),h=l.get(t);if(c&&h)return c==t&&h==e;var p=-1,v=!0,k=2&a?new i:void 0;for(l.set(e,t),l.set(t,e);++p<m;){var y=e[p],f=t[p];if(o)var g=u?o(f,y,p,t,e,l):o(y,f,p,e,t,l);if(void 0!==g){if(g)continue;v=!1;break}if(k){if(!n(t,function(e,t){if(!s(k,t)&&(y===e||r(y,e,a,o,l)))return k.push(t)})){v=!1;break}}else if(!(y===f||r(y,f,a,o,l))){v=!1;break}}return l.delete(e),l.delete(t),v}},29129:e=>{e.exports={sm:"min-width: 576px",answerPackContainer:"AnswerPack_answerPackContainer__KiYlX",partyTagAndName:"AnswerPack_partyTagAndName__MEHo7",answerCircles:"AnswerPack_answerCircles__WEnEA",answerCircle:"AnswerPack_answerCircle__6S_47",selectable:"AnswerPack_selectable__DBWNR",selected:"AnswerPack_selected__b6YVN",small:"AnswerPack_small__6ALOm",medium:"AnswerPack_medium__fhlS4",large:"AnswerPack_large__XlXf9",barContainer:"AnswerPack_barContainer__L_d2a",bar:"AnswerPack_bar__NTjnG",partyName:"AnswerPack_partyName__LRpDa"}},29255:(e,t,a)=>{"use strict";a.d(t,{X:()=>n,f:()=>i});let i=e=>1e3*e,n=e=>e/1e3},29468:e=>
9{e.exports={md:"min-width: 768px",checkboxCardRoot:"CheckboxCard_checkboxCardRoot__tiNMY",leftContent:"CheckboxCard_leftContent__r8FMg",matchContent:"CheckboxCard_matchContent__Ay3Zz",imageContainer:"CheckboxCard_imageContainer__J74O3",textContainer:"CheckboxCard_textContainer__Koon1",checkboxCardGridContainer:"CheckboxCard_checkboxCardGridContainer__0zaxW",checkboxCardListContainer:"CheckboxCard_checkboxCardListContainer__L_h7T"}},29778:(e,t,a)=>{var i=a(17085),n=a(42209),s=a(91544),o=a(9541),r=a(13920),l=a(43562),u=Object.prototype.hasOwnProperty;e.exports=function(e,t){var a=s(e),m=!a&&n(e),d=!a&&!m&&o(e),c=!a&&!m&&!d&&l(e),h=a||m||d||c,p=h?i(e.length,String):[],v=p.length;for(var k in e)(t||u.call(e,k))&&!(h&&("length"==k||d&&("offset"==k||"parent"==k)||c&&("buffer"==k||"byteLength"==k||"byteOffset"==k)||r(k,v)))&&p.push(k);return p}},29794:(e,t,a)=>{var i=a(65517),n=a(91544);e.exports=function(e,t,a){var s=t(e);return n(e)?s:i(s,a(e))}},29903:(e,t,a)=>{"use strict";a.d(t,{F:()=>i});let i=(...e)=>e.reduce((e,t)=>a=>t(e(a)))},30147:e=>{e.exports=function(e,t){for(var a=-1,i=null==e?0:e.length,n=0,s=[];++a<i;){var o=e[a];t(o,a,e)&&(s[n++]=o)}return s}},31736:(e,t,a)=>{e.exports=a(54703)(a(45516),"Set")},31766:(e,t,a)=>{"use strict";a.d(t,{X:()=>n});let i=e=>null!==e;function n(e,{repeat:t,repeatType:a="loop"},s,o=1){let r=e.filter(i),l=o<0||t&&"loop"!==a&&t%2==1?0:r.length-1;return l&&void 0!==s?s:r[l]}},31835:(e,t,a)=>{var i=a(25080),n=a(50025),s=a(66581),o=a(29090),r=a(45852),l=a(48546),u=i?i.prototype:void 0,m=u?u.valueOf:void 0;
9e.exports=function(e,t,a,i,u,d,c){switch(a){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!d(new n(e),new n(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return s(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=r;case"[object Set]":var p=1&i;if(h||(h=l),e.size!=t.size&&!p)break;var v=c.get(e);if(v)return v==t;i|=2,c.set(e,t);var k=o(h(e),h(t),i,u,d,c);return c.delete(e),k;case"[object Symbol]":if(m)return m.call(e)==m.call(t)}return!1}},32113:(e,t,a)=>{"use strict";function i(e,t){if(e?.inherit&&t){let{inherit:a,...i}=e;return{...t,...i}}return e}a.d(t,{K:()=>i})},32138:(e,t,a)=>{"use strict";function i(e,t,a){if(null==e)return[];if(e instanceof EventTarget)return[e];if("string"==typeof e){let i=document;t&&(i=t.current);let n=a?.[e]??i.querySelectorAll(e);return n?Array.from(n):[]}return Array.from(e).filter(e=>null!=e)}a.d(t,{K:()=>i})},32264:(e,t,a)=>{"use strict";a.d(t,{V:()=>m,f:()=>c});var i=a(73768);let n=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;var s=a(10714),o=a(5169);let r="number",l="color",u=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function m(e){let t=e.toString(),a=[],n={color:[],number:[],var:[]},s=[],o=0,m=t.replace(u,e=>(i.y.test(e)?(n.color.push(o),s.push(l),a.push(i.y.parse(e))):e.startsWith("var(")?(n.var.push(o),s.push("var"),a.push(e)):(n.number.push(o),s.push(r),a.push(parseFloat(e))),++o,"${}")).split("${}");return{values:a,split:m,indexes:n,types:s}}function d({split:e,types:t}){let a=e.length;return n=>{let s="";for(let u=0;u<a;u++)if(s+=e[u],void 0!==n[u]){let e=t[u];e===r?s+=(0,o.a)(n[u]):e===l?s+=i.y.transform(n[u]):s+=n[u]}return s}}let c={test:function(e){return isNaN(e)&&"string"==typeof e&&(e.match(s.S)?.length||0)+(e.match(n)?.length||0)>0},parse:function(e){return m(e).values},createTransformer:function(e){return d(m(e))},getAnimatableNone:function(e){let t=m(e);return d(t)(t.values.map((e,a)=>((e,t)=>"number"==typeof e?t?.trim().endsWith("/")?e:0:"number"==typeof e?0:i.y.test(e)?i.y.getAnimatableNone(e):e)(e,t.split[a])))}}},33112:e=>{e.exports={focus:"focus_focus__xrOIq",focusVisible:"focus_focusVisible__xc_3b",focusWithin:"focus_focusWithin__pepD9",focusWithBoxShadow:"focus_focusWithBoxShadow__PSXAe"}},33276:(e,t,a)=>{var i=a(95149),n=a(37175),s=a(11720),o=a(38684),r=a(35844);function l(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}l.prototype.clear=i,l.prototype.delete=n,l.prototype.get=s,l.prototype.has=o,l.prototype.set=r,e.exports=l},33573:(e,t,a)=>{var i=a(25080),n=a(13574),s=a(23079),o=i?i.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?n(e):s(e)}},33784:(e,t,a)=>{"use strict";a.d(t,{M:()=>i});let i=e=>"mouse"===e.pointerType?"number"!=typeof e.button||e.button<=0:!1!==e.isPrimary},33892:e=>{e.exports={small:"variants_small__UcUXE",medium:"variants_medium__J0gOI",large:"variants_large__ucuzY",primary:"variants_primary__603HU",secondary:"variants_secondary__MPq5Q",function:"variants_function__Mld8q"}},33946:e=>{e.exports=function(e,t){return function(a){return e(t(a))}}},33972:(e,t,a)=>{"use strict";a.d(t,{A:()=>aU});var i={};a.r(i),a.d(i,{boolean:()=>y,booleanish:()=>f,commaOrSpaceSeparated:()=>w,commaSeparated:()=>x,number:()=>b,overloadedBoolean:()=>g,spaceSeparated:()=>j});var n={};a.r(n),a.d(n,{attentionMarkers:()=>tP,contentInitial:()=>tj,disable:()=>t_,document:()=>tb,flow:()=>tw,flowInitial:()=>tx,insideSpan:()=>tA,string:()=>tS,text:()=>tN});var s=a(6029);let o=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,r=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,l={};function u(e,t){return((t||l).jsx?r:o).test(e)}let m=/[ \t\n\f\r]/g;function d(e){return""===e.replace(m,"")}class c{constructor(e,t,a){this.normal=t,this.property=e,a&&(this.space=a)}}function h(e,t){let a={},i={};for(let t of e)Object.assign(a,t.property),Object.assign(i,t.normal);return new c(a,i,t)}function p(e){return e.toLowerCase()}c.prototype.normal={},c.prototype.property={},c.prototype.space=void 0;class v{constructor(e,t){this.attribute=t,this.property=e}}v.prototype.attribute="",v.prototype.booleanish=!1,v.prototype.boolean=!1,v.prototype.commaOrSpaceSeparated=!1,v.prototype.commaSeparated=!1,v.prototype.defined=!1,v.prototype.mustUseProperty=!1,v.prototype.number=!1,v.prototype.overloadedBoolean=!1,v.prototype.property="",v.prototype.spaceSeparated=!1,v.prototype.space=void 0;let k=0,y=S(),f=S(),g=S(),b=S(),j=S(),x=S(),w=S();function S(){return 2**++k}let N=Object.keys(i);class A extends v{constructor(e,t,a,n){let s=-1;if(super(e,t),function(e,t,a){a&&(e[t]=a)}(this,"space",n),"number"==typeof a)for(;++s<N.length;){const e=N[s];!function(e,t,a){a&&(e[t]=a)}(this,N[s],(a&i[e])===i[e])}}}function P(e){let t={},a={};for(let[i,n]of Object.entries(e.properties)){let s=new A(i,e.transform(e.attributes||{},i),n,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(s.mustUseProperty=!0),t[i]=s,a[p(i)]=i,a[p(s.attribute)]=i}return new c(t,a,e.space)}A.prototype.defined=!0;let _=P({properties:{ariaActiveDescendant:null,ariaAtomic:f,ariaAutoComplete:null,ariaBusy:f,ariaChecked:f,ariaColCount:b,ariaColIndex:b,ariaColSpan:b,ariaControl
9s:j,ariaCurrent:null,ariaDescribedBy:j,ariaDetails:null,ariaDisabled:f,ariaDropEffect:j,ariaErrorMessage:null,ariaExpanded:f,ariaFlowTo:j,ariaGrabbed:f,ariaHasPopup:null,ariaHidden:f,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:j,ariaLevel:b,ariaLive:null,ariaModal:f,ariaMultiLine:f,ariaMultiSelectable:f,ariaOrientation:null,ariaOwns:j,ariaPlaceholder:null,ariaPosInSet:b,ariaPressed:f,ariaReadOnly:f,ariaRelevant:null,ariaRequired:f,ariaRoleDescription:j,ariaRowCount:b,ariaRowIndex:b,ariaRowSpan:b,ariaSelected:f,ariaSetSize:b,ariaSort:null,ariaValueMax:b,ariaValueMin:b,ariaValueNow:b,ariaValueText:null,role:null},transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase()});function C(e,t){return t in e?e[t]:t}function M(e,t){return C(e,t.toLowerCase())}let L=P({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:x,acceptCharset:j,accessKey:j,action:null,allow:null,allowFullScreen:y,allowPaymentRequest:y,allowUserMedia:y,alpha:y,alt:null,as:null,async:y,autoCapitalize:null,autoComplete:j,autoFocus:y,autoPlay:y,blocking:j,capture:null,charSet:null,checked:y,cite:null,className:j,closedBy:null,colorSpace:null,cols:b,colSpan:b,command:null,commandFor:null,content:null,contentEditable:f,controls:y,controlsList:j,coords:b|x,crossOrigin:null,data:null,dateTime:null,decoding:null,default:y,defer:y,dir:null,dirName:null,disabled:y,download:g,draggable:f,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:y,formTarget:null,headers:j,height:b,hidden:g,high:b,href:null,hrefLang:null,htmlFor:j,httpEquiv:j,id:null,imageSizes:null,imageSrcSet:null,inert:y,inputMode:null,integrity:null,is:null,isMap:y,itemId:null,itemProp:j,itemRef:j,itemScope:y,itemType:j,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:y,low:b,manifest:null,max:null,maxLength:b,media:null,method:null,min:null,minLength:b,multiple:y,muted:y,name:null,nonce:null,noModule:y,noValidate:y,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:y,optimum:b,pattern:null,ping:j,placeholder:null,playsInline:y,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:y,referrerPolicy:null,rel:j,required:y,reversed:y,rows:b,rowSpan:b,sandbox:j,scope:null,scoped:y,seamless:y,selected:y,shadowRootClonable:y,shadowRootCustomElementRegistry:y,shadowRootDelegatesFocus:y,shadowRootMode:null,shadowRootSerializable:y,shape:null,size:b,sizes:null,slot:null,span:b,spellCheck:f,src:null,
9srcDoc:null,srcLang:null,srcSet:null,start:b,step:null,style:null,tabIndex:b,target:null,title:null,translate:null,type:null,typeMustMatch:y,useMap:null,value:f,width:b,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:j,axis:null,background:null,bgColor:null,border:b,borderColor:null,bottomMargin:b,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:y,declare:y,event:null,face:null,frame:null,frameBorder:null,hSpace:b,leftMargin:b,link:null,longDesc:null,lowSrc:null,marginHeight:b,marginWidth:b,noResize:y,noHref:y,noShade:y,noWrap:y,object:null,profile:null,prompt:null,rev:null,rightMargin:b,rules:null,scheme:null,scrolling:f,standby:null,summary:null,text:null,topMargin:b,valueType:null,version:null,vAlign:null,vLink:null,vSpace:b,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:y,disablePictureInPicture:y,disableRemotePlayback:y,exportParts:x,part:j,prefix:null,property:null,results:b,security:null,unselectable:null},space:"html",transform:M}),E=P({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav
9-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:w,accentHeight:b,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:b,amplitude:b,arabicForm:null,ascent:b,attributeName:null,attributeType:null,azimuth:b,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:b,by:null,calcMode:null,capHeight:b,className:j,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:b,diffuseConstant:b,direction:null,display:null,dur:null,divisor:b,dominantBaseline:null,download:y,dx:null,dy:null,edgeMode:null,editable:null,elevation:b,enableBackground:null,end:null,event:null,exponent:b,externalResourcesRequired:null,fill:null,fillOpacity:b,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:x,g2:x,glyphName:x,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:b,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:b,horizOriginX:b,horizOriginY:b,id:null,ideographic:b,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:b,k:b,k1:b,k2:b,k3:b,k4:b,kernelMatrix:w,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:b,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:b,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,on
9Zoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:b,overlineThickness:b,paintOrder:null,panose1:null,path:null,pathLength:b,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:j,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:b,pointsAtY:b,pointsAtZ:b,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:w,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:w,rev:w,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:w,requiredFeatures:w,requiredFonts:w,requiredFormats:w,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:b,specularExponent:b,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:b,strikethroughThickness:b,string:null,stroke:null,strokeDashArray:w,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:b,strokeOpacity:b,strokeWidth:null,style:null,surfaceScale:b,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:w,tabIndex:b,tableValues:null,target:null,targetX:b,targetY:b,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:w,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:b,underlineThickness:b,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:b,values:null,vAlphabetic:b,vMathematical:b,vectorEffect:null,vHanging:b,vIdeographic:b,version:null,vertAdvY:b,vertOriginX:b,vertOriginY:b,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:b,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:C}),I=P({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase()}),T=P({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:M}),V=P({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase()}),O=h([_,L,I,T,V],"html"),K=h([_,E,I,T,V],"svg"),U=/[A-Z]/g,R=/-[a-z]/g,D=/^data[-\w.:]+$/i;function B(e){return"-"+e.toLowerCase()}function H(e){return e.charAt(1).toUpperCase()}let F={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var z=a(27420);let $=G("end"),q=G("start");function G(e){return function(t){let a=t&&t.position&&t.position[e]||{};if("number"==typeof a.line&&a.line>0&&"number"==typeof a.column&&a.column>0)return{line:a.line,column:a.column,offset:"number"==typeof a.offset&&a.offset>-1?a.offset:void 0}}}function W(e){return e&&"object"==typeof e?"position"in e||"type"in e?J(e.position):"start"in e||"end"in e?J(e):"line"in e||"column"in e?Y(e):"":""}function Y(e){return Q(e&&e.line)+":"+Q(e&&e.column)}function J(e){return Y(e&&e.start)+"-"+Y(e&&e.end)}function Q(e){return e&&"number"==typeof e?e:1}class X extends Error{constructor(e,t,a){super(),"string"==typeof t&&(a=t,t=void 0);let i="",n={},s=!1;if(t&&(n="line"in t&&"column"in t||"start"in t&&"end"in t?{place:t}:"type"in t?{ancestors:[t],place:t.position}:{...t}),"string"==typeof e?i=e:!n.cause&&e&&(s=!0,i=e.message,n.cause=e),!n.ruleId&&!n.source&&"string"==typeof a){const e=a.indexOf(":");-1===e?n.ruleId=a:(n.source=a.slice(0,e),n.ruleId=a.slice(e+1))}if(!n.place&&n.ancestors&&n.ancestors){const e=n.ancestors[n.ancestors.length-1];e&&(n.place=e.position)}const o=n.place&&"start"in n.place?n.place.start:n.place;this.ancestors=n.ancestors||void 0,this.cause=n.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=o?o.line:void 0,this.name=W(n.place)||"1:1",this.place=n.place||void 0,this.reason=this.message,this.ruleId=n.ruleId||void 0,this.source=n.source||void 0,this.stack=s&&n.cause&&"string"==typeof n.cause.stack?n.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}X.prototype.file="",X.prototype.name="",X.prototype.reason="",X.prototype.message="",X.prototype.stack="",X.prototype.column=void 0,X.prototype.line=void 0,X.prototype.ancestors=void 0,X.prototype.cause=void 0,X.prototype.fatal=void 0,X.prototype.place=void 0,X.prototype.ruleId=void 0,X.prototype.source=void 0;let Z={}.hasOwnProperty,ee=new Map,et=/[A-Z]/g,ea=new Set(["table","tbody","thead","tfoot","tr"]),ei=new Set(["td","th"]),en="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function es(e,t,a){var i,n,s,o,r,l,u,m,c;let h,k,y,f,g,b,j,x,w,S,N;return"element"===t.type?(i=e,n=t,s=a,k=h=i.schema,"svg"===n.tagName.toLowerCase()&&"html"===h.space&&(i.schema=K),i.ancestors.push(n),y=eu(i,n.tagName,!1),f=function(e,t){let a,i,n={};for(i in t.properties)if("children"!==i&&Z.call(t.properties,i)){let s=function(e,t,a){let i=function(e,t){let a=p(t),i=t,n=v;if(a in e.normal)return e.property[e.normal[a]];if(a.length>4&&"data"===a.slice(0,4)&&D.test(t)){if("-"===t.charAt(4)){let e=t.slice(5).replace(R,H);i="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!R.test(e)){let a=e.replace(U,B);"-"!==a.charAt(0)&&(a="-"+a),t="data"+a}}n=A}return new n(i,t)}(e.schema,t);if(!(null==a||"number"==typeof a&&Number.isNaN(a))){var n;let t;if(Array.isArray(a)&&(a=i.commaSeparated?(t={},(""===(n=a)[n.length-1]?[...n,""]:n).join((t.padRight?" ":"")+","+(!1===t.padLeft?"":" ")).trim()):a.join(" ").trim()),"style"===i.property){let t="object"==typeof a?a:function(e,t){try{return z(t,{reactCompat:!0})}catch(a){if(e.ignoreInvalidStyle)return{};let t=new X("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});
9throw t.file=e.filePath||void 0,t.url=en+"#cannot-parse-style-attribute",t}}(e,String(a));return"css"===e.stylePropertyNameCase&&(t=function(e){let t,a={};for(t in e)Z.call(e,t)&&(a[function(e){let t=e.replace(et,ed);return"ms-"===t.slice(0,3)&&(t="-"+t),t}(t)]=e[t]);return a}(t)),["style",t]}return["react"===e.elementAttributeNameCase&&i.space?F[i.property]||i.property:i.attribute,a]}}(e,i,t.properties[i]);if(s){let[i,o]=s;e.tableCellAlignToStyle&&"align"===i&&"string"==typeof o&&ei.has(t.tagName)?a=o:n[i]=o}}return a&&((n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=a),n}(i,n),g=el(i,n),ea.has(n.tagName)&&(g=g.filter(function(e){return"string"!=typeof e||!("object"==typeof e?"text"===e.type&&d(e.value):d(e))})),eo(i,f,y,n),er(f,g),i.ancestors.pop(),i.schema=h,i.create(n,y,f,s)):"mdxFlowExpression"===t.type||"mdxTextExpression"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){let a=t.data.estree.body[0];return a.type,e.evaluater.evaluateExpression(a.expression)}em(e,t.position)}(e,t):"mdxJsxFlowElement"===t.type||"mdxJsxTextElement"===t.type?(o=e,r=t,l=a,j=b=o.schema,"svg"===r.name&&"html"===b.space&&(o.schema=K),o.ancestors.push(r),x=null===r.name?o.Fragment:eu(o,r.name,!0),w=function(e,t){let a={};for(let i of t.attributes)if("mdxJsxExpressionAttribute"===i.type)if(i.data&&i.data.estree&&e.evaluater){let t=i.data.estree.body[0];t.type;let n=t.expression;n.type;let s=n.properties[0];s.type,Object.assign(a,e.evaluater.evaluateExpression(s.argument))}else em(e,t.position);else{let n,s=i.name;if(i.value&&"object"==typeof i.value)if(i.value.data&&i.value.data.estree&&e.evaluater){let t=i.value.data.estree.body[0];t.type,n=e.evaluater.evaluateExpression(t.expression)}else em(e,t.position);else n=null===i.value||i.value;a[s]=n}return a}(o,r),S=el(o,r),eo(o,w,x,r),er(w,S),o.ancestors.pop(),o.schema=b,o.create(r,x,w,l)):"mdxjsEsm"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);em(e,t.position)}(e,t):"root"===t.type?(u=e,m=t,c=a,er(N={},el(u,m)),u.create(m,u.Fragment,N,c)):"text"===t.type?t.value:void 0}function eo(e,t,a,i){"string"!=typeof a&&a!==e.Fragment&&e.passNode&&(t.node=i)}function er(e,t){if(t.length>0){let a=t.length>1?t:t[0];a&&(e.children=a)}}function el(e,t){let a=[],i=-1,n=e.passKeys?new Map:ee;for(;++i<t.children.length;){let s,o=t.children[i];if(e.passKeys){let e="element"===o.type?o.tagName:"mdxJsxFlowElement"===o.type||"mdxJsxTextElement"===o.type?o.name:void 0;if(e){let t=n.get(e)||0;s=e+"-"+t,n.set(e,t+1)}}let r=es(e,o,s);void 0!==r&&a.push(r)}return a}function eu(e,t,a){let i;if(a)if(t.includes(".")){let e,a=t.split("."),n=-1;for(;++n<a.length;){let t=u(a[n])?{type:"Identifier",name:a[n]}:{type:"Literal",value:a[n]};e=e?{type:"MemberExpression",object:e,property:t,computed:!!(n&&"Literal"===t.type),optional:!1}:t}i=e}else i=u(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else i={type:"Literal",value:t};if("Literal"===i.type){let t=i.value;return Z.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(i);em(e)}function em(e,t){let a=new X("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=en+"#cannot-handle-mdx-estrees-without-createevaluater",a}function ed(e){return"-"+e.toLowerCase()}let ec={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},eh={};function ep(e,t,a){var i;if((i=e)&&"object"==typeof i){if("value"in e)return"html"!==e.type||a?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return ev(e.children,t,a)}return Array.isArray(e)?ev(e,t,a):""}function ev(e,t,a){let i=[],n=-1;for(;++n<e.length;)i[n]=ep(e[n],t,a);return i.join("")}function ek(e,t,a,i){let n,s=e.length,o=0;if(t=t<0?-t>s?0:s+t:t>s?s:t,a=a>0?a:0,i.length<1e4)(n=Array.from(i)).unshift(t,a),e.splice(...n);else for(a&&e.splice(t,a);o<i.length;)(n=i.slice(o,o+1e4)).unshift(t,0),e.splice(...n),o+=1e4,t+=1e4}function ey(e,t){return e.length>0?(ek(e,e.length,0,t),e):t}class ef{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let a=null==t?1/0:t;return a<this.left.length?this.left.slice(e,a):e>this.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(e,t,a){this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-(t||0),1/0);return a&&eg(this.left,a),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),eg(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),eg(this.right,e.reverse())}setCursor(e){if(e!==this.left.length&&(!(e>this.left.length)||0!==this.right.length)&&(!(e<0)||0!==this.left.length))if(e<this.left.length){let t=this.left.splice(e,1/0);eg(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);eg(this.left,t.reverse())}}}function eg(e,t){let a=0;if(t.length<1e4)e.push(...t);else for(;a<t.length;)e.push(...t.slice(a,a+1e4)),a+=1e4}function eb(e){let t,a,i,n,s,o,r,l={},u=-1,m=new ef(e);for(;++u<m.length;){for(;u in l;)u=l[u];if(t=m.get(u),u&&"chunkFlow"===t[1].type&&"listItemPrefix"===m.get(u-1)[1].type&&((i=0)<(o=t[1]._tokenizer.events).length&&"lineEndingBlank"===o[i][1].type&&(i+=2),i<o.length&&"content"===o[i][1].type))for(;++i<o.length&&"content"!==o[i][1].type;)"chunkText"===o[i][1].type&&(o[i][1]._isInFirstContentOfListItem=!0,i++);if("enter"===t[0])t[1].contentType&&(Object.assign(l,function(e,t){let a,i,n=e.get(t)[1],s=e.get(t)[2],o=t-1,r=[],l=n._tokenizer;!l&&(l=s.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(l._contentTypeTextTrailing=!0));let u=l.events,m=[],d={},c=-1,h=n,p=0,v=0,k=[0];for(;h;){for(;e.get(++o)[1]!==h;);r.push(o),!h._tokenizer&&(a=s.sliceStream(h),h.next||a.push(null),i&&l.defineSki
9p(h.start),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=!0),l.write(a),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=void 0)),i=h,h=h.next}for(h=n;++c<u.length;)"exit"===u[c][0]&&"enter"===u[c-1][0]&&u[c][1].type===u[c-1][1].type&&u[c][1].start.line!==u[c][1].end.line&&(v=c+1,k.push(v),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(l.events=[],h?(h._tokenizer=void 0,h.previous=void 0):k.pop(),c=k.length;c--;){let t=u.slice(k[c],k[c+1]),a=r.pop();m.push([a,a+t.length-1]),e.splice(a,2,t)}for(m.reverse(),c=-1;++c<m.length;)d[p+m[c][0]]=p+m[c][1],p+=m[c][1]-m[c][0]-1;return d}(m,u)),u=l[u],r=!0);else if(t[1]._container){for(i=u,a=void 0;i--;)if("lineEnding"===(n=m.get(i))[1].type||"lineEndingBlank"===n[1].type)"enter"===n[0]&&(a&&(m.get(a)[1].type="lineEndingBlank"),n[1].type="lineEnding",a=i);else if("linePrefix"===n[1].type||"listItemIndent"===n[1].type);else break;a&&(t[1].end={...m.get(a)[1].start},(s=m.slice(a,u)).unshift(t),m.splice(a,u-a+1,s))}}return ek(e,0,1/0,m.slice(0)),!r}let ej={}.hasOwnProperty,ex=eT(/[A-Za-z]/),ew=eT(/[\dA-Za-z]/),eS=eT(/[#-'*+\--9=?A-Z^-~]/);function eN(e){return null!==e&&(e<32||127===e)}let eA=eT(/\d/),eP=eT(/[\dA-Fa-f]/),e_=eT(/[!-/:-@[-`{-~]/);function eC(e){return null!==e&&e<-2}function eM(e){return null!==e&&(e<0||32===e)}function eL(e){return -2===e||-1===e||32===e}let eE=eT(/\p{P}|\p{S}/u),eI=eT(/\s/);function eT(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function eV(e,t,a,i){let n=i?i-1:1/0,s=0;return function(i){return eL(i)?(e.enter(a),function i(o){return eL(o)&&s++<n?(e.consume(o),i):(e.exit(a),t(o))}(i)):t(i)}}let eO={tokenize:function(e){let t,a=e.attempt(this.parser.constructs.contentInitial,function(t){return null===t?void e.consume(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eV(e,a,"linePrefix"))},function(a){return e.enter("paragraph"),function a(i){let n=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=n),t=n,function t(i){if(null===i){e.exit("chunkText"),e.exit("paragraph"),e.consume(i);return}return eC(i)?(e.consume(i),e.exit("chunkText"),a):(e.consume(i),t)}(i)}(a)});return a}},eK={tokenize:function(e){let t,a,i,n=this,s=[],o=0;return r;function r(t){if(o<s.length){let a=s[o];return n.containerState=a[1],e.attempt(a[0].continuation,l,u)(t)}return u(t)}function l(e){if(o++,n.containerState._closeFlow){let a;n.containerState._closeFlow=void 0,t&&y();let i=n.events.length,s=i;for(;s--;)if("exit"===n.events[s][0]&&"chunkFlow"===n.events[s][1].type){a=n.events[s][1].end;break}k(o);let r=i;for(;r<n.events.length;)n.events[r][1].end={...a},r++;return ek(n.events,s+1,0,n.events.slice(i)),n.events.length=r,u(e)}return r(e)}function u(a){if(o===s.length){if(!t)return c(a);if(t.currentConstruct&&t.currentConstruct.concrete)return p(a);n.interrupt=!!(t.currentConstruct&&!t._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(eU,m,d)(a)}function m(e){return t&&y(),k(o),c(e)}function d(e){return n.parser.lazy[n.now().line]=o!==s.length,i=n.now().offset,p(e)}function c(t){return n.containerState={},e.attempt(eU,h,p)(t)}function h(e){return o++,s.push([n.currentConstruct,n.containerState]),c(e)}function p(i){if(null===i){t&&y(),k(0),e.consume(i);return}return t=t||n.parser.flow(n.now()),e.enter("chunkFlow",{_tokenizer:t,contentType:"flow",previous:a}),function t(a){if(null===a){v(e.exit("chunkFlow"),!0),k(0),e.consume(a);return}return eC(a)?(e.consume(a),v(e.exit("chunkFlow")),o=0,n.interrupt=void 0,r):(e.consume(a),t)}(i)}function v(e,s){let r=n.sliceStream(e);if(s&&r.push(null),e.previous=a,a&&(a.next=e),a=e,t.defineSkip(e.start),t.write(r),n.parser.lazy[e.start.line]){let e,a,s=t.events.length;for(;s--;)if(t.events[s][1].start.offset<i&&(!t.events[s][1].end||t.events[s][1].end.offset>i))return;let r=n.events.length,l=r;for(;l--;)if("exit"===n.events[l][0]&&"chunkFlow"===n.events[l][1].type){if(e){a=n.events[l][1].end;break}e=!0}for(k(o),s=r;s<n.events.length;)n.events[s][1].end={...a},s++;ek(n.events,l+1,0,n.events.slice(r)),n.events.length=s}}function k(t){let a=s.length;for(;a-- >t;){let t=s[a];n.containerState=t[1],t[0].exit.call(n,e)}s.length=t}function y(){t.write([null]),a=void 0,t=void 0,n.containerState._closeFlow=void 0}}},eU={tokenize:function(e,t,a){return eV(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},eR={partial:!0,tokenize:function(e,t,a){return function(t){return eL(t)?eV(e,i,"linePrefix")(t):i(t)};function i(e){return null===e||eC(e)?t(e):a(e)}}},eD={resolve:function(e){return eb(e),e},tokenize:function(e,t){let a;return function(t){return e.enter("content"),a=e.enter("chunkContent",{contentType:"content"}),i(t)};function i(t){return null===t?n(t):eC(t)?e.check(eB,s,n)(t):(e.consume(t),i)}function n(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function s(t){return e.consume(t),e.exit("chunkContent"),a.next=e.enter("chunkContent",{contentType:"content",previous:a}),a=a.next,i}}},eB={partial:!0,tokenize:function(e,t,a){let i=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eV(e,n,"linePrefix")};
9function n(n){if(null===n||eC(n))return a(n);let s=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&s&&"linePrefix"===s[1].type&&s[2].sliceSerialize(s[1],!0).length>=4?t(n):e.interrupt(i.parser.constructs.flow,a,t)(n)}}},eH={tokenize:function(e){let t=this,a=e.attempt(eR,function(i){return null===i?void e.consume(i):(e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a)},e.attempt(this.parser.constructs.flowInitial,i,eV(e,e.attempt(this.parser.constructs.flow,i,e.attempt(eD,i)),"linePrefix")));return a;function i(i){return null===i?void e.consume(i):(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t.currentConstruct=void 0,a)}}},eF={resolveAll:eG()},ez=eq("string"),e$=eq("text");function eq(e){return{resolveAll:eG("text"===e?eW:void 0),tokenize:function(t){let a=this,i=this.parser.constructs[e],n=t.attempt(i,s,o);return s;function s(e){return l(e)?n(e):o(e)}function o(e){return null===e?void t.consume(e):(t.enter("data"),t.consume(e),r)}function r(e){return l(e)?(t.exit("data"),n(e)):(t.consume(e),r)}function l(e){if(null===e)return!0;let t=i[e],n=-1;if(t)for(;++n<t.length;){let e=t[n];if(!e.previous||e.previous.call(a,a.previous))return!0}return!1}}}}function eG(e){return function(t,a){let i,n=-1;for(;++n<=t.length;)void 0===i?t[n]&&"data"===t[n][1].type&&(i=n,n++):t[n]&&"data"===t[n][1].type||(n!==i+2&&(t[i][1].end=t[n-1][1].end,t.splice(i+2,n-i-2),n=i+2),i=void 0);return e?e(t,a):t}}function eW(e,t){let a=0;for(;++a<=e.length;)if((a===e.length||"lineEnding"===e[a][1].type)&&"data"===e[a-1][1].type){let i,n=e[a-1][1],s=t.sliceStream(n),o=s.length,r=-1,l=0;for(;o--;){let e=s[o];if("string"==typeof e){for(r=e.length;32===e.charCodeAt(r-1);)l++,r--;if(r)break;r=-1}else if(-2===e)i=!0,l++;else if(-1===e);else{o++;break}}if(t._contentTypeTextTrailing&&a===e.length&&(l=0),l){let s={type:a===e.length||i||l<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?r:n.start._bufferIndex+r,_index:n.start._index+o,line:n.end.line,column:n.end.column-l,offset:n.end.offset-l},end:{...n.end}};n.end={...s.start},n.start.offset===n.end.offset?Object.assign(n,s):(e.splice(a,0,["enter",s,t],["exit",s,t]),a+=2)}a++}return e}let eY={name:"thematicBreak",tokenize:function(e,t,a){let i,n=0;return function(s){var o;return e.enter("thematicBreak"),i=o=s,function s(o){return o===i?(e.enter("thematicBreakSequence"),function t(a){return a===i?(e.consume(a),n++,t):(e.exit("thematicBreakSequence"),eL(a)?eV(e,s,"whitespace")(a):s(a))}(o)):n>=3&&(null===o||eC(o))?(e.exit("thematicBreak"),t(o)):a(o)}(o)}}},eJ={continuation:{tokenize:function(e,t,a){let i=this;return i.containerState._closeFlow=void 0,e.check(eR,function(a){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,eV(e,t,"listItemIndent",i.containerState.size+1)(a)},function(a){return i.containerState.furtherBlankLines||!eL(a)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine
9=void 0,n(a)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(eX,t,n)(a))});function n(n){return i.containerState._closeFlow=!0,i.interrupt=void 0,eV(e,e.attempt(eJ,t,a),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(n)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,a){let i=this,n=i.events[i.events.length-1],s=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,o=0;return function(t){let n=i.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===n?!i.containerState.marker||t===i.containerState.marker:eA(t)){if(i.containerState.type||(i.containerState.type=n,e.enter(n,{_container:!0})),"listUnordered"===n)return e.enter("listItemPrefix"),42===t||45===t?e.check(eY,a,r)(t):r(t);if(!i.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),function t(n){return eA(n)&&++o<10?(e.consume(n),t):(!i.interrupt||o<2)&&(i.containerState.marker?n===i.containerState.marker:41===n||46===n)?(e.exit("listItemValue"),r(n)):a(n)}(t)}return a(t)};function r(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||t,e.check(eR,i.interrupt?a:l,e.attempt(eQ,m,u))}
9function l(e){return i.containerState.initialBlankLine=!0,s++,m(e)}function u(t){return eL(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),m):a(t)}function m(a){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(a)}}},eQ={partial:!0,tokenize:function(e,t,a){let i=this;return eV(e,function(e){let n=i.events[i.events.length-1];return!eL(e)&&n&&"listItemPrefixWhitespace"===n[1].type?t(e):a(e)},"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},eX={partial:!0,tokenize:function(e,t,a){let i=this;return eV(e,function(e){let n=i.events[i.events.length-1];return n&&"listItemIndent"===n[1].type&&n[2].sliceSerialize(n[1],!0).length===i.containerState.size?t(e):a(e)},"listItemIndent",i.containerState.size+1)}},eZ={continuation:{tokenize:function(e,t,a){let i=this;return function(t){return eL(t)?eV(e,n,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):n(t)};function n(i){return e.attempt(eZ,t,a)(i)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,a){let i=this;return function(t){if(62===t){let a=i.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),n}return a(t)};function n(a){return eL(a)?(e.enter("blockQuotePrefixWhitespace"),e.consume(a),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(a))}}};function e0(e,t,a,i,n,s,o,r,l){let u=l||1/0,m=0;return function(t){return 60===t?(e.enter(i),e.enter(n),e.enter(s),e.consume(t),e.exit(s),d):null===t||32===t||41===t||eN(t)?a(t):(e.enter(i),e.enter(o),e.enter(r),e.enter("chunkString",{contentType:"string"}),p(t))};function d(a){return 62===a?(e.enter(s),e.consume(a),e.exit(s),e.exit(n),e.exit(i),t):(e.enter(r),e.enter("chunkString",{contentType:"string"}),c(a))}function c(t){return 62===t?(e.exit("chunkString"),e.exit(r),d(t)):null===t||60===t||eC(t)?a(t):(e.consume(t),92===t?h:c)}function h(t){return 60===t||62===t||92===t?(e.consume(t),c):c(t)}function p(n){return!m&&(null===n||41===n||eM(n))?(e.exit("chunkString"),e.exit(r),e.exit(o),e.exit(i),t(n)):m<u&&40===n?(e.consume(n),m++,p):41===n?(e.consume(n),m--,p):null===n||32===n||40===n||eN(n)?a(n):(e.consume(n),92===n?v:p)}function v(t){return 40===t||41===t||92===t?(e.consume(t),p):p(t)}}function e1(e,t,a,i,n,s){let o,r=this,l=0;return function(t){return e.enter(i),e.enter(n),e.consume(t),e.exit(n),e.enter(s),u};function u(d){return l>999||null===d||91===d||93===d&&!o||94===d&&!l&&"_hiddenFootnoteSupport"in r.parser.constructs?a(d):93===d?(e.exit(s),e.enter(n),e.consume(d),e.exit(n),e.exit(i),t):eC(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),m(d))}function m(t){return null===t||91===t||93===t||eC(t)||l++>999?(e.exit("chunkString"),u(t)):(e.consume(t),o||(o=!eL(t)),92===t?d:m)}function d(t){return 91===t||92===t||93===t?(e.consume(t),l++,m):m(t)}}function e2(e,t,a,i,n,s){let o;return function(t){return 34===t||39===t||40===t?(e.enter(i),e.enter(n),e.consume(t),e.exit(n),o=40===t?41:t,r):a(t)};function r(a){return a===o?(e.enter(n),e.consume(a),e.exit(n),e.exit(i),t):(e.enter(s),l(a))}function l(t){return t===o?(e.exit(s),r(o)):null===t?a(t):eC(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eV(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(t))}function u(t){return t===o||null===t||eC(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?m:u)}function m(t){return t===o||92===t?(e.consume(t),u):u(t)}}function e5(e,t){let a;return function i(n){return eC(n)?(e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),a=!0,i):eL(n)?eV(e,i,a?"linePrefix":"lineSuffix")(n):t(n)}}function e3(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let e4={partial:!0,tokenize:function(e,t,a){return function(t){return eM(t)?e5(e,i)(t):a(t)};function i(t){return e2(e,n,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function n(t){return eL(t)?eV(e,s,"whitespace")(t):s(t)}function s(e){return null===e||eC(e)?t(e):a(e)}}},e6={name:"codeIndented",tokenize:function(e,t,a){let i=this;
9return function(t){return e.enter("codeIndented"),eV(e,n,"linePrefix",5)(t)};function n(t){let n=i.events[i.events.length-1];return n&&"linePrefix"===n[1].type&&n[2].sliceSerialize(n[1],!0).length>=4?function t(a){return null===a?s(a):eC(a)?e.attempt(e8,t,s)(a):(e.enter("codeFlowValue"),function a(i){return null===i||eC(i)?(e.exit("codeFlowValue"),t(i)):(e.consume(i),a)}(a))}(t):a(t)}function s(a){return e.exit("codeIndented"),t(a)}}},e8={partial:!0,tokenize:function(e,t,a){let i=this;return n;function n(t){return i.parser.lazy[i.now().line]?a(t):eC(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),n):eV(e,s,"linePrefix",5)(t)}function s(e){let s=i.events[i.events.length-1];return s&&"linePrefix"===s[1].type&&s[2].sliceSerialize(s[1],!0).length>=4?t(e):eC(e)?n(e):a(e)}}},e9={name:"setextUnderline",resolveTo:function(e,t){let a,i,n,s=e.length;for(;s--;)if("enter"===e[s][0]){if("content"===e[s][1].type){a=s;break}"paragraph"===e[s][1].type&&(i=s)}else"content"===e[s][1].type&&e.splice(s,1),n||"definition"!==e[s][1].type||(n=s);let o={type:"setextHeading",start:{...e[a][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",n?(e.splice(i,0,["enter",o,t]),e.splice(n+1,0,["exit",e[a][1],t]),e[a][1].end={...e[n][1].end}):e[a][1]=o,e.push(["exit",o,t]),e},tokenize:function(e,t,a){let i,n=this;return function(t){var o;let r,l=n.events.length;for(;l--;)if("lineEnding"!==n.events[l][1].type&&"linePrefix"!==n.events[l][1].type&&"content"!==n.events[l][1].type){r="paragraph"===n.events[l][1].type;break}return!n.parser.lazy[n.now().line]&&(n.interrupt||r)?(e.enter("setextHeadingLine"),i=t,o=t,e.enter("setextHeadingLineSequence"),function t(a){return a===i?(e.consume(a),t):(e.exit("setextHeadingLineSequence"),eL(a)?eV(e,s,"lineSuffix")(a):s(a))}(o)):a(t)};function s(i){return null===i||eC(i)?(e.exit("setextHeadingLine"),t(i)):a(i)}}},e7=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],te=["pre","script","style","textarea"],tt={partial:!0,tokenize:function(e,t,a){return function(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(eR,t,a)}}},ta={partial:!0,tokenize:function(e,t,a){let i=this;return function(t){return eC(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),n):a(t)};function n(e){return i.parser.lazy[i.now().line]?a(e):t(e)}}},ti={partial:!0,tokenize:function(e,t,a){let i=this;return function(t){return null===t?a(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),n)};function n(e){return i.parser.lazy[i.now().line]?a(e):t(e)}}},tn={concrete:!0,name:"codeFenced",tokenize:function(e,t,a){let i,n=this,s={partial:!0,tokenize:function(e,t,a){let s=0;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(t){return e.enter("codeFencedFence"),eL(t)?eV(e,l,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):l(t)}function l(t){return t===i?(e.enter("codeFencedFenceSequence"),function t(n){return n===i?(s++,e.consume(n),t):s>=r?(e.exit("codeFencedFenceSequence"),eL(n)?eV(e,u,"whitespace")(n):u(n)):a(n)}(t)):a(t)}function u(i){return null===i||eC(i)?(e.exit("codeFencedFence"),t(i)):a(i)}}},o=0,r=0;return function(t){var s;let u;return s=t,o=(u=n.events[n.events.length-1])&&"linePrefix"===u[1].type?u[2].sliceSerialize(u[1],!0).length:0,i=s,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function t(n){return n===i?(r++,e.consume(n),t):r<3?a(n):(e.exit("codeFencedFenceSequence"),eL(n)?eV(e,l,"whitespace")(n):l(n))}(s)};function l(s){return null===s||eC(s)?(e.exit("codeFencedFence"),n.interrupt?t(s):e.check(ti,m,p)(s)):(e.enter("co
9deFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function t(n){return null===n||eC(n)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),l(n)):eL(n)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),eV(e,u,"whitespace")(n)):96===n&&n===i?a(n):(e.consume(n),t)}(s))}function u(t){return null===t||eC(t)?l(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function t(n){return null===n||eC(n)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),l(n)):96===n&&n===i?a(n):(e.consume(n),t)}(t))}function m(t){return e.attempt(s,p,d)(t)}function d(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),c}function c(t){return o>0&&eL(t)?eV(e,h,"linePrefix",o+1)(t):h(t)}function h(t){return null===t||eC(t)?e.check(ti,m,p)(t):(e.enter("codeFlowValue"),function t(a){return null===a||eC(a)?(e.exit("codeFlowValue"),h(a)):(e.consume(a),t)}(t))}function p(a){return e.exit("codeFenced"),t(a)}}},ts=document.createElement("i");function to(e){let t="&"+e+";";ts.innerHTML=t;let a=ts.textContent;return(59!==a.charCodeAt(a.length-1)||"semi"===e)&&a!==t&&a}let tr={name:"characterReference",tokenize:function(e,t,a){let i,n,s=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),r};function r(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),i=31,n=ew,u(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),i=6,n=eP,u):(e.enter("characterReferenceValue"),i=7,n=eA,u(t))}function u(r){if(59===r&&o){let i=e.exit("characterReferenceValue");return n!==ew||to(s.sliceSerialize(i))?(e.enter("characterReferenceMarker"),e.consume(r),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):a(r)}return n(r)&&o++<i?(e.consume(r),u):a(r)}}},tl={name:"characterEscape",tokenize:function(e,t,a){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),i};function i(i){return e_(i)?(e.enter("characterEscapeValue"),e.consume(i),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):a(i)}}},tu={name:"lineEnding",tokenize:function(e,t){return function(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),eV(e,t,"linePrefix")}}};function tm(e,t,a){let i=[],n=-1;for(;++n<e.length;){let s=e[n].resolveAll;s&&!i.includes(s)&&(t=s(t,a),i.push(s))}return t}let td={name:"labelEnd",resolveAll:function(e){let t=-1,a=[];for(;++t<e.length;){let i=e[t][1];if(a.push(e[t]),"labelImage"===i.type||"labelLink"===i.type||"labelEnd"===i.type){let e="labelImage"===i.type?4:2;i.type="data",t+=e}}return e.length!==a.length&&ek(e,0,e.length,a),e},resolveTo:function(e,t){let a,i,n,s,o=e.length,r=0;for(;o--;)if(a=e[o][1],i){if("link"===a.type||"labelLink"===a.type&&a._inactive)break;"enter"===e[o][0]&&"labelLink"===a.type&&(a._inactive=!0)}else if(n){if("enter"===e[o][0]&&("labelImage"===a.type||"labelLink"===a.type)&&!a._balanced&&(i=o,"labelLink"!==a.type)){r=2;break}}else"labelEnd"===a.type&&(n=o);let l={type:"labelLink"===e[i][1].type?"link":"image",start:{...e[i][1].start},end:{...e[e.length-1][1].end}},u={type:"label",start:{...e[i][1].start},end:{...e[n][1].end}},m={type:"labelText",start:{...e[i+r+2][1].end},end:{...e[n-2][1].start}};return s=ey(s=[["enter",l,t],["enter",u,t]],e.slice(i+1,i+r+3)),s=ey(s,[["enter",m,t]]),s=ey(s,tm(t.parser.constructs.insideSpan.null,e.slice(i+r+4,n-3),t)),s=ey(s,[["exit",m,t],e[n-2],e[n-1],["exit",u,t]]),s=ey(s,e.slice(n+1)),s=ey(s,[["exit",l,t]]),ek(e,i,e.length,s),e},tokenize:function(e,t,a){let i,n,s=this,o=s.events.length;for(;o--;)if(("labelImage"===s.events[o][1].type||"labelLink"===s.events[o][1].type)&&!s.events[o][1]._balanced){i=s.events[o][1];break}return function(t){return i?i._inactive?m(t):(n=s.parser.defined.includes(e3(s.sliceSerialize({start:i.end,end:s.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),r):a(t)};function r(t){return 40===t?e.attempt(tc,u,n?u:m)(t):91===t?e.attempt(th,u,n?l:m)(t):n?u(t):m(t)}function l(t){return e.attempt(tp,u,m)(t)}function u(e){return t(e)}function m(e){return i._balanced=!0,a(e)}}},tc={tokenize:function(e,t,a){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),i};function i(t){return eM(t)?e5(e,n)(t):n(t)}function n(t){return 41===t?u(t):e0(e,s,o,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function s(t){return eM(t)?e5(e,r)(t):u(t)}function o(e){return a(e)}function r(t){return 34===t||39===t||40===t?e2(e,l,a,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):u(t)}function l(t){return eM(t)?e5(e,u)(t):u(t)}function u(i){return 41===i?(e.enter("resourceMarker"),e.consume(i),e.exit("resourceMarker"),e.exit("resource"),t):a(i)}}},th={tokenize:function(e,t,a){let i=this;
9return function(t){return e1.call(i,e,n,s,"reference","referenceMarker","referenceString")(t)};function n(e){return i.parser.defined.includes(e3(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?t(e):a(e)}function s(e){return a(e)}}},tp={tokenize:function(e,t,a){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),i};function i(i){return 93===i?(e.enter("referenceMarker"),e.consume(i),e.exit("referenceMarker"),e.exit("reference"),t):a(i)}}},tv={name:"labelStartImage",resolveAll:td.resolveAll,tokenize:function(e,t,a){let i=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),n};function n(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),s):a(t)}function s(e){return 94===e&&"_hiddenFootnoteSupport"in i.parser.constructs?a(e):t(e)}}};function tk(e){return null===e||eM(e)||eI(e)?1:eE(e)?2:void 0}let ty={name:"attention",resolveAll:function(e,t){let a,i,n,s,o,r,l,u,m=-1;for(;++m<e.length;)if("enter"===e[m][0]&&"attentionSequence"===e[m][1].type&&e[m][1]._close){for(a=m;a--;)if("exit"===e[a][0]&&"attentionSequence"===e[a][1].type&&e[a][1]._open&&t.sliceSerialize(e[a][1]).charCodeAt(0)===t.sliceSerialize(e[m][1]).charCodeAt(0)){if((e[a][1]._close||e[m][1]._open)&&(e[m][1].end.offset-e[m][1].start.offset)%3&&!((e[a][1].end.offset-e[a][1].start.offset+e[m][1].end.offset-e[m][1].start.offset)%3))continue;r=e[a][1].end.offset-e[a][1].start.offset>1&&e[m][1].end.offset-e[m][1].start.offset>1?2:1;let d={...e[a][1].end},c={...e[m][1].start};tf(d,-r),tf(c,r),s={type:r>1?"strongSequence":"emphasisSequence",start:d,end:{...e[a][1].end}},o={type:r>1?"strongSequence":"emphasisSequence",start:{...e[m][1].start},end:c},n={type:r>1?"strongText":"emphasisText",start:{...e[a][1].end},end:{...e[m][1].start}},i={type:r>1?"strong":"emphasis",start:{...s.start},end:{...o.end}},e[a][1].end={...s.start},e[m][1].start={...o.end},l=[],e[a][1].end.offset-e[a][1].start.offset&&(l=ey(l,[["enter",e[a][1],t],["exit",e[a][1],t]])),l=ey(l,[["enter",i,t],["enter",s,t],["exit",s,t],["enter",n,t]]),l=ey(l,tm(t.parser.constructs.insideSpan.null,e.slice(a+1,m),t)),l=ey(l,[["exit",n,t],["enter",o,t],["exit",o,t],["exit",i,t]]),e[m][1].end.offset-e[m][1].start.offset?(u=2,l=ey(l,[["enter",e[m][1],t],["exit",e[m][1],t]])):u=0,ek(e,a-1,m-a+3,l),m=a+l.length-u-2;break}}for(m=-1;++m<e.length;)"attentionSequence"===e[m][1].type&&(e[m][1].type="data");return e},tokenize:function(e,t){let a,i=this.parser.constructs.attentionMarkers.null,n=this.previous,s=tk(n);return function(o){return a=o,e.enter("attentionSequence"),function o(r){if(r===a)return e.consume(r),o;let l=e.exit("attentionSequence"),u=tk(r),m=!u||2===u&&s||i.includes(r),d=!s||2===s&&u||i.includes(n);return l._open=!!(42===a?m:m&&(s||!d)),l._close=!!(42===a?d:d&&(u||!m)),t(r)}(o)}}};function tf(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}let tg={name:"labelStartLink",resolveAll:td.resolveAll,tokenize:function(e,t,a){let i=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),n};function n(e){return 94===e&&"_hiddenFootnoteSupport"in i.parser.constructs?a(e):t(e)}}},tb={42:eJ,43:eJ,45:eJ,48:eJ,49:eJ,50:eJ,51:eJ,52:eJ,53:eJ,54:eJ,55:eJ,56:eJ,57:eJ,62:eZ},tj={91:{name:"definition",tokenize:function(e,t,a){let i,n=this;return function(t){var i;return e.enter("definition"),i=t,e1.call(n,e,s,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(i)};function s(t){return(i=e3(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),58===t)?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),o):a(t)}function o(t){return eM(t)?e5(e,r)(t):r(t)}function r(t){return e0(e,l,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(t)}function l(t){return e.attempt(e4,u,u)(t)}function u(t){return eL(t)?eV(e,m,"whitespace")(t):m(t)}function m(s){return null===s||eC(s)?(e.exit("definition"),n.parser.defined.push(i),t(s)):a(s)}}}},tx={[-2]:e6,[-1]:e6,32:e6},tw={35:{name:"headingAtx",resolve:function(e,t){let a,i,n=e.length-2,s=3;return"whitespace"===e[3][1].type&&(s+=2),n-2>s&&"whitespace"===e[n][1].type&&(n-=2),"atxHeadingSequence"===e[n][1].type&&(s===n-1||n-4>s&&"whitespace"===e[n-2][1].type)&&(n-=s+1===n?2:4),n>s&&(a={type:"atxHeadingText",start:e[s][1].start,end:e[n][1].end},i={type:"chunkText",start:e[s][1].start,end:e[n][1].end,contentType:"text"},ek(e,s,n-s+1,[["enter",a,t],["enter",i,t],["exit",i,t],["exit",a,t]]
9)),e},tokenize:function(e,t,a){let i=0;return function(n){var s;return e.enter("atxHeading"),s=n,e.enter("atxHeadingSequence"),function n(s){return 35===s&&i++<6?(e.consume(s),n):null===s||eM(s)?(e.exit("atxHeadingSequence"),function a(i){return 35===i?(e.enter("atxHeadingSequence"),function t(i){return 35===i?(e.consume(i),t):(e.exit("atxHeadingSequence"),a(i))}(i)):null===i||eC(i)?(e.exit("atxHeading"),t(i)):eL(i)?eV(e,a,"whitespace")(i):(e.enter("atxHeadingText"),function t(i){return null===i||35===i||eM(i)?(e.exit("atxHeadingText"),a(i)):(e.consume(i),t)}(i))}(s)):a(s)}(s)}}},42:eY,45:[e9,eY],60:{concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,a){let i,n,s,o,r,l=this;return function(t){var a;return a=t,e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(a),u};function u(o){return 33===o?(e.consume(o),m):47===o?(e.consume(o),n=!0,h):63===o?(e.consume(o),i=3,l.interrupt?t:E):ex(o)?(e.consume(o),s=String.fromCharCode(o),p):a(o)}function m(n){return 45===n?(e.consume(n),i=2,d):91===n?(e.consume(n),i=5,o=0,c):ex(n)?(e.consume(n),i=4,l.interrupt?t:E):a(n)}function d(i){return 45===i?(e.consume(i),l.interrupt?t:E):a(i)}function c(i){let n="CDATA[";return i===n.charCodeAt(o++)?(e.consume(i),o===n.length)?l.interrupt?t:S:c:a(i)}function h(t){return ex(t)?(e.consume(t),s=String.fromCharCode(t),p):a(t)}function p(o){if(null===o||47===o||62===o||eM(o)){let r=47===o,u=s.toLowerCase();return!r&&!n&&te.includes(u)?(i=1,l.interrupt?t(o):S(o)):e7.includes(s.toLowerCase())?(i=6,r)?(e.consume(o),v):l.interrupt?t(o):S(o):(i=7,l.interrupt&&!l.parser.lazy[l.now().line]?a(o):n?function t(a){return eL(a)?(e.consume(a),t):x(a)}(o):k(o))}return 45===o||ew(o)?(e.consume(o),s+=String.fromCharCode(o),p):a(o)}function v(i){return 62===i?(e.consume(i),l.interrupt?t:S):a(i)}function k(t){return 47===t?(e.consume(t),x):58===t||95===t||ex(t)?(e.consume(t),y):eL(t)?(e.consume(t),k):x(t)}function y(t){return 45===t||46===t||58===t||95===t||ew(t)?(e.consume(t),y):f(t)}function f(t){return 61===t?(e.consume(t),g):eL(t)?(e.consume(t),f):k(t)}function g(t){return null===t||60===t||61===t||62===t||96===t?a(t):34===t||39===t?(e.consume(t),r=t,b):eL(t)?(e.consume(t),g):function t(a){return null===a||34===a||39===a||47===a||60===a||61===a||62===a||96===a||eM(a)?f(a):(e.consume(a),t)}(t)}function b(t){return t===r?(e.consume(t),r=null,j):null===t||eC(t)?a(t):(e.consume(t),b)}function j(e){return 47===e||62===e||eL(e)?k(e):a(e)}function x(t){return 62===t?(e.consume(t),w):a(t)}function w(t){return null===t||eC(t)?S(t):eL(t)?(e.consume(t),w):a(t)}function S(t){return 45===t&&2===i?(e.consume(t),_):60===t&&1===i?(e.consume(t),C):62===t&&4===i?(e.consume(t),I):63===t&&3===i?(e.consume(t),E):93===t&&5===i?(e.consume(t),L):eC(t)&&(6===i||7===i)?(e.exit("htmlFlowData"),e.check(tt,T,N)(t)):null===t||eC(t)?(e.exit("htmlFlowData"),N(t)):(e.consume(t),S)}function N(t){return e.check(ta,A,T)(t)}function A(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),P}function P(t){return null===t||eC(t)?N(t):(e.enter("htmlFlowData"),S(t))}function _(t){return 45===t?(e.consume(t),E):S(t)}function C(t){return 47===t?(e.consume(t),s="",M):S(t)}function M(t){if(62===t){let a=s.toLowerCase();return te.includes(a)?(e.consume(t),I):S(t)}return ex(t)&&s.length<8?(e.consume(t),s+=String.fromCharCode(t),M):S(t)}function L(t){return 93===t?(e.consume(t),E):S(t)}function E(t){return 62===t?(e.consume(t),I):45===t&&2===i?(e.consume(t),E):S(t)}function I(t){return null===t||eC(t)?(e.exit("htmlFlowData"),T(t)):(e.consume(t),I)}function T(a){return e.exit("htmlFlow"),t(a)}}},61:e9,95:eY,96:tn,126:tn},tS={38:tr,92:tl},tN={[-5]:tu,[-4]:tu,[-3]:tu,33:tv,38:tr,42:ty,60:[{name:"autolink",tokenize:function(e,t,a){let i=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),n};function n(t){return ex(t)?(e.consume(t),s):64===t?a(t):r(t)}function s(t){return 43===t||45===t||46===t||ew(t)?(i=1,function t(a){return 58===a?(e.consume(a),i=0,o):(43===a||45===a||46===a||ew(a))&&i++<32?(e.consume(a),t):(i=0,r(a))}(t)):r(t)}function o(i){return 62===i?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(i),e.exit("autolinkMarker"),e.exit("autolink"),t):null===i||32===i||60===i||eN(i)?a(i):(e.consume(i),o)}function r(t){return 64===t?(e.consume(t),l):eS(t)?(e.consume(t),r):a(t)}function l(n){return ew(n)?function n(s){return 46===s?(e.consume(s),i=0,l):62===s?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(s),e.exit("autolinkMarker"),e.exit("autolink"),t):function t(s){if((45===s||ew(s))&&i++<63){let a=45===s?t:n;return e.consume(s),a}return a(s)}(s)}(n):a(n)}}},{name:"htmlText",tokenize:function(e,t,a){let i,n,s,o=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),r};function r(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),b):63===t?(e.consume(t),f):ex(t)?(e.consume(t),x):a(t)}function l(t){return 45===t?(e.consume(t),u):91===t?(e.consume(t),n=0,h):ex(t)?(e.consume(t),y):a(t)}function u(t){return 45===t?(e.consume(t),c):a(t)}function m(t){return null===t?a(t):45===t?(e.consume(t),d):eC(t)?(s=m,M(t)):(e.consume(t),m)}function d(t){return 45===t?(e.consume(t),c):m(t)}function c(e){return 62===e?C(e):45===e?d(e):m(e)}function h(t){let i="CDATA[";return t===i.charCodeAt(n++)?(e.consume(t),n===i.length?p:h):a(t)}function p(t){return null===t?a(t):93===t?(e.consume(t),v):eC(t)?(s=p,M(t)):(e.consume(t),p)}function v(t){return 93===t?(e.consume(t),k):p(t)}function k(t){return 62===t?C(t):93===t?(e.consume(t),k):p(t)}function y(t){return null===t||62===t?C(t):eC(t)?(s=y,M(t)):(e.consume(t),y)}function f(t){return null===t?a(t):63===t?(e.consume(t),g):eC(t)?(s=f,M(t)):(e.consume(t),f)}function g(e){return 62===e?C(e):f(e)}function b(t){return ex(t)?(e.consume(t),j):a(t)}function j(t){return 45===t||ew(t)?(e.consume(t),j):function t(a){return eC(a)?(s=t,M(a)):eL(a)?(e.consume(a),t):C(a)}(t)}function x(t){return 45===t||ew(t)?(e.consume(t),x):47===t||62===t||eM(t)?w(t):a(t)}function w(t){return 47===t?(e.consume(t),C):58===t||95===t||ex(t)?(e.consume(t),S):eC(t)?(s=w,M(t)):eL(t)?(e.consume(t),w):C(t)}function S(t){return 45===t||46===t||58===t||95===t||ew(t)?(e.consume(t),S):function t(a){return 61===a?(e.consume(a),N):eC(a)?(s=t,M(a)):eL(a)?(e.consume(a),t):w(a)}(t)}function N(t){return null===t||60===t||61===t||62===t||96===t?a(t):34===t||39===t?(e.consume(t),i=t,A):eC(t)?(s=N,M(t)):eL(t)?(e.consume(t),N):(e.consume(t),P)}function A(t){return t===i?(e.consume(t),i=void 0,_):null===t?a(t):eC(t)?(s=A,M(t)):(e.consume(t),A)}function P(t){return null===t||34===t||39===t||60===t||61===t||96===t?a(t):47===t||62===t||eM(t)?w(t):(e.consume(t),P)}function _(e){return 47===e||62===e||eM(e)?w(e):a(e)}function C(i){return 62===i?(e.consume(i),e.exit("htmlTextData"),e.exit("htmlText"),t):a(i)}function M(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),L}function L(t){return eL(t)?eV(e,E,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):E(t)}function E(t){return e.enter("htmlTextData"),s(t)}}}],91:tg,92:[{name:"hardBreakEscape",tokenize:function(e,t,a){return function(t){return e.enter("hardBreakEscape"),e.consume(t),i};function i(i){return eC(i)?(e.exit("hardBreakEscape"),t(i)):a(i)}}},tl],93:td,95:ty,96:{name:"codeText",previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(e){let t,a,i=e.length-4,n=3;if(("lineEnding"===e[3][1].type||"space"===e[n][1].type)&&("lineEnding"===e[i][1].type||"space"===e[i][1].type)){for(t=n;++t<i;)if("codeTextData"===e[t][1].type){e[n][1].type="codeTextPadding",e[i][1].type="codeTextPadding",n+=2,i-=2;break}}for(t=n-1,i++;++t<=i;)void 0===a?t!==i&&"lineEnding"!==e[t][1].type&&(a=t):(t===i||"lineEnding"===e[t][1].type)&&(e[a][1].type="codeTextData",t!==a+2&&(e[a][1].end=e[t-1][1].end,e.splice(a+2,t-a-2),i-=t-a-2,t=a+2),a=void 0);return e},tokenize:function(e,t,a){let i,n,s=0;
9return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),function t(a){return 96===a?(e.consume(a),s++,t):(e.exit("codeTextSequence"),o(a))}(t)};function o(l){return null===l?a(l):32===l?(e.enter("space"),e.consume(l),e.exit("space"),o):96===l?(n=e.enter("codeTextSequence"),i=0,function a(o){return 96===o?(e.consume(o),i++,a):i===s?(e.exit("codeTextSequence"),e.exit("codeText"),t(o)):(n.type="codeTextData",r(o))}(l)):eC(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):(e.enter("codeTextData"),r(l))}function r(t){return null===t||32===t||96===t||eC(t)?(e.exit("codeTextData"),o(t)):(e.consume(t),r)}}}},tA={null:[ty,eF]},tP={null:[42,95]},t_={null:[]},tC=/[\0\t\n\r]/g;function tM(e,t){let a=Number.parseInt(e,t);return a<9||11===a||a>13&&a<32||a>126&&a<160||a>55295&&a<57344||a>64975&&a<65008||(65535&a)==65535||(65535&a)==65534||a>1114111?"�":String.fromCodePoint(a)}let tL=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tE(e,t,a){if(t)return t;if(35===a.charCodeAt(0)){let e=a.charCodeAt(1),t=120===e||88===e;return tM(a.slice(t?2:1),t?16:10)}return to(a)||e}let tI={}.hasOwnProperty;function tT(e){return{line:e.line,column:e.column,offset:e.offset}}function tV(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+W({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+W({start:t.start,end:t.end})+") is open");throw Error("Cannot close document, a token (`"+t.type+"`, "+W({start:t.start,end:t.end})+") is still open")}function tO(e){let t=this;t.parser=function(a){var i,s;let o,r,l,u;return"object"==typeof(i={...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})&&(s=i,i=void 0),(function(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(y),autolinkProtocol:u,autolinkEmail:u,atxHeading:i(p),blockQuote:i(function(){return{type:"blockquote",children:[]}}),characterEscape:u,characterReference:u,codeFenced:i(h),codeFencedFenceInfo:n,codeFencedFenceMeta:n,codeIndented:i(h,n),codeText:i(function(){return{type:"inlineCode",value:""}},n),codeTextData:u,data:u,codeFlowValue:u,definition:i(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:n,definitionLabelString:n,definitionTitleString:n,emphasis:i(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:i(v),hardBreakTrailing:i(v),htmlFlow:i(k,n),htmlFlowData:u,htmlText:i(k,n),htmlTextData:u,image:i(function(){return{type:"image",title:null,url:"",alt:null}}),label:n,link:i(y),listItem:i(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:i(f,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:i(f),paragraph:i(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:n,resourceDestinationString:n,resourceTitleString:n,setextHeading:i(p),strong:i(function(){return{type:"strong",children:[]}}),thematicBreak:i(function(){return{type:"thematicBreak"}})},exit:{atxHeading:o(),atxHeadingSequence:function(e){let t=this.stack[this.stack.length-1];t.depth||(t.depth=this.sliceSerialize(e).length)},autolink:o(),autolinkEmail:function(e){m.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){m.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:o(),characterEscapeValue:m,characterReferenceMarkerHexadecimal:c,characterReferenceMarkerNumeric:c,characterReferenceValue:function(e){let t,a=this.sliceSerialize(e),i=this.data.characterReferenceType;i?(t=tM(a,"characterReferenceMarkerNumeric"===i?10:16),this.data.characterReferenceType=void 0):t=to(a);let n=this.stack[this.stack.length-1];n.value+=t},characterReference:function(e){this.stack.pop().position.end=tT(e.end)},codeFenced:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:m,codeIndented:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:m,data:m,definition:o(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let t=this.resume(),a=this.stack[this.stack.length-1];a.label=t,a.identifier=e3(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:o(),hardBreakEscape:o(d),hardBreakTrailing:o(d),htmlFlow:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:m,htmlText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:m,image:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],t=this.resume(),a=this.stack[this.stack.length-1];this.data.inReference=!0,"link"===a.type?a.children=e.children:a.alt=t},labelText:function(e){let t=this.sliceSerialize(e),a=this.stack[this.stack.length-2];a.label=t.replace(tL,tE),a.identifier=e3(t).toLowerCase()},lineEnding:function(e){let a=this.stack[this.stack.length-1];if(this.data.atHardBreak){a.children[a.children.length-1].position.end=tT(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(a.type)&&(u.call(this,e),m.call(this,e))},link:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),listItem:o(),listOrdered:o(),listUnordered:o(),paragraph:o(),referenceString:function(e){let t=this.resume(),a=this.stack[this.stack.length-1];a.label=t,a.identifier=e3(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){this.data.inReference=void 0},setextHeading:o(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:o(),thematicBreak:o()}};!function e(t,a){let i=-1;for(;++i<a.length;){let n=a[i];Array.isArray(n)?e(t,n):function(e,t){let a;for(a in t)if(tI.call(t,a))switch(a){case"canContainEols":{let i=t[a];i&&e[a].push(...i);break}case"transforms":{let i=t[a];i&&e[a].push(...i);break}case"enter":case"exit":{let i=t[a];i&&Object.assign(e[a],i)}}}(t,n)}}(t,(e||{}).mdastExtensions||[]);let a={};return function(e){let i={type:"root",children:[]},o={stack:[i],tokenStack:[],config:t,enter:s,exit:r,buffer:n,resume:l,data:a},u=[],m=-1;for(;++m<e.length;)("listOrdered"===e[m][1].type||"listUnordered"===e[m][1].type)&&("enter"===e[m][0]?u.push(m):m=function(e,t,a){let i,n,s,o,r=t-1,l=-1,u=!1;for(;++r<=a;){let t=e[r];switch(t[1].type){case"listUnordered":case"listOrdered":case"blockQuote":"enter"===t[0]?l++:l--,o=void 0;break;case"lineEndingBlank":"enter"===t[0]&&(!i||o||l||s||(s=r),o=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:o=void 0}
9if(!l&&"enter"===t[0]&&"listItemPrefix"===t[1].type||-1===l&&"exit"===t[0]&&("listUnordered"===t[1].type||"listOrdered"===t[1].type)){if(i){let o=r;for(n=void 0;o--;){let t=e[o];if("lineEnding"===t[1].type||"lineEndingBlank"===t[1].type){if("exit"===t[0])continue;n&&(e[n][1].type="lineEndingBlank",u=!0),t[1].type="lineEnding",n=o}else if("linePrefix"===t[1].type||"blockQuotePrefix"===t[1].type||"blockQuotePrefixWhitespace"===t[1].type||"blockQuoteMarker"===t[1].type||"listItemIndent"===t[1].type);else break}s&&(!n||s<n)&&(i._spread=!0),i.end=Object.assign({},n?e[n][1].start:t[1].end),e.splice(n||r,0,["exit",i,t[2]]),r++,a++}if("listItemPrefix"===t[1].type){let n={type:"listItem",_spread:!1,start:Object.assign({},t[1].start),end:void 0};i=n,e.splice(r,0,["enter",n,t[2]]),r++,a++,s=void 0,o=!0}}}return e[t][1]._spread=u,a}(e,u.pop(),m));for(m=-1;++m<e.length;){let a=t[e[m][0]];tI.call(a,e[m][1].type)&&a[e[m][1].type].call(Object.assign({sliceSerialize:e[m][2].sliceSerialize},o),e[m][1])}if(o.tokenStack.length>0){let e=o.tokenStack[o.tokenStack.length-1];(e[1]||tV).call(o,void 0,e[0])}for(i.position={start:tT(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:tT(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},m=-1;++m<t.transforms.length;)i=t.transforms[m](i)||i;return i};function i(e,t){return function(a){s.call(this,e(a),a),t&&t.call(this,a)}}function n(){this.stack.push({type:"fragment",children:[]})}function s(e,t,a){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,a||void 0]),e.position={start:tT(t.start),end:void 0}}function o(e){return function(t){e&&e.call(this,t),r.call(this,t)}}function r(e,t){let a=this.stack.pop(),i=this.tokenStack.pop();if(i)i[0].type!==e.type&&(t?t.call(this,e,i[0]):(i[1]||tV).call(this,e,i[0]));else throw Error("Cannot close `"+e.type+"` ("+W({start:e.start,end:e.end})+"): it’s not open");a.position.end=tT(e.end)}function l(){var e;return e=this.stack.pop(),ep(e,"boolean"!=typeof eh.includeImageAlt||eh.includeImageAlt,"boolean"!=typeof eh.includeHtml||eh.includeHtml)}function u(e){let t=this.stack[this.stack.length-1].children,a=t[t.length-1];a&&"text"===a.type||((a={type:"text",value:""}).position={start:tT(e.start),end:void 0},t.push(a)),this.stack.push(a)}function m(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=tT(e.end)}function d(){this.data.atHardBreak=!0}function c(e){this.data.characterReferenceType=e.type}function h(){return{type:"code",lang:null,meta:null,value:""}}function p(){return{type:"heading",depth:0,children:[]}}function v(){return{type:"break"}}function k(){return{type:"html",value:""}}function y(){return{type:"link",title:null,url:"",children:[]}}function f(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}})(s)(function(e){for(;!eb(e););return e}((function(e){let t={constructs:function(e){let t={},a=-1;for(;++a<e.length;)!function(e,t){let a;for(a in t){let i,n=(ej.call(e,a)?e[a]:void 0)||(e[a]={}),s=t[a];if(s)for(i in s){ej.call(n,i)||(n[i]=[]);let e=s[i];!function(e,t){let a=-1,i=[];for(;++a<t.length;)("after"===t[a].add?e:i).push(t[a]);ek(e,0,0,i)}(n[i],Array.isArray(e)?e:e?[e]:[])}}}(t,e[a]);return t}([n,...(e||{}).extensions||[]]),content:a(eO),defined:[],document:a(eK),flow:a(eH),lazy:{},string:a(ez),text:a(e$)};return t;function a(e){return function(a){return function(e,t,a){let i={_bufferIndex:-1,_index:0,line:a&&a.line||1,column:a&&a.column||1,offset:a&&a.offset||0},n={},s=[],o=[],r=[],l={attempt:p(function(e,t){v(e,t.from)}),check:p(h),consume:function(e){eC(e)?(i.line++,i.column=1,i.offset+=-3===e?2:1,k()):-1!==e&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=e},enter:function(e,t){let a=t||{};return a.type=e,a.start=c(),u.events.push(["enter",a,u]),r.push(a),a},exit:function(e){let t=r.pop();return t.end=c(),u.events.push(["exit",t,u]),t},interrupt:p(h,{interrupt:!0})},u={code:null,containerState:{},defineSkip:function(e){n[e.line]=e.column,k()}
9,events:[],now:c,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let a,i=-1,n=[];for(;++i<e.length;){let s,o=e[i];if("string"==typeof o)s=o;else switch(o){case -5:s="\r";break;case -4:s="\n";break;case -3:s="\r\n";break;case -2:s=t?" ":"	";break;case -1:if(!t&&a)continue;s=" ";break;default:s=String.fromCharCode(o)}a=-2===o,n.push(s)}return n.join("")}(d(e),t)},sliceStream:d,write:function(e){return(o=ey(o,e),function(){let e;for(;i._index<o.length;){let a=o[i._index];if("string"==typeof a)for(e=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===e&&i._bufferIndex<a.length;){var t;t=a.charCodeAt(i._bufferIndex),m=m(t)}else m=m(a)}}(),null!==o[o.length-1])?[]:(v(t,0),u.events=tm(s,u.events,u),u.events)}},m=t.tokenize.call(u,l);return t.resolveAll&&s.push(t),u;function d(e){return function(e,t){let a,i=t.start._index,n=t.start._bufferIndex,s=t.end._index,o=t.end._bufferIndex;if(i===s)a=[e[i].slice(n,o)];else{if(a=e.slice(i,s),n>-1){let e=a[0];"string"==typeof e?a[0]=e.slice(n):a.shift()}o>0&&a.push(e[s].slice(0,o))}return a}(o,e)}function c(){let{_bufferIndex:e,_index:t,line:a,column:n,offset:s}=i;return{_bufferIndex:e,_index:t,line:a,column:n,offset:s}}function h(e,t){t.restore()}function p(e,t){return function(a,n,s){var o;let m,d,h,p;return Array.isArray(a)?v(a):"tokenize"in a?v([a]):(o=a,function(e){let t=null!==e&&o[e],a=null!==e&&o.null;return v([...Array.isArray(t)?t:t?[t]:[],...Array.isArray(a)?a:a?[a]:[]])(e)});function v(e){return(m=e,d=0,0===e.length)?s:y(e[d])}function y(e){return function(a){let n,s,o,m,d;return(n=c(),s=u.previous,o=u.currentConstruct,m=u.events.length,d=Array.from(r),p={from:m,restore:function(){i=n,u.previous=s,u.currentConstruct=o,u.events.length=m,r=d,k()}},h=e,e.partial||(u.currentConstruct=e),e.name&&u.parser.constructs.disable.null.includes(e.name))?g(a):e.tokenize.call(t?Object.assign(Object.create(u),t):u,l,f,g)(a)}}function f(t){return e(h,p),n}function g(e){return(p.restore(),++d<m.length)?y(m[d]):s}}}function v(e,t){e.resolveAll&&!s.includes(e)&&s.push(e),e.resolve&&ek(u.events,t,u.events.length-t,e.resolve(u.events.slice(t),u)),e.resolveTo&&(u.events=e.resolveTo(u.events,u))}function k(){i.line in n&&i.column<2&&(i.column=n[i.line],i.offset+=n[i.line]-1)}}(t,e,a)}}})(s).document().write((r=1,l="",u=!0,function(e,t,a){let i,n,s,m,d,c=[];for(e=l+("string"==typeof e?e.toString():new TextDecoder(t||void 0).decode(e)),s=0,l="",u&&(65279===e.charCodeAt(0)&&s++,u=void 0);s<e.length;){if(tC.lastIndex=s,m=(i=tC.exec(e))&&void 0!==i.index?i.index:e.length,d=e.charCodeAt(m),!i){l=e.slice(s);break}if(10===d&&s===m&&o)c.push(-3),o=void 0;else switch(o&&(c.push(-5),o=void 0),s<m&&(c.push(e.slice(s,m)),r+=m-s),d){case 0:c.push(65533),r++;break;case 9:for(n=4*Math.ceil(r/4),c.push(-2);r++<n;)c.push(-1);break;case 10:c.push(-4),r=1;break;default:o=!0,r=1}s=m+1}return a&&(o&&c.push(-5),l&&c.push(l),c.push(null)),c})(a,i,!0))))}}let tK="object"==typeof self?self:globalThis,tU=(e,t)=>
9{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw TypeError("unable to deserialize "+e)}return new tK[e](t)},tR=e=>{var t;let a,i;return(t=new Map,a=(e,a)=>(t.set(a,e),e),i=n=>{if(t.has(n))return t.get(n);let[s,o]=e[n];switch(s){case 0:case -1:return a(o,n);case 1:{let e=a([],n);for(let t of o)e.push(i(t));return e}case 2:{let e=a({},n);for(let[t,a]of o)e[i(t)]=i(a);return e}case 3:return a(new Date(o),n);case 4:{let{source:e,flags:t}=o;return a(new RegExp(e,t),n)}case 5:{let e=a(new Map,n);for(let[t,a]of o)e.set(i(t),i(a));return e}case 6:{let e=a(new Set,n);for(let t of o)e.add(i(t));return e}case 7:{let{name:e,message:t}=o;return a(tU(e,t),n)}case 8:return a(BigInt(o),n);case"BigInt":return a(Object(BigInt(o)),n);case"ArrayBuffer":return a(new Uint8Array(o).buffer,o);case"DataView":{let{buffer:e}=new Uint8Array(o);return a(new DataView(e),o)}}return a(tU(s,o),n)})(0)},{toString:tD}={},{keys:tB}=Object,tH=e=>{let t=typeof e;if("object"!==t||!e)return[0,t];let a=tD.call(e).slice(8,-1);switch(a){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,a]}return a.includes("Array")?[1,a]:a.includes("Error")?[7,a]:[2,a]},tF=([e,t])=>0===e&&("function"===t||"symbol"===t),tz=(e,{json:t,lossy:a}={})=>{var i,n,s;let o,r,l=[];return(i=!(t||a),n=!!t,s=new Map,o=(e,t)=>{let a=l.push(e)-1;return s.set(t,a),a},r=e=>{if(s.has(e))return s.get(e);let[t,a]=tH(e);switch(t){case 0:{let n=e;switch(a){case"bigint":t=8,n=e.toString();break;case"function":case"symbol":if(i)throw TypeError("unable to serialize "+a);n=null;break;case"undefined":return o([-1],e)}return o([t,n],e)}case 1:{if(a){let t=e;return"DataView"===a?t=new Uint8Array(e.buffer):"ArrayBuffer"===a&&(t=new Uint8Array(e)),o([a,[...t]],e)}let i=[],n=o([t,i],e);for(let t of e)i.push(r(t));return n}case 2:{if(a)switch(a){case"BigInt":return o([a,e.toString()],e);case"Boolean":case"Number":case"String":return o([a,e.valueOf()],e)}if(n&&"toJSON"in e)return r(e.toJSON());let s=[],l=o([t,s],e);for(let t of tB(e))(i||!tF(tH(e[t])))&&s.push([r(t),r(e[t])]);return l}case 3:return o([t,e.toISOString()],e);case 4:{let{source:a,flags:i}=e;return o([t,{source:a,flags:i}],e)}case 5:{let a=[],n=o([t,a],e);for(let[t,n]of e)(i||!(tF(tH(t))||tF(tH(n))))&&a.push([r(t),r(n)]);return n}case 6:{let a=[],n=o([t,a],e);for(let t of e)(i||!tF(tH(t)))&&a.push(r(t));return n}}let{message:l}=e;return o([t,{name:a,message:l}],e)})(e),l},t$="function"==typeof structuredClone?(e,t)=>t&&("json"in t||"lossy"in t)?tR(tz(e,t)):structuredClone(e):(e,t)=>tR(tz(e,t));function tq(e){let t=[],a=-1,i=0,n=0;for(;++a<e.length;){let s=e.charCodeAt(a),o="";if(37===s&&ew(e.charCodeAt(a+1))&&ew(e.charCodeAt(a+2)))n=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(o=String.fromCharCode(s));else if(s>55295&&s<57344){let t=e.charCodeAt(a+1);s<56320&&t>56319&&t<57344?(o=String.fromCharCode(s,t),n=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(i,a),encodeURIComponent(o)),i=a+n+1,o=""),n&&(a+=n,n=0)}return t.join("")+e.slice(i)}function tG(e,t){let a=[{type:"text",value:"↩"}];return t>1&&a.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),a}function tW(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}let tY=function(e){var t,a;if(null==e)return tQ;if("function"==typeof e)return tJ(e);if("object"==typeof e){return Array.isArray(e)?function(e){let t=[],a=-1;for(;++a<e.length;)t[a]=tY(e[a]);return tJ(function(...e){let a=-1;for(;++a<t.length;)if(t[a].apply(this,e))return!0;return!1})}(e):(t=e,tJ(function(e){let a;for(a in t)if(e[a]!==t[a])return!1;return!0}))}if("string"==typeof e){return a=e,tJ(function(e){return e&&e.type===a})}throw Error("Expected function, string, or object as test")};function tJ(e){return function(t,a,i){return!!(function(e){return null!==e&&"object"==typeof e&&"type"in e}(t)&&e.call(this,t,"number"==typeof a?a:void 0,i||void 0))}}function tQ(){return!0}let tX=[];function tZ(e,t,a,i){var n,s,o;let r,l,u,m,d,c;"function"==typeof t&&"function"!=typeof a?(l=void 0,u=t,r=a):(l=t,u=a,r=i),n=l,s=function(e,t){let a=t[t.length-1],i=a?a.children.indexOf(e):void 0;return u(e,i,a)},o=r,"function"==typeof n&&"function"!=typeof s?(o=s,s=n):m=n,d=tY(m),c=o?-1:1,(function e(t,a,i){let r=t&&"object"==typeof t?t:{};if("string"==typeof r.type){let e="string"==typeof r.tagName?r.tagName:"string"==typeof r.name?r.name:void 0;Object.defineProperty(l,"name",{value:"node ("+t.type+(e?"<"+e+">":"")+")"})}return l;function l(){var r;let l,u,m,h=tX;if((!n||d(t,a,i[i.length-1]||void 0))&&!1===(h=Array.isArray(r=s(t,i))?r:"number"==typeof r?[!0,r]:null==r?tX:[r])[0])return h;if("children"in t&&t.children&&t.children&&"skip"!==h[0])for(u=(o?t.children.length:-1)+c,m=i.concat(t);u>-1&&u<t.children.length;){if(!1===(l=e(t.children[u],u,m)())[0])return l;u="number"==typeof l[1]?l[1]:u+c}return h}})(e,void 0,[])()}function t0(e,t){let a=t.referenceType,i="]";if("collapsed"===a?i+="[]":"full"===a&&(i+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return[{type:"text",value:"!["+t.alt+i}];let n=e.all(t),s=n[0];s&&"text"===s.type?s.value="["+s.value:n.unshift({type:"text",value:"["});let o=n[n.length-1];return o&&"text"===o.type?o.value+=i:n.push({type:"text",value:i}),n}function t1(e){let t=e.spread;return null==t?e.children.length>1:t}function t2(e,t,a){let i=0,n=e.length;if(t){let t=e.codePointAt(i);for(;9===t||32===t;)i++,t=e.codePointAt(i)}if(a){let t=e.codePointAt(n-1);for(;9===t||32===t;)n--,t=e.codePointAt(n-1)}return n>i?e.slice(i,n):""}let t5={blockquote:function(e,t){let a={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,a),e.applyData(t,a)},break:function(e,t){let a={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,a),[e.applyData(t,a),{type:"text",value:"\n"}]},code:function(e,t){let a=t.value?t.value+"\n":"",i={},n=t.lang?t.lang.split(/\s+/):[];n.length>0&&(i.className=["language-"+n[0]]);let s={type:"element",tagName:"code",properties:i,children:[{type:"text",value:a}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s={type:"element",tagName:"pre",properties:{},children:[s=e.applyData(t,s)]},e.patch(t,s),s},delete:function(e,t){let a={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},emphasis:function(e,t){let a={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}
9,footnoteReference:function(e,t){let a,i="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",n=String(t.identifier).toUpperCase(),s=tq(n.toLowerCase()),o=e.footnoteOrder.indexOf(n),r=e.footnoteCounts.get(n);void 0===r?(r=0,e.footnoteOrder.push(n),a=e.footnoteOrder.length):a=o+1,r+=1,e.footnoteCounts.set(n,r);let l={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+s,id:i+"fnref-"+s+(r>1?"-"+r:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);let u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)},heading:function(e,t){let a={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},html:function(e,t){if(e.options.allowDangerousHtml){let a={type:"raw",value:t.value};return e.patch(t,a),e.applyData(t,a)}},imageReference:function(e,t){let a=String(t.identifier).toUpperCase(),i=e.definitionById.get(a);if(!i)return t0(e,t);let n={src:tq(i.url||""),alt:t.alt};null!==i.title&&void 0!==i.title&&(n.title=i.title);let s={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,s),e.applyData(t,s)},image:function(e,t){let a={src:tq(t.url)};null!==t.alt&&void 0!==t.alt&&(a.alt=t.alt),null!==t.title&&void 0!==t.title&&(a.title=t.title);let i={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,i),e.applyData(t,i)},inlineCode:function(e,t){let a={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,a);let i={type:"element",tagName:"code",properties:{},children:[a]};return e.patch(t,i),e.applyData(t,i)},linkReference:function(e,t){let a=String(t.identifier).toUpperCase(),i=e.definitionById.get(a);if(!i)return t0(e,t);let n={href:tq(i.url||"")};null!==i.title&&void 0!==i.title&&(n.title=i.title);let s={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)},link:function(e,t){let a={href:tq(t.url)};null!==t.title&&void 0!==t.title&&(a.title=t.title);let i={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)},listItem:function(e,t,a){let i=e.all(t),n=a?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;let a=e.children,i=-1;for(;!t&&++i<a.length;)t=t1(a[i])}return t}(a):t1(t),s={},o=[];if("boolean"==typeof t.checked){let e,a=i[0];a&&"element"===a.type&&"p"===a.tagName?e=a:(e={type:"element",tagName:"p",properties:{},children:[]},i.unshift(e)),e.children.length>0&&e.children.unshift({type:"text",value:" "}),e.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let r=-1;for(;++r<i.length;){let e=i[r];(n||0!==r||"element"!==e.type||"p"!==e.tagName)&&o.push({type:"text",value:"\n"}),"element"!==e.type||"p"!==e.tagName||n?o.push(e):o.push(...e.children)}let l=i[i.length-1];l&&(n||"element"!==l.type||"p"!==l.tagName)&&o.push({type:"text",value:"\n"});let u={type:"element",tagName:"li",properties:s,children:o};return e.patch(t,u),e.applyData(t,u)},list:function(e,t){let a={},i=e.all(t),n=-1;for("number"==typeof t.start&&1!==t.start&&(a.start=t.start);++n<i.length;){let e=i[n];if("element"===e.type&&"li"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes("task-list-item")){a.className=["contains-task-list"];break}}let s={type:"element",tagName:t.ordered?"ol":"ul",properties:a,children:e.wrap(i,!0)};return e.patch(t,s),e.applyData(t,s)},paragraph:function(e,t){let a={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},root:function(e,t){let a={type:"root",children:e.wrap(e.all(t))};return e.patch(t,a),e.applyData(t,a)},strong:function(e,t){let a={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},table:function(e,t){let a=e.all(t),i=a.shift(),n=[];if(i){let a={type:"element",tagName:"thead",properties:{},children:e.wrap([i],!0)};e.patch(t.children[0],a),n.push(a)}if(a.length>0){let i={type:"element",tagName:"tbody",properties:{},children:e.wrap(a,!0)},s=q(t.children[1]),o=$(t.children[t.children.length-1]);s&&o&&(i.position={start:s,end:o}),n.push(i)}let s={type:"element",tagName:"table",properties:{},children:e.wrap(n,!0)};return e.patch(t,s),e.applyData(t,s)},tableCell:function(e,t){let a={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},tableRow:function(e,t,a){let i=a?a.children:void 0,n=0===(i?i.indexOf(t):1)?"th":"td",s=a&&"table"===a.type?a.align:void 0,o=s?s.length:t.children.length,r=-1,l=[];for(;++r<o;){let a=t.children[r],i={},o=s?s[r]:void 0;o&&(i.align=o);let u={type:"element",tagName:n,properties:i,children:[]};a&&(u.children=e.all(a),e.patch(a,u),u=e.applyData(a,u)),l.push(u)}let u={type:"element",tagName:"tr",properties:{},children:e.wrap(l,!0)};
9return e.patch(t,u),e.applyData(t,u)},text:function(e,t){let a={type:"text",value:function(e){let t=String(e),a=/\r?\n|\r/g,i=a.exec(t),n=0,s=[];for(;i;)s.push(t2(t.slice(n,i.index),n>0,!0),i[0]),n=i.index+i[0].length,i=a.exec(t);return s.push(t2(t.slice(n),n>0,!1)),s.join("")}(String(t.value))};return e.patch(t,a),e.applyData(t,a)},thematicBreak:function(e,t){let a={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,a),e.applyData(t,a)},toml:t3,yaml:t3,definition:t3,footnoteDefinition:t3};function t3(){}let t4={}.hasOwnProperty,t6={};function t8(e,t){e.position&&(t.position=function(e){let t=q(e),a=$(e);if(t&&a)return{start:t,end:a}}(e))}function t9(e,t){let a=t;if(e&&e.data){let t=e.data.hName,i=e.data.hChildren,n=e.data.hProperties;"string"==typeof t&&("element"===a.type?a.tagName=t:a={type:"element",tagName:t,properties:{},children:"children"in a?a.children:[a]}),"element"===a.type&&n&&Object.assign(a.properties,t$(n)),"children"in a&&a.children&&null!=i&&(a.children=i)}return a}function t7(e,t){let a=[],i=-1;for(t&&a.push({type:"text",value:"\n"});++i<e.length;)i&&a.push({type:"text",value:"\n"}),a.push(e[i]);return t&&e.length>0&&a.push({type:"text",value:"\n"}),a}function ae(e){let t=0,a=e.charCodeAt(t);for(;9===a||32===a;)t++,a=e.charCodeAt(t);return e.slice(t)}function at(e,t){let a,i,n,s,o=(a=t||t6,i=new Map,n=new Map,s={all:function(e){let t=[];if("children"in e){let a=e.children,i=-1;for(;++i<a.length;){let n=s.one(a[i],e);if(n){if(i&&"break"===a[i-1].type&&(Array.isArray(n)||"text"!==n.type||(n.value=ae(n.value)),!Array.isArray(n)&&"element"===n.type)){let e=n.children[0];e&&"text"===e.type&&(e.value=ae(e.value))}Array.isArray(n)?t.push(...n):t.push(n)}}}return t},applyData:t9,definitionById:i,footnoteById:n,footnoteCounts:new Map,footnoteOrder:[],handlers:{...t5,...a.handlers},one:function(e,t){let a=e.type,i=s.handlers[a];if(t4.call(s.handlers,a)&&i)return i(s,e,t);if(s.options.passThrough&&s.options.passThrough.includes(a)){if("children"in e){let{children:t,...a}=e,i=t$(a);return i.children=s.all(e),i}return t$(e)}return(s.options.unknownHandler||function(e,t){let a=t.data||{},i="value"in t&&!(t4.call(a,"hProperties")||t4.call(a,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,i),e.applyData(t,i)})(s,e,t)},options:a,patch:t8,wrap:t7},tZ(e,function(e){if("definition"===e.type||"footnoteDefinition"===e.type){let t="definition"===e.type?i:n,a=String(e.identifier).toUpperCase();t.has(a)||t.set(a,e)}}),s),r=o.one(e,void 0),l=function(e){let t="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",a=e.options.footnoteBackContent||tG,i=e.options.footnoteBackLabel||tW,n=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},r=[],l=-1;for(;++l<e.footnoteOrder.length;){let n=e.footnoteById.get(e.footnoteOrder[l]);if(!n)continue;let s=e.all(n),o=String(n.identifier).toUpperCase(),u=tq(o.toLowerCase()),m=0,d=[],c=e.footnoteCounts.get(o);for(;void 0!==c&&++m<=c;){d.length>0&&d.push({type:"text",value:" "});let e="string"==typeof a?a:a(l,m);"string"==typeof e&&(e={type:"text",value:e}),d.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+u+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof i?i:i(l,m),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}let h=s[s.length-1];if(h&&"element"===h.type&&"p"===h.tagName){let e=h.children[h.children.length-1];e&&"text"===e.type?e.value+=" ":h.children.push({type:"text",value:" "}),h.children.push(...d)}else s.push(...d);let p={type:"element",tagName:"li",properties:{id:t+"fn-"+u},children:e.wrap(s,!0)};e.patch(n,p),r.push(p)}if(0!==r.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...t$(o),id:"footnote-label"},children:[{type:"text",value:n}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(r,!0)},{type:"text",value:"\n"}]}}(o),u=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return l&&u.children.push({type:"text",value:"\n"},l),u}function aa(e,t){return e&&"run"in e?async function(a,i){let n=at(a,{file:i,...t});await e.run(n,i)}:function(a,i){return at(a,{file:i,...e||t})}}function ai(e){if(e)throw e}var an=a(28392);function as(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}let ao=function(e,t){let a;if(void 0!==t&&"string"!=typeof t)throw TypeError('"ext" argument must be a string');am(e);let i=0,n=-1,s=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;s--;)if(47===e.codePointAt(s)){if(a){i=s+1;break}}else n<0&&(a=!0,n=s+1);return n<0?"":e.slice(i,n)}if(t===e)return"";let o=-1,r=t.length-1;for(;s--;)if(47===e.codePointAt(s)){if(a){i=s+1;break}}else o<0&&(a=!0,o=s+1),r>-1&&(e.codePointAt(s)===t.codePointAt(r--)?r<0&&(n=s):(r=-1,n=o));return i===n?n=o:n<0&&(n=e.length),e.slice(i,n)},ar=function(e){let t;if(am(e),0===e.length)return".";let a=-1,i=e.length;for(;--i;)if(47===e.codePointAt(i)){if(t){a=i;break}}else t||(t=!0);return a<0?47===e.codePointAt(0)?"/":".":1===a&&47===e.codePointAt(0)?"//":e.slice(0,a)},al=function(e){let t;am(e);let a=e.length,i=-1,n=0,s=-1,o=0;for(;a--;){let r=e.codePointAt(a);if(47===r){if(t){n=a+1;break}continue}i<0&&(t=!0,i=a+1),46===r?s<0?s=a:1!==o&&(o=1):s>-1&&(o=-1)}return s<0||i<0||0===o||1===o&&s===i-1&&s===n+1?"":e.slice(s,i)},au=function(...e){var t;let a,i,n,s=-1;for(;++s<e.length;)am(e[s]),e[s]&&(n=void 0===n?e[s]:n+"/"+e[s]);return void 0===n?".":(am(t=n),a=47===t.codePointAt(0),0!==(i=function(e,t){let a,i,n="",s=0,o=-1,r=0,l=-1;for(;++l<=e.length;){if(l<e.length)a=e.codePointAt(l);else if(47===a)break;else a=47;
9if(47===a){if(o===l-1||1===r);else if(o!==l-1&&2===r){if(n.length<2||2!==s||46!==n.codePointAt(n.length-1)||46!==n.codePointAt(n.length-2)){if(n.length>2){if((i=n.lastIndexOf("/"))!==n.length-1){i<0?(n="",s=0):s=(n=n.slice(0,i)).length-1-n.lastIndexOf("/"),o=l,r=0;continue}}else if(n.length>0){n="",s=0,o=l,r=0;continue}}t&&(n=n.length>0?n+"/..":"..",s=2)}else n.length>0?n+="/"+e.slice(o+1,l):n=e.slice(o+1,l),s=l-o-1;o=l,r=0}else 46===a&&r>-1?r++:r=-1}return n}(t,!a)).length||a||(i="."),i.length>0&&47===t.codePointAt(t.length-1)&&(i+="/"),a?"/"+i:i)};function am(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function ad(e){return!!(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}let ac=["history","path","basename","stem","extname","dirname"];class ah{constructor(e){let t,a;t=e?ad(e)?{path:e}:"string"==typeof e||function(e){return!!(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(e)?{value:e}:e:{},this.cwd="cwd"in t?"":"/",this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<ac.length;){const e=ac[i];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]="history"===e?[...t[e]]:t[e])}for(a in t)ac.includes(a)||(this[a]=t[a])}get basename(){return"string"==typeof this.path?ao(this.path):void 0}set basename(e){av(e,"basename"),ap(e,"basename"),this.path=au(this.dirname||"",e)}get dirname(){return"string"==typeof this.path?ar(this.path):void 0}set dirname(e){ak(this.basename,"dirname"),this.path=au(e||"",this.basename)}get extname(){return"string"==typeof this.path?al(this.path):void 0}set extname(e){if(ap(e,"extname"),ak(this.dirname,"extname"),e){if(46!==e.codePointAt(0))throw Error("`extname` must start with `.`");if(e.includes(".",1))throw Error("`extname` cannot contain multiple dots")}this.path=au(this.dirname,this.stem+(e||""))}get path(){return this.history[this.history.length-1]}set path(e){ad(e)&&(e=function(e){if("string"==typeof e)e=new URL(e);else if(!ad(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){let e=TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){let e=TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}let t=e.pathname,a=-1;for(;++a<t.length;)if(37===t.codePointAt(a)&&50===t.codePointAt(a+1)){let e=t.codePointAt(a+2);if(70===e||102===e){let e=TypeError("File URL path must not include encoded / characters");throw e.code="ERR_INVALID_FILE_URL_PATH",e}}return decodeURIComponent(t)}(e)}(e)),av(e,"path"),this.path!==e&&this.history.push(e)}get stem(){return"string"==typeof this.path?ao(this.path,this.extname):void 0}set stem(e){av(e,"stem"),ap(e,"stem"),this.path=au(this.dirname||"",e+(this.extname||""))}fail(e,t,a){let i=this.message(e,t,a);throw i.fatal=!0,i}info(e,t,a){let i=this.message(e,t,a);return i.fatal=void 0,i}message(e,t,a){let i=new X(e,t,a);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(e){return void 0===this.value?"":"string"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function ap(e,t){if(e&&e.includes("/"))throw Error("`"+t+"` cannot be a path: did not expect `/`")}function av(e,t){if(!e)throw Error("`"+t+"` cannot be empty")}function ak(e,t){if(!e)throw Error("Setting `"+t+"` requires `path` to be set too")}let ay=function(e){let t=this.constructor.prototype,a=t[e],i=function(){return a.apply(i,arguments)};return Object.setPrototypeOf(i,t),i},af={}.hasOwnProperty;class ag extends ay{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=function(){let e=[],t={run:function(...t){let a=-1,i=t.pop();if("function"!=typeof i)throw TypeError("Expected function as last argument, not "+i);!function n(s,...o){let r=e[++a],l=-1;if(s)return void i(s);for(;++l<t.length;)(null===o[l]||void 0===o[l])&&(o[l]=t[l]);t=o,r?(function(e,t){let a;return function(...t){let s,o=e.length>t.length;o&&t.push(i);try{s=e.apply(this,t)}catch(e){if(o&&a)throw e;return i(e)}o||(s&&s.then&&"function"==typeof s.then?s.then(n,i):s instanceof Error?i(s):n(s))};function i(e,...n){a||(a=!0,t(e,...n))}function n(e){i(null,e)}})(r,n)(...o):i(null,...o)}(null,...t)}
9,use:function(a){if("function"!=typeof a)throw TypeError("Expected `middelware` to be a function, not "+a);return e.push(a),t}};return t}()}copy(){let e=new ag,t=-1;for(;++t<this.attachers.length;){let a=this.attachers[t];e.use(...a)}return e.data(an(!0,{},this.namespace)),e}data(e,t){return"string"==typeof e?2==arguments.length?(aw("data",this.frozen),this.namespace[e]=t,this):af.call(this.namespace,e)&&this.namespace[e]||void 0:e?(aw("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;for(;++this.freezeIndex<this.attachers.length;){let[e,...t]=this.attachers[this.freezeIndex];if(!1===t[0])continue;!0===t[0]&&(t[0]=void 0);let a=e.call(this,...t);"function"==typeof a&&this.transformers.use(a)}return this.frozen=!0,this.freezeIndex=1/0,this}parse(e){this.freeze();let t=aA(e),a=this.parser||this.Parser;return aj("parse",a),a(String(t),t)}process(e,t){let a=this;return this.freeze(),aj("process",this.parser||this.Parser),ax("process",this.compiler||this.Compiler),t?i(void 0,t):new Promise(i);function i(i,n){let s=aA(e),o=a.parse(s);function r(e,a){e||!a?n(e):i?i(a):t(void 0,a)}a.run(o,s,function(e,t,i){var n,s;if(e||!t||!i)return r(e);let o=a.stringify(t,i);"string"==typeof(n=o)||(s=n)&&"object"==typeof s&&"byteLength"in s&&"byteOffset"in s?i.value=o:i.result=o,r(e,i)})}}processSync(e){let t,a=!1;return this.freeze(),aj("processSync",this.parser||this.Parser),ax("processSync",this.compiler||this.Compiler),this.process(e,function(e,i){a=!0,ai(e),t=i}),aN("processSync","process",a),t}run(e,t,a){aS(e),this.freeze();let i=this.transformers;return a||"function"!=typeof t||(a=t,t=void 0),a?n(void 0,a):new Promise(n);function n(n,s){let o=aA(t);i.run(e,o,function(t,i,o){let r=i||e;t?s(t):n?n(r):a(void 0,r,o)})}}runSync(e,t){let a,i=!1;return this.run(e,t,function(e,t){ai(e),a=t,i=!0}),aN("runSync","run",i),a}stringify(e,t){this.freeze();let a=aA(t),i=this.compiler||this.Compiler;return ax("stringify",i),aS(e),i(e,a)}use(e,...t){let a=this.attachers,i=this.namespace;if(aw("use",this.frozen),null==e);else if("function"==typeof e)o(e,t);else if("object"==typeof e)Array.isArray(e)?s(e):n(e);else throw TypeError("Expected usable value, not `"+e+"`");return this;function n(e){if(!("plugins"in e)&&!("settings"in e))throw Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(e.plugins),e.settings&&(i.settings=an(!0,i.settings,e.settings))}function s(e){let t=-1;if(null==e);else if(Array.isArray(e))for(;++t<e.length;)!function(e){if("function"==typeof e)o(e,[]);else if("object"==typeof e)if(Array.isArray(e)){let[t,...a]=e;o(t,a)}else n(e);else throw TypeError("Expected usable value, not `"+e+"`")}(e[t]);else throw TypeError("Expected a list of plugins, not `"+e+"`")}function o(e,t){let i=-1,n=-1;for(;++i<a.length;)if(a[i][0]===e){n=i;break}if(-1===n)a.push([e,...t]);else if(t.length>0){let[i,...s]=t,o=a[n][1];as(o)&&as(i)&&(i=an(!0,o,i)),a[n]=[e,i,...s]}}}}let ab=new ag().freeze();function aj(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `parser`")}function ax(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `compiler`")}function aw(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function aS(e){if(!as(e)||"string"!=typeof e.type)throw TypeError("Expected node, got `"+e+"`")}function aN(e,t,a){if(!a)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function aA(e){var t;return(t=e)&&"object"==typeof t&&"message"in t&&"messages"in t?e:new ah(e)}let aP=[],a_={allowDangerousHtml:!0},aC=/^(https?|ircs?|mailto|xmpp)$/i,aM=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function aL(e){let t=e.allowedElements,a=e.allowElement,i=e.children||"",n=e.className,o=e.components,r=e.disallowedElements,l=e.rehypePlugins||aP,u=e.remarkPlugins||aP,m=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...a_}:a_,d=e.skipHtml,c=e.unwrapDisallowed,h=e.urlTransform||aE,p=ab().use(tO).use(u).use(aa,m).use(l),v=new ah;for(let t of("string"==typeof i&&(v.value=i),aM))Object.hasOwn(e,t.from)&&(t.from,t.to&&t.to,t.id);let k=p.parse(v),y=p.runSync(k,v);return n&&(y={type:"element",tagName:"div",properties:{className:n},children:"root"===y.type?y.children:[y]}),tZ(y,function(e,i,n){if("raw"===e.type&&n&&"number"==typeof i)return d?n.children.splice(i,1):n.
9children[i]={type:"text",value:e.value},i;if("element"===e.type){let t;for(t in ec)if(Object.hasOwn(ec,t)&&Object.hasOwn(e.properties,t)){let a=e.properties[t],i=ec[t];(null===i||i.includes(e.tagName))&&(e.properties[t]=h(String(a||""),t,e))}}if("element"===e.type){let s=t?!t.includes(e.tagName):!!r&&r.includes(e.tagName);if(!s&&a&&"number"==typeof i&&(s=!a(e,i,n)),s&&n&&"number"==typeof i)return c&&e.children?n.children.splice(i,1,...e.children):n.children.splice(i,1),i}}),function(e,t){var a,i,n,s;let o;if(!t||void 0===t.Fragment)throw TypeError("Expected `Fragment` in options");let r=t.filePath||void 0;if(t.development){if("function"!=typeof t.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");a=r,i=t.jsxDEV,o=function(e,t,n,s){let o=Array.isArray(n.children),r=q(e);return i(t,n,s,o,{columnNumber:r?r.column-1:void 0,fileName:a,lineNumber:r?r.line:void 0},void 0)}}else{if("function"!=typeof t.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw TypeError("Expected `jsxs` in production options");n=t.jsx,s=t.jsxs,o=function(e,t,a,i){let o=Array.isArray(a.children)?s:n;return i?o(t,a,i):o(t,a)}}let l={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:o,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?K:O,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},u=es(l,e,void 0);return u&&"string"!=typeof u?u:l.create(e,l.Fragment,{children:u||void 0},void 0)}(y,{Fragment:s.Fragment,components:o,ignoreInvalidStyle:!0,jsx:s.jsx,jsxs:s.jsxs,passKeys:!0,passNode:!0})}function aE(e){let t=e.indexOf(":"),a=e.indexOf("?"),i=e.indexOf("#"),n=e.indexOf("/");return -1===t||-1!==n&&t>n||-1!==a&&t>a||-1!==i&&t>i||aC.test(e.slice(0,t))?e:""}var aI=a(35388),aT=a(58617),aV=a(17252),aO=a(63390);let aK={a:e=>{let{children:t,href:a}=e,{brand:i}=(0,aI.uq)();if(void 0===a)return(0,s.jsx)(aO.EY,{children:t});try{let e=new URL(a);return(0,s.jsx)(aT.Y,{target:"_blank",rel:"noreferrer",href:{pathname:decodeURIComponent(e.href)},children:t})}catch(e){return(0,s.jsx)(aT.Y,{href:{pathname:decodeURIComponent(a),query:{brand:i}},children:t})}},h1:e=>{let{children:t}=e;return(0,s.jsx)(aO.EY,{as:"h1",style:{fontWeight:"var(--font-weights-heading-primary-font-weight)"},size:34,children:t})},h2:e=>{let{children:t}=e;return(0,s.jsx)(aO.EY,{as:"h2",style:{fontWeight:"var(--font-weights-heading-primary-font-weight)"},size:18,children:t})},li:e=>{let{children:t}=e;return(0,s.jsx)(aV.ck,{children:(0,s.jsx)(aO.EY,{lineHeight:"semiLoose",children:t})})},ol:e=>{let{children:t}=e;return(0,s.jsx)(aV._J,{children:t})},ul:e=>{let{children:t}=e;return(0,s.jsx)(aV.cC,{children:t})},p:e=>{let{children:t}=e;return(0,s.jsx)(aO.EY,{as:"p",lineHeight:"semiLoose",children:t})}},aU=e=>{let{children:t,components:a,...i}=e;return(0,s.jsx)(aL,{...i,components:{...aK,...a},children:t})}},34024:(e,t,a)=>{var i=a(21248),n=a(87567);e.exports=function(e,t){return e&&i(e,t,n)}},34177:(e,t,a)=>{"use strict";a.d(t,{Qp:()=>p,aM:()=>f});var i=a(6029),n=a(1183),s=a.n(n);let o=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("div",{className:"".concat(null!=(t=s().navigation)?t:""," ").concat(null!=a?a:""),...n})};var r=a(87500),l=a(55729),u=a(35388),m=a(70237),d=a.n(m);let c=(0,l.lazy)(()=>Promise.all([a.e(769),a.e(55)]).then(a.bind(a,26055))),h=(0,l.lazy)(()=>a.e(833).then(a.bind(a,38833))),p=e=>{var t,a;let{className:n,crumbs:s,style:m,delimiter:p=3,mobileIcon:v,firstIcon:k,rightContent:y=null,onlyDesktop:f=!1,crumbNavigationGuard:g}=e,[b,j]=(0,l.useState)(!1),x=(0,u.N$)(r.f.md)||f;return(0,l.useEffect)(()=>{j(!x)},[x]),(0,i.jsxs)(o,{className:"".concat(null!=(t=d().breadcrumbRoot)?t:""," ").concat(y&&null!=(a=d().fullWidth)?a:""," ").concat(null!=n?n:""),style:m,"aria-label":"Murupolku",children:[!b&&(0,i.jsx)(l.Suspense,{children:(0,i.jsx)(c,{crumbs:s,delimiter:p,rightContent:y,crumbNavigationGuard:g,firstIcon:k})}),b&&(0,i.jsx)(l.Suspense,{children:(0,i.jsx)(h,{crumbs:s,icon:v,rightContent:y,crumbNavigationGuard:g})})]})};var v=a(74969),k=a(38083),y=a.n(k);let f=e=>{let{pagesInElectionsItems:t,currentElectionId:a}=e,n=t.filter(e=>!!e.href);if(n.length<2)return null;let s=n.map(e=>e.title).join(", ");return(0,i.jsx)("header",{className:y().resultNavigationButtonsContainer,children:(0,i.jsx)("nav",{className:y().resultNavigation,"aria-label":"Navigoi vaalien ".concat(s," v\xe4lill\xe4"),children:(0,i.jsx)("ul",{className:y().resultNavigationButtonsRoot,children:n.map(e=>e.href?(0,i.jsx)("li",{children:(0,i.jsx)(v.j7,{alignText:"center",href:e.href,scroll:!1,variant:a===e.electionId?"primary":"secondary","aria-current":a===e.electionId?"page":void 0,children:e.title})},e.electionId):null)})})})}},34258:function(e){"u">typeof self&&self,e.exports=function(){var e={
9"./dist/icons.json":function(e){e
vendor: 49,341 bytes, line 9
9.exports={activity:'<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>',airplay:'<path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><polygon points="12 15 17 21 7 21 12 15"></polygon>',"alert-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>',"alert-octagon":'<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>',"alert-triangle":'<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line>',"align-center":'<line x1="18" y1="10" x2="6" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="18" y1="18" x2="6" y2="18"></line>',"align-justify":'<line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line>',"align-left":'<line x1="17" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="17" y1="18" x2="3" y2="18"></line>',"align-right":'<line x1="21" y1="10" x2="7" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="7" y2="18"></line>',anchor:'<circle cx="12" cy="5" r="3"></circle><line x1="12" y1="22" x2="12" y2="8"></line><path d="M5 12H2a10 10 0 0 0 20 0h-3"></path>',aperture:'<circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line>',archive:'<polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line>',"arrow-down-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="8 12 12 16 16 12"></polyline><line x1="12" y1="8" x2="12" y2="16"></line>',"arrow-down-left":'<line x1="17" y1="7" x2="7" y2="17"></line><polyline points="17 17 7 17 7 7"></polyline>',"arrow-down-right":'<line x1="7" y1="7" x2="17" y2="17"></line><polyline points="17 7 17 17 7 17"></polyline>',"arrow-down":'<line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline>',"arrow-left-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="12 8 8 12 12 16"></polyline><line x1="16" y1="12" x2="8" y2="12"></line>',"arrow-left":'<line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline>',"arrow-right-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line>',"arrow-right":'<line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline>',"arrow-up-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="16 12 12 8 8 12"></polyline><line x1="12" y1="16" x2="12" y2="8"></line>',"arrow-up-left":'<line x1="17" y1="17" x2="7" y2="7"></line><polyline points="7 17 7 7 17 7"></polyline>',"arrow-up-right":'<line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline>',"arrow-up":'<line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>',"at-sign":'<circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path>',award:'<circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline>',"bar-chart-2":'<line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line>',"bar-chart":'<line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line>',"battery-charging":'<path d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19"></path><line x1="23" y1="13" x2="23" y2="11"></line><polyline points="11 6 7 12 13 12 9 18"></polyline>',battery:'<rect x="1" y="6" width="18" height="12" rx="2" ry="2"></rect><line x1="23" y1="13" x2="23" y2="11"></line>',"bell-off":'<path d="M13.73 21a2 2 0 0 1-3.46 0"></path><path d="M18.63 13A17.89 17.89 0 0 1 18 8"></path><path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14"></path><path d="M18 8a6 6 0 0 0-9.33-5"></path><line x1="1" y1="1" x2="23" y2="23"></line>',bell:'<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path>',bluetooth:'<polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline>',bold:'<path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path>',"book-open":'<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path>',book:'<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path>',bookmark:'<path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path>',box:'<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',briefcase:'<rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path>',calendar:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>',"camera-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56"></path>',camera:'<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle>',cast:'<path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path><line x1="2" y1="20" x2="2.01" y2="20"></line>',"check-circle":'<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>',"check-square":'<polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path>',check:'<polyline points="20 6 9 17 4 12"></polyline>',"chevron-down":'<polyline points="6 9 12 15 18 9"></polyline>',"chevron-left":'<polyline points="15 18 9 12 15 6"></polyline>',"chevron-right":'<polyline points="9 18 15 12 9 6"></polyline>',"chevron-up":'<polyline points="18 15 12 9 6 15"></polyline>',"chevrons-down":'<polyline points="7 13 12 18 17 13"></polyline><polyline points="7 6 12 11 17 6"></polyline>',"chevrons-left":'<polyline points="11 17 6 12 11 7"></polyline><polyline points="18 17 13 12 18 7"></polyline>',"chevrons-right":'<polyline points="13 17 18 12 13 7"></polyline><polyline points="6 17 11 12 6 7"></polyline>',"chevrons-up":'<polyline points="17 11 12 6 7 11"></polyline><polyline points="17 18 12 13 7 18"></polyline>',chrome:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line>',circle:'<circle cx="12" cy="12" r="10"></circle>',clipboard:'<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect>',clock:'<circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline>',"cloud-drizzle":'<line x1="8" y1="19" x2="8" y2="21"></line><line x1="8" y1="13" x2="8" y2="15"></line><line x1="16" y1="19" x2="16" y2="21"></line><line x1="16" y1="13" x2="16" y2="15"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="12" y1="15" x2="12" y2="17"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',"cloud-lightning":'<path d="M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9"></path><polyline points="13 11 9 17 15 17 11 23"></polyline>',"cloud-off":'<path d="M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3"></path><line x1="1" y1="1" x2="23" y2="23"></line>',"cloud-rain":'<line x1="16" y1="13" x2="16" y2="21"></line><line x1="8" y1="13" x2="8" y2="21"></line><line x1="12" y1="15" x2="12" y2="23"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',"cloud-snow":'<path d="M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25"></path><line x1="8" y1="16" x2="8.01" y2="16"></line><line x1="8" y1="20" x2="8.01" y2="20"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="12" y1="22" x2="12.01" y2="22"></line><line x1="16" y1="16" x2="16.01" y2="16"></line><line x1="16" y1="20" x2="16.01" y2="20"></line>',cloud:'<path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"></path>',code:'<polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline>',codepen:'<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon><line x1="12" y1="22" x2="12" y2="15.5"></line><polyline points="22 8.5 12 15.5 2 8.5"></polyline><polyline points="2 15.5 12 8.5 22 15.5"></polyline><line x1="12" y1="2" x2="12" y2="8.5"></line>',codesandbox:'<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="7.5 4.21 12 6.81 16.5 4.21"></polyline><polyline points="7.5 19.79 7.5 14.6 3 12"></polyline><polyline points="21 12 16.5 14.6 16.5 19.79"></polyline><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',coffee:'<path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line>',columns:'<path d="M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18"></path>',command:'<path d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"></path>',compass:'<circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon>',copy:'<rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>',"corner-down-left":'<polyline points="9 10 4 15 9 20"></polyline><path d="M20 4v7a4 4 0 0 1-4 4H4"></path>',"corner-down-right":'<polyline points="15 10 20 15 15 20"></polyline><path d="M4 4v7a4 4 0 0 0 4 4h12"></path>',"corner-left-down":'<polyline points="14 15 9 20 4 15"></polyline><path d="M20 4h-7a4 4 0 0 0-4 4v12"></path>',"corner-left-up":'<polyline points="14 9 9 4 4 9"></polyline><path d="M20 20h-7a4 4 0 0 1-4-4V4"></path>',"corner-right-down":'<polyline points="10 15 15 20 20 15"></polyline><path d="M4 4h7a4 4 0 0 1 4 4v12"></path>',"corner-right-up":'<polyline points="10 9 15 4 20 9"></polyline><path d="M4 20h7a4 4 0 0 0 4-4V4"></path>',"corner-up-left":'<polyline points="9 14 4 9 9 4"></polyline><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path>',"corner-up-right":'<polyline points="15 14 20 9 15 4"></polyline><path d="M4 20v-7a4 4 0 0 1 4-4h12"></path>',cpu:'<rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line>',"credit-card":'<rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect><line x1="1" y1="10" x2="23" y2="10"></line>',crop:'<path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"></path><path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"></path>',crosshair:'<circle cx="12" cy="12" r="10"></circle><line x1="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line>',database:'<ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"></path><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path>',delete:'<path d="M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"></path><line x1="18" y1="9" x2="12" y2="15"></line><line x1="12" y1="9" x2="18" y2="15"></line>',disc:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="3"></circle>',"divide-circle":'<line x1="8" y1="12" x2="16" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line><line x1="12" y1="8" x2="12" y2="8"></line><circle cx="12" cy="12" r="10"></circle>',"divide-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="8" y1="12" x2="16" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line><line x1="12" y1="8" x2="12" y2="8"></line>',divide:'<circle cx="12" cy="6" r="2"></circle><line x1="5" y1="12" x2="19" y2="12"></line><circle cx="12" cy="18" r="2"></circle>',"dollar-sign":'<line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>',"download-cloud":'<polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path>',download:'<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line>',dribbble:'<circle cx="12" cy="12" r="10"></circle><path d="M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32"></path>',droplet:'<path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path>',"edit-2":'<path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path>',"edit-3":'<path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path>',edit:'<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path>',"external-link":'<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>',"eye-off":'<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line>',eye:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle>',facebook:'<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path>',"fast-forward":'<polygon points="13 19 22 12 13 5 13 19"></polygon><polygon points="2 19 11 12 2 5 2 19"></polygon>',feather:'<path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17.5" y1="15" x2="9" y2="15"></line>',figma:'<path d="M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z"></path><path d="M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z"></path><path d="M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z"></path><path d="M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z"></path><path d="M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z"></path>',"file-minus":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line>',"file-plus":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line>',"file-text":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline>',file:'<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>',film:'<rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="7" y1="2" x2="7" y2="22"></line><line x1="17" y1="2" x2="17" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line><line x1="2" y1="7" x2="7" y2="7"></line><line x1="2" y1="17" x2="7" y2="17"></line><line x1="17" y1="17" x2="22" y2="17"></line><line x1="17" y1="7" x2="22" y2="7"></line>',filter:'<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>',flag:'<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line>',"folder-minus":'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="9" y1="14" x2="15" y2="14"></line>',"folder-plus":'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="12" y1="11" x2="12" y2="17"></line><line x1="9" y1="14" x2="15" y2="14"></line>',folder:'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>',framer:'<path d="M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7"></path>',frown:'<circle cx="12" cy="12" r="10"></circle><path d="M16 16s-1.5-2-4-2-4 2-4 2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',gift:'<polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>',"git-branch":'<line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path>',"git-commit":'<circle cx="12" cy="12" r="4"></circle><line x1="1.05" y1="12" x2="7" y2="12"></line><line x1="17.01" y1="12" x2="22.96" y2="12"></line>',"git-merge":'<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path>',"git-pull-request":'<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" y1="9" x2="6" y2="21"></line>',github:'<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>',gitlab:'<path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path>',globe:'<circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path>',grid:'<rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect>',"hard-drive":'<line x1="22" y1="12" x2="2" y2="12"></line><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" y1="16" x2="6.01" y2="16"></line><line x1="10" y1="16" x2="10.01" y2="16"></line>',hash:'<line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line>',headphones:'<path d="M3 18v-6a9 9 0 0 1 18 0v6"></path><path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>',heart:'<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>',"help-circle":'<circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line>',hexagon:'<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>',home:'<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline>',image:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline>',inbox:'<polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path>',info:'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line>',instagram:'<rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line>',italic:'<line x1="19" y1="4" x2="10" y2="4"></line><line x1="14" y1="20" x2="5" y2="20"></line><line x1="15" y1="4" x2="9" y2="20"></line>',key:'<path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"></path>',layers:'<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline>',layout:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line>',"life-buoy":'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="4.93" y1="4.93" x2="9.17" y2="9.17"></line><line x1="14.83" y1="14.83" x2="19.07" y2="19.07"></line><line x1="14.83" y1="9.17" x2="19.07" y2="4.93"></line><line x1="14.83" y1="9.17" x2="18.36" y2="5.64"></line><line x1="4.93" y1="19.07" x2="9.17" y2="14.83"></line>',"link-2":'<path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line>',link:'<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>',linkedin:'<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle>',list:'<line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line>',loader:'<line x1="12" y1="2" x2="12" y2="6"></line><line x1="12" y1="18" x2="12" y2="22"></line><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"></line><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"></line><line x1="2" y1="12" x2="6" y2="12"></line><line x1="18" y1="12" x2="22" y2="12"></line><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"></line><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"></line>',lock:'<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path>',"log-in":'<path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" y1="12" x2="3" y2="12"></line>',"log-out":'<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line>',mail:'<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>',"map-pin":'<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle>',map:'<polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"></polygon><line x1="8" y1="2" x2="8" y2="18"></line><line x1="16" y1="6" x2="16" y2="22"></line>',"maximize-2":'<polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line>',maximize:'<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path>',meh:'<circle cx="12" cy="12" r="10"></circle><line x1="8" y1="15" x2="16" y2="15"></line><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',menu:'<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>',"message-circle":'<path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path>',"message-square":'<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>',"mic-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6"></path><path d="M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',mic:'<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',"minimize-2":'<polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line>',minimize:'<path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"></path>',"minus-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="8" y1="12" x2="16" y2="12"></line>',"minus-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="8" y1="12" x2="16" y2="12"></line>',minus:'<line x1="5" y1="12" x2="19" y2="12"></line>',monitor:'<rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line>',moon:'<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>',"more-horizontal":'<circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle>',"more-vertical":'<circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle>',"mouse-pointer":'<path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z"></path><path d="M13 13l6 6"></path>',move:'<polyline points="5 9 2 12 5 15"></polyline><polyline points="9 5 12 2 15 5"></polyline><polyline points="15 19 12 22 9 19"></polyline><polyline points="19 9 22 12 19 15"></polyline><line x1="2" y1="12" x2="22" y2="12"></line><line x1="12" y1="2" x2="12" y2="22"></line>',music:'<path d="M9 18V5l12-2v13"></path><circle cx="6" cy="18" r="3"></circle><circle cx="18" cy="16" r="3"></circle>',"navigation-2":'<polygon points="12 2 19 21 12 17 5 21 12 2"></polygon>',navigation:'<polygon points="3 11 22 2 13 21 11 13 3 11"></polygon>',octagon:'<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>',package:'<line x1="16.5" y1="9.4" x2="7.5" y2="4.21"></line><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line>',paperclip:'<path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path>',"pause-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="10" y1="15" x2="10" y2="9"></line><line x1="14" y1="15" x2="14" y2="9"></line>',pause:'<rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect>',"pen-tool":'<path d="M12 19l7-7 3 3-7 7-3-3z"></path><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"></path><path d="M2 2l7.586 7.586"></path><circle cx="11" cy="11" r="2"></circle>',percent:'<line x1="19" y1="5" x2="5" y2="19"></line><circle cx="6.5" cy="6.5" r="2.5"></circle><circle cx="17.5" cy="17.5" r="2.5"></circle>',"phone-call":'<path d="M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-forwarded":'<polyline points="19 1 23 5 19 9"></polyline><line x1="15" y1="5" x2="23" y2="5"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-incoming":'<polyline points="16 2 16 8 22 8"></polyline><line x1="23" y1="1" x2="16" y2="8"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-missed":'<line x1="23" y1="1" x2="17" y2="7"></line><line x1="17" y1="1" x2="23" y2="7"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-off":'<path d="M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"></path><line x1="23" y1="1" x2="1" y2="23"></line>',"phone-outgoing":'<polyline points="23 7 23 1 17 1"></polyline><line x1="16" y1="8" x2="23" y2="1"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',phone:'<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"pie-chart":'<path d="M21.21 15.89A10 10 0 1 1 8 2.83"></path><path d="M22 12A10 10 0 0 0 12 2v10z"></path>',"play-circle":'<circle cx="12" cy="12" r="10"></circle><polygon points="10 8 16 12 10 16 10 8"></polygon>',play:'<polygon points="5 3 19 12 5 21 5 3"></polygon>',"plus-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',"plus-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',plus:'<line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line>',pocket:'<path d="M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"></path><polyline points="8 10 12 14 16 10"></polyline>',power:'<path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line>',printer:'<polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect>',radio:'<circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path>',"refresh-ccw":'<polyline points="1 4 1 10 7 10"></polyline><polyline points="23 20 23 14 17 14"></polyline><path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15"></path>',"refresh-cw":'<polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path>',repeat:'<polyline points="17 1 21 5 17 9"></polyline><path d="M3 11V9a4 4 0 0 1 4-4h14"></path><polyline points="7 23 3 19 7 15"></polyline><path d="M21 13v2a4 4 0 0 1-4 4H3"></path>',rewind:'<polygon points="11 19 2 12 11 5 11 19"></polygon><polygon points="22 19 13 12 22 5 22 19"></polygon>',"rotate-ccw":'<polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path>',"rotate-cw":'<polyline points="23 4 23 10 17 10"></polyline><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"></path>',rss:'<path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle>',save:'<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline>',scissors:'<circle cx="6" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><line x1="20" y1="4" x2="8.12" y2="15.88"></line><line x1="14.47" y1="14.48" x2="20" y2="20"></line><line x1="8.12" y1="8.12" x2="12" y2="12"></line>',search:'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>',send:'<line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>',server:'<rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line>',settings:'<circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>',"share-2":'<circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line>',share:'<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line>',"shield-off":'<path d="M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18"></path><path d="M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38"></path><line x1="1" y1="1" x2="23" y2="23"></line>',shield:'<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>',"shopping-bag":'<path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path>',"shopping-cart":'<circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>',shuffle:'<polyline points="16 3 21 3 21 8"></polyline><line x1="4" y1="20" x2="21" y2="3"></line><polyline points="21 16 21 21 16 21"></polyline><line x1="15" y1="15" x2="21" y2="21"></line><line x1="4" y1="4" x2="9" y2="9"></line>',sidebar:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line>',"skip-back":'<polygon points="19 20 9 12 19 4 19 20"></polygon><line x1="5" y1="19" x2="5" y2="5"></line>',"skip-forward":'<polygon points="5 4 15 12 5 20 5 4"></polygon><line x1="19" y1="5" x2="19" y2="19"></line>',slack:'<path d="M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z"></path><path d="M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"></path><path d="M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z"></path><path d="M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z"></path><path d="M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z"></path><path d="M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z"></path><path d="M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z"></path><path d="M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z"></path>',slash:'<circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line>',sliders:'<line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line>',smartphone:'<rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>',smile:'<circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line>',speaker:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><circle cx="12" cy="14" r="4"></circle><line x1="12" y1="6" x2="12.01" y2="6"></line>',square:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>',star:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>',"stop-circle":'<circle cx="12" cy="12" r="10"></circle><rect x="9" y="9" width="6" height="6"></rect>',sun:'<circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>',sunrise:'<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="2" x2="12" y2="9"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="8 6 12 2 16 6"></polyline>',sunset:'<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="9" x2="12" y2="2"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="16 5 12 9 8 5"></polyline>',table:'<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"></path>',tablet:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>',tag:'<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line>',target:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle>',terminal:'<polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line>',thermometer:'<path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path>',"thumbs-down":'<path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"></path>',"thumbs-up":'<path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path>',"toggle-left":'<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="8" cy="12" r="3"></circle>',"toggle-right":'<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="16" cy="12" r="3"></circle>',tool:'<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path>',"trash-2":'<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line>',trash:'<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path>',trello:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><rect x="7" y="7" width="3" height="9"></rect><rect x="14" y="7" width="3" height="5"></rect>',"trending-down":'<polyline points="23 18 13.5 8.5 8.5 13.5 1 6"></polyline><polyline points="17 18 23 18 23 12"></polyline>',"trending-up":'<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline>',triangle:'<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>',truck:'<rect x="1" y="3" width="15" height="13"></rect><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></polygon><circle cx="5.5" cy="18.5" r="2.5"></circle><circle cx="18.5" cy="18.5" r="2.5"></circle>',tv:'<rect x="2" y="7" width="20" height="15" rx="2" ry="2"></rect><polyline points="17 2 12 7 7 2"></polyline>',twitch:'<path d="M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"></path>',twitter:'<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path>',type:'<polyline points="4 7 4 4 20 4 20 7"></polyline><line x1="9" y1="20" x2="15" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line>',umbrella:'<path d="M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7"></path>',underline:'<path d="M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3"></path><line x1="4" y1="21" x2="20" y2="21"></line>',unlock:'<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 9.9-1"></path>',"upload-cloud":'<polyline points="16 16 12 12 8 16"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline>',upload:'<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line>',"user-check":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline>',"user-minus":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="23" y1="11" x2="17" y2="11"></line>',"user-plus":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="20" y1="8" x2="20" y2="14"></line><line x1="23" y1="11" x2="17" y2="11"></line>',"user-x":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="18" y1="8" x2="23" y2="13"></line><line x1="23" y1="8" x2="18" y2="13"></line>',user:'<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle>',users:'<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>',"video-off":'<path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line>',video:'<polygon points="23 7 16 12 23 17 23 7"></polygon><rect x="1" y="5" width="15" height="14" rx="2" ry="2"></rect>',voicemail:'<circle cx="5.5" cy="11.5" r="4.5"></circle><circle cx="18.5" cy="11.5" r="4.5"></circle><line x1="5.5" y1="16" x2="18.5" y2="16"></line>',"volume-1":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path>',"volume-2":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path>',"volume-x":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><line x1="23" y1="9" x2="17" y2="15"></line><line x1="17" y1="9" x2="23" y2="15"></line>',volume:'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>',watch:'<circle cx="12" cy="12" r="7"></circle><polyline points="12 9 12 12 13.5 13.5"></polyline><path d="M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83"></path>',"wifi-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path><path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path><path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path><path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line>',wifi:'<path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line>',wind:'<path d="M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2"></path>',"x-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',"x-octagon":'<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',"x-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line>',x:'<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>',youtube:'<path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon>',"zap-off":'<polyline points="12.41 6.75 13 2 10.57 4.92"></polyline><polyline points="18.57 12.91 21 10 15.66 10"></polyline><polyline points="8 8 3 14 12 14 11 22 16 16"></polyline><line x1="1" y1="1" x2="23" y2="23"></line>',zap:'<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon>',"zoom-in":'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line>',"zoom-out":'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line>'}},
vendor: 736 bytes, line 9
9"./node_modules/classnames/dedupe.js":function(e,t,a){var i;!function(){"use strict";var a=function(){function e(){}e.prototype=Object.create(null);var t={}.hasOwnProperty,a=/\s+/;return function(){for(var i=arguments.length,n=Array(i),s=0;s<i;s++)n[s]=arguments[s];var o=new e;!function e(i,n){for(var s=n.length,o=0;o<s;++o)!function(i,n){if(n){var s=typeof n;if("string"===s)for(var o=n.split(a),r=o.length,l=0;l<r;++l)i[o[l]]=!0;else if(Array.isArray(n))e(i,n);else if("object"===s)for(var u in n)t.call(n,u)&&(i[u]=!!n[u]);else"number"===s&&(i[n]=!0)}}(i,n[o])}(o,n);var r=[];for(var l in o)o[l]&&r.push(l);return r.join(" ")}}();void 0!==e&&e.exports?e.exports=a:void 0===(i=(function(){return a}).apply(t,[]))||(e.exports=i)}()},
vendor: 237 bytes, line 9
9"./node_modules/core-js/es/array/from.js":function(e,t,a){a("./node_modules/core-js/modules/es.string.iterator.js"),a("./node_modules/core-js/modules/es.array.from.js"),e.exports=a("./node_modules/core-js/internals/path.js").Array.from},
vendor: 168 bytes, line 9
9"./node_modules/core-js/internals/a-function.js":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},
vendor: 210 bytes, line 9
9"./node_modules/core-js/internals/an-object.js":function(e,t,a){var i=a("./node_modules/core-js/internals/is-object.js");e.exports=function(e){if(!i(e))throw TypeError(String(e)+" is not an object");return e}},
vendor: 896 bytes, line 9
9"./node_modules/core-js/internals/array-from.js":function(e,t,a){"use strict";var i=a("./node_modules/core-js/internals/bind-context.js"),n=a("./node_modules/core-js/internals/to-object.js"),s=a("./node_modules/core-js/internals/call-with-safe-iteration-closing.js"),o=a("./node_modules/core-js/internals/is-array-iterator-method.js"),r=a("./node_modules/core-js/internals/to-length.js"),l=a("./node_modules/core-js/internals/create-property.js"),u=a("./node_modules/core-js/internals/get-iterator-method.js");e.exports=function(e){var t,a,m,d,c=n(e),h="function"==typeof this?this:Array,p=arguments.length,v=p>1?arguments[1]:void 0,k=void 0!==v,y=0,f=u(c);if(k&&(v=i(v,p>2?arguments[2]:void 0,2)),void 0==f||h==Array&&o(f))for(a=new h(t=r(c.length));t>y;y++)l(a,y,k?v(c[y],y):c[y]);else for(d=f.call(c),a=new h;!(m=d.next()).done;y++)l(a,y,k?s(d,v,[m.value,y],!0):m.value);return a.length=y,a}},
vendor: 451 bytes, line 9
9"./node_modules/core-js/internals/array-includes.js":function(e,t,a){var i=a("./node_modules/core-js/internals/to-indexed-object.js"),n=a("./node_modules/core-js/internals/to-length.js"),s=a("./node_modules/core-js/internals/to-absolute-index.js");e.exports=function(e){return function(t,a,o){var r,l=i(t),u=n(l.length),m=s(o,u);if(e&&a!=a){for(;u>m;)if((r=l[m++])!=r)return!0}else for(;u>m;m++)if((e||m in l)&&l[m]===a)return e||m||0;return!e&&-1}}},
vendor: 431 bytes, line 9
9"./node_modules/core-js/internals/bind-context.js":function(e,t,a){var i=a("./node_modules/core-js/internals/a-function.js");e.exports=function(e,t,a){if(i(e),void 0===t)return e;switch(a){case 0:return function(){return e.call(t)};case 1:return function(a){return e.call(t,a)};case 2:return function(a,i){return e.call(t,a,i)};case 3:return function(a,i,n){return e.call(t,a,i,n)}}return function(){return e.apply(t,arguments)}}},
vendor: 266 bytes, line 9
9"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(e,t,a){var i=a("./node_modules/core-js/internals/an-object.js");e.exports=function(e,t,a,n){try{return n?t(i(a)[0],a[1]):t(a)}catch(t){var s=e.return;throw void 0!==s&&i(s.call(e)),t}}},
vendor: 467 bytes, line 9
9"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(e,t,a){var i=a("./node_modules/core-js/internals/well-known-symbol.js")("iterator"),n=!1;try{var s=0,o={next:function(){return{done:!!s++}},return:function(){n=!0}};o[i]=function(){return this},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!n)return!1;var a=!1;try{var s={};s[i]=function(){return{next:function(){return{done:a=!0}}}},e(s)}catch(e){}return a}},
vendor: 135 bytes, line 9
9"./node_modules/core-js/internals/classof-raw.js":function(e,t){var a={}.toString;e.exports=function(e){return a.call(e).slice(8,-1)}},
vendor: 478 bytes, line 9
9"./node_modules/core-js/internals/classof.js":function(e,t,a){var i=a("./node_modules/core-js/internals/classof-raw.js"),n=a("./node_modules/core-js/internals/well-known-symbol.js")("toStringTag"),s="Arguments"==i(function(){return arguments}()),o=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,a,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=o(t=Object(e),n))?a:s?i(t):"Object"==(r=i(t))&&"function"==typeof t.callee?"Arguments":r}},
vendor: 436 bytes, line 9
9"./node_modules/core-js/internals/copy-constructor-properties.js":function(e,t,a){var i=a("./node_modules/core-js/internals/has.js"),n=a("./node_modules/core-js/internals/own-keys.js"),s=a("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),o=a("./node_modules/core-js/internals/object-define-property.js");e.exports=function(e,t){for(var a=n(t),r=o.f,l=s.f,u=0;u<a.length;u++){var m=a[u];i(e,m)||r(e,m,l(t,m))}}},
vendor: 244 bytes, line 9
9"./node_modules/core-js/internals/correct-prototype-getter.js":function(e,t,a){e.exports=!a("./node_modules/core-js/internals/fails.js")(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},
vendor: 550 bytes, line 9
9"./node_modules/core-js/internals/create-iterator-constructor.js":function(e,t,a){"use strict";var i=a("./node_modules/core-js/internals/iterators-core.js").IteratorPrototype,n=a("./node_modules/core-js/internals/object-create.js"),s=a("./node_modules/core-js/internals/create-property-descriptor.js"),o=a("./node_modules/core-js/internals/set-to-string-tag.js"),r=a("./node_modules/core-js/internals/iterators.js"),l=function(){return this};e.exports=function(e,t,a){var u=t+" Iterator";return e.prototype=n(i,{next:s(1,a)}),o(e,u,!1,!0),r[u]=l,e}},
vendor: 175 bytes, line 9
9"./node_modules/core-js/internals/create-property-descriptor.js":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},
vendor: 348 bytes, line 9
9"./node_modules/core-js/internals/create-property.js":function(e,t,a){"use strict";var i=a("./node_modules/core-js/internals/to-primitive.js"),n=a("./node_modules/core-js/internals/object-define-property.js"),s=a("./node_modules/core-js/internals/create-property-descriptor.js");e.exports=function(e,t,a){var o=i(t);o in e?n.f(e,o,s(0,a)):e[o]=a}},
vendor: 1,563 bytes, line 9
9"./node_modules/core-js/internals/define-iterator.js":function(e,t,a){"use strict";var i=a("./node_modules/core-js/internals/export.js"),n=a("./node_modules/core-js/internals/create-iterator-constructor.js"),s=a("./node_modules/core-js/internals/object-get-prototype-of.js"),o=a("./node_modules/core-js/internals/object-set-prototype-of.js"),r=a("./node_modules/core-js/internals/set-to-string-tag.js"),l=a("./node_modules/core-js/internals/hide.js"),u=a("./node_modules/core-js/internals/redefine.js"),m=a("./node_modules/core-js/internals/well-known-symbol.js"),d=a("./node_modules/core-js/internals/is-pure.js"),c=a("./node_modules/core-js/internals/iterators.js"),h=a("./node_modules/core-js/internals/iterators-core.js"),p=h.IteratorPrototype,v=h.BUGGY_SAFARI_ITERATORS,k=m("iterator"),y="keys",f="values",g="entries",b=function(){return this};e.exports=function(e,t,a,m,h,j,x){n(a,t,m);var w,S,N,A=function(e){if(e===h&&L)return L;if(!v&&e in C)return C[e];switch(e){case y:case f:case g:return function(){return new a(this,e)}}return function(){return new a(this)}},P=t+" Iterator",_=!1,C=e.prototype,M=C[k]||C["@@iterator"]||h&&C[h],L=!v&&M||A(h),E="Array"==t&&C.entries||M;if(E&&(w=s(E.call(new e)),p!==Object.prototype&&w.next&&(d||s(w)===p||(o?o(w,p):"function"!=typeof w[k]&&l(w,k,b)),r(w,P,!0,!0),d&&(c[P]=b))),h==f&&M&&M.name!==f&&(_=!0,L=function(){return M.call(this)}),(!d||x)&&C[k]!==L&&l(C,k,L),c[t]=L,h)if(S={values:A(f),keys:j?L:A(y),entries:A(g)},x)for(N in S)!v&&!_&&N in C||u(C,N,S[N]);else i({target:t,proto:!0,forced:v||_},S);return S}},
vendor: 207 bytes, line 9
9"./node_modules/core-js/internals/descriptors.js":function(e,t,a){e.exports=!a("./node_modules/core-js/internals/fails.js")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},
vendor: 280 bytes, line 9
9"./node_modules/core-js/internals/document-create-element.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/is-object.js"),s=i.document,o=n(s)&&n(s.createElement);e.exports=function(e){return o?s.createElement(e):{}}},
vendor: 187 bytes, line 9
9"./node_modules/core-js/internals/enum-bug-keys.js":function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},
vendor: 785 bytes, line 9
9"./node_modules/core-js/internals/export.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/object-get-own-property-descriptor.js").f,s=a("./node_modules/core-js/internals/hide.js"),o=a("./node_modules/core-js/internals/redefine.js"),r=a("./node_modules/core-js/internals/set-global.js"),l=a("./node_modules/core-js/internals/copy-constructor-properties.js"),u=a("./node_modules/core-js/internals/is-forced.js");e.exports=function(e,t){var a,m,d,c,h,p=e.target,v=e.global,k=e.stat;if(a=v?i:k?i[p]||r(p,{}):(i[p]||{}).prototype)for(m in t){if(c=t[m],d=e.noTargetGet?(h=n(a,m))&&h.value:a[m],!u(v?m:p+(k?".":"#")+m,e.forced)&&void 0!==d){if(typeof c==typeof d)continue;l(c,d)}(e.sham||d&&d.sham)&&s(c,"sham",!0),o(a,m,c,e)}}},
vendor: 117 bytes, line 9
9"./node_modules/core-js/internals/fails.js":function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},
vendor: 179 bytes, line 9
9"./node_modules/core-js/internals/function-to-string.js":function(e,t,a){e.exports=a("./node_modules/core-js/internals/shared.js")("native-function-to-string",Function.toString)},
vendor: 330 bytes, line 9
9"./node_modules/core-js/internals/get-iterator-method.js":function(e,t,a){var i=a("./node_modules/core-js/internals/classof.js"),n=a("./node_modules/core-js/internals/iterators.js"),s=a("./node_modules/core-js/internals/well-known-symbol.js")("iterator");e.exports=function(e){if(void 0!=e)return e[s]||e["@@iterator"]||n[i(e)]}},
vendor: 336 bytes, line 9
9"./node_modules/core-js/internals/global.js":function(e,t,a){(function(t){var a="object",i=function(e){return e&&e.Math==Math&&e};e.exports=i(typeof globalThis==a&&globalThis)||i(typeof window==a&&window)||i(typeof self==a&&self)||i(typeof t==a&&t)||Function("return this")()}).call(this,a("./node_modules/webpack/buildin/global.js"))},
vendor: 125 bytes, line 9
9"./node_modules/core-js/internals/has.js":function(e,t){var a={}.hasOwnProperty;e.exports=function(e,t){return a.call(e,t)}},
vendor: 78 bytes, line 9
9"./node_modules/core-js/internals/hidden-keys.js":function(e,t){e.exports={}},
vendor: 340 bytes, line 9
9"./node_modules/core-js/internals/hide.js":function(e,t,a){var i=a("./node_modules/core-js/internals/descriptors.js"),n=a("./node_modules/core-js/internals/object-define-property.js"),s=a("./node_modules/core-js/internals/create-property-descriptor.js");e.exports=i?function(e,t,a){return n.f(e,t,s(1,a))}:function(e,t,a){return e[t]=a,e}},
vendor: 154 bytes, line 9
9"./node_modules/core-js/internals/html.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js").document;e.exports=i&&i.documentElement},
vendor: 350 bytes, line 9
9"./node_modules/core-js/internals/ie8-dom-define.js":function(e,t,a){var i=a("./node_modules/core-js/internals/descriptors.js"),n=a("./node_modules/core-js/internals/fails.js"),s=a("./node_modules/core-js/internals/document-create-element.js");e.exports=!i&&!n(function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},
vendor: 321 bytes, line 9
9"./node_modules/core-js/internals/indexed-object.js":function(e,t,a){var i=a("./node_modules/core-js/internals/fails.js"),n=a("./node_modules/core-js/internals/classof-raw.js"),s="".split;e.exports=i(function(){return!Object("z").propertyIsEnumerable(0)})?function(e){return"String"==n(e)?s.call(e,""):Object(e)}:Object},
vendor: 962 bytes, line 9
9"./node_modules/core-js/internals/internal-state.js":function(e,t,a){var i,n,s,o=a("./node_modules/core-js/internals/native-weak-map.js"),r=a("./node_modules/core-js/internals/global.js"),l=a("./node_modules/core-js/internals/is-object.js"),u=a("./node_modules/core-js/internals/hide.js"),m=a("./node_modules/core-js/internals/has.js"),d=a("./node_modules/core-js/internals/shared-key.js"),c=a("./node_modules/core-js/internals/hidden-keys.js"),h=r.WeakMap;if(o){var p=new h,v=p.get,k=p.has,y=p.set;i=function(e,t){return y.call(p,e,t),t},n=function(e){return v.call(p,e)||{}},s=function(e){return k.call(p,e)}}else{var f=d("state");c[f]=!0,i=function(e,t){return u(e,f,t),t},n=function(e){return m(e,f)?e[f]:{}},s=function(e){return m(e,f)}}e.exports={set:i,get:n,has:s,enforce:function(e){return s(e)?n(e):i(e,{})},getterFor:function(e){return function(t){var a;if(!l(t)||(a=n(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return a}}}},
vendor: 298 bytes, line 9
9"./node_modules/core-js/internals/is-array-iterator-method.js":function(e,t,a){var i=a("./node_modules/core-js/internals/well-known-symbol.js"),n=a("./node_modules/core-js/internals/iterators.js"),s=i("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||o[s]===e)}},
vendor: 349 bytes, line 9
9"./node_modules/core-js/internals/is-forced.js":function(e,t,a){var i=a("./node_modules/core-js/internals/fails.js"),n=/#|\.prototype\./,s=function(e,t){var a=r[o(e)];return a==u||a!=l&&("function"==typeof t?i(t):!!t)},o=s.normalize=function(e){return String(e).replace(n,".").toLowerCase()},r=s.data={},l=s.NATIVE="N",u=s.POLYFILL="P";e.exports=s},
vendor: 141 bytes, line 9
9"./node_modules/core-js/internals/is-object.js":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},
vendor: 74 bytes, line 9
9"./node_modules/core-js/internals/is-pure.js":function(e,t){e.exports=!1},
vendor: 581 bytes, line 9
9"./node_modules/core-js/internals/iterators-core.js":function(e,t,a){"use strict";var i,n,s,o=a("./node_modules/core-js/internals/object-get-prototype-of.js"),r=a("./node_modules/core-js/internals/hide.js"),l=a("./node_modules/core-js/internals/has.js"),u=a("./node_modules/core-js/internals/well-known-symbol.js"),m=a("./node_modules/core-js/internals/is-pure.js"),d=u("iterator"),c=!1;[].keys&&("next"in(s=[].keys())?(n=o(o(s)))!==Object.prototype&&(i=n):c=!0),void 0==i&&(i={}),m||l(i,d)||r(i,d,function(){return this}),e.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:c}},
vendor: 76 bytes, line 9
9"./node_modules/core-js/internals/iterators.js":function(e,t){e.exports={}},
vendor: 204 bytes, line 9
9"./node_modules/core-js/internals/native-symbol.js":function(e,t,a){var i=a("./node_modules/core-js/internals/fails.js");e.exports=!!Object.getOwnPropertySymbols&&!i(function(){return!String(Symbol())})},
vendor: 261 bytes, line 9
9"./node_modules/core-js/internals/native-weak-map.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/function-to-string.js"),s=i.WeakMap;e.exports="function"==typeof s&&/native code/.test(n.call(s))},
vendor: 906 bytes, line 9
9"./node_modules/core-js/internals/object-create.js":function(e,t,a){var i=a("./node_modules/core-js/internals/an-object.js"),n=a("./node_modules/core-js/internals/object-define-properties.js"),s=a("./node_modules/core-js/internals/enum-bug-keys.js"),o=a("./node_modules/core-js/internals/hidden-keys.js"),r=a("./node_modules/core-js/internals/html.js"),l=a("./node_modules/core-js/internals/document-create-element.js"),u=a("./node_modules/core-js/internals/shared-key.js")("IE_PROTO"),m="prototype",d=function(){},c=function(){var e,t=l("iframe"),a=s.length,i="script";for(t.style.display="none",r.appendChild(t),t.src=String("java"+i+":"),(e=t.contentWindow.document).open(),e.write("<"+i+">document.F=Object</"+i+">"),e.close(),c=e.F;a--;)delete c[m][s[a]];return c()};e.exports=Object.create||function(e,t){var a;return null!==e?(d[m]=i(e),a=new d,d[m]=null,a[u]=e):a=c(),void 0===t?a:n(a,t)},o[u]=!0},
vendor: 436 bytes, line 9
9"./node_modules/core-js/internals/object-define-properties.js":function(e,t,a){var i=a("./node_modules/core-js/internals/descriptors.js"),n=a("./node_modules/core-js/internals/object-define-property.js"),s=a("./node_modules/core-js/internals/an-object.js"),o=a("./node_modules/core-js/internals/object-keys.js");e.exports=i?Object.defineProperties:function(e,t){s(e);for(var a,i=o(t),r=i.length,l=0;r>l;)n.f(e,a=i[l++],t[a]);return e}},
vendor: 511 bytes, line 9
9"./node_modules/core-js/internals/object-define-property.js":function(e,t,a){var i=a("./node_modules/core-js/internals/descriptors.js"),n=a("./node_modules/core-js/internals/ie8-dom-define.js"),s=a("./node_modules/core-js/internals/an-object.js"),o=a("./node_modules/core-js/internals/to-primitive.js"),r=Object.defineProperty;t.f=i?r:function(e,t,a){if(s(e),t=o(t,!0),s(a),n)try{return r(e,t,a)}catch(e){}if("get"in a||"set"in a)throw TypeError("Accessors not supported");return"value"in a&&(e[t]=a.value),e}},
vendor: 661 bytes, line 9
9"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(e,t,a){var i=a("./node_modules/core-js/internals/descriptors.js"),n=a("./node_modules/core-js/internals/object-property-is-enumerable.js"),s=a("./node_modules/core-js/internals/create-property-descriptor.js"),o=a("./node_modules/core-js/internals/to-indexed-object.js"),r=a("./node_modules/core-js/internals/to-primitive.js"),l=a("./node_modules/core-js/internals/has.js"),u=a("./node_modules/core-js/internals/ie8-dom-define.js"),m=Object.getOwnPropertyDescriptor;t.f=i?m:function(e,t){if(e=o(e),t=r(t,!0),u)try{return m(e,t)}catch(e){}if(l(e,t))return s(!n.f.call(e,t),e[t])}},
vendor: 298 bytes, line 9
9"./node_modules/core-js/internals/object-get-own-property-names.js":function(e,t,a){var i=a("./node_modules/core-js/internals/object-keys-internal.js"),n=a("./node_modules/core-js/internals/enum-bug-keys.js").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return i(e,n)}},
vendor: 118 bytes, line 9
9"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(e,t){t.f=Object.getOwnPropertySymbols},
vendor: 523 bytes, line 9
9"./node_modules/core-js/internals/object-get-prototype-of.js":function(e,t,a){var i=a("./node_modules/core-js/internals/has.js"),n=a("./node_modules/core-js/internals/to-object.js"),s=a("./node_modules/core-js/internals/shared-key.js"),o=a("./node_modules/core-js/internals/correct-prototype-getter.js"),r=s("IE_PROTO"),l=Object.prototype;e.exports=o?Object.getPrototypeOf:function(e){return i(e=n(e),r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},
vendor: 456 bytes, line 9
9"./node_modules/core-js/internals/object-keys-internal.js":function(e,t,a){var i=a("./node_modules/core-js/internals/has.js"),n=a("./node_modules/core-js/internals/to-indexed-object.js"),s=a("./node_modules/core-js/internals/array-includes.js"),o=a("./node_modules/core-js/internals/hidden-keys.js"),r=s(!1);e.exports=function(e,t){var a,s=n(e),l=0,u=[];for(a in s)!i(o,a)&&i(s,a)&&u.push(a);for(;t.length>l;)i(s,a=t[l++])&&(~r(u,a)||u.push(a));return u}},
vendor: 242 bytes, line 9
9"./node_modules/core-js/internals/object-keys.js":function(e,t,a){var i=a("./node_modules/core-js/internals/object-keys-internal.js"),n=a("./node_modules/core-js/internals/enum-bug-keys.js");e.exports=Object.keys||function(e){return i(e,n)}},
vendor: 241 bytes, line 9
9"./node_modules/core-js/internals/object-property-is-enumerable.js":function(e,t,a){"use strict";var i={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor;t.f=n&&!i.call({1:2},1)?function(e){var t=n(this,e);return!!t&&t.enumerable}:i},
vendor: 432 bytes, line 9
9"./node_modules/core-js/internals/object-set-prototype-of.js":function(e,t,a){var i=a("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,a={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(a,[]),t=a instanceof Array}catch(e){}return function(a,n){return i(a,n),t?e.call(a,n):a.__proto__=n,a}}():void 0)},
vendor: 416 bytes, line 9
9"./node_modules/core-js/internals/own-keys.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/object-get-own-property-names.js"),s=a("./node_modules/core-js/internals/object-get-own-property-symbols.js"),o=a("./node_modules/core-js/internals/an-object.js"),r=i.Reflect;e.exports=r&&r.ownKeys||function(e){var t=n.f(o(e)),a=s.f;return a?t.concat(a(e)):t}},
vendor: 118 bytes, line 9
9"./node_modules/core-js/internals/path.js":function(e,t,a){e.exports=a("./node_modules/core-js/internals/global.js")},
vendor: 927 bytes, line 9
9"./node_modules/core-js/internals/redefine.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/shared.js"),s=a("./node_modules/core-js/internals/hide.js"),o=a("./node_modules/core-js/internals/has.js"),r=a("./node_modules/core-js/internals/set-global.js"),l=a("./node_modules/core-js/internals/function-to-string.js"),u=a("./node_modules/core-js/internals/internal-state.js"),m=u.get,d=u.enforce,c=String(l).split("toString");n("inspectSource",function(e){return l.call(e)}),(e.exports=function(e,t,a,n){var l=!!n&&!!n.unsafe,u=!!n&&!!n.enumerable,m=!!n&&!!n.noTargetGet;("function"==typeof a&&("string"!=typeof t||o(a,"name")||s(a,"name",t),d(a).source=c.join("string"==typeof t?t:"")),e===i)?u?e[t]=a:r(t,a):(l?!m&&e[t]&&(u=!0):delete e[t],u?e[t]=a:s(e,t,a))})(Function.prototype,"toString",function(){return"function"==typeof this&&m(this).source||l.call(this)})},
vendor: 166 bytes, line 9
9"./node_modules/core-js/internals/require-object-coercible.js":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},
vendor: 231 bytes, line 9
9"./node_modules/core-js/internals/set-global.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/hide.js");e.exports=function(e,t){try{n(i,e,t)}catch(a){i[e]=t}return t}},
vendor: 356 bytes, line 9
9"./node_modules/core-js/internals/set-to-string-tag.js":function(e,t,a){var i=a("./node_modules/core-js/internals/object-define-property.js").f,n=a("./node_modules/core-js/internals/has.js"),s=a("./node_modules/core-js/internals/well-known-symbol.js")("toStringTag");e.exports=function(e,t,a){e&&!n(e=a?e:e.prototype,s)&&i(e,s,{configurable:!0,value:t})}},
vendor: 227 bytes, line 9
9"./node_modules/core-js/internals/shared-key.js":function(e,t,a){var i=a("./node_modules/core-js/internals/shared.js"),n=a("./node_modules/core-js/internals/uid.js"),s=i("keys");e.exports=function(e){return s[e]||(s[e]=n(e))}},
vendor: 437 bytes, line 9
9"./node_modules/core-js/internals/shared.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/set-global.js"),s=a("./node_modules/core-js/internals/is-pure.js"),o="__core-js_shared__",r=i[o]||n(o,{});(e.exports=function(e,t){return r[e]||(r[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.1.3",mode:s?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},
vendor: 433 bytes, line 9
9"./node_modules/core-js/internals/string-at.js":function(e,t,a){var i=a("./node_modules/core-js/internals/to-integer.js"),n=a("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(e,t,a){var s,o,r=String(n(e)),l=i(t),u=r.length;return l<0||l>=u?a?"":void 0:(s=r.charCodeAt(l))<55296||s>56319||l+1===u||(o=r.charCodeAt(l+1))<56320||o>57343?a?r.charAt(l):s:a?r.slice(l,l+2):(s-55296<<10)+(o-56320)+65536}},
vendor: 216 bytes, line 9
9"./node_modules/core-js/internals/to-absolute-index.js":function(e,t,a){var i=a("./node_modules/core-js/internals/to-integer.js"),n=Math.max,s=Math.min;e.exports=function(e,t){var a=i(e);return a<0?n(a+t,0):s(a,t)}},
vendor: 241 bytes, line 9
9"./node_modules/core-js/internals/to-indexed-object.js":function(e,t,a){var i=a("./node_modules/core-js/internals/indexed-object.js"),n=a("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(e){return i(n(e))}},
vendor: 150 bytes, line 9
9"./node_modules/core-js/internals/to-integer.js":function(e,t){var a=Math.ceil,i=Math.floor;e.exports=function(e){return isNaN(e*=1)?0:(e>0?i:a)(e)}},
vendor: 195 bytes, line 9
9"./node_modules/core-js/internals/to-length.js":function(e,t,a){var i=a("./node_modules/core-js/internals/to-integer.js"),n=Math.min;e.exports=function(e){return e>0?n(i(e),0x1fffffffffffff):0}},
vendor: 180 bytes, line 9
9"./node_modules/core-js/internals/to-object.js":function(e,t,a){var i=a("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(e){return Object(i(e))}},
vendor: 405 bytes, line 9
9"./node_modules/core-js/internals/to-primitive.js":function(e,t,a){var i=a("./node_modules/core-js/internals/is-object.js");e.exports=function(e,t){var a,n;if(!i(e))return e;if(t&&"function"==typeof(a=e.toString)&&!i(n=a.call(e))||"function"==typeof(a=e.valueOf)&&!i(n=a.call(e))||!t&&"function"==typeof(a=e.toString)&&!i(n=a.call(e)))return n;throw TypeError("Can't convert object to primitive value")}},
vendor: 170 bytes, line 9
9"./node_modules/core-js/internals/uid.js":function(e,t){var a=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++a+i).toString(36))}},
vendor: 308 bytes, line 9
9"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(e,t,a){var i=a("./node_modules/core-js/internals/is-object.js"),n=a("./node_modules/core-js/internals/an-object.js");e.exports=function(e,t){if(n(e),!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}},
vendor: 376 bytes, line 9
9"./node_modules/core-js/internals/well-known-symbol.js":function(e,t,a){var i=a("./node_modules/core-js/internals/global.js"),n=a("./node_modules/core-js/internals/shared.js"),s=a("./node_modules/core-js/internals/uid.js"),o=a("./node_modules/core-js/internals/native-symbol.js"),r=i.Symbol,l=n("wks");e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:s)("Symbol."+e))}},
vendor: 320 bytes, line 9
9"./node_modules/core-js/modules/es.array.from.js":function(e,t,a){var i=a("./node_modules/core-js/internals/export.js"),n=a("./node_modules/core-js/internals/array-from.js");i({target:"Array",stat:!0,forced:!a("./node_modules/core-js/internals/check-correctness-of-iteration.js")(function(e){Array.from(e)})},{from:n})},
vendor: 519 bytes, line 9
9"./node_modules/core-js/modules/es.string.iterator.js":function(e,t,a){"use strict";var i=a("./node_modules/core-js/internals/string-at.js"),n=a("./node_modules/core-js/internals/internal-state.js"),s=a("./node_modules/core-js/internals/define-iterator.js"),o="String Iterator",r=n.set,l=n.getterFor(o);s(String,"String",function(e){r(this,{type:o,string:String(e),index:0})},function(){var e,t=l(this),a=t.string,n=t.index;return n>=a.length?{value:void 0,done:!0}:(e=i(a,n,!0),t.index+=e.length,{value:e,done:!1})})},
vendor: 202 bytes, line 9
9"./node_modules/webpack/buildin/global.js":function(e,t){var a;a=function(){return this}();try{a=a||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(a=window)}e.exports=a},
9"./src/default-attrs.json":function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},
9"./src/icon.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n=function(){function e(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,a,i){return a&&e(t.prototype,a),i&&e(t,i),t}}(),s=r(a("./node_modules/classnames/dedupe.js")),o=r(a("./src/default-attrs.json"));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(){function e(t,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(!(this instanceof e))throw TypeError("Cannot call a class as a function");this.name=t,this.contents=a,this.tags=n,this.attrs=i({},o.default,{class:"feather feather-"+t})}return n(e,[{key:"toSvg",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"<svg "+Object.keys(e=i({},this.attrs,t,{class:(0,s.default)(this.attrs.class,t.class)})).map(function(t){return t+'="'+e[t]+'"'}).join(" ")+">"+this.contents+"</svg>"}},{key:"toString",value:function(){return this.contents}}]),e}()},
9"./src/icons.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=o(a("./src/icon.js")),n=o(a("./dist/icons.json")),s=o(a("./src/tags.json"));function o(e){return e&&e.__esModule?e:{default:e}}t.default=Object.keys(n.default).map(function(e){return new i.default(e,n.default[e],s.default[e])}).reduce(function(e,t){return e[t.name]=t,e},{})},
9"./src/index.js":function(e,t,a){"use strict";var i=o(a("./src/icons.js")),n=o(a("./src/to-svg.js")),s=o(a("./src/replace.js"));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:i.default,toSvg:n.default,replace:s.default}},
9"./src/replace.js":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n=o(a("./node_modules/classnames/dedupe.js")),s=o(a("./src/icons.js"));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("u"<typeof document)throw Error("`feather.replace()` only works in a browser environment.");Array.from(document.querySelectorAll("[data-feather]")).forEach(function(t){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=Array.from(e.attributes).reduce(function(e,t){return e[t.name]=t.value,e},{}),o=a["data-feather"];delete a["data-feather"];var r=s.default[o].toSvg(i({},t,a,{class:(0,n.default)(t.class,a.class)})),l=new DOMParser().parseFromString(r,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(l,e)}(t,e)})}},
9"./src/tags.json":function(e){e
vendor: 7,761 bytes, line 9
9.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-bouy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(
9e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,n=(i=a("./src/icons.js"))&&i.__esModule?i:{default:i};t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw Error("The required `key` (icon name) parameter is missing.");if(!n.default[e])throw Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return n.default[e].toSvg(t)}}
9,0:function(e,t,a){a("./node_modules/core-js/es/array/from.js"),e.exports=a("./src/index.js")}},t={};function a(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,a),n.l=!0,n.exports}return a.m=e,a.c=t,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},a.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=0)}()},34750:e=>{e.exports={pageRoot:"SummaryPageContent_pageRoot__A_3ra",sendAnswersContainer:"SummaryPageContent_sendAnswersContainer__KjOua"}},35031:(e,t,a)=>{"use strict";a.d(t,{f:()=>eO});var i=a(29255),n=a(6627),s=a(15315),o=a(78737),r=a(29903),l=a(11186),u=a(78416),m=a(37146),d=a(47130),c=a(73768),h=a(32264),p=a(59943),v=a(46164);function k(e,t,a){return(a<0&&(a+=1),a>1&&(a-=1),a<1/6)?e+(t-e)*6*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e}var y=a(78072);function f(e,t){return a=>a>0?t:e}var g=a(22942);let b=(e,t,a)=>{let i=e*e,n=a*(t*t-i)+i;return n<0?0:Math.sqrt(n)},j=[p.u,y.B,v.V];function x(e){let t=j.find(t=>t.test(e));if((0,m.$)(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!t)return!1;let a=t.parse(e);return t===v.V&&(a=function({hue:e,saturation:t,lightness:a,alpha:i}
9){e/=360,a/=100;let n=0,s=0,o=0;if(t/=100){let i=a<.5?a*(1+t):a+t-a*t,r=2*a-i;n=k(r,i,e+1/3),s=k(r,i,e),o=k(r,i,e-1/3)}else n=s=o=a;return{red:Math.round(255*n),green:Math.round(255*s),blue:Math.round(255*o),alpha:i}}(a)),a}let w=(e,t)=>{let a=x(e),i=x(t);if(!a||!i)return f(e,t);let n={...a};return e=>(n.red=b(a.red,i.red,e),n.green=b(a.green,i.green,e),n.blue=b(a.blue,i.blue,e),n.alpha=(0,g.k)(a.alpha,i.alpha,e),y.B.transform(n))},S=new Set(["none","hidden"]);function N(e,t){return a=>(0,g.k)(e,t,a)}function A(e){return"number"==typeof e?N:"string"==typeof e?(0,d.pG)(e)?f:c.y.test(e)?w:C:Array.isArray(e)?P:"object"==typeof e?c.y.test(e)?w:_:f}function P(e,t){let a=[...e],i=a.length,n=e.map((e,a)=>A(e)(e,t[a]));return e=>{for(let t=0;t<i;t++)a[t]=n[t](e);return a}}function _(e,t){let a={...e,...t},i={};for(let n in a)void 0!==e[n]&&void 0!==t[n]&&(i[n]=A(e[n])(e[n],t[n]));return e=>{for(let t in i)a[t]=i[t](e);return a}}let C=(e,t)=>{let a=h.f.createTransformer(t),i=(0,h.V)(e),n=(0,h.V)(t);if(!(i.indexes.var.length===n.indexes.var.length&&i.indexes.color.length===n.indexes.color.length&&i.indexes.number.length>=n.indexes.number.length))return(0,m.$)(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),f(e,t);if(S.has(e)&&!n.values.length||S.has(t)&&!i.values.length)return S.has(e)?a=>a<=0?e:t:a=>a>=1?t:e;return(0,r.F)(P(function(e,t){let a=[],i={color:0,var:0,number:0};for(let n=0;n<t.values.length;n++){let s=t.types[n],o=e.indexes[s][i[s]],r=e.values[o]??0;a[n]=r,i[s]++}return a}(i,n),n.values),a)};function M(e,t,a){return"number"==typeof e&&"number"==typeof t&&"number"==typeof a?(0,g.k)(e,t,a):A(e)(e,t)}var L=a(50891);let E=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>L.Gt.update(t,e),stop:()=>(0,L.WG)(t),now:()=>L.uv.isProcessing?L.uv.timestamp:o.k.now()}};var I=a(89933);function T(e){let t=0,a=e.next(t);for(;!a.done&&t<2e4;)t+=50,a=e.next(t);return t>=2e4?1/0:t}let V=.01,O=2,K=.005,U=.5;function R(e,t){return e*Math.sqrt(1-t*t)}let D=["duration","bounce"],B=["stiffness","damping","mass"];function H(e,t){return t.some(t=>void 0!==e[t])}function F(e=.3,t=.3){let a,n,s,o,r,u,d="object"!=typeof e?{visualDuration:e,keyframes:[0,1],bounce:t}:e,{restSpeed:c,restDelta:h}=d,p=d.keyframes[0],v=d.keyframes[d.keyframes.length-1],k={done:!1,value:p},{stiffness:y,damping:f,mass:g,duration:b,velocity:j,isResolvedFromDuration:x}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!H(e,B)&&H(e,D))if(t.velocity=0,e.visualDuration){let a=2*Math.PI/(1.2*e.visualDuration),i=a*a,n=2*(0,l.q)(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:1,stiffness:i,damping:n}}else{let a=function({duration:e=800,bounce:t=.3,velocity:a=0,mass:n=1}){let s,o;(0,m.$)(e<=(0,i.f)(10),"Spring duration must be 10 seconds or less","spring-duration-limit");let r=1-t;r=(0,l.q)(.05,1,r),e=(0,l.q)(.01,10,(0,i.X)(e)),r<1?(s=t=>{let i=t*r,n=i*e;return .001-(i-a)/R(t,r)*Math.exp(-n)},o=t=>{let i=t*r*e,n=Math.pow(r,2)*Math.pow(t,2)*e,o=Math.exp(-i),l=R(Math.pow(t,2),r);return(i*a+a-n)*o*(-s(t)+.001>0?-1:1)/l}):(s=t=>-.001+Math.exp(-t*e)*((t-a)*e+1),o=t=>e*e*(a-t)*Math.exp(-t*e));let u=function(e,t,a){let i=a;for(let a=1;a<12;a++)i-=e(i)/t(i);return i}(s,o,5/e);if(e=(0,i.f)(e),isNaN(u))return{stiffness:100,damping:10,duration:e};{let t=Math.pow(u,2)*n;return{stiffness:t,damping:2*r*Math.sqrt(n*t),duration:e}}}({...e,velocity:0});(t={...t,...a,mass:1}).isResolvedFromDuration=!0}return t}({...d,velocity:-(0,i.X)(d.velocity||0)}),w=j||0,S=f/(2*Math.sqrt(y*g)),N=v-p,A=(0,i.X)(Math.sqrt(y/g)),P=5>Math.abs(N);if(c||(c=P?V:O),h||(h=P?K:U),S<1)s=R(A,S),o=(w+S*A*N)/s,a=e=>v-Math.exp(-S*A*e)*(o*Math.sin(s*e)+N*Math.cos(s*e)),r=S*A*o+N*s,u=S*A*N-o*s,n=e=>Math.exp(-S*A*e)*(r*Math.sin(s*e)+u*Math.cos(s*e));else if(1===S){a=e=>v-Math.exp(-A*e)*(N+(w+A*N)*e);let e=w+A*N;n=t=>Math.exp(-A*t)*(A*e*t-w)}else{let e=A*Math.sqrt(S*S-1);a=t=>{let a=Math.exp(-S*A*t),i=Math.min(e*t,300);return v-a*((w+S*A*N)*Math.sinh(i)+e*N*Math.cosh(i))/e};let t=(w+S*A*N)/e,i=S*A*t-N*e,s=S*A*N-t*e;n=t=>{let a=Math.exp(-S*A*t),n=Math.min(e*t,300);return a*(i*Math.sinh(n)+s*Math.cosh(n))}}let _={calculatedDuration:x&&b||null,velocity:e=>(0,i.f)(n(e)),next:e=>{if(!x&&S<1){let t=Math.exp(-S*A*e),a=Math.sin(s*e),n=Math.cos(s*e),l=v-t*(o*a+N*n);return k.done=Math.abs((0,i.f)(t*(r*a+u*n)))<=c&&Math.abs(v-l)<=h,k.value=k.done?v:l,k}let t=a(e);return x?k.done=e>=b:k.done=Math.abs((0,i.f)(n(e)))<=c&&Math.abs(v-t)<=h,k.value=k.done?v:t,k},toString:()=>{let e=Math.min(T(_),2e4),t=(0,I.K)(t=>_.next(e*t).value,e,30);return e+"ms "+t},toTransition:()=>{}};return _}F.applyToOptions=e=>{let t=function(e,t=100,a){let n=a({...e,keyframes:[0,t]}),s=Math.min(T(n),2e4);return{type:"keyframes",ease:e=>n.next(s*e).value/t,duration:(0,i.X)(s)}}(e,100,F);return e.ease=t.ease,e.duration=(0,i.f)(t.duration),e.type="keyframes",e};var z=a(51803);function $(e,t,a){let i=Math.max(t-5,0);return(0,z.f)(a-e(i),t-i)}function q({keyframes:e,velocity:t=0,power:a=.8,timeConstant:i=325,bounceDamping:n=10,bounceStiffness:s=500,modifyTarget:o,min:r,max:l,restDelta:u=.5,restSpeed:m}){let d,c,h=e[0],p={done:!1,value:h},v=a*t,k=h+v,y=void 0===o?k:o(k);y!==k&&(v=y-h);let f=e=>-v*Math.exp(-e/i),g=e=>y+f(e),b=e=>{let t=f(e),a=g(e);p.done=Math.abs(t)<=u,p.value=p.done?y:a},j=e=>{let t;if(t=p.value,void 0!==r&&t<r||void 0!==l&&t>l){var a;
9d=e,c=F({keyframes:[p.value,(a=p.value,void 0===r?l:void 0===l||Math.abs(r-a)<Math.abs(l-a)?r:l)],velocity:$(g,e,p.value),damping:n,stiffness:s,restDelta:u,restSpeed:m})}};return j(0),{calculatedDuration:null,next:e=>{let t=!1;return(c||void 0!==d||(t=!0,b(e),j(e)),void 0!==d&&e>=d)?c.next(e-d):(t||b(e),p)}}}let G=(e,t,a)=>(((1-3*a+3*t)*e+(3*a-6*t))*e+3*t)*e;function W(e,t,a,i){return e===t&&a===i?s.l:n=>0===n||1===n?n:G(function(e,t,a,i,n){let s,o,r=0;do(s=G(o=t+(a-t)/2,i,n)-e)>0?a=o:t=o;while(Math.abs(s)>1e-7&&++r<12);return o}(n,0,1,e,a),t,i)}let Y=W(.42,0,1,1),J=W(0,0,.58,1),Q=W(.42,0,.58,1);var X=a(3681),Z=a(55220);let ee=W(.33,1.53,.69,.99),et=(0,Z.G)(ee),ea=(0,X.V)(et),ei=e=>e>=1?1:(e*=2)<1?.5*et(e):.5*(2-Math.pow(2,-10*(e-1)));var en=a(57568),es=a(1217);let eo={linear:s.l,easeIn:Y,easeInOut:Q,easeOut:J,circIn:en.po,circInOut:en.tn,circOut:en.yT,backIn:et,backInOut:ea,backOut:ee,anticipate:ei},er=e=>{if((0,es.D)(e)){(0,m.V)(4===e.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[t,a,i,n]=e;return W(t,a,i,n)}return"string"==typeof e?((0,m.V)(void 0!==eo[e],`Invalid easing type '${e}'`,"invalid-easing-type"),eo[e]):e};var el=a(65254);function eu({duration:e=300,keyframes:t,times:a,ease:i="easeInOut"}){var o;let u,d=Array.isArray(i)&&"number"!=typeof i[0]?i.map(er):er(i),c={done:!1,value:t[0]},h=function(e,t,{clamp:a=!0,ease:i,mixer:o}={}){let u=e.length;if((0,m.V)(u===t.length,"Both input and output ranges must be the same length","range-length"),1===u)return()=>t[0];if(2===u&&t[0]===t[1])return()=>t[1];let d=e[0]===e[1];e[0]>e[u-1]&&(e=[...e].reverse(),t=[...t].reverse());let c=function(e,t,a){let i=[],o=a||n.W.mix||M,l=e.length-1;for(let a=0;a<l;a++){let n=o(e[a],e[a+1]);if(t){let e=Array.isArray(t)?t[a]||s.l:t;n=(0,r.F)(e,n)}i.push(n)}return i}(t,i,o),h=c.length,p=a=>{if(d&&a<e[0])return t[0];let i=0;if(h>1)for(;i<e.length-2&&!(a<e[i+1]);i++);let n=(0,el.q)(e[i],e[i+1],a);return c[i](n)};return a?t=>p((0,l.q)(e[0],e[u-1],t)):p}((o=a&&a.length===t.length?a:(!function(e,t){let a=e[e.length-1];for(let i=1;i<=t;i++){let n=(0,el.q)(0,t,i);e.push((0,g.k)(a,1,n))}}(u=[0],t.length-1),u),o.map(t=>t*e)),t,{ease:Array.isArray(d)?d:t.map(()=>d||Q).splice(0,t.length-1)});return{calculatedDuration:e,next:t=>(c.value=h(t),c.done=t>=e,c)}}var em=a(31766);let ed={decay:q,inertia:q,tween:eu,keyframes:eu,spring:F};function ec(e){"string"==typeof e.type&&(e.type=ed[e.type])}var eh=a(89602);let ep=e=>e/100;class ev extends eh.q{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==o.k.now()&&this.tick(o.k.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},u.q.mainThread++,this.options=e,this.initAnimation(),this.play(),!1===e.autoplay&&this.pause()}initAnimation(){let{options:e}=this;ec(e);let{type:t=eu,repeat:a=0,repeatDelay:i=0,repeatType:n,velocity:s=0}=e,{keyframes:o}=e,l=t||eu;l!==eu&&"number"!=typeof o[0]&&(this.mixKeyframes=(0,r.F)(ep,M(o[0],o[1])),o=[0,100]);let u=l({...e,keyframes:o});"mirror"===n&&(this.mirroredGenerator=l({...e,keyframes:[...o].reverse(),velocity:-s})),null===u.calculatedDuration&&(u.calculatedDuration=T(u));let{calculatedDuration:m}=u;this.calculatedDuration=m,this.resolvedDuration=m+i,this.totalDuration=this.resolvedDuration*(a+1)-i,this.generator=u}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=t}tick(e,t=!1){let a,{generator:i,totalDuration:n,mixKeyframes:s,mirroredGenerator:o,resolvedDuration:r,calculatedDuration:u}=this;if(null===this.startTime)return i.next(0);let{delay:m=0,keyframes:d,repeat:c,repeatType:h,repeatDelay:p,type:v,onUpdate:k,finalKeyframe:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-n/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let f=this.currentTime-m*(this.playbackSpeed>=0?1:-1),g=this.playbackSpeed>=0?f<0:f>n;this.currentTime=Math.max(f,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=n);let b=this.currentTime,j=i;if(c){let e=Math.min(this.currentTime,n)/r,t=Math.floor(e),a=e%1;!a&&e>=1&&(a=1),1===a&&t--,(t=Math.min(t,c+1))%2&&("reverse"===h?(a=1-a,p&&(a-=p/r)):"mirror"===h&&(j=o)),b=(0,l.q)(0,1,a)*r}g?(this.delayState.value=d[0],a=this.delayState):a=j.next(b),s&&!g&&(a.value=s(a.value));let{done:x}=a;g||null===u||(x=this.playbackSpeed>=0?this.currentTime>=n:this.currentTime<=0);let w=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return w&&v!==q&&(a.value=(0,em.X)(d,this.options,y,this.speed)),k&&k(a.value),w&&this.finish(),a}then(e,t){return this.finished.then(e,t)}get duration(){return(0,i.X)(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+(0,i.X)(e)}get time(){return(0,i.X)(this.currentTime)}set time(e){e=(0,i.f)(e),this.currentTime=e,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return $(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(o.k.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=(0,i.X)(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=E,startTime:t}=this.options;this.driver||(this.driver=e(e=>this.tick(e))),this.options.onPlay?.();let a=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=a):null!==this.holdTime?this.startTime=a-this.holdTime:this.startTime||(this.startTime=t??a),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(o.k.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,u.q.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),e.observe(this)}}var ek=a(57672),ey=a(87940),ef=a(3376);let eg={anticipate:ei,backInOut:ea,circInOut:en.tn};class eb extends ef.m{constructor(e){!function(e){"string"==typeof e.ease&&e.ease in eg&&(e.ease=eg[e.ease])}(e),ec(e),super(e),void 0!==e.startTime&&!1!==e.autoplay&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:a,onComplete:i,element:n,...s}=this.options;if(!t)return;if(void 0!==e)return void t.set(e);let r=new ev({...s,autoplay:!1}),u=Math.max(10,o.k.now()-this.startTime),m=(0,l.q)(0,10,u-10),d=r.sample(u).value,{name:c}=this.options;
9n&&c&&(0,ey.e)(n,c,d),t.setWithVelocity(r.sample(Math.max(0,u-m)).value,d,m),r.stop()}}var ej=a(97880);let ex=(e,t)=>"zIndex"!==t&&!!("number"==typeof e||Array.isArray(e)||"string"==typeof e&&(h.f.test(e)||"0"===e)&&!e.startsWith("url("));function ew(e){e.duration=0,e.type="keyframes"}var eS=a(80753),eN=a(91982);let eA=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,eP=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),e_=(0,eS.p)(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class eC extends eh.q{constructor({autoplay:e=!0,delay:t=0,type:a="keyframes",repeat:i=0,repeatDelay:n=0,repeatType:s="loop",keyframes:r,name:l,motionValue:u,element:m,...d}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=o.k.now();const c={autoplay:e,delay:t,type:a,repeat:i,repeatDelay:n,repeatType:s,name:l,motionValue:u,element:m,...d},h=m?.KeyframeResolver||ek.h;this.keyframeResolver=new h(r,(e,t,a)=>this.onKeyframesResolved(e,t,c,!a),l,u,m),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,a,i){let r;this.keyframeResolver=void 0;let{name:l,type:u,velocity:d,delay:c,isHandoff:h,onUpdate:p}=a;this.resolvedAt=o.k.now();let v=!0;!function(e,t,a,i){let n=e[0];if(null===n)return!1;if("display"===t||"visibility"===t)return!0;let s=e[e.length-1],o=ex(n,t),r=ex(s,t);return(0,m.$)(o===r,`You are trying to animate ${t} from "${n}" to "${s}". "${o?s:n}" is not an animatable value.`,"value-not-animatable"),!!o&&!!r&&(function(e){let t=e[0];if(1===e.length)return!0;for(let a=0;a<e.length;a++)if(e[a]!==t)return!0}(e)||("spring"===a||(0,ej.W)(a))&&i)}(e,l,u,d)&&(v=!1,(n.W.instantAnimations||!c)&&p?.((0,em.X)(e,a,t)),e[0]=e[e.length-1],ew(a),a.repeat=0);let k={startTime:i?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...a,keyframes:e},y=v&&!h&&function(e){let{motionValue:t,name:a,repeatDelay:i,repeatType:n,damping:s,type:o,keyframes:r}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:l,transformTemplate:u}=t.owner.getProps();return e_()&&a&&(eN.M.has(a)||eP.has(a)&&function(e){for(let t=0;t<e.length;t++)if("string"==typeof e[t]&&eA.test(e[t]))return!0;return!1}(r))&&("transform"!==a||!u)&&!l&&!i&&"mirror"!==n&&0!==s&&"inertia"!==o}(k),f=k.motionValue?.owner?.current;if(y)try{r=new eb({...k,element:f})}catch{r=new ev(k)}else r=new ev(k);r.finished.then(()=>{this.notifyFinished()}).catch(s.l),this.pendingTimeline&&(this.stopTimeline=r.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=r}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),(0,ek.q)()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}var eM=a(25125),eL=a(40574);let eE={type:"spring",stiffness:500,damping:25,restSpeed:10},eI={type:"keyframes",duration:.8},eT={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},eV=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),eO=(e,t,a,s={},o,r)=>l=>{let u=(0,eM.r)(s,e)||{},m=u.delay||s.delay||0,{elapsed:d=0}=s;d-=(0,i.f)(m);let c={keyframes:Array.isArray(a)?a:[null,a],ease:"easeOut",velocity:t.getVelocity(),...u,delay:-d,onUpdate:e=>{t.set(e),u.onUpdate&&u.onUpdate(e)},onComplete:()=>{l(),u.onComplete&&u.onComplete()},name:e,motionValue:t,element:r?void 0:o};!function(e){for(let t in e)if(!eV.has(t))return!0;return!1}(u)&&Object.assign(c,((e,{keyframes:t})=>t.length>2?eI:eL.f.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}
9:eE:eT)(e,c)),c.duration&&(c.duration=(0,i.f)(c.duration)),c.repeatDelay&&(c.repeatDelay=(0,i.f)(c.repeatDelay)),void 0!==c.from&&(c.keyframes[0]=c.from);let h=!1;if(!1!==c.type&&(0!==c.duration||c.repeatDelay)||(ew(c),0===c.delay&&(h=!0)),(n.W.instantAnimations||n.W.skipAnimations||o?.shouldSkipAnimations||u.skipAnimations)&&(h=!0,ew(c),c.delay=0),c.allowFlatten=!u.type&&!u.ease,h&&!r&&void 0!==t.get()){let e=(0,em.X)(c.keyframes,u);if(void 0!==e)return void L.Gt.update(()=>{c.onUpdate(e),c.onComplete()})}return u.isSync?new ev(c):new eC(c)}},35388:(e,t,a)=>{"use strict";a.d(t,{F4:()=>u,eO:()=>i,IS:()=>c,Zr:()=>W,Bx:()=>B,W7:()=>eF,DC:()=>ei,oo:()=>eq,ih:()=>eB,Xt:()=>G,_9:()=>H,e0:()=>Z,LG:()=>e$,CC:()=>ea,l5:()=>q,q4:()=>$,D0:()=>en,al:()=>J,ng:()=>Q,$Y:()=>U,jt:()=>R,xJ:()=>eH,KN:()=>k,tN:()=>X,kH:()=>F,EJ:()=>Y,$:()=>ez,Y0:()=>y,y5:()=>eo,uq:()=>_,D2:()=>V,k9:()=>M,vv:()=>P,t5:()=>E,Li:()=>L,N$:()=>S,ej:()=>N,ZC:()=>A,Ox:()=>h,wQ:()=>g,QR:()=>j,kt:()=>x});let i={Idle:"idle",Loading:"loading",Success:"success",Error:"error"};var n=a(6029),s=a(55729),o=a(85711);let r={defaultElectionId:o.nb},l=(0,s.createContext)(r),u=e=>{let{children:t,defaultElectionId:a}=e;return(0,n.jsx)(l.Provider,{value:{defaultElectionId:a},children:t})};var m=a(81278);let d=(0,s.createContext)({minHeight:"100vh"}),c=e=>{let{children:t}=e,a=(0,m.useRouter)(),[i,o]=s.useState("100vh");return(0,s.useEffect)(()=>{let e=e=>{o("".concat(e.windowHeight||0,"px"))};"parentIFrame"in window&&setTimeout(()=>{"parentIFrame"in window&&window.parentIFrame.getPageInfo(e)},300)}),(0,s.useEffect)(()=>{if("parentIFrame"in window)return;let{minHeight:e}=a.query;if(a.isReady&&e){let t=Array.isArray(e)?e[0]:e;o("".concat(null!=t?t:"","px"))}},[a.isReady,a.query]),(0,n.jsx)(d.Provider,{value:{minHeight:i},children:t})},h=()=>{let e=(0,s.useContext)(d);return e||console.error("useSetHeightContext must be used within a SetHeightContextProvider"),e},p="fi-FI",v=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,t=arguments.length>1?arguments[1]:void 0;return new Intl.NumberFormat(e,t)},k=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return v(t,{style:"percent"}).format(e)},y=e=>{if(e>=10)return e;switch(e){case 0:return"0";case 1:return"yksi";case 2:return"kaksi";case 3:return"kolme";case 4:return"nelj\xe4";case 5:return"viisi";case 6:return"kuusi";case 7:return"seitsem\xe4n";
9case 8:return"kahdeksan";case 9:return"yhdeks\xe4n";default:return e}},f=function(e){return e.displayName||e.name||"Component"},g=function(e){function t(t,a){return(0,n.jsx)(e,{...t,forwardedRef:a})}return t.displayName="WithForwardRef(".concat(f(e),")"),(0,s.forwardRef)(t)};var b=a(82203);let j=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";function a(a){let{"aria-current":i,"aria-label":s,"aria-describedby":o,className:r,href:l,linkStyle:u,scroll:m,target:d,rel:c,onClick:h,...p}=a;return(0,n.jsx)(b,{href:l,scroll:m,passHref:!0,style:{textDecoration:"none"},"aria-current":i,target:d,rel:c,onClick:h,children:(0,n.jsx)("span",{"aria-label":s,className:null!=r?r:"",style:{..."button"===t?{"--custom-focus-border-radius":"var(--radii-border-radius)","--custom-focus-offset":"-6px"}:{"--custom-focus-border-radius":"var(--radii-button-border-radius)","--custom-focus-offset":"-3px"},textDecoration:"none",...u},"aria-current":i,children:(0,n.jsx)(e,{...p,tabIndex:-1})})})}return a.displayName="WithNextLink(".concat(f(e),")"),a},x=e=>t=>{let[a,i]=w(),s={...t,parentDimensions:i};return(0,n.jsx)("div",{ref:a,style:{width:"100%",boxSizing:"border-box"},children:(0,n.jsx)(e,{...s})})},w=()=>
9{let e=(0,s.useRef)(null),[t,a]=(0,s.useState)(0),[i,n]=(0,s.useState)(0),o=()=>{var s;if(null==(s=e.current)?void 0:s.parentElement){let{width:s,height:o,paddingLeft:r,paddingRight:l,paddingTop:u,paddingBottom:m}=getComputedStyle(e.current.parentElement),d=e=>e?parseFloat(e):0,c=d(s)-d(r)-d(l),h=d(o)-d(u)-d(m);t!==c&&a(c),i!==h&&n(h)}};return(0,s.useLayoutEffect)(()=>(o(),window.addEventListener("resize",o,!1),()=>{window.removeEventListener("resize",o)})),[e,{width:t,height:i}]},S=e=>{let t=(0,s.useRef)(void 0),[a,i]=(0,s.useState)(!1);(0,s.useEffect)(()=>{i(window.matchMedia(e).matches)},[]);let n=e=>{i(t=>t!==e.matches?e.matches:t)};return(0,s.useEffect)(()=>{let a=window.matchMedia(e);return t.current=a,i(e=>a.matches!==e?a.matches:e),t.current.addEventListener?t.current.addEventListener("change",n):t.current.addListener(n),()=>{var e,a;(null==(e=t.current)?void 0:e.removeEventListener)?t.current.removeEventListener("change",n):null==(a=t.current)||a.removeListener(n)}},[e]),a},N=e=>{let[t,a]=(0,s.useState)(null),[n,o]=(0,s.useState)({status:i.Idle});return{mutateTarget:t,mutate:(0,s.useCallback)(async()=>{o({status:i.Loading});try{let t=await e();t.success?(a(t),o({status:i.Success})):"NOT_FOUND"===t.kind?o({status:i.Error,error:"Error when loading results",details:"NOT_FOUND"}):o({status:i.Error,error:"Error happened during request or validation"})}catch(e){o({status:i.Error,error:e})}},[e]),...n}},A=e=>{let t=(0,s.useRef)(void 0);return(0,s.useEffect)(()=>{t.current=e},[e]),t.current},P=e=>
9{let[t,a]=(0,s.useState)(!1),i=(0,s.useMemo)(()=>new IntersectionObserver(e=>{let[t]=e;t&&a(t.isIntersecting)}),[]);return(0,s.useEffect)(()=>(e.current&&i.observe(e.current),()=>{i.disconnect()}),[e,i]),t},_=()=>{let{brand:e,election:t}=(0,m.useRouter)().query;return{brand:"string"==typeof e&&("al"===e||"hs"===e||"is"===e||"sk"===e)?e:void 0,electionId:(0,o.wy)(t)?t:void 0}};var C=a(83817);let M=(e,t)=>{let a=(0,s.useRef)(void 0);return a.current&&C(t,a.current.key)||(a.current={key:t,value:e()}),a.current.value},L=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,[i,n]=(0,s.useState)(t);return[(0,s.useMemo)(()=>e.filter((e,t)=>t<i),[i,e]),(0,s.useCallback)(()=>{n(e=>e+a)},[a]),(0,s.useCallback)(()=>{n(e=>{let i=e-a;return i<t?t:i})},[a,t]),()=>{n(t)},i]},E=()=>{let e=(0,s.useRef)(null),[t,a]=(0,s.useState)(void 0);return(0,s.useEffect)(()=>{var t;null==(t=e.current)||t.focus()},[t]),{latestIndexRef:e,setLastAddedItemIndex:a,lastAddedItemIndex:t}},I=()=>!window.document||!window.document.createElement,T=e=>{for(let t of Array.from(e))if(t.includes("dark"))return!0;return!1},V=()=>{let[e,t]=(0,s.useState)((()=>{if(I())return!1;let e=document.getElementsByTagName("html")[0];return!!e&&T(e.classList)})());if(I())return{darkMode:e,setDarkMode:t};let a=document.getElementsByTagName("html")[0];return a&&new MutationObserver(i=>{if(i.find(e=>"attributes"===e.type&&"class"===e.attributeName)){let i=T(a.classList);i!==e&&t(i)}}).observe(a,{attributes:!0}),{darkMode:e,setDarkMode:t}},O=async(e,t)=>{try{let a=await fetch(e,t),i=await a.json();if(!a.ok)return console.error("Request error:",a.statusText),{kind:(0,o.hE)(a.status),message:i.message,requestId:i.requestId,success:!1};return i}catch(e){return console.error("Request error:",e),{kind:"INTERNAL_ERROR",success:!1}}},K=async(e,t)=>{try{return await t.validateAsync(e)}catch(e){return console.error("Validation error:",e),{kind:"INTERNAL_ERROR",success:!1}}},U=async(e,t,a)=>{let i=await O(t,a);return await K(i,e)},R=e=>Object.keys(e).reduce((t,a)=>{let i=e[a],n=void 0!==i&&(Array.isArray(i)&&i.length>0||"string"==typeof i||"number"==typeof i),s=Array.isArray(i)?i.reduce((e,t)=>"".concat(e).concat(a,"=").concat(t,"&"),""):"".concat(a,"=").concat(String(i));return n?"".concat(null!=t?t:"").concat(s,"&"):t},"");var D=a(22318);let B=e=>D.object({errorType:D.string().optional(),item:e.optional(),kind:D.string(),message:D.string().optional(),success:D.boolean(),requestId:D.string().optional()}),H=e=>{try{if(!sessionStorage)return;let t=sessionStorage.getItem(e);if(null===t)return t;return JSON.parse(t)}catch(e){return}},F=(e,t)=>{try{if(!sessionStorage)return;sessionStorage.setItem(e,JSON.stringify(t))}catch(e){return}};var z=a(40508);let $=(e,t,a)=>{let{texts:i}=(0,o.sO)(t),n=i.find(t=>t.key===e);return n?(0,z.fd)(n)?n.text[null!=a?a:"default"]||n.text.default:n.text:""},q=(e,t)=>{switch(e){case"eu":case"presidential":case"municipal":return;case"county":return{title:"Hyvinvointialue",value:t||""};case"parliamentary":return{title:"Vaalipiiri",value:t||""};default:(0,o.ZT)(e);return}},G=e=>{switch(e){case"eu":return"Euro";case"presidential":return"Presidentti";case"municipal":return"Kunta";case"county":return"Alue";case"parliamentary":return"Eduskunta";default:(0,o.ZT)(e);return}},W=e=>e.charAt(0).toUpperCase()+e.slice(1),Y=()=>!I()&&window.document.body.scrollHeight>window.innerHeight,J=()=>!I()&&window!==window.parent,Q=()=>!I()&&navigator.userAgent.includes("snap-app"),X=(e,t,a)=>a?"".concat(e,"/imageStorage/").concat(t,"/").concat(a):"/profilePicPlaceholder.png",Z=(e,t)=>e<t-2?", ":e<t-1?" ja ":"";var ee=a(16943);let et=(e,t)=>void 0===e||(0,z.wR)(e)||void 0===t?0:Math.abs(e.answer-t),ea=(e,t)=>{let a=t.sort((t,a)=>{var i,n;let s=e[t.questionId],o=e[a.questionId];return(null==s?void 0:s.answers)&&(null==o?void 0:o.answers)?et(null==(i=s.answers[0])?void 0:i.answer,t.answer)-et(null==(n=o.answers[0])?void 0:n.answer,a.answer):0}).filter(t=>{var a;let i=e[t.questionId];return!!(null==i?void 0:i.answers)&&et(null==(a=i.answers[0])?void 0:a.answer,t.answer)>=3}).slice(0,3);return ee(e,e=>a.find(t=>t.questionId===e.question.id))},ei=e=>ee(e,z.l8),en=e=>Object.keys(e).length-Object.keys(ei(e)).length>0,es=["linkedin","instagram","facebook","twitter","youtube","tiktok","//
9x.com","//www.x.com"],eo=e=>{var t,a,i,n,s,o,r,l,u,m,d,c,h,p;let{apiCandidate:v,educationLevels:k,municipalities:y,parties:f,postalCodeAreas:g,genderOptions:b}=e;return{id:v.id,firstName:v.firstName,lastName:v.lastName,age:v.age,municipality:(null==(m=y.find(e=>e.id===v.municipality))?void 0:m.name)||null,party:(null==(d=f.find(e=>e.id===v.party))?void 0:d.name)||null,candidateNumber:v.candidateNumber||null,educationLevel:(null==(c=k.find(e=>e.id===v.educationLevel))?void 0:c.name)||null,educationOpenText:v.educationOpenText||null,description:v.description||null,candidatePromise:v.candidatePromise||null,socialMediaLinks:void 0===(p=v.socialMediaLinks)?[]:p.map(e=>{let t=es.find(t=>e.includes(t));return{type:(t="//x.com"===t||"//www.x.com"===t?"twitter":t)||"link",url:e}}),nominationArea:v.nominationArea,occupation:v.occupation,residentialArea:v.residentialArea||null,independentCandidate:null!=(t=v.independentCandidate)?t:null,currentlyInParliament:null!=(a=v.currentlyInParliament)?a:null,currentlyInEuropeanParliament:null!=(i=v.currentlyInEuropeanParliament)?i:null,currentlyInMunicipalCouncil:null!=(n=v.currentlyInMunicipalCouncil)?n:null,currentlyInCountyCouncil:null!=(s=v.currentlyInCountyCouncil)?s:null,profilePic:null!=(o=v.profilePicture)?o:null,articles:null!=(r=v.articles)?r:[],videos:null!=(l=v.videos)?l:[],languages:v.languages||null,candidateFamily:v.candidateFamily||null,earlierWorkExperience:v.earlierWorkExperience||null,personalValues:v.personalValues||null,goodQualities:v.goodQualities||null,excluded:null!=(u=v.excluded)&&u,postalCodeArea:((e,t)=>{if(!e||!t)return null;let a=t.find(t=>t.id===e);return a?"".concat(a.id,", ").concat(a.name):null})(v.postalCodeArea,g)||null,gender:(null==(h=b.find(e=>e.id===v.gender))?void 0:h.name)||null}};var er={value:()=>{}};function el(){for(var e,t=0,a=arguments.length,i={};t<a;++t){if(!(e=arguments[t]+"")||e in i||/[\s.]/.test(e))throw Error("illegal type: "+e);i[e]=[]}return new eu(i)}function eu(e){this._=e}function em(e,t,a){for(var i=0,n=e.length;i<n;++i)if(e[i].name===t){e[i]=er,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=a&&e.push({name:t,value:a}),e}eu.prototype=el.prototype={constructor:eu,on:function(e,t){var a,i=this._,n=(e+"").trim().split(/^|\s+/).map(function(e){var t="",a=e.indexOf(".");if(a>=0&&(t=e.slice(a+1),e=e.slice(0,a)),e&&!i.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),s=-1,o=n.length;if(arguments.length<2){for(;++s<o;)if((a=(e=n[s]).type)&&(a=function(e,t){for(var a,i=0,n=e.length;i<n;++i)if((a=e[i]).name===t)return a.value}(i[a],e.name)))return a;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++s<o;)if(a=(e=n[s]).type)i[a]=em(i[a],e.name,t);else if(null==t)for(a in i)i[a]=em(i[a],e.name,null);return this},copy:function(){var e={},t=this._;for(var a in t)e[a]=t[a].slice();return new eu(e)},call:function(e,t){if((a=arguments.length-2)>0)for(var a,i,n=Array(a),s=0;s<a;++s)n[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(i=this._[e],s=0,a=i.length;s<a;++s)i[s].value.apply(t,n)},apply:function(e,t,a){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var i=this._[e],n=0,s=i.length;n<s;++n)i[n].value.apply(t,a)}};var ed,ec,eh=0,ep=0,ev=0,ek=0,ey=0,ef=0,eg="object"==typeof performance&&performance.now?performance:Date,eb="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ej(){return ey||(eb(ex),ey=eg.now()+ef)}function ex(){ey=0}function ew(){this._call=this._time=this._next=null}function eS(e,t,a){var i=new ew;return i.restart(e,t,a),i}function eN(){ey=(ek=eg.now())+ef,eh=ep=0;try{ej(),++eh;for(var e,t=ed;t;)(e=ey-t._time)>=0&&t._call.call(void 0,e),t=t._next;--eh}finally{eh=0,function(){for(var e,t,a=ed,i=1/0;a;)a._call?(i>a._time&&(i=a._time),e=a,a=a._next):(t=a._next,a._next=null,a=e?e._next=t:ed=t);ec=e,eP(i)}(),ey=0}}function eA(){var e=eg.now(),t=e-ek;t>1e3&&(ef-=t,ek=e)}function eP(e){!eh&&(ep&&(ep=clearTimeout(ep)),e-ey>24?(e<1/0&&(ep=setTimeout(eN,e-eg.now()-ef)),ev&&(ev=clearInterval(ev))):(ev||(ek=eg.now(),ev=setInterval(eA,1e3)),eh=1,eb(eN)))}ew.prototype=eS.prototype={constructor:ew,restart:function(e,t,a){if("function"!=typeof e)throw TypeError("callback is not a function");a=(null==a?ej():+a)+(null==t?0:+t),this._next||ec===this||(ec?ec._next=this:ed=this,ec=this),this._call=e,this._time=a,eP()},stop:function(){this._call&&(this._call=null,this._time=1/0,eP())}};var e_=Math.PI*(3-Math.sqrt(5));
9function eC(e,t,a,i){if(isNaN(t)||isNaN(a))return e;var n,s,o,r,l,u,m,d,c,h=e._root,p={data:i},v=e._x0,k=e._y0,y=e._x1,f=e._y1;if(!h)return e._root=p,e;for(;h.length;)if((u=t>=(s=(v+y)/2))?v=s:y=s,(m=a>=(o=(k+f)/2))?k=o:f=o,n=h,!(h=h[d=m<<1|u]))return n[d]=p,e;if(r=+e._x.call(null,h.data),l=+e._y.call(null,h.data),t===r&&a===l)return p.next=h,n?n[d]=p:e._root=p,e;do n=n?n[d]=[,,,,]:e._root=[,,,,],(u=t>=(s=(v+y)/2))?v=s:y=s,(m=a>=(o=(k+f)/2))?k=o:f=o;while((d=m<<1|u)==(c=(l>=o)<<1|r>=s));return n[c]=h,n[d]=p,e}function eM(e,t,a,i,n){this.node=e,this.x0=t,this.y0=a,this.x1=i,this.y1=n}function eL(e){return e[0]}function eE(e){return e[1]}function eI(e,t,a){var i=new eT(null==t?eL:t,null==a?eE:a,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function eT(e,t,a,i,n,s){this._x=e,this._y=t,this._x0=a,this._y0=i,this._x1=n,this._y1=s,this._root=void 0}function eV(e){for(var t={data:e.data},a=t;e=e.next;)a=a.next={data:e.data};return t}var eO=eI.prototype=eT.prototype;function eK(e){return function(){return e}}function eU(e){return(e()-.5)*1e-6}function eR(e){return e.x+e.vx}function eD(e){return e.y+e.vy}eO.copy=function(){var e,t,a=new eT(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return a;if(!i.length)return a._root=eV(i),a;for(e=[{source:i,target:a._root=[,,,,]}];i=e.pop();)for(var n=0;n<4;++n)(t=i.source[n])&&(t.length?e.push({source:t,target:i.target[n]=[,,,,]}):i.target[n]=eV(t));return a},eO.add=function(e){let t=+this._x.call(null,e),a=+this._y.call(null,e);return eC(this.cover(t,a),t,a,e)},eO.addAll=function(e){var t,a,i,n,s=e.length,o=Array(s),r=Array(s),l=1/0,u=1/0,m=-1/0,d=-1/0;for(a=0;a<s;++a)!(isNaN(i=+this._x.call(null,t=e[a]))||isNaN(n=+this._y.call(null,t)))&&(o[a]=i,r[a]=n,i<l&&(l=i),i>m&&(m=i),n<u&&(u=n),n>d&&(d=n));if(l>m||u>d)return this;for(this.cover(l,u).cover(m,d),a=0;a<s;++a)eC(this,o[a],r[a],e[a]);return this},eO.cover=function(e,t){if(isNaN(e*=1)||isNaN(t*=1))return this;var a=this._x0,i=this._y0,n=this._x1,s=this._y1;if(isNaN(a))n=(a=Math.floor(e))+1,s=(i=Math.floor(t))+1;else{for(var o,r,l=n-a||1,u=this._root;a>e||e>=n||i>t||t>=s;)switch(r=(t<i)<<1|e<a,(o=[,,,,])[r]=u,u=o,l*=2,r){case 0:n=a+l,s=i+l;break;case 1:a=n-l,s=i+l;break;case 2:n=a+l,i=s-l;break;case 3:a=n-l,i=s-l}this._root&&this._root.length&&(this._root=u)}return this._x0=a,this._y0=i,this._x1=n,this._y1=s,this},eO.data=function(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e},eO.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},eO.find=function(e,t,a){var i,n,s,o,r,l,u,m=this._x0,d=this._y0,c=this._x1,h=this._y1,p=[],v=this._root;for(v&&p.push(new eM(v,m,d,c,h)),null==a?a=1/0:(m=e-a,d=t-a,c=e+a,h=t+a,a*=a);l=p.pop();)if((v=l.node)&&!((n=l.x0)>c)&&!((s=l.y0)>h)&&!((o=l.x1)<m)&&!((r=l.y1)<d))if(v.length){var k=(n+o)/2,y=(s+r)/2;p.push(new eM(v[3],k,y,o,r),new eM(v[2],n,y,k,r),new eM(v[1],k,s,o,y),new eM(v[0],n,s,k,y)),(u=(t>=y)<<1|e>=k)&&(l=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=l)}else{var f=e-this._x.call(null,v.data),g=t-this._y.call(null,v.data),b=f*f+g*g;if(b<a){var j=Math.sqrt(a=b);m=e-j,d=t-j,c=e+j,h=t+j,i=v.data}}return i},eO.remove=function(e){if(isNaN(s=+this._x.call(null,e))||isNaN(o=+this._y.call(null,e)))return this;var t,a,i,n,s,o,r,l,u,m,d,c,h=this._root,p=this._x0,v=this._y0,k=this._x1,y=this._y1;if(!h)return this;if(h.length)for(;;){if((u=s>=(r=(p+k)/2))?p=r:k=r,(m=o>=(l=(v+y)/2))?v=l:y=l,t=h,!(h=h[d=m<<1|u]))return this;if(!h.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(a=t,c=d)}for(;h.data!==e;)if(i=h,!(h=h.next))return this;return((n=h.next)&&delete h.next,i)?n?i.next=n:delete i.next:t?(n?t[d]=n:delete t[d],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(a?a[c]=h:this._root=h)):this._root=n,this},eO.removeAll=function(e){for(var t=0,a=e.length;t<a;++t)this.remove(e[t]);return this},eO.root=function(){return this._root},eO.size=function(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e},eO.visit=function(e){var t,a,i,n,s,o,r=[],l=this._root;for(l&&r.push(new eM(l,this._x0,this._y0,this._x1,this._y1));t=r.pop();)if(!e(l=t.node,i=t.x0,n=t.y0,s=t.x1,o=t.y1)&&l.length){var u=(i+s)/2,m=(n+o)/2;(a=l[3])&&r.push(new eM(a,u,m,s,o)),(a=l[2])&&r.push(new eM(a,i,m,u,o)),(a=l[1])&&r.push(new eM(a,u,n,s,m)),(a=l[0])&&r.push(new eM(a,i,n,u,m))}return this},eO.visitAfter=function(e){var t,a=[],i=[];for(this._root&&a.push(new eM(this._root,this._x0,this._y0,this._x1,this._y1));t=a.pop();){var n=t.node;if(n.length){var s,o=t.x0,r=t.y0,l=t.x1,u=t.y1,m=(o+l)/2,d=(r+u)/2;(s=n[0])&&a.push(new eM(s,o,r,m,d)),(s=n[1])&&a.push(new eM(s,m,r,l,d)),(s=n[2])&&a.push(new eM(s,o,d,m,u)),(s=n[3])&&a.push(new eM(s,m,d,l,u))}i.push(t)}for(;t=i.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},eO.x=function(e){return arguments.length?(this._x=e,this):this._x},eO.y=function(e){return arguments.length?(this._y=e,this):this._y};let eB=(e,t)=>{let a=(function(e){let t;var a,i=1,n=.001,s=1-Math.pow(.001,1/300),o=0,r=.6,l=new Map,u=eS(c),m=el("tick","end"),d=(t=1,()=>(t=(1664525*t+0x3c6ef35f)%0x100000000)/0x100000000);function c(){h(),m.call("tick",a),i<n&&(u.stop(),m.call("end",a))}function h(t){var n,u,m=e.length;void 0===t&&(t=1);for(var d=0;d<t;++d)for(i+=(o-i)*s,l.forEach(function(e){e(i)}),n=0;n<m;++n)null==(u=e[n]).fx?u.x+=u.vx*=r:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=r:(u.y=u.fy,u.vy=0);return a}function p(){for(var t,a=0,i=e.length;a<i;++a){if((t=e[a]).index=a,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var n=10*Math.sqrt(.5+a),s=a*e_;t.x=n*Math.cos(s),t.y=n*Math.sin(s)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function v(t){return t.initialize&&t.initialize(e,d),t}return null==e&&(e=[]),p(),a={tick:h,restart:function(){return u.restart(c),a},stop:function(){return u.stop(),a},nodes:function(t){return arguments.length?(e=t,p(),l.forEach(v),a):e},alpha:function(e){return arguments.length?(i=+e,a):i},alphaMin:function(e){return arguments.length?(n=+e,a):n},alphaDecay:function(e){return arguments.length?(s=+e,a):+s},alphaTarget:function(e){return arguments.length?(o=+e,a):o},velocityDecay:function(e){return arguments.length?(r=1-e,a):1-r},randomSource:function(e){return arguments.length?(d=e,l.forEach(v),a):d},force:function(e,t){return arguments.length>1?(null==t?l.delete(e):l.set(e,v(t)),a):l.get(e)},find:function(t,a,i){var n,s,o,r,l,u=0,m=e.length;for(null==i?i=1/0:i*=i,u=0;u<m;++u)(o=(n=t-(r=e[u]).x)*n+(s=a-r.y)*s)<i&&(l=r,i=o);return l},on:function(e,t){return arguments.length>1?(m.on(e,t),a):m.on(e)}}})(e).force("collide",(function(e){var t,a,i,n=1,s=1;function o(){for(var e,o,l,u,m,d,c,h=t.length,p=0;p<s;++p)for(o=eI(t,eR,eD).visitAfter(r),e=0;e<h;++e)c=(d=a[(l=t[e]).index])*d,u=l.x+l.vx,m=l.y+l.vy,o.visit(v);
9function v(e,t,a,s,o){var r=e.data,h=e.r,p=d+h;if(r){if(r.index>l.index){var v=u-r.x-r.vx,k=m-r.y-r.vy,y=v*v+k*k;y<p*p&&(0===v&&(y+=(v=eU(i))*v),0===k&&(y+=(k=eU(i))*k),y=(p-(y=Math.sqrt(y)))/y*n,l.vx+=(v*=y)*(p=(h*=h)/(c+h)),l.vy+=(k*=y)*p,r.vx-=v*(p=1-p),r.vy-=k*p)}return}return t>u+p||s<u-p||a>m+p||o<m-p}}function r(e){if(e.data)return e.r=a[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function l(){if(t){var i,n,s=t.length;for(a=Array(s),i=0;i<s;++i)a[(n=t[i]).index]=+e(n,i,t)}}return"function"!=typeof e&&(e=eK(null==e?1:+e)),o.initialize=function(e,a){t=e,i=a,l()},o.iterations=function(e){return arguments.length?(s=+e,o):s},o.strength=function(e){return arguments.length?(n=+e,o):n},o.radius=function(t){return arguments.length?(e="function"==typeof t?t:eK(+t),l(),o):e},o})(e=>{var a,i;return null!=(a=null!=(i=e.size)?i:t)?a:4}).strength(2)).force("originalLocation",t=>{let a=.5*t;e.forEach(e=>{e.x+=(e.x0-e.x)*a,e.y+=(e.y0-e.y)*a})}).alpha(.5).alphaDecay(.03);for(let e=0,t=Math.ceil(Math.log(a.alphaMin())/Math.log(1-a.alphaDecay()));e<t;++e)a.tick()},eH=()=>{window.utag.link({event_name:"cmp_privacy_manager",event_action:"show"})},eF=e=>({"twitter.com":"Twitter","x.com":"Twitter","facebook.com":"Facebook","instagram.com":"Instagram"})[new URL(e).hostname.replace("www.","").toLowerCase()]||"Other",ez=(e,t,a,i,n,s)=>{window.dataLayer&&"admin"!==i&&window.dataLayer.push({event:e,election_name:t,election_brand:a,election_service:i,embed_name:n,event_label:(e=>{switch(e.toLocaleLowerCase()){case"a":return"\xc4\xe4nestysalue";case"k":return"Kunta";case"v":return"Vaalipiiri";case"r":return"Hyvinvointialue";case"m":return"Kokomaa";default:return e}})(s),event_class:"custom_event"})},e$=(e,t)=>{switch(e){case"eu":case"presidential":return"Koko maa";case"county":var a;return null==t||null==(a=t.wellbeingCounty)?void 0:a.displayName;case"parliamentary":return null==t?void 0:t.electionDistrict.displayName;case"municipal":return null==t?void 0:t.name}},eq=(e,t)=>t.find(t=>t.id===e.party)},35518:e=>{e.exports={loginButtonsContainer:"ButtonsContainer_loginButtonsContainer__fHEiR",buttonsContainer:"ButtonsContainer_buttonsContainer__y4zdm"}},35655:(e,t,a)=>{"use strict";a.d(t,{OR:()=>G,Ay:()=>z});var i=a(6029),n=a(87500),s=a(70917),o=a.n(s),r=a(35388),l=a(83436),u=a(63390),m=a(19436),d=a.n(m),c=a(13731),h=a.n(c),p=a(1905),v=a.n(p),k=a(40508);let y=(e,t)=>{var a;let i,n,s,o=t.answers?(i=t.answers,(n=h()(i,e=>e.candidate.party)).all=i,{all:null!=(a=(s=v()(n,t=>{let a=[...e,{label:"Ei vastausta",value:"noAnswer"}].reduce((e,a)=>(e[a.value]=t.filter(e=>{let t=e.answer;return!!(t&&(0,k.wR)(t))&&"noAnswer"===a.value||t&&!(0,k.wR)(t)&&t.answer===a.value}).length,e),{});return{individualAnswers:t,answerCountPerOption:a}})).all)?a:{individualAnswers:i,answerCountPerOption:{}},...s}):t.splits;if(o)return{question:t.question,answers:o}};var f=a(54386),g=a(97139),b=a.n(g),j=a(81278),x=a.n(j),w=a(55729),S=a(67180),N=a(74969),A=a(20541),P=a(90341),_=a(92785),C=a(49141),M=a(55144),L=a.n(M);let E=e=>{var t,a;let n="".concat(null!=(t=L().answerBrowserContainer)?t:""," ").concat(null!=(a=e.className)?a:"");return(0,i.jsx)("div",{...e,className:n})},I=e=>{var t,a;let n="".concat(null!=(t=L().questionContent)?t:""," ").concat(null!=(a=e.className)?a:"");return(0,i.jsx)(C.r4,{...e,className:n})},T=e=>{var t,a;let n="".concat(null!=(t=L().optionContainer)?t:""," ").concat(null!=(a=e.className)?a:"");return(0,i.jsx)("div",{...e,className:n})};var V=a(67251),O=a(29129),K=a.n(O);let U=(e,t)=>e.filter(e=>{let a=e.answer;return a&&!(0,k.wR)(a)&&a.answer===t.value}),R=e=>{var t,a;let n,{answers:s,party:o,circleSize:m,selectedAnswer:d,handleClick:c,answerOptions:h,packType:p,barScale:v,electionId:y,imageApi:f,parties:g,useBlackAndWhiteImagesOnExcluded:b}=e,j=h.reduce((e,t)=>{var a,i;if("bars"!==p)if(Array.isArray(s)){let a=U(s,t);e[t.value]={count:a.length,individualAnswers:a}}else{let i=Array.from({length:null!=(a=s[t.value])?a:0},(e,a)=>({answer:{answer:t.value,id:a},candidate:void 0}));e[t.value]={count:i.length,individualAnswers:i}}else if(Array.isArray(s)){let a=U(s,t);e[t.value]={count:a.length}}else e[t.value]={count:null!=(i=s[t.value])?i:0};return e},{}),x=Array.isArray(s)&&1===s.length?((e,t)=>
9{if(t&&!(0,k.wR)(t)){var a,i;return"Ehdokkaan vastaus: ".concat(null!=(a=null==(i=e.find(e=>t.answer===e.value))?void 0:i.label)?a:"")}return"Ei ehdokkaan vastausta"})(h,null==(a=s[0])?void 0:a.answer):"".concat((null==o?void 0:o.name)==="all"?"":"".concat(null!=(t=null==o?void 0:o.name)?t:"",": ")).concat((n=h.reduce((e,t)=>{var a;let i=null==e?void 0:e.length,n=null==(a=j[t.value])?void 0:a.count;return n&&(!i||n>i)?e={option:t,length:n}:n&&n===i&&(e={option:"many",length:n}),e},void 0))?"many"===n.option?"Monta suosittua vastausta":"Suosituin vastaus: ".concat(n.option.label):"Ei vastauksia");return(0,i.jsxs)("div",{className:K().answerPackContainer,"aria-label":x,children:[(0,i.jsx)(l.A,{role:"separator",width:"responsive",theme:"light"}),o&&""!==o.name&&"all"!==o.name?(0,i.jsxs)("div",{className:K().partyTagAndName,children:[(0,i.jsx)(V.A,{size:"l",backgroundColor:o.color,textColor:o.nameColor,name:o.shortName}),(0,i.jsx)(u.EY,{size:"16",style:{display:"block",width:"100%"},children:(0,i.jsxs)(u.OH,{children:[" ",o.name]})})]}):void 0,(0,i.jsx)(I,{children:h.map(e=>{var t,a,n,s,o,l,h;return(0,i.jsx)(T,{children:"candidateImages"===p?(0,i.jsx)("div",{className:K().answerCircles,style:{gap:"2px"},children:null==(o=j[e.value])||null==(s=o.individualAnswers)?void 0:s.map(e=>{var t,a,n,s,o,l,u,m;return(0,i.jsx)(_.A,{size:"xxs",image:{src:(0,r.tN)(f,y,null==(n=e.candidate)?void 0:n.profilePicture),alt:e.candidate?"".concat(null!=(t=e.candidate.firstName)?t:""," ").concat(null!=(a=e.candidate.lastName)?a:""):""},onClick:()=>{c&&e.candidate&&c(e)},selected:(null==(s=e.answer)?void 0:s.id)===(null==d||null==(o=d.answer.answer)?void 0:o.id),blackAndWhiteImage:b&&(null==(l=e.candidate)?void 0:l.excluded),style:c?{cursor:"pointer"}:{},customBorderColor:e.candidate?null==(u=(0,r.oo)(e.candidate,null!=g?g:[]))?void 0:u.color:void 0},null==(m=e.answer)?void 0:m.id)})},e.label):"circles"===p?(0,i.jsx)("div",{className:K().answerCircles,children:null==(h=j[e.value])||null==(l=h.individualAnswers)?void 0:l.map(e=>{var t,a,n,s,o;let r=void 0!==c?K().selectable:"",l=(null==(n=e.answer)?void 0:n.id)===(null==d||null==(s=d.answer.answer)?void 0:s.id)?K().selected:"",u="".concat(null!=(t=K().answerCircle)?t:""," ").concat(null!=r?r:""," ").concat(null!=l?l:""," ").concat(null!=(a=K()[m])?a:"");return(0,i.jsx)("div",{className:u,onClick:()=>{c&&e.candidate&&c(e)}},null==(o=e.answer)?void 0:o.id)})},e.label):(0,i.jsxs)("div",{className:K().barContainer,children:[(0,i.jsx)(u.EY,{textAlign:"center",children:(0,i.jsx)(u.OH,{children:null==(a=j[e.value])?void 0:a.count})}),(0,i.jsx)("div",{className:K().bar,style:{height:v(null!=(t=null==(n=j[e.value])?void 0:n.count)?t:0)}})]})},e.label)})})]})};var D=a(38612),B=a.n(D);let H=e=>{var t,a,s,o,l,m;let d=(0,r.N$)(n.f.md);return e.hideQuestionText?null:e.hasPagination?(0,i.jsxs)("div",{className:B().titleContainer,children:[(0,i.jsx)(N.A8,{"aria-label":"Edellinen",icon:(0,i.jsx)(A.A,{name:"chevron-left",size:20,stroke:(null==(t=e.pagination)?void 0:t.hasPrevious)?void 0:"transparent"}),onClick:null==(a=e.pagination)?void 0:a.previous,"aria-disabled":!(null==(s=e.pagination)?void 0:s.hasPrevious)}),(0,i.jsx)(u.EY,{as:"p",size:d?20:18,lineHeight:d?"loose":"semiLoose",style:{margin:"0 12px"},children:(0,i.jsx)(u.OH,{dangerouslySetInnerHTML:{__html:b().sanitize(e.text)}})}),(0,i.jsx)(N.A8,{"aria-label":"Seuraava",icon:(0,i.jsx)(A.A,{name:"chevron-right",size:20,stroke:(null==(o=e.pagination)?void 0:o.hasNext)?void 0:"transparent"}),onClick:null==(l=e.pagination)?void 0:l.next,"aria-disabled":!(null==(m=e.pagination)?void 0:m.hasNext)})]}):(0,i.jsx)(u.EY,{as:"p",size:d?20:18,lineHeight:d?"loose":"semiLoose",children:(0,i.jsx)(u.OH,{dangerouslySetInnerHTML:{__html:b().sanitize(e.text)}})})},F=e=>{var t,a,n,s,o,l,u,m,d,c,h,p,v,y,g,b;let{hideReplies:j,ownAnswer:N,splitByParty:A,data:C,parties:M,answerOptions:L,hideOwnAnswers:T,hideQuestionText:V,hideCandidateInReply:O,selectedCandidate:K,setSelectedCandidate:U,isBrowseable:D,placeholderText:B,imageApi:F,pagination:z,preventLinkClicks:$,candidateSide:q,useBlackAndWhiteImagesOnExcluded:G,electionId:W,brand:Y}=e,J=(b=C.answers.all).individualAnswers?b.individualAnswers.length:Object.keys(b.answerCountPerOption).reduce((e,t)=>
9{var a;return e+(null!=(a=b.answerCountPerOption[Number(t)])?a:0)},0),Q=J>1,X=!j&&void 0!==C.answers.all.individualAnswers,Z=X?null==(h=C.answers.all.individualAnswers)?void 0:h.sort((e,t)=>{let a=e.answer&&!(0,k.wR)(e.answer)?e.answer.answer:null,i=t.answer&&!(0,k.wR)(t.answer)?t.answer.answer:null;return a&&!i?-1:!a&&i?1:a||i?(null!=a?a:0)-(null!=i?i:0):0}):void 0,ee=(0,w.useCallback)(e=>{if(Z){let t=Z.findIndex(t=>t.candidate.id===e),a=-1!==t?Z[t]:void 0;if(a)return{answerIndex:t,answer:a}}},[Z]),et=(0,w.useCallback)(()=>{let e=null==Z?void 0:Z[0];if(X&&e)return void 0!==K?ee(K):{answerIndex:0,answer:e}},[X,Z,K,ee]),[ea,ei]=(0,w.useState)(et());(0,w.useEffect)(()=>{var e;null!=(e=C.answers.all.individualAnswers)&&e.find(e=>{var t,a;return(null==(t=e.answer)?void 0:t.id)===(null==ea||null==(a=ea.answer.answer)?void 0:a.id)})||ei(et())},[C,X,null==ea||null==(p=ea.answer.answer)?void 0:p.id,et]),(0,w.useEffect)(()=>{void 0!==K&&K!==(null==ea?void 0:ea.answer.candidate.id)&&ei(ee(K))},[K,ee,null==ea?void 0:ea.answer.candidate.id]);let en=e=>{if(X){if(void 0===Z)return;let t=Z.findIndex(t=>{var a,i;return(null==(a=t.answer)?void 0:a.id)===(null==(i=e.answer)?void 0:i.id)});-1!==t&&(ei({answerIndex:t,answer:e}),U&&U(e.candidate.id))}},es=J&&!(J>40)?J>20?"medium":"large":"small",eo=(0,f.A)().range([0,320]).domain([0,J]),er=A?Object.keys(C.answers).filter(e=>"all"!==e):["all"],el=J<=15?"candidateImages":J<=500?"circles":"bars",eu="result"===q?"tulokset/ehdokkaat":"ehdokkaat";return(0,i.jsxs)(E,{className:"answer-browser-container",children:[(0,i.jsx)(H,{text:C.question.text,hasPagination:void 0!==z,hideQuestionText:!!V,pagination:z}),(0,i.jsx)(I,{children:(0,i.jsx)(S.z,{"aria-label":"Oma vastauksesi: ".concat(null!=(t=null==(v=L.find(e=>e.value===N))?void 0:v.label)?t:"ei vastausta"),id:"Vastausvaihtoehdot",initialOption:L.find(e=>e.value===N),name:"Vastausvaihtoehdot",onChange:D?e=>{(e=>{if(X&&Z){let t=Z.findIndex(t=>!(!t.answer||(0,k.wR)(t.answer))&&t.answer.answer===e);if(-1===t)return;let a=Z[t];a&&(ei({answerIndex:t,answer:a}),U&&U(a.candidate.id))}})(e)}:void 0,options:L,focusable:!1,isInPresentationMode:!0,hideButtons:T})}),er.map(e=>{var t,a,n,s;return(0,i.jsx)(R,{answers:null!=(t=null!=(a=null==(n=C.answers[e])?void 0:n.individualAnswers)?a:null==(s=C.answers[e])?void 0:s.answerCountPerOption)?t:{},circleSize:es,handleClick:X?en:void 0,party:null==M?void 0:M.find(t=>t.id===e),selectedAnswer:ea,answerOptions:L,packType:el,barScale:eo,electionId:W,imageApi:F,parties:M,useBlackAndWhiteImagesOnExcluded:!!G},e)}),X&&(null==ea?void 0:ea.answer.candidate)&&Z&&"bars"!==el&&(0,i.jsx)("div",{style:{width:"100%"},children:(0,i.jsx)(P.A,{title:"".concat(null!=(a=ea.answer.candidate.firstName)?a:""," ").concat(null!=(n=ea.answer.candidate.lastName)?n:""),subTitle:null!=(s=null==M||null==(y=M.find(e=>e.id===ea.answer.candidate.party))?void 0:y.name)?s:ea.answer.candidate.party,ariaLabel:"Ehdokkaan ".concat(null!=(o=ea.answer.candidate.firstName)?o:""," ").concat(null!=(l=ea.answer.candidate.lastName)?l:""," vastaus: ").concat(ea.answer.answer&&!(0,k.wR)(ea.answer.answer)?null!=(u=ea.answer.answer.explanation)?u:"Ehdokas ei ole perustellut vastaustaan.":"ei vastausta."),text:ea.answer.answer&&!(0,k.wR)(ea.answer.answer)?null!=(m=ea.answer.answer.explanation)?m:"Ehdokas ei ole perustellut vastaustaan.":null!=B?B:"",disabledText:!ea.answer.answer||(0,k.wR)(ea.answer.answer)||!ea.answer.answer.explanation,image:(0,i.jsx)(_.A,{size:"extra-small",image:{src:(0,r.tN)(F,W,ea.answer.candidate.profilePicture),alt:"".concat(null!=(d=ea.answer.candidate.firstName)?d:""," ").concat(null!=(c=ea.answer.candidate.lastName)?c:"")},blackAndWhiteImage:G&&ea.answer.candidate.excluded,customBorderColor:null==(g=(0,r.oo)(ea.answer.candidate,null!=M?M:[]))?void 0:g.color}),hideTitleRow:O,onSelect:$?void 0:()=>{x().push("/".concat(W,"/").concat(Y,"/").concat(eu,"/").concat(ea.answer.candidate.id))},onPrevious:Q?()=>{var e;let t,a,i=(t=0===(e=ea.answerIndex)?Z.length-1:e-1,(a=Z[t])?{answerIndex:t,answer:a}:void 0);ei(i),U&&i&&U(i.answer.candidate.id)}:void 0,onNext:Q?()=>{var e;let t,a,i=(t=(e=ea.answerIndex)===Z.length-1?0:e+1,(a=Z[t])?{answerIndex:t,answer:a}:void 0);ei(i),U&&i&&U(i.answer.candidate.id)}:void 0})})]})},z=e=>{let{questions:t,answerOptions:a,ownAnswers:s,parties:m,splitByParty:c,hideReplies:h,hideCandidates
9InReplies:p,hideOwnAnswers:v,hideQuestionTexts:k,themes:f,isBrowseable:g,placeholderText:b,imageApi:j,candidateSide:x,useBlackAndWhiteImagesOnExcluded:w,electionId:S,brand:N}=e,A=(0,r.N$)(n.f.md),P=o()(t),_=t&&(null==f?void 0:f.map(e=>({theme:e,questions:P.filter(t=>t.question.theme===e.id)})).filter(e=>e.questions.length)),C=e=>(0,i.jsx)(i.Fragment,{children:e.map(e=>{var t;let n=y(a,e);return n?(0,i.jsx)(F,{answerOptions:a,ownAnswer:null==(t=s.find(t=>t.questionId===e.question.id))?void 0:t.answer,data:n,parties:m,splitByParty:c,hideReplies:h,hideCandidateInReply:p,hideOwnAnswers:v,hideQuestionText:k,isBrowseable:g,placeholderText:b,imageApi:j,candidateSide:x,useBlackAndWhiteImagesOnExcluded:w,brand:N,electionId:S},e.question.id):null})});return _?(0,i.jsx)("div",{className:d().contentContainer,children:_.map((e,t)=>(0,i.jsxs)("div",{className:d().themeContainer,style:{alignItems:"center"},children:[0!==t&&(0,i.jsx)(l.A,{role:"separator",width:A?"responsive":"fixed"}),(0,i.jsx)(u.EY,{as:"h4",weight:"medium",size:"16",style:{backgroundColor:"var(--colors-surface-secondary-color)",padding:"20px",borderRadius:"var(--radii-border-radius)"},children:(0,i.jsxs)(u.OH,{children:["Kysymysteema: ",e.theme.name]})}),C(e.questions)]},e.theme.id))}):t?(0,i.jsx)("div",{className:d().contentContainer,children:C(P)}):(0,i.jsx)("div",{className:d().contentContainer})};var $=a(18921),q=a.n($);let G=e=>{var t;let{questions:a,answerOptions:n,ownAnswers:s,parties:r,splitByParty:l,hideReplies:u,hideCandidatesInReplies:m,hideOwnAnswers:d,hideQuestionTexts:c,isBrowseable:h,placeholderText:p,imageApi:v,preventLinkClicks:k,candidateSide:f,brand:g,electionId:b}=e,j=o()(a).map(e=>{let t=y(n,e);return{...e,answerData:t}}).filter(e=>!!e.answerData).sort((e,t)=>e.question.order-t.question.order),[x,S]=(0,w.useState)(0),N=x<j.length-1,A=x>0,P=j[x],_=j.length>1?{next:()=>{N&&S(x+1)},previous:()=>{A&&S(x-1)},hasNext:N,hasPrevious:A}:void 0;return P?(0,i.jsx)("div",{className:q().contentContainer,children:(0,i.jsx)(F,{answerOptions:n,ownAnswer:null==s||null==(t=s.find(e=>e.questionId===P.question.id))?void 0:t.answer,data:P.answerData,parties:r,splitByParty:l,hideReplies:u,hideCandidateInReply:m,hideOwnAnswers:d,hideQuestionText:c,isBrowseable:h,placeholderText:p,imageApi:v,pagination:_,preventLinkClicks:k,candidateSide:f,brand:g,electionId:b},P.question.id)}):(0,i.jsx)("div",{className:q().contentContainer})}},35844:(e,t,a)=>{var i=a(86414);e.exports=function(e,t){var a=i(this,e),n=a.size;return a.set(e,t),this.size+=+(a.size!=n),this}},35861:(e,t,a)=>{"use strict";a.d(t,{d:()=>n});var i=a(32264);let n={...i.f,getAnimatableNone:e=>{let t=i.f.parse(e);return i.f.createTransformer(e)(t.map(e=>"number"==typeof e?0:"object"==typeof e?{...e,alpha:1}:e))}}},36021:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return a(10288)}])},36022:e=>{e.exports=function(e){return this.__data__.has(e)}},36168:e=>{e.exports={modalRoot:"Modal_modalRoot__Czazz",modalContainer:"Modal_modalContainer__KWQvR"}},36321:(e,t,a)=>{"use strict";a.d(t,{P:()=>n});var i=a(56475);function n(e){return e.props[i.n]}},36457:(e,t,a)=>{"use strict";a.d(t,{$:()=>i});let i=new Set(["width","height","top","left","right","bottom",...a(40574).U])},36592:(e,t,a)=>{var i=a(66581);e.exports=function(e,t){for(var a=e.length;a--;)if(i(e[a][0],t))return a;return -1}},36595:e=>{e.exports={container:"SummaryWarningContent_container__lAAHL"}},36704:e=>{e.exports=function(e){return this.__data__.has(e)}},36975:(e,t,a)=>{var i=a(33573),n=a(3619);e.exports=function(e){return n(e)&&"[object Arguments]"==i(e)}},37087:(e,t,a)=>{e.exports=a(83777)},37108:e=>{e.exports={md:"min-width: 768px",root:"ValueBrowser_root__CyCoJ",valueBrowserContainer:"ValueBrowser_valueBrowserContainer__pcQ_Z",valueBrowserColumn:"ValueBrowser_valueBrowserColumn__oHWxT",valueElementContainer:"ValueBrowser_valueElementContainer__F0aSq"}},37146:(e,t,a)=>{"use strict";a.d(t,{$:()=>i,V:()=>n}),a(29143);let i=()=>{},n=()=>{}},37175:(e,t,a)=>{var i=a(86414);e.exports=function(e){var t=i(this,e).delete(e);return this.size-=!!t,t}},37195:(e,t,a)=>{"use strict";
9Object.defineProperty(t,"__esModule",{value:!0});var i={default:function(){return u},noSSR:function(){return l}};for(var n in i)Object.defineProperty(t,n,{enumerable:!0,get:i[n]});let s=a(14761);a(6029),a(55729);let o=s._(a(49060));function r(e){return{default:(null==e?void 0:e.default)||e}}function l(e,t){return delete t.webpack,delete t.modules,e(t)}function u(e,t){let a=o.default,i={loading:e=>{let{error:t,isLoading:a,pastDelay:i}=e;return null}};e instanceof Promise?i.loader=()=>e:"function"==typeof e?i.loader=e:"object"==typeof e&&(i={...i,...e});let n=(i={...i,...t}).loader;return(i.loadableGenerated&&(i={...i,...i.loadableGenerated},delete i.loadableGenerated),"boolean"!=typeof i.ssr||i.ssr)?a({...i,loader:()=>null!=n?n().then(r):Promise.resolve(r(()=>null))}):(delete i.webpack,delete i.modules,l(a,i))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37248:e=>{e.exports={articleLinkRoot:"ArticleLink_articleLinkRoot__ECeAE",styledLink:"ArticleLink_styledLink__J7cSu",articleLinkContent:"ArticleLink_articleLinkContent__kfp_x",textContainer:"ArticleLink_textContainer__uYQdl",imageContainer:"ArticleLink_imageContainer__6VlRg",infoContainer:"ArticleLink_infoContainer__8Uk6S"}},37511:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let i=a(55729),n=a(5954),s="function"==typeof IntersectionObserver,o=new Map,r=[];function l(e){let{rootRef:t,rootMargin:a,disabled:l}=e,u=l||!s,[m,d]=(0,i.useState)(!1),c=(0,i.useRef)(null),h=(0,i.useCallback)(e=>{c.current=e},[]);return(0,i.useEffect)(()=>{if(s){if(u||m)return;let e=c.current;if(e&&e.tagName)return function(e,t,a){let{id:i,observer:n,elements:s}=function(e){let t,a={root:e.root||null,margin:e.rootMargin||""},i=r.find(e=>e.root===a.root&&e.margin===a.margin);if(i&&(t=o.get(i)))return t;let n=new Map;return t={id:a,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=n.get(e.target),a=e.isIntersecting||e.intersectionRatio>0;t&&a&&t(a)})},e),elements:n},r.push(a),o.set(a,t),t}(a);return s.set(e,t),n.observe(e),function(){if(s.delete(e),n.unobserve(e),0===s.size){n.disconnect(),o.delete(i);let e=r.findIndex(e=>e.root===i.root&&e.margin===i.margin);e>-1&&r.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:a})}else if(!m){let e=(0,n.requestIdleCallback)(()=>d(!0));return()=>(0,n.cancelIdleCallback)(e)}},[u,a,t,m,c.current]),[h,m,(0,i.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},38083:e=>{e.exports={md:"min-width: 768px",resultNavigationButtonsContainer:"ElectionSelection_resultNavigationButtonsContainer__sCtHX",resultNavigation:"ElectionSelection_resultNavigation__8zNge",resultNavigationButtonsRoot:"ElectionSelection_resultNavigationButtonsRoot__w0JJ6"}},38302:e=>{e.exports=function(e,t,a,i){for(var n=e.length,s=a+(i?1:-1);i?s--:++s<n;)if(t(e[s],s,e))return s;return -1}},38483:e=>{e.exports={loaderIconRoot:"LoaderIcon_loaderIconRoot__O7jrx",rotate:"LoaderIcon_rotate__mNXxf"}},38539:()=>{},38612:e=>{e.exports={titleContainer:"SingleAnswerBrowser_titleContainer__ccbtz"}},38684:(e,t,a)=>{var i=a(86414);e.exports=function(e){return i(this,e).has(e)}},39017:(e,t,a)=>{"use strict";a.d(t,{J:()=>l});var i=a(32264),n=a(91),s=a(35861),o=a(10854);let r=new Set([n.p,s.d]);function l(e,t){let a=(0,o.D)(e);return r.has(a)||(a=i.f),a.getAnimatableNone?a.getAnimatableNone(t):void 0}},39622:(e,t,a)=>{"use strict";a.d(t,{xQ:()=>s});var i=a(55729),n=a(67017);function s(e=!0){let t=(0,i.useContext)(n.t);if(null===t)return[!0,null];let{isPresent:a,onExitComplete:o,register:r}=t,l=(0,i.useId)();(0,i.useEffect)(()=>{if(e)return r(l)},[e]);let u=(0,i.useCallback)(()=>e&&o&&o(l),[l,o,e]);return!a&&o?[!1,u]:[!0]}},40194:(e,t,a)=>{"use strict";a.d(t,{x:()=>o});var i=a(17203),n=a(40574),s=a(41977);function o(e,t,a){let o=(0,s.x)(e,t,a);for(let a in e)((0,i.S)(e[a])||(0,i.S)(t[a]))&&(o[-1!==n.U.indexOf(a)?"attr"+a.charAt(0).toUpperCase()+a.substring(1):a]=e[a]);return o}},40318:(e,t,a)=>{"use strict";let i;a.d(t,{OQ:()=>u});var n=a(58838),s=a(51803),o=a(78737),r=a(50891);class l{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>
9{let t=o.k.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=o.k.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new n.v);let a=this.events[e].add(t);return"change"===e?()=>{a(),r.Gt.read(()=>{this.events.change.getSize()||this.stop()})}:a}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,a){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-a}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return i&&i.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=o.k.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return(0,s.f)(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function u(e,t){return new l(e,t)}},40508:(e,t,a)=>{"use strict";a.d(t,{fb:()=>l,Bx:()=>r,bK:()=>n,Et:()=>s,Hk:()=>i,fd:()=>o,wR:()=>d,s8:()=>u,l8:()=>c,Kg:()=>m});let i=["hs","is","al","sk"],n={al:"Aamulehti",hs:"Helsingin Sanomat",is:"Ilta-Sanomat",sk:"Satakunnan Kansa"},s={al:"Aamulehden",hs:"Helsingin Sanomien",is:"Ilta-Sanomien",sk:"Satakunnan Kansan"},o=e=>"brandSpecific"in e,r={"candidates-DbToS3":"candidates-DbToS3","answers-DbToS3":"answers-DbToS3","candidates-csv-export":"candidates-csv-export","marketing-consent-csv-export":"marketing-consent-csv-export","number-import":"number-import","candidates-to-results":"candidates-to-results","image-dump-creation":"image-dump-creation","create-article-data":"create-article-data"},l={Created:"CREATED",InProgress:"IN_PROGRESS",Completed:"COMPLETED",Failed:"FAILED"},u=e=>"answer"in e,m=e=>
9"string"==typeof e,d=e=>"emptyAnswer"in e,c=e=>"number"==typeof e&&!Number.isNaN(e)},40574:(e,t,a)=>{"use strict";a.d(t,{U:()=>i,f:()=>n});let i=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],n=new Set([...i,"pathRotation"])},40743:e=>{e.exports={buttonCommonRoot:"ButtonContent_buttonCommonRoot__6H_B1",left:"ButtonContent_left____xoZ",right:"ButtonContent_right__zcsz1",center:"ButtonContent_center__K9BPf",buttonLabel:"ButtonContent_buttonLabel__KQNxY",small:"ButtonContent_small__VJOyo",medium:"ButtonContent_medium__8aIBN",large:"ButtonContent_large__q_bYI"}},40976:e=>{e.exports={videoContainer:"CandidateIntroduction_videoContainer__UNPBM"}},41016:(e,t,a)=>{var i=a(81707),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(i){var a=t[e];return"__lodash_hash_undefined__"===a?void 0:a}return n.call(t,e)?t[e]:void 0}},41663:e=>{e.exports={searchFieldContainer:"Select_searchFieldContainer__sJOIp",searchField:"Select_searchField__v1jVo",searchFieldLight:"Select_searchFieldLight__Cqb2S",clearButton:"Select_clearButton__e_D5A"}},41977:(e,t,a)=>{"use strict";a.d(t,{x:()=>s});var i=a(17203),n=a(45104);function s(e,t,a){let s=e.style,o=t?.style,r={};if(!s)return r;for(let t in s)((0,i.S)(s[t])||o&&(0,i.S)(o[t])||(0,n.zK)(t,e)||a?.getValue(t)?.liveStyle!==void 0)&&(r[t]=s[t]);return r}},42177:(e,t,a)=>{"use strict";a.d(t,{t:()=>i});let i=a(22864).cA.electionApi},42209:(e,t,a)=>{var i=a(36975),n=a(3619),s=Object.prototype,o=s.hasOwnProperty,r=s.propertyIsEnumerable;e.exports=i(function(){return arguments}())?i:function(e){return n(e)&&o.call(e,"callee")&&!r.call(e,"callee")}},42601:e=>{e.exports={textButtonRoot:"TextButton_textButtonRoot__edD54",small:"TextButton_small__TWydF",medium:"TextButton_medium__T7Ztl",large:"TextButton_large__kpnN4","justify-content-flex-start":"TextButton_justify-content-flex-start__wpoV7","justify-content-flex-end":"TextButton_justify-content-flex-end__TBwLK","justify-content-center":"TextButton_justify-content-center__C0Bbb"}},43092:(e,t,a)=>{var i=a(50515),n=1/0;e.exports=function(e){if("string"==typeof e||i(e))return e;var t=e+"";return"0"==t&&1/e==-n?"-0":t}},43224:(e,t,a)=>{"use strict";a.d(t,{Ib:()=>c,ry:()=>d,zs:()=>m});let i=e=>180*e/Math.PI,n=e=>o(i(Math.atan2(e[1],e[0]))),s={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:n,rotateZ:n,skewX:e=>i(Math.atan(e[1])),skewY:e=>i(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},o=e=>((e%=360)<0&&(e+=360),e),r=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),l=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),u={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:r,scaleY:l,scale:e=>(r(e)+l(e))/2,rotateX:e=>o(i(Math.atan2(e[6],e[5]))),rotateY:e=>o(i(Math.atan2(-e[2],e[0]))),rotateZ:n,rotate:n,skewX:e=>i(Math.atan(e[4])),skewY:e=>i(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function m(e){return+!!e.includes("scale")}function d(e,t){let a,i;if(!e||"none"===e)return m(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(n)a=u,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);a=s,i=t}if(!i)return m(t);let o=a[t],r=i[1].split(",").map(h);return"function"==typeof o?o(r):r[o]}let c=(e,t)=>{let{transform:a="none"}=getComputedStyle(e);return d(a,t)};function h(e){return parseFloat(e.trim())}},43233:(e,t,a)=>{var i=a(24127),n=a(26027),s=a(25248);e.exports=function(e,t,a){for(var o=-1,r=t.length,l={};++o<r;){var u=t[o],m=i(e,u);a(m,u)&&n(l,s(u,e),m)}return l}},43562:(e,t,a)=>{var i=a(28340),n=a(3540),s=a(73696),o=s&&s.isTypedArray;e.exports=o?n(o):i},43701:(e,t,a)=>{var i=a(23282),n=a(7131),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!i(e))return n(e);var t=[];for(var a in Object(e))s.call(e,a)&&"constructor"!=a&&t.push(a);return t}},43778:e=>{e.exports={text:"PartyTag_text__nd288",tagBorder:"PartyTag_tagBorder__60l3L",selected:"PartyTag_selected__LI85X",tagBackground:"PartyTag_tagBackground__J78F0",textWrapper:"PartyTag_textWrapper__EHgMd"}},44033:(e,t,a)=>{"use strict";a.d(t,{M:()=>n});var i=a(55729);function n(e){let t=(0,i.useRef)(null);return null===t.current&&(t.current=e()),t.current}},44322:(e,t,a)=>{"use strict";a.d(t,{A:()=>c});var i=a(6029),n=a(33112),s=a.n(n),o=a(8588),r=a.n(o),l=a(20541),u=a(63390),m=a(37248),d=a.n(m);let c=e=>{var t,a;let{date:n,image:o,href:m,source:c,title:h}=e,p=[c,n].filter(e=>!!e).join(" ");return(0,i.jsx)("div",{className:"".concat(null!=(t=s().focusWithBoxShadow)?t:""," ").concat(null!=(a=s().focusWithin)?a:""),children:(0,i.jsx)("div",{className:d().articleLinkRoot,children:(0,i.jsx)("a",{className:d().styledLink,href:m,target:"_blank",rel:"noreferrer",children:(0,i.jsxs)("div",{className:d().articleLinkContent,children:[(0,i.jsxs)("div",{className:d().textContainer,children:[(0,i.jsxs)("div",{className:d().infoContainer,children:[(0,i.jsxs)(u.EY,{as:"h4",size:16,children:[(0,i.jsxs)(u.OH,{children:[h," "]}),(0,i.jsx)("span",{style:{left:-9e3,overflow:"hidden",position:"absolute",width:0},children:"(avautuu uudessa v\xe4lilehdess\xe4)"})]}),!p&&(0,i.jsx)(l.A,{name:"external-link",size:24,strokeWidth:2})]}),!!p&&(0,i.jsxs)("div",{className:d().infoContainer,children:[(0,i.jsx)(u.EY,{tracking:"semiLoose",weight:"normal",size:16,children:p}),(0,i.jsx)(l.A,{name:"external-link",size:24,strokeWidth:2})]})]}),o&&(0,i.jsx)("div",{className:d().imageContainer,children:(0,i.jsx)(r(),{width:160,height:90,loader:e=>e.src,style:{objectFit:"cover",width:"100%",height:"auto"},src:o.src,alt:o.alt,layout:"responsive"})})]})})})})}},44410:e=>{e.exports={cardDivider:"LayoutCard_cardDivider___frO9",layoutCardRoot:"LayoutCard_layoutCardRoot__kfvbf",tag:"LayoutCard_tag__9KSRU",ad:"LayoutCard_ad__lG1Wn",locationTag:"LayoutCard_locationTag__3qmQa"}},45104:(e,t,a)=>{"use strict";a.d(t,{zK:()=>s});var i=a(40574),n=a(73864);function s(e,{layout:t,layoutId:a}){return i.f.has(e)||e.startsWith("origin")||(t||void 0!==a)&&(!!n.H[e]||"opacity"===e)}},45516:(e,t,a)=>{var i=a(97397),n="object"==typeof self&&self&&self.Object===Object&&self;e.exports=i||n||Function("return this")()},45852:e=>{e.exports=function(e){var t=-1,a=Array(e.size);return e.forEach(function(e,i){a[++t]=[i,e]}),a}},45920:(e,t,a)=>{"use strict";a.d(t,{OB:()=>u,V$:()=>r});var i=a(6029),n=a(92068),s=a(48893),o=a.n(s);let r=3,l=e=>{var t,a;let{selected:n,className:s,...l}=e,u="".concat(null!=(t=o().basicDot)?t:""," ").concat(n&&null!=(a=o().selected)?a:""," ").concat(null!=s?s:"");return(0,i.jsx)("circle",{r:n?10:r,className:u,...l})},u=e=>{let{items:t,onHover:a,onClick:s,selectedItemId:o,ownElementLocation:r}=e,u=t.find(e=>e.id===o),m=e=>e.createComponent?(0,i.jsx)("g",{onMouseEnter:a&&(()=>{a(e.id)}),onMouseLeave:a&&(()=>{a(void 0)}),onClick:s&&(()=>{s(e.id)}),style:{cursor:"pointer"},children:e.createComponent(e.location,e.selected)},e.id):(0,i.jsx)(l,{onMouseEnter:a&&(()=>{a(e.id)}),onMouseLeave:a&&(()=>{a(void 0)}),onClick:s&&(()=>{s(e.id)}),selected:!!e.selected,cx:e.location.x,cy:e.location.y},e.id),d=t.map(e=>e.id===(null==u?void 0:u.id)?null:(0,i.jsx)("g",{children:m(e)},e.id)),c=u?(0,i.jsx)("g",{children:m(u)},u.id):null,h=[...d,r?(0,i.jsx)(n.R_,{x:r.x,y:r.y}):null,c];return(0,i.jsx)("g",{children:h.map(e=>e)})}},45969:e=>{e.exports={unorderedList:"UnorderedList_unorderedList__OCAEK",disc:"UnorderedList_disc__1hs2t",orderedList:"UnorderedList_orderedList__8qvXN",listItem:"UnorderedList_listItem__V8ZvX"}},46164:(e,t,a)=>{"use strict";a.d(t,{V:()=>r});var i=a(50151),n=a(15650),s=a(5169),o=a(3524);let r={test:(0,o.$)("hsl","hue"),parse:(0,o.q)("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:a,alph
9a:o=1})=>"hsla("+Math.round(e)+", "+n.KN.transform((0,s.a)(t))+", "+n.KN.transform((0,s.a)(a))+", "+(0,s.a)(i.X4.transform(o))+")"}},46309:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var i=a(6029),n=a(35388),s=a(21939);let o=(0,n.kt)(e=>(0,i.jsx)(s.A,{...e,width:Math.min(e.parentDimensions.width,320)}))},46468:e=>{e.exports=function(e){return this.__data__.get(e)}},46776:e=>{e.exports={progressContainer:"CircleMatch_progressContainer__NdTSA",progressBackgroundCircle:"CircleMatch_progressBackgroundCircle__Lxwx6",primary:"CircleMatch_primary__nbqjr",secondary:"CircleMatch_secondary__Io77n",progressFillCircle:"CircleMatch_progressFillCircle__34e3U",resultCircle:"CircleMatch_resultCircle__9tPJD"}},47130:(e,t,a)=>{"use strict";a.d(t,{j4:()=>n,pG:()=>o,rm:()=>l});let i=e=>t=>"string"==typeof t&&t.startsWith(e),n=i("--"),s=i("var(--"),o=e=>!!s(e)&&r.test(e.split("/*")[0].trim()),r=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function l(e){return"string"==typeof e&&e.split("/*")[0].includes("var(--")}},47492:e=>{"use strict";var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,a=/\n/g,i=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,r=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e){return e?e.replace(l,""):""}e.exports=function(e,l){if("string"!=typeof e)throw TypeError("First argument must be a string");if(!e)return[];l=l||{};var m=1,d=1;function c(e){var t=e.match(a);t&&(m+=t.length);var i=e.lastIndexOf("\n");d=~i?e.length-i:d+e.length}function h(){var e={line:m,column:d};return function(t){return t.position=new p(e),k(i),t}}function p(e){this.start=e,this.end={line:m,column:d},this.source=l.source}function v(t){var a=Error(l.source+":"+m+":"+d+": "+t);if(a.reason=t,a.filename=l.source,a.line=m,a.column=d,a.source=e,l.silent);else throw a}function k(t){var a=t.exec(e);if(a){var i=a[0];return c(i),e=e.slice(i.length),a}}function y(e){var t;for(e=e||[];t=f();)!1!==t&&e.push(t);return e}function f(){var t=h();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var a=2;""!=e.charAt(a)&&("*"!=e.charAt(a)||"/"!=e.charAt(a+1));)++a;if(a+=2,""===e.charAt(a-1))return v("End of comment missing");var i=e.slice(2,a-2);return d+=2,c(i),e=e.slice(a),d+=2,t({type:"comment",comment:i})}}p.prototype.content=e,k(i);var g,b=[];for(y(b);g=function(){var e=h(),a=k(n);if(a){if(f(),!k(s))return v("property missing ':'");var i=k(o),l=e({type:"declaration",property:u(a[0].replace(t,"")),value:i?u(i[0].replace(t,"")):""});return k(r),l}}();)!1!==g&&(b.push(g),y(b));return b}},47508:(e,t,a)=>{var i=a(81707);e.exports=function(e,t){var a=this.__data__;return this.size+=+!this.has(e),a[e]=i&&void 0===t?"__lodash_hash_undefined__":t,this}},48039:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},48181:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var i=a(6029),n=a(63390),s=a(16080),o=a.n(s);let r=e=>{var t,a;let{text:s,subText:r,location:l,containerSize:u,margin:m}=e,d=l.y>50,c={top:d?"auto":l.y+m+8,bottom:d?u.height-l.y+m+8:"auto"},h=Math.min(Math.max(10*s.length,(null!=(t=null==r?void 0:r.length)?t:0)*10),160),p=l.x-h/2<0,v=l.x+h/2>u.width,k={right:v?0:"auto",left:(a=l.x-h/2,p?0:v?"auto":a)};return(0,i.jsxs)("div",{className:o().tooltipContainer,style:{width:u.width,height:u.height},children:[d?(0,i.jsx)("div",{className:o().arrowDown,style:{left:l.x-8,top:l.y-m-8}}):(0,i.jsx)("div",{className:o().arrowUp,style:{left:l.x-8,top:l.y+m}}),(0,i.jsxs)("div",{className:o().tooltipText,style:{...c,...k,width:h},children:[(0,i.jsx)(n.EY,{as:"p",children:(0,i.jsx)(n.OH,{children:s})}),r&&""!==r?(0,i.jsx)(n.EY,{as:"p",children:r}):void 0]})]})}},48546:e=>{e.exports=function(e){var t=-1,a=Array(e.size);return e.forEach(function(e){a[++t]=e}),a}},48893:e=>{e.exports={basicDot:"GraphElement_basicDot__UXqU_",selected:"GraphElement_selected___Sk1t"}},48908:e=>{e.exports={imageSectionContainer:"BasicInfoForm_imageSectionContainer__Zydsx",imagePickerContainer:"BasicInfoForm_imagePickerContainer__zTleW",labelContainer:"BasicInfoForm_labelContainer__EwW8A",baseFieldset:"BasicInfoForm_baseFieldset__d8AxL",baseLegend:"BasicInfoForm_baseLegend__p4tIG"}},49060:(e,t,a)=>{"use strict";
9Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let i=a(14761)._(a(55729)),n=a(83538),s=[],o=[],r=!1;function l(e){let t=e(),a={loading:!0,loaded:null,error:null};return a.promise=t.then(e=>(a.loading=!1,a.loaded=e,e)).catch(e=>{throw a.loading=!1,a.error=e,e}),a}class u{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:e,_opts:t}=this;e.loading&&("number"==typeof t.delay&&(0===t.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},t.delay)),"number"==typeof t.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},t.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(e=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(e){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...e},this._callbacks.forEach(e=>e())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(e){return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}constructor(e,t){this._loadFn=e,this._opts=t,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}}function m(e){return function(e,t){let a=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},t),s=null;function l(){if(!s){let t=new u(e,a);s={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return s.promise()}if(!r){let e=a.webpack&&1?a.webpack():a.modules;e&&o.push(t=>{for(let a of e)if(t.includes(a))return l()})}function m(e,t){let o;l(),(o=i.default.useContext(n.LoadableContext))&&Array.isArray(a.modules)&&a.modules.forEach(e=>{o(e)});let r=i.default.useSyncExternalStore(s.subscribe,s.getCurrentValue,s.getCurrentValue);return i.default.useImperativeHandle(t,()=>({retry:s.retry}),[]),i.default.useMemo(()=>{var t;return r.loading||r.error?i.default.createElement(a.loading,{isLoading:r.loading,pastDelay:r.pastDelay,timedOut:r.timedOut,error:r.error,retry:s.retry}):r.loaded?i.default.createElement((t=r.loaded)&&t.default?t.default:t,e):null},[e,r])}return m.preload=()=>l(),m.displayName="LoadableComponent",i.default.forwardRef(m)}(l,e)}function d(e,t){let a=[];for(;e.length;){let i=e.pop();a.push(i(t))}return Promise.all(a).then(()=>{if(e.length)return d(e,t)})}m.preloadAll=()=>new Promise((e,t)=>{d(s).then(e,t)}),m.preloadReady=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new Promise(t=>{let a=()=>(r=!0,t());d(o,e).then(a,a)})},window.__NEXT_PRELOADREADY=m.preloadReady;let c=m},49141:(e,t,a)=>{"use strict";a.d(t,{r4:()=>o,oE:()=>s});var i=a(6029),n=a(50511);let s={enter:{opacity:1,transition:{delay:0,duration:.3,ease:"easeInOut"}},exit:{opacity:0,transition:{delay:.3,duration:.3,ease:"easeInOut"}},hidden:{opacity:0,transition:{delay:.3,duration:.3,ease:"easeInOut"}}},o=e=>{let{children:t,animationKey:a,initialState:o,className:r,variants:l=s,onAnimationComplete:u}=e;return(0,i.jsx)(n.P.div,{variants:l,initial:null!=o?o:"hidden",animate:"enter",className:r,onAnimationComplete:()=>{null==u||u()},children:t},a)}},49246:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var i=a(6029),n=a(54386),s=a(35388),o=a(40508),r=a(28639),l=a(45920),u=a(48181),m=a(63390),d=a(6820),c=a.n(d),h=a(1898),p=a.n(h);let v=(0,s.kt)(e=>{var t,a,d,h,v,k;let{items:y,ownValue:f,dimension:g,parentDimensions:{width:b},hoveredItemId:j,setHoveredItemId:x,selectedItemId:w,setSelectedItemId:S,useForce:N}=e,A=44+(v=!!N,k=y.length,v?k>100?24:k>50?20:12:0),P=A+r.Lg,_=A/2,C=(0,n.A)().range([20,b-20]).domain([-1,1]),[M]=(0,s.k9)(()=>{let e=y.map(e=>{var t,a;let i=null==(a=e.values)?void 0:a[g.name];if(!(0,o.l8)(i))return null;let n=C(i);return{...e,selected:e.id===w,x:n,x0:n,y:_,y0:_,size:e.createComponent?null!=(t=e.forceR)?t:4:l.V$}}).filter(e=>null!==e);return N&&(0,s.ih)(e,l.V$),[e.map(e=>({...e,location:{x:e.x,y:e.y}}))]},[N,y,w,_,b]),L=M.find(e=>e.id===j);return(0,i.jsxs)("div",{className:p().root,children:[(0,i.jsxs)("div",{className:p().dimensionsTexts,children:[(0,i.jsx)(m.EY,{textAlign:"left",className:"".concat(null!=(t=p().dimensionText)?t:""," ").concat(null!=(a=c().strongCss)?a:""),size:r.Ny,children:g.endPoints[0]}),(0,i.jsx)(m.EY,{textAlign:"right",className:"".concat(null!=(d=p().dimensionText)?d:""," ").concat(null!=(h=c().strongCss)?h:""),size:r.Ny,children:g.endPoints[1]})]}),(0,i.jsxs)("div",{className:p().valueMeterContainer,style:{width:b,height:P},children:[(0,i.jsxs)("svg",{className:p().valueMeterSVG,width:"100%",height:"100%",viewBox:"0 0 ".concat(b," ").concat(P),children:[(0,i.jsxs)("g",{children:[(0,i.jsx)("line",{className:p().backgroundLine,x1:20,x2:b-20,y1:_,y2:_,style:{strokeWidth:8}}),(0,i.jsx)("line",{className:p().centerLine,x1:b/2,x2:b/2,y1:_-8,y2:_+8,style:{strokeWidth:2}})]}),(0,i.jsx)(l.OB,{items:M,onHover:x,onClick:S,selectedItemId:w,ownElementLocation:(0,o.l8)(f)?{x:C(f),y:_}:void 0})]}),L&&(0,i.jsx)(u.A,{location:L.location,text:L.title,containerSize:{width:b,height:P},margin:L.createComponent||L.id===w?10:l.V$})]})]})})},49544:e=>{e.exports={md:"min-width: 768px",footerRoot:"Footer_footerRoot__2XmKZ",footerContent:"Footer_footerContent__vOUpC",footerContentLinks:"Footer_footerContentLinks__YDcf1",anchor:"Footer_anchor__Uj9LT"}},50025:(e,t,a)=>{e.exports=a(45516).Uint8Array},50151:(e,t,a)=>{"use strict";a.d(t,{X4:()=>s,ai:()=>n,hs:()=>o});var i=a(11186);let n={test:e=>"number"==typeof e,parse:parseFloat,transform:e=>e},s={...n,transform:e=>(0,i.q)(0,1,e)},o={...n,default:1}},50485:e=>{e.exports={root:"SelectField_root__9lETM"}},50511:(e,t,a)=>{"use strict";let i,n;a.d(t,{P:()=>tI});var s=a(16186),o=a(68633),r=a(17588),l=a(15973),u=a(15315),m=a(73525),d=a(78189);function c(e){return[e("x"),e("y")]}var h=a(15650),p=a(22942);function v(e){return e.max-e.min}function k(e,t,a,i=.5){e.origin=i,e.originPoint=(0,p.k)(t.min,t.max,e.origin),e.scale=v(a)/v(t),e.translate=(0,p.k)(a.min,a.max,e.origin)-e.originPoint,(e.scale>=.9999&&e.scale<=1.0001||isNaN(e.scale))&&(e.scale=1),(e.translate>=-.01&&e.translate<=.01||isNaN(e.translate))&&(e.translate=0)}function y(e,t,a,i){k(e.x,t.x,a.x,i?i.originX:void 0),k(e.y,t.y,a.y,i?i.originY:void 0)}function f(e,t,a,i=0){e.min=(i?(0,p.k)(a.min,a.max,i):a.min)+t.min,e.max=e.min+v(t)}function g(e,t,a,i=0){let n=i?(0,p.k)(a.min,a.max,i):a.min;e.min=t.min-n,e.max=e.min+v(t)}function b(e,t,a,i){g(e.x,t.x,a.x,i?.x),g(e.y,t.y,a.y,i?.y)}var j=a(50891),x=a(94229),w=a(12998),S=a(75399),N=a(35031),A=a(6500),P=
9a(27185),_=a(22847);function C(e){return(0,_.G)(e)&&"ownerSVGElement"in e}var M=a(32138);let L=new WeakMap,E=(e,t,a)=>(i,n)=>n&&n[0]?n[0][e+"Size"]:C(i)&&"getBBox"in i?i.getBBox()[t]:i[a],I=E("inline","width","offsetWidth"),T=E("block","height","offsetHeight");function V({target:e,borderBoxSize:t}){L.get(e)?.forEach(a=>{a(e,{get width(){return I(e,t)},get height(){return T(e,t)}})})}function O(e){e.forEach(V)}let K=new Set;function U(e,t){let a;return"function"==typeof e?(K.add(e),n||(n=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};K.forEach(t=>t(e))},window.addEventListener("resize",n)),()=>{K.delete(e),K.size||"function"!=typeof n||(window.removeEventListener("resize",n),n=void 0)}):(!i&&"u">typeof ResizeObserver&&(i=new ResizeObserver(O)),(a=(0,M.K)(e)).forEach(e=>{let a=L.get(e);a||(a=new Set,L.set(e,a)),a.add(t),i?.observe(e)}),()=>{a.forEach(e=>{let a=L.get(e);a?.delete(t),a?.size||i?.unobserve(e)})})}var R=a(37146),D=a(60926);function B(e,t,a,i){return(0,P.k)(e,t,(0,D.F)(a),i)}let H=({current:e})=>e?e.ownerDocument.defaultView:null;var F=a(16271),z=a(33784),$=a(29903),q=a(29255);let G=(e,t)=>Math.abs(e-t),W=new Set(["auto","scroll"]);class Y{constructor(e,t,{transformPagePoint:a,contextWindow:i=window,dragSnapToOrigin:n=!1,distanceThreshold:s=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{var e,t;if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=J(this.lastRawMoveEventInfo,this.transformPagePoint));let a=X(this.lastMoveEventInfo,this.history),i=null!==this.startEvent,n=(e=a.offset,t={x:0,y:0},Math.sqrt(G(e.x,t.x)**2+G(e.y,t.y)**2)>=this.distanceThreshold);if(!i&&!n)return;let{point:s}=a,{timestamp:o}=j.uv;this.history.push({...s,timestamp:o});let{onStart:r,onMove:l}=this.handlers;
9i||(r&&r(this.lastMoveEvent,a),this.startEvent=this.lastMoveEvent),l&&l(this.lastMoveEvent,a)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=J(t,this.transformPagePoint),j.Gt.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:a,onSessionEnd:i,resumeAnimation:n}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&n&&n(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let s=X("pointercancel"===e.type?this.lastMoveEventInfo:J(t,this.transformPagePoint),this.history);this.startEvent&&a&&a(e,s),i&&i(e,s)},!(0,z.M)(e))return;this.dragSnapToOrigin=n,this.handlers=t,this.transformPagePoint=a,this.distanceThreshold=s,this.contextWindow=i||window;const r=J((0,D.e)(e),this.transformPagePoint),{point:l}=r,{timestamp:u}=j.uv;this.history=[{...l,timestamp:u}];const{onSessionStart:m}=t;m&&m(e,X(r,this.history)),this.removeListeners=(0,$.F)(B(this.contextWindow,"pointermove",this.handlePointerMove),B(this.contextWindow,"pointerup",this.handlePointerUp),B(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(W.has(e.overflowX)||W.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let a=e===window,i=a?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},n={x:i.x-t.x,y:i.y-t.y};(0!==n.x||0!==n.y)&&(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=n.x,this.lastMoveEventInfo.point.y+=n.y):this.history.length>0&&(this.history[0].x-=n.x,this.history[0].y-=n.y),this.scrollPositions.set(e,i),j.Gt.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),(0,j.WG)(this.updatePoint)}}function J(e,t){return t?{point:t(e.point)}:e}function Q(e,t){return{x:e.x-t.x,y:e.y-t.y}}function X({point:e},t){return{point:e,delta:Q(e,Z(t)),offset:Q(e,t[0]),velocity:function(e){if(e.length<2)return{x:0,y:0};let t=e.length-1,a=null,i=Z(e);for(;t>=0&&(a=e[t],!(i.timestamp-a.timestamp>(0,q.f)(.1)));)t--;if(!a)return{x:0,y:0};a===e[0]&&e.length>2&&i.timestamp-a.timestamp>2*(0,q.f)(.1)&&(a=e[1]);let n=(0,q.X)(i.timestamp-a.timestamp);if(0===n)return{x:0,y:0};let s={x:(i.x-a.x)/n,y:(i.y-a.y)/n};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}(t)}}function Z(e){return e[e.length-1]}var ee=a(65254),et=a(11186);function ea(e,t,a){return{min:void 0!==t?e.min+t:void 0,max:void 0!==a?e.max+a-(e.max-e.min):void 0}}function ei(e,t){let a=t.min-e.min,i=t.max-e.max;return t.max-t.min<e.max-e.min&&([a,i]=[i,a]),{min:a,max:i}}function en(e,t,a){return{min:es(e,t),max:es(e,a)}}function es(e,t){return"number"==typeof e?e:e[t]||0}let eo=new WeakMap;class er{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=(0,m.ge)(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:a}={}){let{presenceContext:i}=this.visualElement;if(i&&!1===i.isPresent)return;let n=e=>{t&&this.snapToCursor((0,D.e)(e).point),this.stopAnimation()},s=(e,t)=>{let{drag:a,dragPropagation:i,onDragStart:n}=this.getProps();if(a&&!i&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(e){if("x"===e||"y"===e)if(d.I[e])return null;else return d.I[e]=!0,()=>{d.I[e]=!1};return d.I.x||d.I.y?null:(d.I.x=d.I.y=!0,()=>{d.I.x=d.I.y=!1})}(a),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),c(e=>{let t=this.getAxisMotionValue(e).get()||0;if(h.KN.test(t)){let{projection:a}=this.visualElement;if(a&&a.layout){let i=a.layout.layoutBox[e];i&&(t=v(i)*(parseFloat(t)/100))}}this.originPoint[e]=t}),n&&j.Gt.update(()=>n(e,t),!1,!0),(0,x.g)(this.visualElement,"transform");let{animationState:s}=this.visualElement;s&&s.setActive("whileDrag",!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:a,dragDirectionLock:i,onDirectionLock:n,onDrag:s}=this.getProps();if(!a&&!this.openDragLock)return;let{offset:o}=t;if(i&&null===this.currentDirection){this.currentDirection=function(e,t=10){let a=null;return Math.abs(e.y)>t?a="y":Math.abs(e.x)>t&&(a="x"),a}(o),null!==this.currentDirection&&n&&n(this.currentDirection);return}this.updateAxis("x",t.point,o),this.updateAxis("y",t.point,o),this.visualElement.render(),s&&j.Gt.update(()=>s(e,t),!1,!0)},r=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},l=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new Y(e,{onSessionStart:n,onStart:s,onMove:o,onSessionEnd:r,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:a,contextWindow:H(this.visualElement),element:this.visualElement.current})}stop(e,t){let a=e||this.latestPointerEvent,i=t||this.latestPanInfo,n=this.isDragging;if(this.cancel(),!n||!i||!a)return;let{velocity:s}=i;this.startAnimation(s);let{onDragEnd:o}=this.getProps();o&&j.Gt.postRender(()=>o(a,i))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,a){let{drag:i}=this.getProps();if(!a||!eu(e,i,this.currentDirection))return;let n=this.getAxisMotionValue(e),s=this.originPoint[e]+a[e];this.constraints&&this.constraints[e]&&(s=function(e,{min:t,max:a},i){return void 0!==t&&e<t?e=i?(0,p.k)(t,e,i.min):Math.max(e,t):void 0!==a&&e>a&&(e=i?(0,p.k)(a,e,i.max):Math.min(e,a)),e}(s,this.constraints[e],this.elastic[e])),n.set(s)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;e&&(0,F.X)(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&a?this.constraints=function(e,{top:t,left:a,bottom:i,right:n}){return{x:ea(e.x,a,n),y:ea(e.y,t,i)}}(a.layoutBox,e):this.constraints=!1,this.elastic=function(e=.35){return!1===e?e=0:!0===e&&(e=.35),{x:en(e,"left","right"),y:en(e,"top","bottom")}}(t),i!==this.constraints&&!(0,F.X)(e)&&a&&this.constraints&&!this.hasMutatedConstraints&&c(e=>{var t,i;let n;!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=(t=a.layoutBox[e],i=this.constraints[e],n={},void 0!==i.min&&(n.min=i.min-t.min),void 0!==i.max&&(n.max=i.max-t.min),n))})}resolveRefConstraints(){var e;let{dragConstraints:t,onMeasureDragConstraints:a}=this.getProps();if(!t||!(0,F.X)(t))return!1;let i=t.current;(0,R.V)(null!==i,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:n}=this.visualElement;if(!n||!n.layout)return!1;n.root&&(n.root.scroll=void 0,n.root.updateScroll());let s=(0,w.L)(i,n.root,this.visualElement.getTransformPagePoint()),o=(e=n.layout.layoutBox,{x:ei(e.x,s.x),y:ei(e.y,s.y)});if(a){let e=a((0,S.pA)(o));this.hasMutatedConstraints=!!e,e&&(o=(0,S.FY)(e))}return o}startAnimation(e){let{drag:t,dragMomentum:a,dragElastic:i,dragTransition:n,dragSnapToOrigin:s,onDragTransitionEnd:o}=this.getProps(),r=this.constraints||{};return Promise.all(c(o=>
9{if(!eu(o,t,this.currentDirection))return;let l=r&&r[o]||{};(!0===s||s===o)&&(l={min:0,max:0});let u={type:"inertia",velocity:a?e[o]:0,bounceStiffness:i?200:1e6,bounceDamping:i?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...n,...l};return this.startAxisValueAnimation(o,u)})).then(o)}startAxisValueAnimation(e,t){let a=this.getAxisMotionValue(e);return(0,x.g)(this.visualElement,e),a.start((0,N.f)(e,a,0,t,this.visualElement,!1))}stopAnimation(){c(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`;return this.visualElement.getProps()[t]||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){c(t=>{let{drag:a}=this.getProps();if(!eu(t,a,this.currentDirection))return;let{projection:i}=this.visualElement,n=this.getAxisMotionValue(t);if(i&&i.layout){let{min:a,max:s}=i.layout.layoutBox[t],o=n.get()||0;n.set(e[t]-(0,p.k)(a,s,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:a}=this.visualElement;if(!(0,F.X)(t)||!a||!this.constraints)return;this.stopAnimation();let i={x:0,y:0};c(e=>{let t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){var a,n;let s,o,r,l=t.get();i[e]=(a={min:l,max:l},n=this.constraints[e],s=.5,o=v(a),(r=v(n))>o?s=(0,ee.q)(n.min,n.max-o,a.min):o>r&&(s=(0,ee.q)(a.min,a.max-r,n.min)),(0,et.q)(0,1,s))}});let{transformTemplate:n}=this.visualElement.getProps();this.visualElement.current.style.transform=n?n({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),c(t=>{if(!eu(t,e,null))return;let a=this.getAxisMotionValue(t),{min:n,max:s}=this.constraints[t];a.set((0,p.k)(n,s,i[t]))}),this.visualElement.render()}addListeners(){let e;if(!this.visualElement.current)return;eo.set(this.visualElement,this);let t=this.visualElement.current,a=B(t,"pointerdown",e=>{let{drag:a,dragListener:i=!0}=this.getProps(),n=e.target,s=n!==t&&(0,A.a)(n);a&&i&&!s&&this.start(e)}),i=()=>{var a,i,n;let s,o,{dragConstraints:r}=this.getProps();(0,F.X)(r)&&r.current&&(this.constraints=this.resolveRefConstraints(),e||(a=t,i=r.current,s=U(a,el(n=()=>this.scalePositionWithinConstraints())),o=U(i,el(n)),e=()=>{s(),o()}))},{projection:n}=this.visualElement,s=n.addEventListener("measure",i);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),j.Gt.read(i);let o=(0,P.k)(window,"resize",()=>this.scalePositionWithinConstraints()),r=n.addEventListener("didUpdate",({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(c(t=>{let a=this.getAxisMotionValue(t);a&&(this.originPoint[t]+=e[t].translate,a.set(a.get()+e[t].translate))}),this.visualElement.render())});return()=>{o(),a(),s(),r&&r(),e&&e()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:a=!1,dragPropagation:i=!1,dragConstraints:n=!1,dragElastic:s=.35,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:a,dragPropagation:i,dragConstraints:n,dragElastic:s,dragMomentum:o}}}function el(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function eu(e,t,a){return(!0===t||t===e)&&(null===a||a===e)}class em extends l.X{constructor(e){super(e),this.removeGroupControls=u.l,this.removeListeners=u.l,this.controls=new er(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||u.l}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}let ed=e=>(t,a)=>{e&&j.Gt.update(()=>e(t,a),!1,!0)};class ec extends l.X{constructor(){super(...arguments),this.removePointerDownListener=u.l}onPointerDown(e){this.session=new Y(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:H(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:a,onPanEnd:i}=this.node.getProps();return{onSessionStart:ed(e),onStart:ed(t),onMove:ed(a),onEnd:(e,t)=>{delete this.session,i&&j.Gt.postRender(()=>i(e,t))}}}mount(){this.removePointerDownListener=B(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}var eh=a(6029);let ep={hasAnimatedSinceResize:!0,hasEverUpdated:!1};var ev=a(68275),ek=a(55729),ey=a(39622),ef=a(72369),eg=a(66361);let eb=!1;class ej extends ek.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:a,layoutId:i}=this.props,{projection:n}=e;n&&(t.group&&t.group.add(n),a&&a.register&&i&&a.register(n),eb&&n.root.didUpdate(),n.addEventListener("animationComplete",()=>{this.safeToRemove()}),n.setOptions({...n.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),ep.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:a,drag:i,isPresent:n}=this.props,{projection:s}=a;return s&&(s.isPresent=n,e.layoutDependency!==t&&s.setOptions({...s.options,layoutDependency:t}),eb=!0,i||e.layoutDependency!==t||void 0===t||e.isPresent!==n?s.willUpdate():this.safeToRemove(),e.isPresent!==n&&(n?s.promote():s.relegate()||j.Gt.postRender(()=>{let e=s.getStack();e&&e.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:a}=e;a&&(a.options.layoutAnchor=t,a.root.didUpdate(),ev.k.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:a}=this.props,{projection:i}=e;eb=!0,i&&(i.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(i),a&&a.deregister&&a.deregister(i))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}}
9function ex(e){let[t,a]=(0,ey.xQ)(),i=(0,ek.useContext)(ef.L);return(0,eh.jsx)(ej,{...e,layoutGroup:i,switchLayoutGroup:(0,ek.useContext)(eg.N),isPresent:t,safeToRemove:a})}var ew=a(58838),eS=a(40318),eN=a(17203),eA=a(36321),eP=a(25125),e_=a(78737),eC=a(73864),eM=a(78416),eL=a(21224),eE=a(69745),eI=a(57568);let eT=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],eV=eT.length,eO=e=>"string"==typeof e?parseFloat(e):e,eK=e=>"number"==typeof e||h.px.test(e);function eU(e,t){return void 0!==e[t]?e[t]:e.borderRadius}let eR=eB(0,.5,eI.yT),eD=eB(.5,.95,u.l);function eB(e,t,a){return i=>i<e?0:i>t?1:a((0,ee.q)(e,t,i))}function eH(e,t){e.min=t.min,e.max=t.max}function eF(e,t){eH(e.x,t.x),eH(e.y,t.y)}function ez(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var e$=a(14934);function eq(e,t,a,i,n){return e-=t,e=(0,e$.hq)(e,1/a,i),void 0!==n&&(e=(0,e$.hq)(e,1/n,i)),e}function eG(e,t,[a,i,n],s,o){!function(e,t=0,a=1,i=.5,n,s=e,o=e){if(h.KN.test(t)&&(t=parseFloat(t),t=(0,p.k)(o.min,o.max,t/100)-o.min),"number"!=typeof t)return;let r=(0,p.k)(s.min,s.max,i);e===s&&(r-=t),e.min=eq(e.min,t,a,r,n),e.max=eq(e.max,t,a,r,n)}(e,t[a],t[i],t[n],t.scale,s,o)}let eW=["x","scaleX","originX"],eY=["y","scaleY","originY"];function eJ(e,t,a,i){eG(e.x,t,eW,a?a.x:void 0,i?i.x:void 0),eG(e.y,t,eY,a?a.y:void 0,i?i.y:void 0)}function eQ(e){return 0===e.translate&&1===e.scale}function eX(e){return eQ(e.x)&&eQ(e.y)}function eZ(e,t){return e.min===t.min&&e.max===t.max}function e0(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function e1(e,t){return e0(e.x,t.x)&&e0(e.y,t.y)}function e2(e){return v(e.x)/v(e.y)}function e5(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}var e3=a(25684);class e4{constructor(){this.members=[]}add(e){(0,e3.Kq)(this.members,e);for(let t=this.members.length-1;t>=0;t--){let a=this.members[t];if(a===e||a===this.lead||a===this.prevLead)continue;let i=a.instance;i&&!1!==i.isConnected||a.snapshot||((0,e3.Ai)(this.members,a),a.unmount())}e.scheduleRender()}remove(e){if((0,e3.Ai)(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(!1!==e.isPresent&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let a=this.lead;if(e!==a&&(this.prevLead=a,this.lead=e,e.show(),a)){a.updateSnapshot(),e.scheduleRender();let{layoutDependency:i}=a.options,{layoutDependency:n}=e.options;(void 0===i||i!==n)&&(e.resumeFrom=a,t&&(a.preserveOpacity=!0),a.snapshot&&(e.snapshot=a.snapshot,e.snapshot.latestValues=a.animationValues||a.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),!1===e.options.crossfade&&a.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let e6=(e,t)=>e.depth-t.depth;class e8{constructor(){this.children=[],this.isDirty=!1}add(e){(0,e3.Kq)(this.children,e),this.isDirty=!0}remove(e){(0,e3.Ai)(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(e6),this.isDirty=!1,this.children.forEach(e)}}var e9=a(75157);let e7={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},te=["","X","Y","Z"],tt=0;function ta(e,t,a,i){let{latestValues:n}=t;n[e]&&(a[e]=n[e],t.setStaticValue(e,0),i&&(i[e]=0))}function ti({attachResizeListener:e,defaultParent:t,measureScroll:a,checkIsScrollRoot:i,resetTransform:n}){return class{constructor(e={},a=t?.()){this.id=tt++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,eL.Q.value&&(e7.nodes=e7.calculatedTargetDeltas=e7.calculatedProjections=0),this.nodes.forEac
9h(to),this.nodes.forEach(tv),this.nodes.forEach(tk),this.nodes.forEach(tr),eL.Q.addProjectionMetrics&&eL.Q.addProjectionMetrics(e7)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new e8)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new ew.v),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let a=this.eventHandlers.get(e);a&&a.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=C(t)&&!(C(t)&&"svg"===t.tagName),this.instance=t;let{layoutId:a,layout:i,visualElement:n}=this.options;if(n&&!n.current&&n.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(i||a)&&(this.isLayoutDirty=!0),e){let a,i=0,n=()=>this.root.updateBlockedByResize=!1;j.Gt.read(()=>{i=window.innerWidth}),e(t,()=>{let e=window.innerWidth;if(e!==i){let t,s;i=e,this.root.updateBlockedByResize=!0,a&&a(),t=e_.k.now(),s=({timestamp:e})=>{let a=e-t;a>=250&&((0,j.WG)(s),n())},j.Gt.setup(s,!0),a=()=>(0,j.WG)(s),ep.hasAnimatedSinceResize&&(ep.hasAnimatedSinceResize=!1,this.nodes.forEach(tp))}})}a&&this.root.registerSharedNode(a,this),!1!==this.options.animate&&n&&(a||i)&&this.addEventListener("didUpdate",({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:a,layout:i})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let s=this.options.transition||n.getDefaultTransition()||tx,{onLayoutAnimationStart:o,onLayoutAnimationComplete:r}=n.getProps(),l=!this.targetLayout||!e1(this.targetLayout,i),u=!t&&a;if(this.options.layoutRoot||this.resumeFrom||u||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...(0,eP.r)(s,"layout"),onPlay:o,onComplete:r};(n.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,u,t.path)}else t||tp(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=i})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),(0,j.WG)(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(ty),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function e(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;let{visualElement:a}=t.options;if(!a)return;let i=(0,eA.P)(a);if(window.MotionHasOptimisedAnimation(i,"transform")){let{layout:e,layoutId:a}=t.options;window.MotionCancelOptimisedAnimation(i,"transform",j.Gt,!(e||a))}let{parent:n}=t;n&&!n.hasCheckedOptimisedAppear&&e(n)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,("string"==typeof t.latestValues.x||"string"==typeof t.latestValues.y)&&(t.isLayoutDirty=!0),t.updateScroll("snapshot"),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:a}=this.options;if(void 0===t&&!a)return;let i=this.getTransformTemplate();this.prevTransformTemplateValue=i?i(this.latestValues,""):void 0,this.updateSnapshot(),e&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEac
9h(tm),this.nodes.forEach(tu);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(td);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(tc),this.nodes.forEach(th),this.nodes.forEach(tn),this.nodes.forEach(ts)):this.nodes.forEach(td),this.clearAllSnapshots();let e=e_.k.now();j.uv.delta=(0,et.q)(0,1e3/60,e-j.uv.timestamp),j.uv.timestamp=e,j.uv.isProcessing=!0,j.PP.update.process(j.uv),j.PP.preRender.process(j.uv),j.PP.render.process(j.uv),j.uv.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,ev.k.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(tl),this.sharedNodes.forEach(tf)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,j.Gt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){j.Gt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||v(this.snapshot.measuredBox.x)||v(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=(0,m.ge)()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify("LayoutMeasure",this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e="measure"){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=i(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:a(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!n)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!eX(this.projectionDelta),a=this.getTransformTemplate(),i=a?a(this.latestValues,""):void 0,s=i!==this.prevTransformTemplateValue;e&&this.instance&&(t||(0,e9.HD)(this.latestValues)||s)&&(n(this.instance,i),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){var t;let a=this.measurePageBox(),i=this.removeElementScroll(a);return e&&(i=this.removeTransform(i)),tN((t=i).x),tN(t.y),{animationId:this.root.animationId,measuredBox:a,layoutBox:i,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return(0,m.ge)();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(tP))){let{scroll:e}=this.root;e&&((0,e$.Ql)(t.x,e.offset.x),(0,e$.Ql)(t.y,e.offset.y))}return t}removeElementScroll(e){let t=(0,m.ge)();if(eF(t,e),this.scroll?.wasRoot)return t;for(let a=0;a<this.path.length;a++){let i=this.path[a],{scroll:n,options:s}=i;i!==this.root&&n&&s.layoutScroll&&(n.wasRoot&&eF(t,e),(0,e$.Ql)(t.x,n.offset.x),(0,e$.Ql)(t.y,n.offset.y))}return t}applyTransform(e,t=!1,a){let i=a||(0,m.ge)();eF(i,e);for(let e=0;e<this.path.length;e++){let a=this.path[e];!t&&a.options.layoutScroll&&a.scroll&&a!==a.root&&((0,e$.Ql)(i.x,-a.scroll.offset.x),(0,e$.Ql)(i.y,-a.scroll.offset.y)),(0,e9.HD)(a.latestValues)&&(0,e$.Ww)(i,a.latestValues,a.layout?.layoutBox)}return(0,e9.HD)(this.latestValues)&&(0,e$.Ww)(i,this.latestValues,this.layout?.layoutBox),i}removeTransform(e){let t=(0,m.ge)();eF(t,e);for(let e=0;e<this.path.length;e++){let a,i=this.path[e];(0,e9.HD)(i.latestValues)&&(i.instance&&((0,e9.vk)(i.latestValues)&&i.updateSnapshot(),eF(a=(0,m.ge)(),i.measurePageBox())),eJ(t,i.latestValues,i.snapshot?.layoutBox,a))}return(0,e9.HD)(this.latestValues)&&eJ(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:void 0===e.crossfade||e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==j.uv.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=t.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=t.
9isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=t.isSharedProjectionDirty);let a=!!this.resumingFrom||this!==t;if(!(e||a&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:i,layoutId:n}=this.options;if(!this.layout||!(i||n))return;this.resolvedRelativeTargetAt=j.uv.timestamp;let s=this.getClosestProjectingParent();if(s&&this.linkedParentVersion!==s.layoutVersion&&!s.options.layoutRoot&&this.removeRelativeTarget(),this.targetDelta||this.relativeTarget||(!1!==this.options.layoutAnchor&&s&&s.layout?this.createRelativeTarget(s,this.layout.layoutBox,s.layout.layoutBox):this.removeRelativeTarget()),this.relativeTarget||this.targetDelta){if(this.target||(this.target=(0,m.ge)(),this.targetWithTransforms=(0,m.ge)()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target){var o,r,l,u;this.forceRelativeParentToResolveTarget(),o=this.target,r=this.relativeTarget,l=this.relativeParent.target,u=this.options.layoutAnchor||void 0,f(o.x,r.x,l.x,u?.x),f(o.y,r.y,l.y,u?.y)}else this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):eF(this.target,this.layout.layoutBox),(0,e$.o4)(this.target,this.targetDelta)):eF(this.target,this.layout.layoutBox);this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,!1!==this.options.layoutAnchor&&s&&!!s.resumingFrom==!!this.resumingFrom&&!s.options.layoutScroll&&s.target&&1!==this.animationProgress?this.createRelativeTarget(s,this.target,s.target):this.relativeParent=this.relativeTarget=void 0),eL.Q.value&&e7.calculatedTargetDeltas++}}getClosestProjectingParent(){if(!(!this.parent||(0,e9.vk)(this.parent.latestValues)||(0,e9.vF)(this.parent.latestValues)))if(this.parent.isProjecting())return this.parent;else return this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,a){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=(0,m.ge)(),this.relativeTargetOrigin=(0,m.ge)(),b(this.relativeTargetOrigin,t,a,this.options.layoutAnchor||void 0),eF(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,a=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(a=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(a=!1),this.resolvedRelativeTargetAt===j.uv.timestamp&&(a=!1),a)return;let{layout:i,layoutId:n}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(i||n))return;eF(this.layoutCorrected,this.layout.layoutBox);let s=this.treeScale.x,o=this.treeScale.y;(0,e$.OU)(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=(0,m.ge)());let{target:r}=e;if(!r){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(ez(this.prevProjectionDelta.x,this.projectionDelta.x),ez(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),y(this.projectionDelta,this.layoutCorrected,r,this.latestValues),this.treeScale.x===s&&this.treeScale.y===o&&e5(this.projectionDelta.x,this.prevProjectionDelta.x)&&e5(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",r)),eL.Q.value&&e7.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=(0,m.xU)(),this.projectionDelta=(0,m.xU)(),this.projectionDeltaWithTransform=(0,m.xU)()}setAnimationOrigin(e,t=!1,a){let i,n=this.snapshot,s=n?n.latestValues:{},o={...this.latestValues},r=(0,m.xU)();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let l=(0,m.ge)(),u=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),d=this.getStack(),c=!d||d.members.length<=1,v=!!(u&&!c&&!0===this.options.crossfade&&!this.path.some(tj));this.animationProgress=0;let k=a?.interpolateProjection(e);this.mixTargetDelta=t=>{let a=t/1e3,n=k?.(a);if(n?(r.x.translate=n.x,r.x.scale=(0,p.k)(e.x.scale,1,a),r.x.origin=e.x.origin,r.x.originPoint=e.x.originPoint,r.y.translate=n.y,r.
9y.scale=(0,p.k)(e.y.scale,1,a),r.y.origin=e.y.origin,r.y.originPoint=e.y.originPoint):(tg(r.x,e.x,a),tg(r.y,e.y,a)),this.setTargetDelta(r),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var d,y,f,g,j,x;b(l,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),f=this.relativeTarget,g=this.relativeTargetOrigin,j=l,x=a,tb(f.x,g.x,j.x,x),tb(f.y,g.y,j.y,x),i&&(d=this.relativeTarget,y=i,eZ(d.x,y.x)&&eZ(d.y,y.y))&&(this.isProjectionDirty=!1),i||(i=(0,m.ge)()),eF(i,this.relativeTarget)}u&&(this.animationValues=o,function(e,t,a,i,n,s){n?(e.opacity=(0,p.k)(0,a.opacity??1,eR(i)),e.opacityExit=(0,p.k)(t.opacity??1,0,eD(i))):s&&(e.opacity=(0,p.k)(t.opacity??1,a.opacity??1,i));for(let n=0;n<eV;n++){let s=eT[n],o=eU(t,s),r=eU(a,s);(void 0!==o||void 0!==r)&&(o||(o=0),r||(r=0),0===o||0===r||eK(o)===eK(r)?(e[s]=Math.max((0,p.k)(eO(o),eO(r),i),0),(h.KN.test(r)||h.KN.test(o))&&(e[s]+="%")):e[s]=r)}(t.rotate||a.rotate)&&(e.rotate=(0,p.k)(t.rotate||0,a.rotate||0,i))}(o,s,this.latestValues,a,v,c)),n&&void 0!==n.rotate&&(this.animationValues||(this.animationValues=o),this.animationValues.pathRotation=n.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=a},this.mixTargetDelta(1e3*!!this.options.layoutRoot)}startAnimation(e){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&((0,j.WG)(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=j.Gt.update(()=>{var t,a,i;let n;ep.hasAnimatedSinceResize=!0,eM.q.layout++,this.motionValue||(this.motionValue=(0,eS.OQ)(0)),this.motionValue.jump(0,!1),this.currentAnimation=(t=this.motionValue,a=[0,1e3],i={...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{eM.q.layout--},onComplete:()=>{eM.q.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}},(n=(0,eN.S)(t)?t:(0,eS.OQ)(t)).start((0,N.f)("",n,a,i)),n.animation),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:a,layout:i,latestValues:n}=e;if(t&&a&&i){if(this!==e&&this.layout&&i&&tA(this.options.animationType,this.layout.layoutBox,i.layoutBox)){a=this.target||(0,m.ge)();let t=v(this.layout.layoutBox.x);a.x.min=e.target.x.min,a.x.max=a.x.min+t;let i=v(this.layout.layoutBox.y);a.y.min=e.target.y.min,a.y.max=a.y.min+i}eF(t,a),(0,e$.Ww)(t,n),y(this.projectionDeltaWithTransform,this.layoutCorrected,t,n)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new e4),this.sharedNodes.get(e).add(t);let a=t.options.initialPromotionConfig;t.promote({transition:a?a.transition:void 0,preserveFollowOpacity:a&&a.shouldPreserveFollowOpacity?a.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return!e||e.lead===this}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:a}={}){let i=this.getStack();i&&i.promote(this,a),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:a}=e;if((a.z||a.rotate||a.rotateX||a.rotateY||a.rotateZ||a.skewX||a.skewY)&&(t=!0),!t)return;let i={};a.z&&ta("z",e,i,this.animationValues);for(let t=0;t<te.length;t++)ta(`rotate${te[t]}`,e,i,this.animationValues),ta(`skew${te[t]}`,e,i,this.animationValues);for(let t in e.render(),i)e.setStaticValue(t,i[t]),this.animationValues&&(this.animationValues[t]=i[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility="hidden";return}let a=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility="",e.opacity="",e.pointerEvents=(0,eE.u)(t?.pointerEvents)||"",e.transform=a?a(this.latestValues,""):"none";return}let i=this.getLead();if(!this.projectionDelta||!this.layout||!i.target){this.options.layoutId&&(e.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,e.pointerEvents=(0,eE.u)(t?.pointerEvents)||""),this.hasProjected&&!(0,e9.HD)(this.latestValues)&&(e.transform=a?a({},""):"none",this.hasProjected=!1);return}e.visibility="";let n=i.animationValues||i.latestValues;this.applyTransformsToTarget();let s=function(e,t,a){let i="",n=e.x.translate/t.x,s=e.y.translate/t.y,o=a?.z||0;if((n||s||o)&&(i=`translate3d(${n}px, ${s}px, ${o}px) `),(1!==t.x||1!==t.y)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),a){let{transformPerspective:e,rotate:t,pathRotation:n,rotateX:s,rotateY:o,skewX:r,skewY:l}=a;e&&(i=`perspective(${e}px) ${i}`),t&&(i+=`rotate(${t}deg) `),n&&(i+=`rotate(${n}deg) `),s&&(i+=`rotateX(${s}deg) `),o&&(i+=`rotateY(${o}deg) `),r&&(i+=`skewX(${r}deg) `),l&&(i+=`skewY(${l}deg) `)}let r=e.x.scale*t.x,l=e.y.scale*t.y;return(1!==r||1!==l)&&(i+=`scale(${r}, ${l})`),i||"none"}(this.projectionDeltaWithTransform,this.treeScale,n);a&&(s=a(n,s)),e.transform=s;let{x:o,y:r}=this.projectionDelta;for(let t in e.transformOrigin=`${100*o.origin}% ${100*r.origin}% 0`,i.animationValues?e.opacity=i===this?n.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:n.opacityExit:e.opacity=i===this?void 0!==n.opacity?n.opacity:"":void 0!==n.opacityExit?n.opacityExit:0,eC.H){if(void 0===n[t])continue;let{correct:a,applyTo:o,isCSSVariable:r}=eC.H[t],l="none"===s?n[t]:a(n[t],i);
9if(o){let t=o.length;for(let a=0;a<t;a++)e[o[a]]=l}else r?this.options.visualElement.renderState.vars[t]=l:e[t]=l}this.options.layoutId&&(e.pointerEvents=i===this?(0,eE.u)(t?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(tu),this.root.sharedNodes.clear()}}}function tn(e){e.updateLayout()}function ts(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){let{layoutBox:a,measuredBox:i}=e.layout,{animationType:n}=e.options,s=t.source!==e.layout.source;if("size"===n)c(e=>{let i=s?t.measuredBox[e]:t.layoutBox[e],n=v(i);i.min=a[e].min,i.max=i.min+n});else if("x"===n||"y"===n){let e="x"===n?"y":"x";eH(s?t.measuredBox[e]:t.layoutBox[e],a[e])}else tA(n,t.layoutBox,a)&&c(i=>{let n=s?t.measuredBox[i]:t.layoutBox[i],o=v(a[i]);n.max=n.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[i].max=e.relativeTarget[i].min+o)});let o=(0,m.xU)();y(o,a,t.layoutBox);let r=(0,m.xU)();s?y(r,e.applyTransform(i,!0),t.measuredBox):y(r,a,t.layoutBox);let l=!eX(o),u=!1;if(!e.resumeFrom){let i=e.getClosestProjectingParent();if(i&&!i.resumeFrom){let{snapshot:n,layout:s}=i;if(n&&s){let o=e.options.layoutAnchor||void 0,r=(0,m.ge)();b(r,t.layoutBox,n.layoutBox,o);let l=(0,m.ge)();b(l,a,s.layoutBox,o),e1(r,l)||(u=!0),i.options.layoutRoot&&(e.relativeTarget=l,e.relativeTargetOrigin=r,e.relativeParent=i)}}}e.notifyListeners("didUpdate",{layout:a,snapshot:t,delta:r,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function to(e){eL.Q.value&&e7.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function tr(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function tl(e){e.clearSnapshot()}function tu(e){e.clearMeasurements()}function tm(e){e.isLayoutDirty=!0,e.updateLayout()}function td(e){e.isLayoutDirty=!1}function tc(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function th(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function tp(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function tv(e){e.resolveTargetDelta()}function tk(e){e.calcProjection()}function ty(e){e.resetSkewAndRotation()}function tf(e){e.removeLeadSnapshot()}function tg(e,t,a){e.translate=(0,p.k)(t.translate,0,a),e.scale=(0,p.k)(t.scale,1,a),e.origin=t.origin,e.originPoint=t.originPoint}function tb(e,t,a,i){e.min=(0,p.k)(t.min,a.min,i),e.max=(0,p.k)(t.max,a.max,i)}function tj(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}let tx={duration:.45,ease:[.4,0,.1,1]},tw=e=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),tS=tw("applewebkit/")&&!tw("chrome/")?Math.round:u.l;function tN(e){e.min=tS(e.min),e.max=tS(e.max)}function tA(e,t,a){return"position"===e||"preserve-aspect"===e&&!(.2>=Math.abs(e2(t)-e2(a)))}function tP(e){return e!==e.root&&e.scroll?.wasRoot}let t_=ti({attachResizeListener:(e,t)=>(0,P.k)(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),tC={current:void 0},tM=ti({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!tC.current){let e=new t_({});e.mount(window),e.setOptions({layoutScroll:!0}),tC.current=e}return tC.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>"fixed"===window.getComputedStyle(e).position});var tL=a(65024);let tE={...r.W,...tL.n,pan:{Feature:ec},drag:{Feature:em,ProjectionNode:tM,MeasureLayout:ex},layout:{ProjectionNode:tM,MeasureLayout:ex}},tI=(0,o.H)(tE,s.J)},50515:(e,t,a)=>{var i=a(33573),n=a(3619);e.exports=function(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==i(e)}},50874:(e,t,a)=>{e.exports=a(54703)(a(45516),"Map")},50891:(e,t,a)=>{"use strict";a.d(t,{Gt:()=>n,PP:()=>r,WG:()=>s,uv:()=>o});var i=a(15315);let{schedule:n,cancel:s,state:o,steps:r}=(0,a(86246).I)("u">typeof requestAnimationFrame?requestAnimationFrame:i.l,!0)},50944:e=>{e.exports={baseContainer:"CandidateInfo_baseContainer__ADbJT"}},50956:(e,t,a)=>{var i=a(34024);e.exports=a(10656)(i)},51803:(e,t,a)=>{"use strict";a.d(t,{f:()=>i});let i=(e,t)=>t?1e3/t*e:0},52182:(e,t,a)=>{var i=a(36592);e.exports=function(e){var t=this.__data__,a=i(t,e);return a<0?void 0:t[a][1]}},52904:e=>{e.exports={rowContainer:"CandidateQuestion_rowContainer__aUrYL",columnContainer:"CandidateQuestion_columnContainer__PbI_R",styledText:"CandidateQuestion_styledText__f36ll"}},53140:(e,t,a)=>
9{var i=a(64593),n=a(50874),s=a(9929),o=a(31736),r=a(24490),l=a(33573),u=a(99048),m="[object Map]",d="[object Promise]",c="[object Set]",h="[object WeakMap]",p="[object DataView]",v=u(i),k=u(n),y=u(s),f=u(o),g=u(r),b=l;(i&&b(new i(new ArrayBuffer(1)))!=p||n&&b(new n)!=m||s&&b(s.resolve())!=d||o&&b(new o)!=c||r&&b(new r)!=h)&&(b=function(e){var t=l(e),a="[object Object]"==t?e.constructor:void 0,i=a?u(a):"";if(i)switch(i){case v:return p;case k:return m;case y:return d;case f:return c;case g:return h}return t}),e.exports=b},53325:(e,t,a)=>{var i=a(1278);e.exports=function(e,t,a){"__proto__"==t&&i?i(e,t,{configurable:!0,enumerable:!0,value:a,writable:!0}):e[t]=a}},53499:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var i=a(6029),n=a(34258),s=a.n(n),o=a(55729);let r=e=>{let{"aria-hidden":t=!0,className:a,name:n,size:r,strokeWidth:l=2,stroke:u="currentColor",fill:m="none",...d}=e,c=(0,o.useMemo)(()=>s().icons[n],[n]);return void 0===c?null:(0,i.jsx)("svg",{...d,"aria-hidden":t,className:a,dangerouslySetInnerHTML:{__html:c.contents},fill:m,stroke:u,height:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:l,viewBox:"0 0 24 24",width:r,xmlns:"http://www.w3.org/2000/svg"})}},53709:e=>{e.exports={md:"min-width: 768px",percentageContainer:"CandidateProfile_percentageContainer___HGFQ",userContainer:"CandidateProfile_userContainer__LnFEt"}},54026:(e,t,a)=>{"use strict";a.d(t,{i:()=>i});let i=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e)},54386:(e,t,a)=>{"use strict";a.d(t,{A:()=>function e(){var t,a=(function(){var e,t,a,i,n,s,o=eo,r=eo,l=function e(t,a){var i,n,s=typeof a;return null==a||"boolean"===s?Q(a):("number"===s?et:"string"===s?(n=T(a))?(a=n,Z):function(e,t){var a,i,n,s,o,r=ea.lastIndex=ei.lastIndex=0,l=-1,u=[],m=[];for(e+="",t+="";(n=ea.exec(e))&&(s=ei.exec(t));)(o=s.index)>r&&(o=t.slice(r,o),u[l]?u[l]+=o:u[++l]=o),(n=n[0])===(s=s[0])?u[l]?u[l]+=s:u[++l]=s:(u[++l]=null,m.push({i:l,x:et(n,s)})),r=ei.lastIndex;return r<t.length&&(o=t.slice(r),u[l]?u[l]+=o:u[++l]=o),u.length<2?m[0]?(a=m[0].x,function(e){return a(e)+""}):(i=t,function(){return i}):(t=m.length,function(e){for(var a,i=0;i<t;++i)u[(a=m[i]).i]=a.x(e);return u.join("")})}:a instanceof T?Z:a instanceof Date?function(e,t){var a=new Date;return e*=1,t*=1,function(i){return a.setTime(e*(1-i)+t*i),a}}:!ArrayBuffer.isView(i=a)||i instanceof DataView?Array.isArray(a)?function(t,a){var i,n=a?a.length:0,s=t?Math.min(n,t.length):0,o=Array(s),r=Array(n);for(i=0;i<s;++i)o[i]=e(t[i],a[i]);for(;i<n;++i)r[i]=a[i];return function(e){for(i=0;i<s;++i)r[i]=o[i](e);return r}}:"function"!=typeof a.valueOf&&"function"!=typeof a.toString||isNaN(a)?function(t,a){var i,n={},s={};for(i in(null===t||"object"!=typeof t)&&(t={}),(null===a||"object"!=typeof a)&&(a={}),a)i in t?n[i]=e(t[i],a[i]):s[i]=a[i];return function(e){for(i in n)s[i]=n[i](e);return s}}:et:function(e,t){t||(t=[]);var a,i=e?Math.min(t.length,e.length):0,n=t.slice();return function(s){for(a=0;a<i;++a)n[a]=e[a]*(1-s)+t[a]*s;return n}})(t,a)},u=er;function m(){var e,t,a,l=Math.min(o.length,r.length);return u!==er&&(e=o[0],t=o[l-1],e>t&&(a=e,e=t,t=a),u=function(a){return Math.max(e,Math.min(t,a))}),i=l>2?em:eu,n=s=null,d}function d(t){return null==t||isNaN(t*=1)?a:(n||(n=i(o.map(e),r,l)))(e(u(t)))}return d.invert=function(a){return u(t((s||(s=i(r,o.map(e),et)))(a)))},d.domain=function(e){return arguments.length?(o=Array.from(e,es),m()):o.slice()},d.range=function(e){return arguments.length?(r=Array.from(e),m()):r.slice()},d.rangeRound=function(e){return r=Array.from(e),l=en,m()},d.clamp=function(e){return arguments.length?(u=!!e||er,m()):u!==er},d.interpolate=function(e){return arguments.length?(l=e,m()):l},d.unknown=function(e){return arguments.length?(a=e,d):a},function(a,i){return e=a,t=i,m()}})()(er,er);return a.copy=function(){return e().domain(a.domain()).range(a.range()).interpolate(a.interpolate()).clamp(a.clamp()).unknown(a.unknown())},ed.apply(a,arguments),t=a.domain,a.ticks=function(e){var a=t();return function(e,t,a){if(t*=1,e*=1,!((a*=1)>0))return[];if(e===t)return[e];let i=t<e,[n,s,r]=i?o(t,e,a):o(e,t,a);if(!(s>=n))return[];let l=s-n+1,u=Array(l);if(i)if(r<0)for(let e=0;e<l;++e)u[e]=-((s-e)/r);else for(let e=0;e<l;++e)u[e]=(s-e)*r;else if(r<0)for(let e=0;e<l;++e)u[e]=-((n+e)/r);else for(let e=0;e<l;++e)u[e]=(n+e)*r;return u}(a[0],a[a.length-1],null==e?10:e)},a.tickFormat=function(e,a){var i=t();return function(e,t,a,i){let n,s;var o,l,u,m,d,c=(l=e,u=+t,l*=1,m=+a,s=(n=u<l)?r(u,l,m):r(l,u,m),(n?-1:1)*(s<0?-(1/s):s));switch((i=eh(null==i?",f":i)).type){case"s":var h=Math.max(Math.abs(e),Math.abs(t));return null!=i.precision||isNaN(d=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ek(h)/3)))-ek(Math.abs(c))))||(i.precision=d),b(i,h);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(d=Math.max(0,ek(Math.abs(Math.max(Math.abs(e),Math.abs(t)))-(o=Math.abs(o=c)))-ek(o)
9)+1)||(i.precision=d-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(d=Math.max(0,-ek(Math.abs(c))))||(i.precision=d-("%"===i.type)*2)}return g(i)}(i[0],i[i.length-1],null==e?10:e,a)},a.nice=function(e){null==e&&(e=10);var i,n,s=t(),o=0,l=s.length-1,u=s[o],m=s[l],d=10;for(m<u&&(n=u,u=m,m=n,n=o,o=l,l=n);d-- >0;){if((n=r(u,m,e))===i)return s[o]=u,s[l]=m,t(s);if(n>0)u=Math.floor(u/n)*n,m=Math.ceil(m/n)*n;else if(n<0)u=Math.ceil(u*n)/n,m=Math.floor(m*n)/n;else break;i=n}return a},a}});let i=Math.sqrt(50),n=Math.sqrt(10),s=Math.sqrt(2);function o(e,t,a){let r,l,u,m=(t-e)/Math.max(0,a),d=Math.floor(Math.log10(m)),c=m/Math.pow(10,d),h=c>=i?10:c>=n?5:c>=s?2:1;return(d<0?(r=Math.round(e*(u=Math.pow(10,-d)/h)),l=Math.round(t*u),r/u<e&&++r,l/u>t&&--l,u=-u):(r=Math.round(e/(u=Math.pow(10,d)*h)),l=Math.round(t/u),r*u<e&&++r,l*u>t&&--l),l<r&&.5<=a&&a<2)?o(e,t,2*a):[r,l,u]}function r(e,t,a){return o(e*=1,t*=1,a*=1)[2]}function l(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function u(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function m(e){let t,a,i;function n(e,i,s=0,o=e.length){if(s<o){if(0!==t(i,i))return o;do{let t=s+o>>>1;0>a(e[t],i)?s=t+1:o=t}while(s<o)}return s}return 2!==e.length?(t=l,a=(t,a)=>l(e(t),a),i=(t,a)=>e(t)-a):(t=e===l||e===u?e:d,a=e,i=e),{left:n,center:function(e,t,a=0,s=e.length){let o=n(e,t,a,s-1);return o>a&&i(e[o-1],t)>-i(e[o],t)?o-1:o},right:function(e,i,n=0,s=e.length){if(n<s){if(0!==t(i,i))return s;do{let t=n+s>>>1;0>=a(e[t],i)?n=t+1:s=t}while(n<s)}return n}}}function d(){return 0}let c=m(l),h=c.right;function p(e,t,a){e.prototype=t.prototype=a,a.constructor=e}function v(e,t){var a=Object.create(e.prototype);for(var i in t)a[i]=t[i];return a}function k(){}c.left,m(function(e){return null===e?NaN:+e}).center;var y,f,g,b,j="\\s*([+-]?\\d+)\\s*",x="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",w="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",S=/^#([0-9a-f]{3,8})$/,N=RegExp(`^rgb\\(${j},${j},${j}\\)$`),A=RegExp(`^rgb\\(${w},${w},${w}\\)$`),P=RegExp(`^rgba\\(${j},${j},${j},${x}\\)$`),_=RegExp(`^rgba\\(${w},${w},${w},${x}\\)$`),C=RegExp(`^hsl\\(${x},${w},${w}\\)$`),M=RegExp(`^hsla\\(${x},${w},${w},${x}\\)$`),L={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function E(){return this.rgb().formatHex()}function I(){return this.rgb().formatRgb()}function T(e){var t,a;return e=(e+"").trim().toLowerCase(),(t=S.exec(e))?(a=t[1].length,t=parseInt(t[1],16),6===a?V(t):3===a?new U(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===a?O(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===a?O(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=N.exec(e))?new U(t[1],t[2],t[3],1):(t=A.exec(e))?new U(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=P.exec(e))?O(t[1],t[2],t[3],t[4]):(t=_.exec(e))?O(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=C.exec(e))?z(t[1],t[2]/100,t[3]/100,1):(t=M.exec(e))?z(t[1],t[2]/100,t[3]/100,t[4]):L.hasOwnProperty(e)?V(L[e]):"transparent"===e?new U(NaN,NaN,NaN,0):null}function V(e){return new U(e>>16&255,e>>8&255,255&e,1)}function O(e,t,a,i){return i<=0&&(e=t=a=NaN),new U(e,t,a,i)}function K(e,t,a,i){var n;return 1==arguments.length?((n=e)instanceof k||(n=T(n)),n)?new U((n=n.rgb()).r,n.g,n.b,n.opacity):new U:new U(e,t,a,null==i?1:i)}function U(e,t,a,i){this.r=+e,this.g=+t,this.b=+a,this.opacity=+i}function R(){return`#${F(this.r)}${F(this.g)}${F(this.b)}`}function D(){let e=B(this.opacity);return`${1===e?"rgb(":"rgba("}${H(this.r)}, ${H(this.g)}, ${H(this.b)}${1===e?")":`, ${e})`}`}function B(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function H(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function F(e){return((e=H(e))<16?"0":"")+e.toString(16)}function z(e,t,a,i){return i<=0?e=t=a=NaN:a<=0||a>=1?e=t=NaN:t<=0&&(e=NaN),new q(e,t,a,i)}function $(e){if(e instanceof q)return new q(e.h,e.s,e.l,e.opacity);if(e instanceof k||(e=T(e)),!e)return new q;if(e instanceof q)return e;var t=(e=e.rgb()).r/255,a=e.g/255,i=e.b/255,n=Math.min(t,a,i),s=Math.max(t,a,i),o=NaN,r=s-n,l=(s+n)/2;return r?(o=t===s?(a-i)/r+(a<i)*6:a===s?(i-t)/r+2:(t-a)/r+4,r/=l<.5?s+n:2-s-n,o*=60):r=l>0&&l<1?0:o,new q(o,r,l,e.opacity)}function q(e,t,a,i){this.h=+e,this.s=+t,this.l=+a,this.opacity=+i}function G(e){return(e=(e||0)%360)<0?e+360:e}function W(e){return Math.max(0,Math.min(1,e||0))}function Y(e,t,a){return(e<60?t+(a-t)*e/60:e<180?a:e<240?t+(a-t)*(240-e)/60:t)*255}function J(e,t,a,i,n){var s=e*e,o=s*e;return((1-3*e+3*s-o)*t+(4-6*s+3*o)*a+(1+3*e+3*s-3*o)*i+o*n)/6}p(k,T,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:E,formatHex:E,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return $(this).formatHsl()},formatRgb:I,toString:I}
9),p(U,K,v(k,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new U(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new U(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new U(H(this.r),H(this.g),H(this.b),B(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:R,formatHex:R,formatHex8:function(){return`#${F(this.r)}${F(this.g)}${F(this.b)}${F((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:D,toString:D})),p(q,function(e,t,a,i){return 1==arguments.length?$(e):new q(e,t,a,null==i?1:i)},v(k,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new q(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new q(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,a=this.l,i=a+(a<.5?a:1-a)*t,n=2*a-i;return new U(Y(e>=240?e-240:e+120,n,i),Y(e,n,i),Y(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new q(G(this.h),W(this.s),W(this.l),B(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=B(this.opacity);return`${1===e?"hsl(":"hsla("}${G(this.h)}, ${100*W(this.s)}%, ${100*W(this.l)}%${1===e?")":`, ${e})`}`}}));let Q=e=>()=>e;function X(e,t){var a=t-e;return a?function(t){return e+t*a}:Q(isNaN(e)?t:e)}let Z=function e(t){var a,i=1==(a=+t)?X:function(e,t){var i,n,s;return t-e?(i=e,n=t,i=Math.pow(i,s=a),n=Math.pow(n,s)-i,s=1/s,function(e){return Math.pow(i+e*n,s)}):Q(isNaN(e)?t:e)};function n(e,t){var a=i((e=K(e)).r,(t=K(t)).r),n=i(e.g,t.g),s=i(e.b,t.b),o=X(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=s(t),e.opacity=o(t),e+""}}return n.gamma=e,n}(1);function ee(e){return function(t){var a,i,n=t.length,s=Array(n),o=Array(n),r=Array(n);for(a=0;a<n;++a)i=K(t[a]),s[a]=i.r||0,o[a]=i.g||0,r[a]=i.b||0;return s=e(s),o=e(o),r=e(r),i.opacity=1,function(e){return i.r=s(e),i.g=o(e),i.b=r(e),i+""}}}function et(e,t){return e*=1,t*=1,function(a){return e*(1-a)+t*a}}ee(function(e){var t=e.length-1;return function(a){var i=a<=0?a=0:a>=1?(a=1,t-1):Math.floor(a*t),n=e[i],s=e[i+1],o=i>0?e[i-1]:2*n-s,r=i<t-1?e[i+2]:2*s-n;return J((a-i/t)*t,o,n,s,r)}}),ee(function(e){var t=e.length;return function(a){var i=Math.floor(((a%=1)<0?++a:a)*t),n=e[(i+t-1)%t],s=e[i%t],o=e[(i+1)%t],r=e[(i+2)%t];return J((a-i/t)*t,n,s,o,r)}});var ea=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ei=RegExp(ea.source,"g");function en(e,t){return e*=1,t*=1,function(a){return Math.round(e*(1-a)+t*a)}}function es(e){return+e}var eo=[0,1];function er(e){return e}function el(e,t){var a;return(t-=e*=1)?function(a){return(a-e)/t}:(a=isNaN(t)?NaN:.5,function(){return a})}function eu(e,t,a){var i=e[0],n=e[1],s=t[0],o=t[1];return n<i?(i=el(n,i),s=a(o,s)):(i=el(i,n),s=a(s,o)),function(e){return s(i(e))}}function em(e,t,a){var i=Math.min(e.length,t.length)-1,n=Array(i),s=Array(i),o=-1;for(e[i]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<i;)n[o]=el(e[o],e[o+1]),s[o]=a(t[o],t[o+1]);return function(t){var a=h(e,t,1,i)-1;return s[a](n[a](t))}}function ed(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ec=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eh(e){var t;if(!(t=ec.exec(e)))throw Error("invalid format: "+e);return new ep({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function ep(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ev(e,t){if(!isFinite(e)||0===e)return null;var a=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),i=e.slice(0,a);return[i.length>
91?i[0]+i.slice(2):i,+e.slice(a+1)]}function ek(e){return(e=ev(Math.abs(e)))?e[1]:NaN}function ey(e,t){var a=ev(e,t);if(!a)return e+"";var i=a[0],n=a[1];return n<0?"0."+Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+Array(n-i.length+2).join("0")}eh.prototype=ep.prototype,ep.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};let ef={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ey(100*e,t),r:ey,s:function(e,t){var a=ev(e,t);if(!a)return y=void 0,e.toPrecision(t);var i=a[0],n=a[1],s=n-(y=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,o=i.length;return s===o?i:s>o?i+Array(s-o+1).join("0"):s>0?i.slice(0,s)+"."+i.slice(s):"0."+Array(1-s).join("0")+ev(e,Math.max(0,t+s-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function eg(e){return e}var eb=Array.prototype.map,ej=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];g=(f=function(e){var t,a,i,n=void 0===e.grouping||void 0===e.thousands?eg:(t=eb.call(e.grouping,Number),a=e.thousands+"",function(e,i){for(var n=e.length,s=[],o=0,r=t[0],l=0;n>0&&r>0&&(l+r+1>i&&(r=Math.max(1,i-l)),s.push(e.substring(n-=r,n+r)),!((l+=r+1)>i));)r=t[o=(o+1)%t.length];return s.reverse().join(a)}),s=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",r=void 0===e.decimal?".":e.decimal+"",l=void 0===e.numerals?eg:(i=eb.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return i[+e]})}),u=void 0===e.percent?"%":e.percent+"",m=void 0===e.minus?"−":e.minus+"",d=void 0===e.nan?"NaN":e.nan+"";function c(e,t){var a=(e=eh(e)).fill,i=e.align,c=e.sign,h=e.symbol,p=e.zero,v=e.width,k=e.comma,f=e.precision,g=e.trim,b=e.type;"n"===b?(k=!0,b="g"):ef[b]||(void 0===f&&(f=12),g=!0,b="g"),(p||"0"===a&&"="===i)&&(p=!0,a="0",i="=");var j=(t&&void 0!==t.prefix?t.prefix:"")+("$"===h?s:"#"===h&&/[boxX]/.test(b)?"0"+b.toLowerCase():""),x=("$"===h?o:/[%p]/.test(b)?u:"")+(t&&void 0!==t.suffix?t.suffix:""),w=ef[b],S=/[defgprs%]/.test(b);function N(e){var t,s,o,u=j,h=x;if("c"===b)h=w(e)+h,e="";else{var N=(e*=1)<0||1/e<0;
9if(e=isNaN(e)?d:w(Math.abs(e),f),g&&(e=function(e){t:for(var t,a=e.length,i=1,n=-1;i<a;++i)switch(e[i]){case".":n=t=i;break;case"0":0===n&&(n=i),t=i;break;default:if(!+e[i])break t;n>0&&(n=0)}return n>0?e.slice(0,n)+e.slice(t+1):e}(e)),N&&0==+e&&"+"!==c&&(N=!1),u=(N?"("===c?c:m:"-"===c||"("===c?"":c)+u,h=("s"!==b||isNaN(e)||void 0===y?"":ej[8+y/3])+h+(N&&"("===c?")":""),S){for(t=-1,s=e.length;++t<s;)if(48>(o=e.charCodeAt(t))||o>57){h=(46===o?r+e.slice(t+1):e.slice(t))+h,e=e.slice(0,t);break}}}k&&!p&&(e=n(e,1/0));var A=u.length+e.length+h.length,P=A<v?Array(v-A+1).join(a):"";switch(k&&p&&(e=n(P+e,P.length?v-h.length:1/0),P=""),i){case"<":e=u+e+h+P;break;case"=":e=u+P+e+h;break;case"^":e=P.slice(0,A=P.length>>1)+u+e+h+P.slice(A);break;default:e=P+u+e+h}return l(e)}return f=void 0===f?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),N.toString=function(){return e+""},N}return{format:c,formatPrefix:function(e,t){var a=3*Math.max(-8,Math.min(8,Math.floor(ek(t)/3))),i=Math.pow(10,-a),n=c(((e=eh(e)).type="f",e),{suffix:ej[8+a/3]});return function(e){return n(i*e)}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,b=f.formatPrefix},54703:(e,t,a)=>{var i=a(66046),n=a(72053);e.exports=function(e,t){var a=n(e,t);return i(a)?a:void 0}},54908:e=>{e.exports={errorTextRoot:"ErrorText_errorTextRoot__eakHH",visible:"ErrorText_visible__a_sGZ"}},55144:e=>{e.exports={md:"min-width: 768px",answerBrowserContainer:"answerBrowserComponents_answerBrowserContainer__jap4j",questionContent:"answerBrowserComponents_questionContent__wJ6gz",optionContainer:"answerBrowserComponents_optionContainer___I0YV"}},55220:(e,t,a)=>{"use strict";a.d(t,{G:()=>i});let i=e=>t=>1-e(1-t)},55765:(e,t,a)=>{var i=a(33276);function n(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var a=function(){var i=arguments,n=t?t.apply(this,i):i[0],s=a.cache;if(s.has(n))return s.get(n);var o=e.apply(this,i);return a.cache=s.set(n,o)||s,o};return a.cache=new(n.Cache||i),a}n.Cache=i,e.exports=n},55814:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var i=a(6029),n=a(44322),s=a(59362),o=a(68095),r=a.n(o);let l=e=>{let{relatedArticles:t}=e;return(0,i.jsx)(s.Xy,{className:r().root,children:t.map(e=>(0,i.jsx)(s.ck,{style:{marginBottom:0},children:(0,i.jsx)(n.A,{date:e.date,image:e.image,title:e.title,source:(e=>{var t,a,i;if(null==(t=e.alternativeSource)||!t.hide)return(null==(a=e.alternativeSource)?void 0:a.text)||e.brand?null==(i=e.brand)?void 0:i.toUpperCase():""})(e),href:e.url})},e.url))})}},56046:(e,t,a)=>{"use strict";a.d(t,{L:()=>o});var i=a(35388),n=a(85711),s=a(42177);let o=async(e,t)=>await (0,i.$Y)((0,i.Bx)(n.L1),"".concat(s.t,"/partyConfig?electionId=").concat(e),{headers:t})},56061:(e,t,a)=>{"use strict";a.d(t,{B:()=>r});var i=a(64698);let n={offset:"stroke-dashoffset",array:"stroke-dasharray"},s={offset:"strokeDashoffset",array:"strokeDasharray"},o=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function r(e,{attrX:t,attrY:a,attrScale:l,pathLength:u,pathSpacing:m=1,pathOffset:d=0,...c},h,p,v){if((0,i.O)(e,c,p),h){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:k,style:y}=e;for(let e of(k.transform&&(y.transform=k.transform,delete k.transform),(y.transform||k.transformOrigin)&&(y.transformOrigin=k.transformOrigin??"50% 50%",delete k.transformOrigin),y.transform&&(y.transformBox=v?.transformBox??"fill-box",delete k.transformBox),o))void 0!==k[e]&&(y[e]=k[e],delete k[e]);void 0!==t&&(k.x=t),void 0!==a&&(k.y=a),void 0!==l&&(k.scale=l),void 0!==u&&function(e,t,a=1,i=0,o=!0){e.pathLength=1;let r=o?n:s;e[r.offset]=`${-i}`,e[r.array]=`${t} ${a}`}(k,u,m,d,!1)}},56475:(e,t,a)=>{"use strict";a.d(t,{n:()=>i});let i="data-"+(0,a(78777).I)("framerAppearId")},56995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var i=a(6029),n=a(87500),s=a(55729),o=a(35388),r=a(94103),l=a(74969),u=a(20541),m=a(33972),d=a(55814),c=a(63390),h=a(15996),p=a.n(h);let v=e=>{let{initialOpen:t=!1,relatedArticles:a,text:h,sendAnalyticsEvent:v,service:k,electionId:y,brand:f}
9=e,g=(0,o.N$)(n.f.md),[b,j]=(0,s.useState)(t);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.QW,{size:"small","aria-controls":"background-information","aria-expanded":b,alignIcon:"left",icon:(0,i.jsx)(u.A,{name:b?"x-circle":"info",size:24,strokeWidth:2}),onClick:()=>{v&&v("election_info",y,f,k,"",b?"dismiss":"show"),j(e=>!e)},children:b?"Sulje lis\xe4tiedot":"N\xe4yt\xe4 kysymyksen lis\xe4tiedot"}),(0,i.jsx)(r.S,{isOpen:b,collapseKey:"background-information",children:(0,i.jsxs)("section",{className:p().content,id:"background-information",children:[(0,i.jsx)(c.EY,{as:"h3",size:g?18:16,lineHeight:g?"loose":"semiLoose",children:(0,i.jsx)(c.OH,{children:" Kysymyksen lis\xe4tiedot"})}),(0,i.jsx)(m.A,{components:{p:e=>{let{children:t}=e;return(0,i.jsx)(c.EY,{as:"p",size:g?16:15,lineHeight:g?"loose":"normal",children:t})}},children:h}),a&&a.length>0&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.EY,{as:"h4",size:g?18:16,lineHeight:g?"loose":"normal",children:(0,i.jsx)(c.OH,{children:"Lue lis\xe4\xe4 aiheesta:"})}),(0,i.jsx)(d.A,{relatedArticles:a})]})]})})]})}},57140:e=>{e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},57492:e=>{e.exports={sm:"min-width: 576px",md:"min-width: 768px",answerOptionRoot:"AnswerOption_answerOptionRoot__amzk1",left:"AnswerOption_left__h7xuH",center:"AnswerOption_center__IPya1",right:"AnswerOption_right__JkgYd",label:"AnswerOption_label__caRdo"}},57568:(e,t,a)=>{"use strict";a.d(t,{po:()=>s,tn:()=>r,yT:()=>o});var i=a(3681),n=a(55220);let s=e=>1-Math.sin(Math.acos(e)),o=(0,n.G)(s),r=(0,i.V)(s)},57672:(e,t,a)=>{"use strict";a.d(t,{h:()=>c,q:()=>d});var i=a(61184),n=a(50891);let s=new Set,o=!1,r=!1,l=!1;function u(){if(r){let e=Array.from(s).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),a=new Map;t.forEach(e=>{let t=(0,i.W9)(e);t.length&&(a.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=a.get(e);t&&t.forEach(([t,a])=>{e.getValue(t)?.set(a)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)})}r=!1,o=!1,s.forEach(e=>e.complete(l)),s.clear()}function m(){s.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(r=!0)})}function d(){l=!0,m(),u(),l=!1}class c{constructor(e,t,a,i,n,s=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=a,this.motionValue=i,this.element=n,this.isAsync=s}scheduleResolve(){this.state="scheduled",this.isAsync?(s.add(this),o||(o=!0,n.Gt.read(m),n.Gt.resolveKeyframes(u))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:a,motionValue:i}=this;if(null===e[0]){let n=i?.get(),s=e[e.length-1];if(void 0!==n)e[0]=n;else if(a&&t){let i=a.readValue(t,s);null!=i&&(e[0]=i)}void 0===e[0]&&(e[0]=s),i&&void 0===n&&i.set(e[0])}for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),s.delete(this)}cancel(){"scheduled"===this.state&&(s.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}},58617:(e,t,a)=>{"use strict";a.d(t,{Y:()=>d});var i=a(6029),n=a(33112),s=a.n(n),o=a(15071),r=a.n(o);let l=e=>{var t,a;let{className:n,...o}=e,l="".concat(null!=(t=r().anchor)?t:""," ").concat(null!=(a=s().focus)?a:""," ").concat(null!=n?n:"");return(0,i.jsx)("span",{className:l,...o})};var u=a(82203),m=a.n(u);let d=e=>{let{children:t,href:a,target:n,rel:s,...o}=e,{color:r,as:u,...d}=o;return(0,i.jsx)(m(),{style:{textDecoration:"none",color:"inherit"},href:a,target:n,rel:s,passHref:!0,children:(0,i.jsx)(l,{...d,children:t})})}},58838:(e,t,a)=>{"use strict";a.d(t,{v:()=>n});var i=a(25684);class n{constructor(){this.subscriptions=[]}add(e){return(0,i.Kq)(this.subscriptions,e),()=>(0,i.Ai)(this.subscriptions,e)}notify(e,t,a){let i=this.subscriptions.length;if(i)if(1===i)this.subscriptions[0](e,t,a);else for(let n=0;n<i;n++){let i=this.subscriptions[n];i&&i(e,t,a)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}},58978:e=>{e.exports={md:"min-width: 768px",informationBlock:"CandidateEssentialInformation_informationBlock___Tglx"}},59058:(e,t,a)=>{"use strict";
9Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let i=a(55729);function n(e,t){let a=(0,i.useRef)(null),n=(0,i.useRef)(null);return(0,i.useCallback)(i=>{if(null===i){let e=a.current;e&&(a.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(a.current=s(e,i)),t&&(n.current=s(t,i))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},59362:(e,t,a)=>{"use strict";a.d(t,{Xy:()=>i.Xy,ck:()=>i.ck});var i=a(17252)},59943:(e,t,a)=>{"use strict";a.d(t,{u:()=>n});var i=a(78072);let n={test:(0,a(3524).$)("#"),parse:function(e){let t="",a="",i="",n="";return e.length>5?(t=e.substring(1,3),a=e.substring(3,5),i=e.substring(5,7),n=e.substring(7,9)):(t=e.substring(1,2),a=e.substring(2,3),i=e.substring(3,4),n=e.substring(4,5),t+=t,a+=a,i+=i,n+=n),{red:parseInt(t,16),green:parseInt(a,16),blue:parseInt(i,16),alpha:n?parseInt(n,16)/255:1}},transform:i.B.transform}},60209:(e,t,a)=>{"use strict";a.d(t,{RD:()=>j,eE:()=>b,t:()=>x,wX:()=>g});var i=a(6029),n=a(95816),s=a.n(n),o=a(81278),r=a(55729),l=a(35388),u=a(85711),m=a(92787),d=a(70668),c=a(56046),h=a(19173);let p=(0,r.createContext)(null),v=(e,t)=>"ANSWERS_".concat(t,"_").concat(e),k=(e,t)=>"ANSWERS_READY_".concat(t,"_").concat(e),y=(e,t)=>{var a;let i=(0,l._9)(v(e,t)),n=(0,u.N0)(e).validate({answers:i});return(null==(a=n.value)?void 0:a.answers)?n.value.answers:[]},f=(e,t)=>{let a=[...e].sort((e,t)=>e.localeCompare(t));return"COMBINED_ANSWERS_".concat(t,"_").concat(a.join("_"))},g=(e,t)=>{e.forEach(e=>{(0,l.kH)(v(e,t),[]),(0,l.kH)(k(e,t),!1)}),e.length>1&&(0,l.kH)(f(e,t),[])},b=(e,t)=>{let a={};return e.forEach(e=>{let i=y(e,t),n=(0,l._9)(k(e,t));i.length>0&&!0===n?a[e]=!0:a[e]=!1}),a},j=e=>{let{children:t}=e,{brand:a,electionId:n}=(0,l.uq)(),g=(0,o.useRouter)(),[b,j]=(0,r.useState)(!1),[x,w]=(0,r.useState)(()=>n&&a?{answers:y(n,a),electionId:n,brand:a}:{answers:[]}),[S,N]=(0,r.useState)(()=>n&&a?((e,t)=>{let a=(0,u.sO)(e).metadata.combinedElectionId;if(!a)return[];let{electionIds:i,sharedQuestions:n}=(0,u.V_)(a),s=(0,l._9)(f(i,t)),o=(0,u.A)(n,i).validate({answers:s});return o.value?o.value:[]})(n,a):[]),[A,P]=(0,r.useState)(!1);0===x.answers.length&&A&&P(!1),(0,r.useEffect)(()=>{n&&a&&(0,l.kH)(k(n,a),A)},[A,a,n]);let{area:_}=(0,h.rP)(),C=(0,r.useMemo)(()=>{if(!n)return;let e=(0,u.sO)(n).metadata.combinedElectionId;if(e)return(0,u.V_)(e)},[n]);(0,r.useEffect)(()=>{n&&a&&C&&w({answers:y(n,a),electionId:n,brand:a})},[n,a,C,w]);let M=(0,r.useCallback)(()=>{n&&(null==C?void 0:C.sharedQuestions)&&N(e=>{let t=[];return C.sharedQuestions.forEach(a=>{let i=x.answers.find(e=>e.questionId===a[n]),s=e.find(e=>e.indexes[n]===a[n]);i?t.push({indexes:a,answer:i.answer}):s&&t.push({indexes:a,answer:s.answer})}),t})},[n,x,null==C?void 0:C.sharedQuestions,N]),L=(0,r.useCallback)(async()=>{var e,t,i;if(!n||!a)throw console.error("Election id was not defined!"),Error("Election id was not defined!");if(x.brand!==a||x.electionId!==n)throw console.error("Brand or election id does not match the answers"),Error("Brand or election id does not match the answers");let s=null!=(e=null==(t=(await (0,c.L)(n)).item)?void 0:t.parties.map(e=>e.id))?e:[];return(null==_?void 0:_.value)?(0,d.SP)(x.answers,n,_.value,a,s,(0,u.sO)(n).electionSpecificFields):(console.error("Municipality id was not defined! area.value(".concat(null!=(i=null==_?void 0:_.value)?i:"",")")),(0,d.SP)(x.answers,n,"091",a,s,(0,u.sO)(n).electionSpecificFields))},[x,n,_,a]),{mutateTarget:E,mutate:I,status:T,details:V}=(0,l.ej)(L),O=(0,r.useMemo)(()=>{var e;return null!=(e=null==E?void 0:E.item)?e:null},[null==E?void 0:E.item]);return(0,r.useEffect)(()=>{n&&a&&(0,l.kH)(v(n,a),x.answers)},[x,n,a]),(0,r.useEffect)(()=>{(null==C?void 0:C.electionIds)&&a&&(0,l.kH)(f(C.electionIds,a),S)},[S,null==C?void 0:C.electionIds,a]),(0,r.useEffect)(()=>{C&&M()},[M,C]),(0,r.useEffect)(()=>{A&&I()},[I,A]),(0,i.jsxs)(p.Provider,{value:{answers:x.answers,sharedAnswers:S,isAnswering:b,postAnswers:I,removeAnswer:e=>{w(t=>({...t,answers:t.answers.filter(t=>t.questionId!==e)}))},results:O,resultStatus:T,resultsDetails:V,updateAnswers:e=>{w(t=>{let a=(t.answers.find(t=>{let{questionId:a}=t;return a===e.questionId})?[...t.answers.filter(t=>{let{questionId:a}=t;return a!==e.questionId}),e]:[...t.answers,e]).sort((e,t)=>
9e.questionId-t.questionId);return{...t,answers:a}})},setAllAnswers:(e,t,a)=>{w({answers:e,electionId:t,brand:a})},setIsAnswering:j,setAnswersReady:P,addSharedAnswersToAnswers:e=>{C&&n&&w(t=>{let a=[];e.forEach(e=>{var t;a.push({questionId:null!=(t=e.indexes[n])?t:0,answer:e.answer})});let i=[...t.answers.filter(t=>{let{questionId:a}=t;return!e.find(e=>{let{indexes:t}=e;return t[n]===a})}),...a];return{...t,answers:i}})}},children:[n&&a&&!C&&(0,i.jsx)(m.A,{show:!g.asPath.includes("/ehdokkaat")&&!g.asPath.includes("/candidates")&&!b&&!s()(x.answers),brand:a,electionId:n}),t]})},x=()=>{let e=(0,r.useContext)(p);if(!e)throw Error("useAnswerContext must be used within a AnswerContextProvider");return e}},60449:(e,t,a)=>{var i=a(24127);e.exports=function(e,t,a){var n=null==e?void 0:i(e,t);return void 0===n?a:n}},60567:(e,t,a)=>{var i=a(16153);e.exports=function(e){return null==e?"":i(e)}},60788:e=>{e.exports={roundedBox:"ReadMore_roundedBox__UeizF",button:"ReadMore_button__bxLrq",buttonText:"ReadMore_buttonText__NOERt"}},60832:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var i=a(6029),n=a(40743),s=a.n(n);let o=e=>{var t,a,n,o;let{alignIcon:r="right",alignText:l="left",children:u,icon:m,size:d="medium",style:c}=e;return(0,i.jsxs)("div",{className:"".concat(null!=(t=s().buttonCommonRoot)?t:""," ").concat(null!=(a=s()[l])?a:""),style:c,children:["left"===r&&m,(0,i.jsx)("span",{className:"".concat(null!=(n=s().buttonLabel)?n:""," ").concat(null!=(o=s()[d])?o:""),children:u}),"right"===r&&m]})}},60926:(e,t,a)=>{"use strict";a.d(t,{F:()=>s,e:()=>n});var i=a(33784);function n(e){return{point:{x:e.pageX,y:e.pageY}}}let s=e=>t=>(0,i.M)(t)&&e(t,n(t))},61184:(e,t,a)=>{"use strict";a.d(t,{E4:()=>r,Hr:()=>d,W9:()=>m});var i=a(43224),n=a(40574),s=a(50151),o=a(15650);let r=e=>e===s.ai||e===o.px,l=new Set(["x","y","z"]),u=n.U.filter(e=>!l.has(e));function m(e){let t=[];return u.forEach(a=>{let i=e.getValue(a);void 0!==i&&(t.push([a,i.get()]),i.set(+!!a.startsWith("scale")))}),t}let d={width:({x:e},{paddingLeft:t="0",paddingRight:a="0",boxSizing:i})=>{let n=e.max-e.min;return"border-box"===i?n:n-parseFloat(t)-parseFloat(a)},height:({y:e},{paddingTop:t="0",paddingBottom:a="0",boxSizing:i})=>{let n=e.max-e.min;return"border-box"===i?n:n-parseFloat(t)-parseFloat(a)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>(0,i.ry)(t,"x"),y:(e,{transform:t})=>(0,i.ry)(t,"y")};d.translateX=d.x,d.translateY=d.y},62094:e=>{e.exports={form:"Form_form__SXqWP"}},62215:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});let i=(e,t)=>[...e].sort("mostRelevant"===t?(e,t)=>t.matchPercentage-e.matchPercentage:(e,t)=>
9e.matchPercentage-t.matchPercentage)},62220:(e,t,a)=>{var i=a(81707),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return i?void 0!==t[e]:n.call(t,e)}},62272:(e,t,a)=>{e.exports=a(45516)["__core-js_shared__"]},62639:(e,t,a)=>{"use strict";a.d(t,{RD:()=>i.RD,Yl:()=>d,t1:()=>h.t1,t:()=>i.t,qu:()=>c,rP:()=>h.rP});var i=a(60209),n=a(6029),s=a(55729),o=a(35388),r=a(85711),l=a(28639),u=a(20055);let m=(0,s.createContext)(null),d=e=>{let{children:t}=e,{results:a}=(0,i.t)(),{electionId:d}=(0,o.uq)(),c=d&&(0,r.sO)(d).frontendDefaults.selectedCandidatesAmount||l.YA,[h,p]=(0,s.useState)(()=>a?(0,u.Ay)(a.candidateMatch,"mostRelevant").slice(0,c):[]);return(0,s.useEffect)(()=>{a&&p(a.candidateMatch.slice(0,c))},[a,c]),(0,n.jsx)(m.Provider,{value:{selectedCandidates:h,updateSelectedCandidates:e=>{let t=null==a?void 0:a.candidateMatch.find(t=>t.candidate.id===e);t&&p(e=>e.find(e=>e.candidate.id===t.candidate.id)?e.filter(e=>e.candidate.id!==t.candidate.id):[t,...e])},clearSelection:()=>{p([])}},children:t})},c=()=>{let e=(0,s.useContext)(m);if(!e)throw Error("useCandidateContext must be used within a CandidateContextProvider");return e};var h=a(19173);a(18267)},62645:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let i=a(98471),n=a(17637);function s(e){var t;let{config:a,src:s,width:o,quality:r}=e,l=(0,n.getDeploymentId)();if(s.startsWith("/")&&!s.startsWith("//"))if(s.includes("/_next/static/immutable")&&!(0,n.getAssetToken)())l=void 0;else{let e=s.indexOf("?");if(-1!==e){let t=new URLSearchParams(s.slice(e+1)),a=t.get("dpl");if(a){l=a,t.delete("dpl");let i=t.toString();s=s.slice(0,e)+(i?"?"+i:"")}}}if(s.startsWith("/")&&s.includes("?")&&(null==(t=a.localPatterns)?void 0:t.length)===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error('Image with src "'.concat(s,'" is using a query string which is not configured in images.localPatterns.')+"\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns"),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let u=(0,i.findClosestQuality)(r,a);return"".concat(a.path,"?url=").concat(encodeURIComponent(s),"&w=").concat(o,"&q=").concat(u).concat(s.startsWith("/")&&l?"&dpl=".concat(l):"")}s.__next_img_default=!0;let o=s},62950:(e,t,a)=>{"use strict";a.d(t,{Gx:()=>l,KB:()=>u,VS:()=>m,ax:()=>h,jl:()=>c,ri:()=>r,yP:()=>d});var i=a(6029),n=a(63390),s=a(23055),o=a.n(s);let r=10,l=14,u=e=>{var t,a;let{className:n,direction:s,...r}=e;return(0,i.jsx)("div",{className:"".concat(null!=(t=o().matchRoot)?t:""," ").concat(null!=(a=o()[s])?a:""," ").concat(null!=n?n:""),...r})},m=e=>{var t,a;let{className:n,variant:s,...r}=e;return(0,i.jsx)("div",{className:"".concat(null!=(t=o().background)?t:""," ").concat(null!=(a=o()[s])?a:""," ").concat(null!=n?n:""),...r})},d=e=>{var t,a,n;let{className:s,variant:r,direction:l,...u}=e;return(0,i.jsx)("div",{className:"".concat(null!=(t=o().bar)?t:""," ").concat(null!=(a=o()[r])?a:""," ").concat(null!=(n=o()[l])?n:""," ").concat(null!=s?s:""),...u})},c=e=>{var t,a,n;let{className:s,variant:l,direction:u,style:m,...d}=e;return(0,i.jsx)("div",{style:{"--match-circle-size":"".concat(r),...m},className:"".concat(null!=(t=o().circle)?t:""," ").concat(null!=(a=o()[l])?a:""," ").concat(null!=(n=o()[u])?n:""," ").concat(null!=s?s:""),...d})},h=e=>{var t,a;let{className:s,variant:r,typography:l={},...u}=e,m=(0,n.gq)(l);return(0,i.jsx)("div",{className:"".concat(null!=(t=o().percentageText)?t:""," ").concat(null!=(a=o()[r])?a:""," ").concat(m," ").concat(null!=s?s:""),...u})}},63390:(e,t,a)=>{"use strict";a.d(t,{EY:()=>i.EY,OH:()=>i.OH,Y0:()=>n.Y,gq:()=>i.gq});var i=a(26795),n=a(78695)},63516:e=>{e.exports={accordionRoot:"Accordion_accordionRoot__T_wY1",accordionButton:"Accordion_accordionButton__wUujk"}},63602:(e,t,a)=>{var i=a(65517),n=a(10858),s=a(5461),o=a(63912);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)i(t,s(e)),e=n(e);return t}:o},63778:(e,t,a)=>{var i=a(57140),n=a(88274),s=a(25907),o=a(43092);e.exports=function(e){return s(e)?i(o(e)):n(e)}},63912:e=>{e.exports=function(){return[]}},64132:e=>{e.exports={arrayFieldRoot:"ArrayField_arrayFieldRoot__JNBvN",open:"ArrayField_open__phwsb",valueList:"ArrayField_valueList__LhlTb",row:"ArrayField_row__LDjPX",buttonContainer:"ArrayField_buttonContainer__qgcxB"}},64593:(e,t,a)=>{e.exports=a(54703)(a(45516),"DataView")},64635:e=>{e.exports={root:"DropdownField_root__inqI4"}},64698:(e,t,a)=>{"use strict";a.d(t,{O:()=>u});let i=(e,t)=>t&&"number"==typeof e?t.transform(e):e;var n=a(85569),s=a(40574),o=a(47130);let r={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},l=s.U.length;function u(e,t,a){let{style:u,vars:m,transformOrigin:d}=e,c=!1,h=!1;for(let e in t){let a=t[e];if(s.f.has(e)){c=!0;continue}if((0,o.j4)(e)){m[e]=a;continue}{let t=i(a,n.W[e]);e.startsWith("origin")?(h=!0,d[e]=t):u[e]=t}}if(!t.transform&&(c||a?u.transform=function(e,t,a){let o="",u=!0;for(let m=0;m<l;m++){let l=s.U[m],d=e[l];
9if(void 0===d)continue;let c=!0;if("number"==typeof d)c=d===+!!l.startsWith("scale");else{let e=parseFloat(d);c=l.startsWith("scale")?1===e:0===e}if(!c||a){let e=i(d,n.W[l]);if(!c){u=!1;let t=r[l]||l;o+=`${t}(${e}) `}a&&(t[l]=e)}}let m=e.pathRotation;return m&&(u=!1,o+=`rotate(${i(m,n.W.pathRotation)}) `),o=o.trim(),a?o=a(t,u?"":o):u&&(o="none"),o}(t,e.transform,a):u.transform&&(u.transform="none")),h){let{originX:e="50%",originY:t="50%",originZ:a=0}=d;u.transformOrigin=`${e} ${t} ${a}`}}},65024:(e,t,a)=>{"use strict";a.d(t,{n:()=>L});var i=a(50891),n=a(15973),s=a(78189),o=a(32138);function r(e,t){let a=(0,o.K)(e),i=new AbortController;return[a,{passive:!0,...t,signal:i.signal},()=>i.abort()]}var l=a(60926);function u(e,t,a){let{props:n}=e;e.animationState&&n.whileHover&&e.animationState.setActive("whileHover","Start"===a);let s=n["onHover"+a];s&&i.Gt.postRender(()=>s(t,(0,l.e)(t)))}class m extends n.X{mount(){let{current:e}=this.node;e&&(this.unmount=function(e,t,a={}){let[i,n,o]=r(e,a);return i.forEach(e=>{let a,i=!1,o=!1,r=t=>{a&&(a(t),a=void 0),e.removeEventListener("pointerleave",u)},l=e=>{i=!1,window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l),o&&(o=!1,r(e))},u=e=>{if("touch"!==e.pointerType){if(i){o=!0;return}r(e)}};e.addEventListener("pointerenter",i=>{if("touch"===i.pointerType||(0,s.D)())return;o=!1;let r=t(e,i);"function"==typeof r&&(a=r,e.addEventListener("pointerleave",u,n))},n),e.addEventListener("pointerdown",()=>{i=!0,window.addEventListener("pointerup",l,n),window.addEventListener("pointercancel",l,n)},n)}),o}(e,(e,t)=>(u(this.node,t,"Start"),e=>u(this.node,e,"End"))))}unmount(){}}var d=a(27185),c=a(29903);class h extends n.X{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=(0,c.F)((0,d.k)(this.node.current,"focus",()=>this.onFocus()),(0,d.k)(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}var p=a(25903);let v=(e,t)=>!!t&&(e===t||v(e,t.parentElement));var k=a(33784),y=a(6500);let f=new WeakSet;function g(e){return t=>{"Enter"===t.key&&e(t)}}function b(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}function j(e){return(0,k.M)(e)&&!(0,s.D)()}let x=new WeakSet;function w(e,t,a){let{props:n}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&n.whileTap&&e.animationState.setActive("whileTap","Start"===a);let s=n["onTap"+("End"===a?"":a)];s&&i.Gt.postRender(()=>s(t,(0,l.e)(t)))}class S extends n.X{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:a}=this.node.props;this.unmount=function(e,t,a={}){let[i,n,s]=r(e,a),o=e=>{let i=e.currentTarget;if(!j(e)||x.has(e))return;f.add(i),a.stopPropagation&&x.add(e);let s=t(i,e),o=(e,t)=>{window.removeEventListener("pointerup",r),window.removeEventListener("pointercancel",l),f.has(i)&&f.delete(i),j(e)&&"function"==typeof s&&s(e,{success:t})},r=e=>{o(e,i===window||i===document||a.useGlobalTarget||v(i,e.target))},l=e=>{o(e,!1)};window.addEventListener("pointerup",r,n),window.addEventListener("pointercancel",l,n)};return i.forEach(e=>{(a.useGlobalTarget?window:e).addEventListener("pointerdown",o,n),(0,p.s)(e)&&(e.addEventListener("focus",e=>((e,t)=>{let a=e.currentTarget;if(!a)return;let i=g(()=>{if(f.has(a))return;b(a,"down");let e=g(()=>{b(a,"up")});a.addEventListener("keyup",e,t),a.addEventListener("blur",()=>b(a,"cancel"),t)});a.addEventListener("keydown",i,t),a.addEventListener("blur",()=>a.removeEventListener("keydown",i),t)})(e,n)),(0,y.c)(e)||e.hasAttribute("tabindex")||(e.tabIndex=0))}),s}(e,(e,t)=>(w(this.node,t,"Start"),(e,{success:t})=>w(this.node,e,t?"End":"Cancel")),{useGlobalTarget:t,stopPropagation:a?.tap===!1})}unmount(){}}let N=new WeakMap,A=new WeakMap,P=e=>{let t=N.get(e.target);t&&t(e)},_=e=>{e.forEach(P)},C={some:0,all:1};class M extends n.X{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var e;let t;this.stopObserver?.();
9let{viewport:a={}}=this.node.getProps(),{root:i,margin:n,amount:s="some",once:o}=a,r={root:i?i.current:void 0,rootMargin:n,threshold:"number"==typeof s?s:C[s]},l=e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,o&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);let{onViewportEnter:a,onViewportLeave:i}=this.node.getProps(),n=t?a:i;n&&n(e)};this.stopObserver=(e=this.node.current,t=function({root:e,...t}){let a=e||document;A.has(a)||A.set(a,{});let i=A.get(a),n=JSON.stringify(t);return i[n]||(i[n]=new IntersectionObserver(_,{root:e,...t})),i[n]}(r),N.set(e,l),t.observe(e),()=>{N.delete(e),t.unobserve(e)})}mount(){this.startObserver()}update(){if("u"<typeof IntersectionObserver)return;let{props:e,prevProps:t}=this.node;["amount","margin","root"].some(function({viewport:e={}},{viewport:t={}}={}){return a=>e[a]!==t[a]}(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}let L={inView:{Feature:M},tap:{Feature:S},focus:{Feature:h},hover:{Feature:m}}},65099:e=>{e.exports={buttonRoot:"Button_buttonRoot__wntcj"}},65254:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});let i=(e,t,a)=>{let i=t-e;return i?(a-e)/i:1}},65267:(e,t,a)=>{"use strict";a.d(t,{A:()=>d});var i=a(6029),n=a(87500),s=a(8588),o=a.n(s),r=a(55729),l=a(35388),u=a(10468),m=a.n(u);let d=e=>{let{logo:t,darkMode:a,unoptimized:s}=e,[u,d]=(0,r.useState)(!0),c=(0,l.N$)(n.f.md)?45:35;return(0,i.jsxs)("div",{className:m().rootColumn,children:[u&&(0,i.jsx)(o(),{onError:()=>{d(!1)},unoptimized:s,alt:t[a?"dark":"light"].alt,src:"/".concat(t[a?"dark":"light"].src),width:c,height:c}),t.title&&(0,i.jsx)("p",{className:m()["logo-heading"],children:t.title})]})}},65269:(e,t,a)=>{"use strict";a.d(t,{Q:()=>n});let i=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function n(e){if("string"!=typeof e||e.includes("-"));else if(i.indexOf(e)>-1||/[A-Z]/u.test(e))return!0;return!1}},65517:e=>{e.exports=function(e,t){for(var a=-1,i=t.length,n=e.length;++a<i;)e[n+a]=t[a];return e}},65596:e=>{e.exports={noteBox:"NoteBox_noteBox__7n_ub",primary:"NoteBox_primary__LKv4y",secondary:"NoteBox_secondary__zq9J6",withBorder:"NoteBox_withBorder___TtjY"}},65815:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return j}});let i=a(14761),n=a(13514),s=a(6029),o=n._(a(55729)),r=i._(a(56760)),l=i._(a(63276)),u=a(84851),m=a(5720),d=a(49528),c=a(30265),h=i._(a(62645)),p=a(59058),v={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function k(e,t,a,i,n,s,o){let r=null==e?void 0:e.src;e&&e["data-loaded-src"]!==r&&(e["data-loaded-src"]=r,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),null==a?void 0:a.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let i=!1,n=!1;a.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>i,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{i=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}(null==i?void 0:i.current)&&i.current(e)}}))}function y(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let f=o.useLayoutEffect,g=(0,o.forwardRef)((e,t)=>{let{src:a,srcSet:i,sizes:n,height:r,width:l,decoding:u,className:m,style:d,fetchPriority:c,placeholder:h,loading:v,unoptimized:g,fill:b,onLoadRef:j,onLoadingCompleteRef:x,setBlurComplete:w,setShowAltText:S,sizesInput:N,onLoad:A,onError:P,..._}=e,C=(0,o.useRef)(!1),M=(0,o.useRef)(null);f(()=>{let{current:e}=C,{current:t}=M;e||null===t||(P&&(t.src=t.src),t.complete&&k(t,h,j,x,w,g,N),C.current=!0)},[a,h,j,x,P,g,N]);let L=(0,p.useMergedRef)(t,M);return(0,s.jsx)("img",{..._,...y(c),loading:v,width:l,height:r,decoding:u,"data-nimg":b?"fill":"1",className:m,style:d,sizes:n,srcSet:i,src:a,ref:L,onLoad:e=>{k(e.currentTarget,h,j,x,w,g,N)},onError:e=>{S(!0),"empty"!==h&&w(!0),P&&P(e)}})});function b(e){let{isAppRouter:t,imgAttributes:a}=e,i={as:"image",imageSrcSet:a.srcSet,imageSizes:a.sizes,crossOrigin:a.crossOrigin,referrerPolicy:a.referrerPolicy,...y(a.fetchPriority)};return t&&r.default.preload?(r.default.preload(a.src,i),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:a.srcSet?void 0:a.src,...i},"__nimg-"+a.src+a.srcSet+a.sizes)})}let j=(0,o.forwardRef)((e,t)=>{let a=(0,o.useContext)(c.RouterContext),i=(0,o.useContext)(d.ImageConfigContext),n=(0,o.useMemo)(()=>{var e;let t=v||i||m.imageConfigDefault,a=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>
9e-t),n=t.deviceSizes.sort((e,t)=>e-t),s=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:a,deviceSizes:n,qualities:s,localPatterns:t.localPatterns}},[i]),{onLoad:r,onLoadingComplete:l}=e,p=(0,o.useRef)(r);(0,o.useEffect)(()=>{p.current=r},[r]);let k=(0,o.useRef)(l);(0,o.useEffect)(()=>{k.current=l},[l]);let[y,f]=(0,o.useState)(!1),[j,x]=(0,o.useState)(!1),{props:w,meta:S}=(0,u.getImgProps)(e,{defaultLoader:h.default,imgConf:n,blurComplete:y,showAltText:j});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g,{...w,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:p,onLoadingCompleteRef:k,setBlurComplete:f,setShowAltText:x,sizesInput:e.sizes,ref:t}),S.preload?(0,s.jsx)(b,{isAppRouter:!a,imgAttributes:w}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},66046:(e,t,a)=>{var i=a(98499),n=a(24877),s=a(23356),o=a(99048),r=/^\[object .+?Constructor\]$/,l=Object.prototype,u=Function.prototype.toString,m=l.hasOwnProperty,d=RegExp("^"+u.call(m).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||n(e))&&(i(e)?d:r).test(o(e))}},66361:(e,t,a)=>{"use strict";a.d(t,{N:()=>i});let i=(0,a(55729).createContext)({})},66581:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},66678:(e,t,a)=>{var i=a(38302),n=a(2882),s=a(91994);e.exports=function(e,t,a){return t==t?s(e,t,a):i(e,n,a)}},67017:(e,t,a)=>{"use strict";a.d(t,{t:()=>i});let i=(0,a(55729).createContext)(null)},67044:e=>{e.exports={background:"ValueMap_background__xQk9Y",line:"ValueMap_line__xLtn3",dimensionText:"ValueMap_dimensionText__dF4Z3",valueMapContainer:"ValueMap_valueMapContainer__5bfEd",valueMapSVG:"ValueMap_valueMapSVG__P97Yf"}},67180:(e,t,a)=>{"use strict";a.d(t,{z:()=>p});var i=a(6029),n=a(87500),s=a(35388),o=a(74969),r=a(20541),l=a(92068),u=a(63390),m=a(57492),d=a.n(m);let c=e=>{var t,a;let{"aria-disabled":m,checked:c,hidden:h=!1,id:p,label:v,labelAlign:k="left",name:y,onBlur:f,onClick:g,onKeyDown:b,style:j,isPlainButton:x,hideButton:w}=e,S=(0,s.N$)(n.f.sm),N=(0,s.N$)(n.f.md),A={"aria-checked":c,"aria-disabled":m,"aria-label":v,icon:(0,i.jsx)(r.A,{...c&&!x?{name:"check",size:16}:c&&x?{name:"check",size:24,strokeWidth:2.5}:{name:"circle",size:16}}),id:p,name:y,onBlur:f,onClick:()=>{m||h||g()},onKeyDown:b,role:"radio",variant:c&&!x?"primary":"secondary",hidden:h,highlighted:c};return(0,i.jsxs)("div",{className:"".concat(null!=(t=d().answerOptionRoot)?t:""," ").concat(null!=(a=d()[k])?a:""),style:j,children:[(0,i.jsx)(u.EY,{className:d().label,as:"label","aria-hidden":!0,tracking:N?"normal":"veryTight",lineHeight:"veryTight",size:S?15:14,textAlign:k,children:(0,i.jsx)(u.OH,{children:v})}),(()=>{if(!w)return x&&c?(0,i.jsx)("div",{style:{marginBottom:-17},children:(0,i.jsx)(l.sq,{size:28})}):x?(0,i.jsx)(o.A8,{...A}):(0,i.jsx)(o.K0,{...A})})()]})};var h=a(55729);let p=e=>{let{"aria-disabled":t,"aria-label":a,css:n,id:s,initialOption:o,name:r,onChange:l,options:u,hideButtons:m,isInPresentationMode:d}=e,p=(0,h.useRef)(null),v=e=>{if(!t&&p.current){var a;null==(a=p.current.querySelectorAll("[role=radio]")[e])||a.focus()}};return(0,i.jsx)("div",{style:{display:"flex",...n},"aria-label":a,onBlur:e=>{let{currentTarget:t,relatedTarget:a}=e;if(!t.contains(a)){var i;null==(i=p.current)||i.blur()}},ref:p,role:"radiogroup",children:u.map(e=>{var a;return(0,i.jsx)(c,{"aria-disabled":t,checked:(null==o?void 0:o.value)===e.value,hidden:e.hidden,id:"".concat(s,"-option-").concat(e.label),label:e.label,labelAlign:null!=(a=e.labelAlign)?a:"center",name:r,onClick:()=>{null==l||l(e.value)},onKeyDown:a=>{if(t)return;let i=u.findIndex(t=>t.value===e.value);switch(a.key){case" ":case"Enter":l&&l(e.value);break;case"ArrowUp":case"ArrowLeft":a.preventDefault(),v(i>0?i-1:u.length-1);break;case"ArrowDown":case"ArrowRight":a.preventDefault(),v(i<u.length-1?i+1:0)}},isPlainButton:d,hideButton:m},e.label)})})}},67251:(e,t,a)=>{"use strict";a.d(t,{C:()=>h,A:()=>p});var i=a(6029),n=a(63390),s=a(6820),o=a.n(s),r=a(43778),l=a.n(r);let u={xxs:14,xs:16,s:25,m:32,l:42,xl:64,live:160,plain:16},m={xxs:10,xs:10,s:10,m:12,l:14,xl:30,live:36,plain:12},d={xxs:2,xs:3,s:4,m:5,l:6,xl:8,live:16,plain:0},c=(e,t)=>{switch(e){case"xxs":return 24;case"xs":return 28;case"plain":return 32;default:return t}},h=e=>{var t,a,s,r,h,p;let{size:v,backgroundColor:k,name:y,textColor:f,location:g,selected:b}=e,j=u[v],x=c(v,j),w=m[v],S=d[v];return"plain"===v?(0,i.jsx)("g",{children:(0,i.jsx)("foreignObject",{width:x,height:j,x:g.x-x/2,y:g.y-j/2,children:(0,i.jsx)("div",{className:l().textWrapper,children:(0,i.jsx)("span",{"aria-hidden":!0,
9className:"".concat(null!=(h=l().text)?h:""," ").concat((0,n.gq)({textAlign:"center",size:w,weight:"medium"})," ").concat(null!=(p=o().strongCss)?p:""),children:y})})})}):(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{className:"".concat(null!=(t=l().tagBorder)?t:""," ").concat(b&&null!=(a=l().selected)?a:""),width:x,height:j,x:g.x-x/2,y:g.y-j/2,rx:S}),b&&(0,i.jsx)("rect",{className:l().tagBackground,width:x+2,height:j+2,x:g.x-x/2-1,y:g.y-j/2-1,rx:S}),(0,i.jsx)("rect",{width:x,height:j,x:g.x-x/2,y:g.y-j/2,style:{fill:k},rx:S}),(0,i.jsx)("foreignObject",{width:x,height:j,x:g.x-x/2,y:g.y-j/2,children:(0,i.jsx)("div",{className:l().textWrapper,children:(0,i.jsx)("span",{style:{color:f},"aria-hidden":!0,className:"".concat(null!=(s=l().text)?s:""," ").concat((0,n.gq)({textAlign:"center",size:w,weight:"medium"})," ").concat(null!=(r=o().strongCss)?r:""),children:y})})})]})},p=e=>{let t=u[e.size],a=c(e.size,t);return(0,i.jsx)("div",{"aria-hidden":!0,style:e.style,children:(0,i.jsx)("svg",{width:a+2,height:t+2,children:(0,i.jsx)(h,{...e,location:{x:a/2+1,y:t/2+1}})})})}},67290:(e,t,a)=>{var i=a(6802),n=a(28469),s=a(20764);e.exports=function(e){var t=n(e);return 1==t.length&&t[0][2]?s(t[0][0],t[0][1]):function(a){return a===e||i(a,e,t)}}},67876:(e,t)=>{"use strict";function a(e){let{widthInt:t,heightInt:a,blurWidth:i,blurHeight:n,blurDataURL:s,objectFit:o}=e,r=i?40*i:t,l=n?40*n:a,u=r&&l?"viewBox='0 0 ".concat(r," ").concat(l,"'"):"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' ".concat(u,"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='").concat(20,"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='").concat(20,"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='").concat(u?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none","' style='filter: url(%23b);' href='").concat(s,"'/%3E%3C/svg%3E")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},67908:(e,t,a)=>{"use strict";a.d(t,{Q:()=>i});let i=(0,a(55729).createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"})},68095:e=>{e.exports={md:"min-width: 768px",root:"RelatedArticles_root__xaWO_"}},68275:(e,t,a)=>{"use strict";a.d(t,{k:()=>i});let{schedule:i}=(0,a(86246).I)(queueMicrotask,!1)},68633:(e,t,a)=>{"use strict";a.d(t,{H:()=>H});var i,n=a(6029),s=a(55729),o=a(72369),r=a(5466),l=a(67908);let u=(0,s.createContext)({});var m=a(74682),d=a(98936);function c(e){return Array.isArray(e)?e.join(" "):e}var h=a(17203),p=a(45104),v=a(64698);let k=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function y(e,t,a){for(let i in t)(0,h.S)(t[i])||(0,p.zK)(i,a)||(e[i]=t[i])}var f=a(56061),g=a(12366);let b=()=>({...k(),attrs:{}}),j=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function x(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||j.has(e)}let w=e=>!x(e);try{i=require("@emotion/is-prop-valid").default,"function"==typeof i&&(w=e=>e.startsWith("on")?!x(e):i(e))}catch{}var S=a(65269),N=a(41977),A=a(69745),P=a(17665),_=a(99606),C=a(67017),M=a(44033);let L=e=>(t,a)=>{let i=(0,s.useContext)(u),n=(0,s.useContext)(C.t),o=()=>(function({scrapeMotionValuesFromProps:e,createRenderState:t},a,i,n){return{latestValues:function(e,t,a,i){let n={},s=i(e,{});for(let e in s)n[e]=(0,A.u)(s[e]);let{initial:o,animate:r}=e,l=(0,m.e)(e),u=(0,m.O)(e);t&&u&&!l&&!1!==e.inherit&&(void 0===o&&(o=t.initial),void 0===r&&(r=t.animate));let d=!!a&&!1===a.initial,c=(d=d||!1===o)?r:o;if(c&&"boolean"!=typeof c&&!(0,P.N)(c)){let t=Array.isArray(c)?c:[c];for(let a=0;a<t.length;a++){let i=(0,_.a)(e,t[a]);if(i){let{transitionEnd:e,transition:t,...a}=i;for(let e in a){let t=a[e];if(Array.isArray(t)){let e=d?t.length-1:0;t=t[e]}null!==t&&(n[e]=t)}for(let t in e)n[t]=e[t]}}}return n}(a,i,n,e),renderState:t()}})(e,t,i,n);return a?o():(0,M.M)(o)},E=L({scrapeMotionValuesFromProps:N.x,createRenderState:k}
9),I=L({scrapeMotionValuesFromProps:a(40194).x,createRenderState:b});var T=a(99230),V=a(26584);let O=Symbol.for("motionComponentSymbol");var K=a(56475),U=a(66361),R=a(16271),D=a(28613);function B(e,{forwardMotionProps:t=!1,type:a}={},i,p){i&&(0,V.Y)(i);let j=a?"svg"===a:(0,S.Q)(e),N=j?I:E;function A(a,i){var A;let P,_,M,L={...(0,s.useContext)(l.Q),...a,layoutId:function({layoutId:e}){let t=(0,s.useContext)(o.L).id;return t&&void 0!==e?t+"-"+e:e}(a)},{isStatic:E}=L,I=function(e){let{initial:t,animate:a}=function(e,t){if((0,m.e)(e)){let{initial:t,animate:a}=e;return{initial:!1===t||(0,d.w)(t)?t:void 0,animate:(0,d.w)(a)?a:void 0}}return!1!==e.inherit?t:{}}(e,(0,s.useContext)(u));return(0,s.useMemo)(()=>({initial:t,animate:a}),[c(t),c(a)])}(a),V=N(a,E);if(!E&&"u">typeof window){(0,s.useContext)(r.Y).strict;let t=function(e){let{drag:t,layout:a}=(0,T.j)();if(!t&&!a)return{};let i={...t,...a};return{MeasureLayout:t?.isEnabled(e)||a?.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}(L);P=t.MeasureLayout,I.visualElement=function(e,t,a,i,n,o){let{visualElement:m}=(0,s.useContext)(u),d=(0,s.useContext)(r.Y),c=(0,s.useContext)(C.t),h=(0,s.useContext)(l.Q),p=h.reducedMotion,v=h.skipAnimations,k=(0,s.useRef)(null),y=(0,s.useRef)(!1);i=i||d.renderer,!k.current&&i&&(k.current=i(e,{visualState:t,parent:m,props:a,presenceContext:c,blockInitialAnimation:!!c&&!1===c.initial,reducedMotionConfig:p,skipAnimations:v,isSVG:o}),y.current&&k.current&&(k.current.manuallyAnimateOnMount=!0));let f=k.current,g=(0,s.useContext)(U.N);f&&!f.projection&&n&&("html"===f.type||"svg"===f.type)&&function(e,t,a,i){let{layoutId:n,layout:s,drag:o,dragConstraints:r,layoutScroll:l,layoutRoot:u,layoutAnchor:m,layoutCrossfade:d}=t;e.projection=new a(e.latestValues,t["data-framer-portal-id"]?void 0:function e(t){if(t)return!1!==t.options.allowProjection?t.projection:e(t.parent)}(e.parent)),e.projection.setOptions({layoutId:n,layout:s,alwaysMeasureLayout:!!o||r&&(0,R.X)(r),visualElement:e,animationType:"string"==typeof s?s:"both",initialPromotionConfig:i,crossfade:d,layoutScroll:l,layoutRoot:u,layoutAnchor:m})}(k.current,a,n,g);let b=(0,s.useRef)(!1);(0,s.useInsertionEffect)(()=>{f&&b.current&&f.update(a,c)});let j=a[K.n],x=(0,s.useRef)(!!j&&"u">typeof window&&!window.MotionHandoffIsComplete?.(j)&&window.MotionHasOptimisedAnimation?.(j));return(0,D.E)(()=>{y.current=!0,f&&(b.current=!0,window.MotionIsMounted=!0,f.updateFeatures(),f.scheduleRenderMicrotask(),x.current&&f.animationState&&f.animationState.animateChanges())}),(0,s.useEffect)(()=>{f&&(!x.current&&f.animationState&&f.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(j)}),x.current=!1),f.enteringChildren=void 0)}),f}(e,V,L,p,t.ProjectionNode,j)}return(0,n.jsxs)(u.Provider,{value:I,children:[P&&I.visualElement?(0,n.jsx)(P,{visualElement:I.visualElement,...L}):null,function(e,t,a,{latestValues:i},n,o=!1,r){let l=(r??(0,S.Q)(e)?function(e,t,a,i){let n=(0,s.useMemo)(()=>{let a=b();return(0,f.B)(a,t,(0,g.n)(i),e.transformTemplate,e.style),{...a.attrs,style:{...a.style}}},[t]);if(e.style){let t={};y(t,e.style,e),n.style={...t,...n.style}}return n}:function(e,t){let a,i,n={},o=(a=e.style||{},y(i={},a,e),Object.assign(i,function({transformTemplate:e},t){return(0,s.useMemo)(()=>{let a=k();return(0,v.O)(a,t,e),Object.assign({},a.vars,a.style)},[t])}(e,t)),i);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=!0===e.drag?"none":`pan-${"x"===e.drag?"y":"x"}`),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=o,n})(t,i,n,e),u=function(e,t,a){let i={};for(let n in e)("values"!==n||"object"!=typeof e.values)&&!(0,h.S)(e[n])&&(w(n)||!0===a&&x(n)||!t&&!x(n)||e.draggable&&n.startsWith("onDrag"))&&(i[n]=e[n]);return i}(t,"string"==typeof e,o),m=e!==s.Fragment?{...u,...l,ref:a}:{},{children:d}=t,c=(0,s.useMemo)(()=>(0,h.S)(d)?d.get():d,[d]);return(0,s.createElement)(e,{...m,children:c})}(e,a,(A=I.visualElement,_=(0,s.useRef)(i),(0,s.useInsertionEffect)(()=>{_.current=i}),M=(0,s.useRef)(null),(0,s.useCallback)(e=>{e&&V.onMount?.(e),A&&(e?A.mount(e):A.unmount());let t=_.current;if("function"==typeof t)if(e){let a=t(e);"function"==typeof a&&(M.current=a)}else M.current?(M.current(),M.current=null):t(e);else t&&(t.current=e)},[A])),V,E,t,j)]})}A.displayName=`motion.${"string"==typeof e?e:`create(${e.displayName??e.name??""})`}`;let P=(0,s.forwardRef)(A);return P[O]=e,P}function H(e,t){if("u"<typeof Proxy)return B;let a=new Map,i=(a,i)=>B(a,i,e,t);return new Proxy((e,t)=>i(e,t),{get:(n,s)=>"create"===s?i:(a.has(s)||a.set(s,B(s,void 0,e,t)),a.get(s))})}},68668:(e,t,a)=>{var i=a(66678);e.exports=function(e,t){return!!(null==e?0:e.length)&&i(e,t,0)>-1}},68988:(e,t,a)=>{var i=a(67290),n=a(10931),s=a(5549),o=a(91544),r=a(63778);e.exports=function(e){return"function"==typeof e?e:null==e?s:"object"==typeof e?o(e)?n(e[0],e[1]):i(e):r(e)}},69092:e=>{e.exports={contentRoot:"WarningModal_contentRoot__VKE69"}},69745:(e,t,a)=>{"use strict";a.d(t,{u:()=>n});var i=a(17203);function n(e){return(0,i.S)(e)?e.get():e}},70237:e=>{e.exports={md:"min-width: 768px",breadcrumbRoot:"Breadcrumb_breadcrumbRoot__x1VWi",fullWidth:"Breadcrumb_fullWidth__cDoFh"}},70668:(e,t,a)=>{"use strict";a.d(t,{xR:()=>c,HK:()=>l,tr:()=>v.tr,SP:()=>d,De:()=>p});var i=a(22318),n=a.n(i),s=a(35388),o=a(85711),r=a(42177);let l=(e,t,a)=>(0,s.$Y)((0,s.Bx)(n().array().items(o.st)),"".concat(r.t,"/answers?candidateId=").concat(e,"&electionId=").concat(t),{headers:a});a(56046);let u=n().object({distance:n().number(),percentage:n().number(),themeMatch:n().object().pattern(n().number(),n().number().allow("noAnswers"))});var m=a(14870);let d=async(e,t,a,i,r,l)=>(0,s.$Y)((0,s.Bx)(n().object({candidateMatch:n().array().items(n().object({candidate:(0,o.Aw)(t,r,l),match:u})),partyMatch:n().array().items(n().object({name:n().string().required(),bigParty:n().boolean().optional(),id:n().string().required(),webPage:n().string().optional().allow(""),short
9Name:n().string().required(),color:n().string().required(),nameColor:n().string().required(),matchPercentage:n().number(),orkPartyCode:n().string().optional().allow(""),values:n().object().pattern(n().string(),n().number().allow("noAnswers")),themeMatch:n().object().pattern(n().number(),n().number().allow("noAnswers")),distribution:n().object().pattern(n().number(),n().object().pattern(n().number(),n().number()))})),citizenValues:n().object().pattern(n().string(),n().number().allow("noAnswers"))})),"".concat(m.c.electionApi,"/match?electionId=").concat(t),{method:"POST",body:JSON.stringify({answers:e,municipalityId:a,brand:i})}),c=async(e,t,a)=>(0,s.$Y)((0,s.Bx)(n().object({candidates:n().array().items((0,o.cI)(e,t,a))})),"".concat(r.t,"/candidates/all?electionId=").concat(e)),h=(0,s.Bx)(n().object({total:n().object({value:n().number(),relation:n().string()}),max_score:n().number().allow(null),hits:n().array().items(o.Yj)})),p=async e=>{let t=(0,s.jt)(e);return(0,s.$Y)(h,"".concat(r.t,"/candidateSearch?").concat(null!=t?t:""),{method:"GET"})};m.c.staticAreaFilesApi;var v=a(23765)},70720:(e,t,a)=>{var i=a(29778),n=a(18482),s=a(16799);e.exports=function(e){return s(e)?i(e,!0):n(e)}},70917:(e,t,a)=>{var i=a(74283),n=a(87567);e.exports=function(e){return null==e?[]:i(e,n(e))}},70949:(e,t,a)=>{"use strict";a.d(t,{Fc:()=>c,Zk:()=>tG.Ay,e7:()=>tU,Qp:()=>tp.Qp,$n:()=>u.$n,j7:()=>u.j7,Dh:()=>tX,i2:()=>J,du:()=>G,pM:()=>ts,eQ:()=>aP,Y:()=>aM,K:()=>ap,BW:()=>av,X5:()=>ta,dq:()=>ti,ms:()=>e7,YH:()=>az.A,aM:()=>tp.aM,yn:()=>k,S:()=>aK,D:()=>en.D,Tn:()=>r.A,K0:()=>u.K0,Di:()=>tI.A,dC:()=>tc,AR:()=>em.A,Ip:()=>tj,rE:()=>tN,h2:()=>eb.A,aF:()=>eC,rd:()=>tD,o4:()=>R,io:()=>to,F0:()=>eD,Jo:()=>A.A,C5:()=>A.C,ab:()=>er,z6:()=>Z.z,xJ:()=>eM.A,A0:()=>aF,Y0:()=>l.Y0,F1:()=>eL.A,EB:()=>eE,Eb:()=>af,l6:()=>e6,WD:()=>tS,y$:()=>eV,OH:()=>l.OH,R5:()=>u.R5,EY:()=>l.EY,QW:()=>u.QW,Iw:()=>u.Iw,ks:()=>g,Yq:()=>th.Y,pG:()=>ah,Hw:()=>u.Hw,Xy:()=>T.Xy,QO:()=>tq,cj:()=>tL,oE:()=>tW.oE,og:()=>t$});var i=a(6029),n=a(33112),s=a.n(n),o=a(55729);a(94103);var r=a(20541),l=a(63390);a(63516);var u=a(74969),m=a(22156),d=a.n(m);let c=e=>{let{children:t,icon:a,show:n,onClose:s,style:o,variant:l="alert",margin:m="auto"}=e;if(!n)return null;let c=[d()["margin-".concat(m)],d()[l],d().alertRoot].filter(Boolean).join(" ");return(0,i.jsxs)("div",{role:"alertdialog",style:o,className:c,children:[(0,i.jsxs)("div",{className:d().topContainer,children:[(0,i.jsx)("div",{className:d().iconContainer,children:a}),s&&(0,i.jsx)(u.QW,{style:{position:"absolute",right:0},icon:(0,i.jsx)(r.A,{name:"x-circle",size:24}),onClick:s,children:"Sulje"})]}),t]})};var h=a(35388),p=a(54908),v=a.n(p);let k=e=>{var t,a,n;let{children:s,hasError:o,hidden:r,icon:u,...m}=e;return o?(0,i.jsxs)(l.EY,{className:"".concat(null!=(t=v().errorTextRoot)?t:""," ").concat(r?"":null!=(a=v().visible)?a:""," ").concat(null!=(n=m.className)?n:""," error-text"),role:"alert",size:16,textAlign:"left",...m,as:"p",children:[u,(0,i.jsx)(l.OH,{children:s})]}):null};var y=a(71032),f=a.n(y);let g=e=>{var t,a,n,u,m,d,c;let{"aria-controls":h,"aria-expanded":p,ariaDescribedby:v,ariaDisabled:k,ariaRequired:y,className:g,fontWeight:b="medium",icon:j,id:x,"data-testid":w,name:S,onBlur:N,onChange:A,onEnter:P,placeholder:_="",role:C="input",size:M="18",inputStyle:L,rootStyle:E,type:I="text",value:T,isSearchField:V,hideInput:O}=e;(0,o.useEffect)(()=>{focus()});let[K,U]=(0,o.useState)("");return(0,i.jsxs)("div",{className:"".concat(null!=(t=f().textInputRoot)?t:""," ").concat(null!=(a=s().focusWithin)?a:""," ").concat(null!=g?g:""," ").concat(O&&null!=(n=f().hideInput)?n:""),style:E,children:[(0,i.jsx)("input",{className:"".concat(null!=(u=f().textField)?u:""," ").concat((0,l.gq)({size:M,weight:b})," ").concat(null!=(m=s().focusVisible)?m:""),"aria-controls":h,"aria-expanded":p,"aria-describedby":v,"aria-required":y,"aria-disabled":k,readOnly:k,id:x,"data-testid":w,name:S,onBlur:N,onChange:e=>{U(e.target.value),k||A(e.target.value)},onKeyDown:e=>{"Enter"===e.key&&(null==P||P())},placeholder:_,role:C,style:L,type:I,value:T}),V&&K&&(0,i.jsx)("button",{className:"".concat(null!=(d=f().clearButton)?d:""," ").concat(null!=(c=s().focusVisible)?c:""),"aria-label":"Tyhjenn\xe4 haku",onClick:e=>{e.stopPropagation(),U(""),A("")},type:"button",children:(0,i.jsx)(r.A,{name:"x",size:24})}),j&&(0,i.jsx)("div",{className:f().iconContainer,children:j})]})};var b=a(6820),j=a.n(b);a(16768),a(64132),a(44322);let x=e=>{let{source:t,type:a,width:n,height:s}=e,r=(0,o.useRef)(null);return(0,o.useEffect)(()=>{var e;null==(e=r.current)||e.load()},[t]),(0,i.jsx)("video",{ref:r,width:n,height:s,controls:!0,children:(0,i.jsx)("source",{src:t,type:a})})};
9var w=a(87500),S=a(8588),N=a.n(S),A=a(67251),P=a(78332),_=a.n(P);let C={liveEmbed:250,extraLarge:184,large:124,medium:72,small:56,"extra-small":40},M={liveEmbed:0,extraLarge:18,large:14,medium:12,small:10,"extra-small":6},L={liveEmbed:"xl",extraLarge:"m",large:"m",medium:"s",small:"xs","extra-small":"xxs"},E={extraLarge:"xl",large:"xl",medium:"m",small:"l","extra-small":"m",liveEmbed:"xl"},I=e=>{var t,a,n,s,r,l;let{size:u,image:m,partyTag:d,style:c,blackAndWhiteImage:h}=e,p=C[u],v=M[u],k=L[u],y=E[u],f=p-v,g="/profilePicPlaceholder.png",[b,j]=(0,o.useState)(null!=(t=null==m?void 0:m.src)?t:g);return(0,i.jsx)("div",{className:"".concat(null!=(a=_().candidatePartyImageRoot)?a:""," ").concat(null!=(n=_()[u])?n:""),style:{minWidth:C[u],minHeight:C[u],...c},"aria-hidden":!0,children:(0,i.jsxs)("div",{className:"".concat(null!=(s=_().imageContainer)?s:""," ").concat(h&&null!=(r=_().blackAndWhiteImage)?r:""),style:{top:v/2,left:v/2},children:[m&&(0,i.jsx)(N(),{unoptimized:b===g||void 0,loader:e=>"".concat(e.src,"?w=").concat(f),src:b,alt:null!=(l=m.alt)?l:"",width:f,height:p-v,style:{borderRadius:"50%"},onError:()=>{j(g)}}),m&&d&&(0,i.jsx)("div",{className:_().smallPartyTagContainer,children:(0,i.jsx)(A.A,{size:k,name:d.shortName,backgroundColor:d.color,textColor:d.nameColor})}),!m&&d&&(0,i.jsx)(A.A,{size:y,name:d.shortName,backgroundColor:d.color,textColor:d.nameColor})]})})};var T=a(59362),V=a(62950);let O=e=>{let{height:t=40,value:a,variant:n="primary",showPercentage:s=!0,styles:o}=e,r=V.ri/2,u=t-2*r,m=u*a;return(0,i.jsx)("div",{style:{...o,width:s?45:10},children:(0,i.jsxs)(V.KB,{"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":100*a,role:"meter",direction:"vertical",style:{height:u,marginBottom:r,marginTop:r},children:[(0,i.jsx)(V.VS,{variant:n}),(0,i.jsx)(V.yP,{style:{height:m},variant:n,direction:"vertical"}),(0,i.jsx)(V.jl,{style:{bottom:m},variant:n,direction:"vertical"}),s&&(0,i.jsx)(V.ax,{variant:n,typography:{size:V.Gx},style:{left:12,bottom:m-V.Gx/2-1},children:(0,i.jsx)(l.OH,{children:(0,h.KN)(a)})})]})})};var K=a(65596),U=a.n(K);let R=e=>{var t,a;let{className:n,color:s,...o}=e,r="".concat(null!=(t=U().noteBox)?t:""," ").concat(null!=(a=U()[s])?a:""," ").concat(null!=n?n:"");return(0,i.jsx)("div",{className:r,...o})};var D=a(26795),B=a(1361),H=a.n(B),F=a(1917),z=a.n(F);let $=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=z().candidateCardRoot)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("div",{className:s,...n})},q=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=z().candidateCardContent)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("div",{className:s,...n})},G=e=>{var t;let a,{candidateNumber:n,image:s,name:o,party:m,candidatePromise:d,href:c,note:p,matchPercentage:v}=e,k=!(0,h.N$)(w.f.xsm),y=(0,h.N$)(w.f.md),f=k?"small":"large";return(0,i.jsxs)($,{role:"group",children:[p&&(0,i.jsx)(R,{color:"withBorder",style:{width:"fit-content",textTransform:"uppercase"},children:(0,i.jsx)(l.EY,{size:y?18:16,style:{color:"white",textAlign:"center"},children:(0,i.jsx)(D.OH,{children:p})})}),(0,i.jsxs)(q,{"aria-label":(a=null!=(t=null==m?void 0:m.name)?t:"ei puoluetta","".concat(o,", ").concat(a,". Numero ").concat(null!=n?n:"",". Yhteensopivuus ").concat((0,h.KN)(v),". Vaalilupaus: ").concat(d)),children:[(0,i.jsxs)("div",{className:H().candidateImageRow,"aria-hidden":"true",children:[(0,i.jsx)(I,{size:f,image:{src:s,alt:"".concat(o," ").concat(null!=n?n:"")},partyTag:m&&{color:m.color,nameColor:m.nameColor,shortName:m.shortName}}),(0,i.jsx)("div",{className:H().matchElement,style:{left:"calc(50% + ".concat(C[f]/2,"px + 10px)")},children:(0,i.jsx)(O,{"aria-label":"yhteensopivuus",variant:"secondary",value:v,height:C[f],showPercentage:!0})})]}),(0,i.jsx)("span",{className:H().textContainer,"aria-hidden":"true",children:(0,i.jsxs)(T.Xy,{children:[(0,i.jsx)("li",{"aria-label":"Ehdokkaan nimi:",children:(0,i.jsx)(l.EY,{size:18,textAlign:"center",style:{display:"block"},as:"p",children:(0,i.jsx)(D.OH,{children:o})})}),m&&(0,i.jsx)("li",{"aria-label":"Puolue:",children:(0,i.jsx)(l.EY,{size:y?18:16,textAlign:"center",style:{display:"block"},as:"p",children:m.name})}),void 0!==n&&(0,i.jsx)("li",{"aria-label":"Ehdokkaan numero:",children:(0,i.jsxs)(l.EY,{size:y?18:16,textAlign:"center",weight:"normal",style:{display:"block"},as:"p",children:["Nro ",n]})})]})}),d&&(0,i.jsx)(R,{color:"secondary",style:{width:"fit-content"},"aria-hidden":"true",children:(0,i.jsx)(l.EY,{textAlign:"center",size:y?16:14,style:{margin:"auto"},as:"p",children:d})})]}),(0,i.jsx)(u.Iw,{href:null!=c?c:"#",icon:(0,i.jsx)(r.A,{name:"arrow-right",size:24}),alignIcon:"right",children:"Tutustu ehdokkaaseen"})]})};var W=a(22064),Y=a.n(W);let J=e=>{let{image:t,name:a,pageLink:n}=e;return(0,i.jsx)("div",{className:Y().centerContainer,children:(0,i.jsx)($,{style:{maxWidth:"360px",padding:"12px"},role:"group",children:(0,i.jsxs)(q,{"aria-label":a,style:{gap:"8px"},children:[(0,i.jsx)(I,{size:"large",image:{src:t,alt:"Kuva ehdokkaasta ".concat(a)}}),(0,i.jsx)(l.EY,{size:18,weight:"medium",textAlign:"center",children:a}),(0,i.jsx)(u.Iw,{size:"small",style:{boxShadow:"inset var(--shadow-link-box-sha
9dow)",height:"fit-content",paddingBottom:"4px"},href:n,icon:(0,i.jsx)(r.A,{size:22,name:"external-link"}),alignIcon:"right",target:"_blank",rel:"noreferrer",children:(0,i.jsxs)(l.EY,{size:16,weight:"medium",children:[" ","Tutustu ehdokkaaseen vaalikoneessa"]})})]})})})};a(27206),a(97139),a(22318);var Q=a(40508),X=a(85711),Z=a(67180),ee=a(35518),et=a.n(ee);let ea=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=et().buttonsContainer)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("div",{...n,className:s})};a(26679);var ei=a(53499),en=a(92068);en.hz,ei.A;var es=a(16928),eo=a.n(es);let er=e=>{var t,a,n,s;let{children:o,shadowed:r,bordered:u=!1,variant:m,...d}=e,c="".concat(null!=(t=eo().pillRoot)?t:""," ").concat(null!=(a=eo()[m])?a:""," ").concat(r&&null!=(n=eo().shadowed)?n:""," ").concat(u&&null!=(s=eo().bordered)?s:"");return(0,i.jsx)("div",{...d,className:c,children:o&&(0,i.jsx)(l.EY,{size:16,as:"p",children:(0,i.jsx)(l.OH,{children:o})})})};a(56995),a(1238),a(52904),a(72517);var el=a(82203),eu=a.n(el),em=a(83436),ed=a(71024),ec=a.n(ed);let eh=e=>(0,i.jsx)(o.Fragment,{children:e.children}),ep=ec()(()=>Promise.resolve(eh),{ssr:!1});var ev=a(49544),ek=a.n(ev);let ey=e=>{var t,a;let{href:n,title:o}=e;return(0,i.jsx)(eu(),{href:n,style:{textDecoration:"none"},passHref:!0,children:(0,i.jsx)("span",{className:"".concat(null!=(t=ek().anchor)?t:""," ").concat(null!=(a=s().focus)?a:""),children:(0,i.jsx)(l.EY,{as:"p",children:(0,i.jsx)(l.OH,{children:o})})})},"".concat(o,"-").concat(n))},ef=e=>{var t,a;let{title:n,onClick:o}=e;return(0,i.jsx)("span",{className:"".concat(null!=(t=ek().anchor)?t:""," ").concat(null!=(a=s().focus)?a:""),role:"button",onClick:o,style:{cursor:"pointer"},children:(0,i.jsx)(l.EY,{as:"p",children:(0,i.jsx)(l.OH,{children:n})})})},eg=e=>{var t;let{style:a,className:n,logoComponent:s,links:r,buttons:l=[]}=e;return(0,i.jsxs)("footer",{className:"".concat(null!=(t=ek().footerRoot)?t:""," ").concat(null!=n?n:""),style:a,children:[(0,i.jsx)(em.A,{role:"separator",style:{margin:"0 0 20px 0",opacity:.2},width:"responsive"}),(0,i.jsxs)("div",{className:ek().footerContent,children:[s&&(0,i.jsx)(ep,{children:s}),(0,i.jsxs)("div",{className:ek().footerContentLinks,children:[r.map(e=>(0,o.createElement)(ey,{...e,key:e.title})),l.map(e=>(0,o.createElement)(ef,{...e,key:e.title}))]})]})]})};a(4295),a(4513),a(33892),a(60832),a(82148);var eb=a(33972),ej=a(50511),ex=a(36168),ew=a.n(ex),eS=a(76513),eN=a.n(eS);let eA=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("div",{className:"".concat(null!=(t=eN().modalHeader)?t:""," ").concat(null!=a?a:""),...n})},eP=e=>{e?document.body.style.overflow="hidden":document.body.style.overflow="auto"},e_={hidden:{y:"-100vh",opacity:0}
9,visible:{y:"0",opacity:1,transition:{duration:.3,type:"spring",damping:100,stiffness:1e3}},exit:{y:"100vh",opacity:0}},eC=e=>{let{children:t,show:a,ariaLabel:n,ariaDescribedBy:s,onClose:l}=e,m=(0,o.useRef)(null),[d,c]=(0,o.useState)(!1);return((0,o.useEffect)(()=>{c(a)},[a]),(0,o.useEffect)(()=>{let e=e=>{var t;let a,i,n;l&&"Escape"===e.key&&l();"Tab"===e.key&&d&&m.current&&(t=m.current,i=(a=t.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'))[0],n=a[a.length-1],e.shiftKey?document.activeElement===i&&(null==n||n.focus(),e.preventDefault()):document.activeElement===n&&(null==i||i.focus(),e.preventDefault()))};return document.body.addEventListener("keydown",e),()=>{document.body.removeEventListener("keydown",e)}},[l,d]),(0,o.useEffect)(()=>{eP(d);var e=m.current;if(d){let t=e&&e.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])')[0];t&&t.focus()}return()=>{eP(!1)}},[d]),d)?(0,i.jsx)("div",{className:ew().modalRoot,onClick:l,children:(0,i.jsx)(ej.P.div,{onClick:e=>{e.stopPropagation()},className:"modal orange-gradient",variants:e_,initial:"hidden",animate:"visible",exit:"exit",children:(0,i.jsxs)("div",{className:ew().modalContainer,"aria-label":n,"aria-describedby":s,role:"dialog","aria-modal":"true",ref:m,children:[l&&(0,i.jsx)(eA,{children:(0,i.jsx)(u.QW,{style:{color:"var(--colors-text-primary-color)"},icon:(0,i.jsx)(r.A,{name:"x-circle",size:24}),onClick:l,children:"Sulje"})}),t]})})}):null};a(5667);var eM=a(55814);a(7556);var eL=a(92785);let eE=e=>{let{size:t,image:a,location:n,selected:s,blackAndWhiteImage:r,customBorderColor:l}=e,u="large"===t?32:25,m="/profilePicPlaceholder.png",[d,c]=(0,o.useState)(a.src||m);return(0,i.jsxs)("g",{children:[(0,i.jsx)("circle",{cx:n.x,cy:n.y,r:u/2+(s?5:2),style:{fill:r?"#808080":null!=l?l:"#fff"}}),(0,i.jsxs)("svg",{children:[!!r&&(0,i.jsx)("filter",{id:"grayscale",children:(0,i.jsx)("feColorMatrix",{type:"saturate",values:"0.10"})}),(0,i.jsx)("image",{style:r?{filter:"url('#grayscale')",WebkitFilter:"url('#grayscale')"}:{},x:n.x-u/2,y:n.y-u/2,xlinkHref:d,width:u,height:u,clipPath:"circle(50%)",preserveAspectRatio:"xMidYMid slice",onError:()=>{c(m)}})]})]})};var eI=a(740),eT=a.n(eI);let eV=()=>{let{minHeight:e}=(0,h.Ox)();return(0,i.jsx)("div",{className:eT().spinnerRoot,style:{height:e},children:(0,i.jsx)(en.hz,{size:24})})};a(25782),a(49246),a(60788),a(83140);var eO=a(70917),eK=a.n(eO),eU=a(91390),eR=a.n(eU);let eD=e=>{let t=(0,h.N$)(w.f.md),{shownParties:a,electionMachineQuestions:n,answerOptions:s,showThemes:r}=e,u=(0,o.useMemo)(()=>n.reduce((e,t)=>{let i=(0,X.mR)(s,a,t);return i&&(e[t.id]={question:t,splits:i}),e},{}),[a,s,n]),m=eK()(u).map(e=>{let t=[];return{...e,splits:Object.entries(e.splits).map(e=>{var i;let[n,s]=e,o=Object.values(s.answerCountPerOption).reduce((e,t)=>e+t,0),r=(Math.round(4*(Object.entries(s.answerCountPerOption).reduce((e,t)=>{let[a,i]=t;return e+parseInt(a)*i},0)/o))/4).toFixed(2),l=a.find(e=>e.id===n);"all"!==n&&t.push(r);let u=t.reduce((e,t)=>{var a;return e[t]=(null!=(a=e[t])?a:0)+1,e},{});return{id:n,meanValue:Number(r),color:null==l?void 0:l.color,nameColor:null==l?void 0:l.nameColor,shortName:null==l?void 0:l.shortName,answerCountPerOption:s.answerCountPerOption,level:Number(r)&&null!=(i=u[r])?i:0}}).filter(e=>"all"!==e.id)}}),d=m.map((e,t)=>{var a;return 0===t||e.question.theme!==(null==(a=m[t-1])?void 0:a.question.theme)?e.newTheme=!0:e.newTheme=!1,e});return(0,i.jsx)(i.Fragment,{children:d.map((e,a)=>{let n=Math.max(...e.splits.map(e=>e.level));return(0,i.jsxs)(o.Fragment,{children:[a>0?(0,i.jsx)(em.A,{role:"separator",width:"responsive",theme:r&&e.newTheme?"dark":"light",style:{margin:"".concat(r?"10px":0," 0")}}):null,r&&d.length>1&&e.newTheme?(0,i.jsx)(R,{color:"secondary",style:{width:"fit-content"},children:(0,i.jsx)(l.EY,{size:t?18:16,style:{textAlign:"center"},children:(0,i.jsxs)(l.OH,{children:["Kysymysteema: ",e.question.themeName]})})}):null,(0,i.jsx)(l.EY,{as:"p",weight:"medium",size:"18",style:{width:"100%"},children:e.question.text}
9),(0,i.jsxs)("div",{className:eR().graphWrapper,style:{height:t?30+24*n:20+24*n},children:[e.splits.map(e=>e.shortName&&e.nameColor&&e.color&&e.meanValue?(0,i.jsxs)("div",{className:eR().party,style:{left:"calc(".concat((e.meanValue-1)*25,"% - 14px)"),bottom:t?6+(e.level-1)*30:6+(e.level-1)*24},children:[1===e.level?(0,i.jsx)("div",{className:eR().partyLine}):null,(0,i.jsx)(A.A,{size:"s",backgroundColor:e.color,textColor:e.nameColor,name:e.shortName})]},e.id):null),(0,i.jsx)("div",{className:eR().horizontalLine}),Array.from({length:5},(e,t)=>(0,i.jsx)("div",{className:eR().circle,style:{left:"calc(".concat(25*t,"% - 6px)")}},t))]}),(0,i.jsxs)("div",{className:eR().legendWrapper,children:[(0,i.jsx)(l.EY,{as:"p",weight:"medium",style:{width:"50%"},children:"T\xe4ysin eri mielt\xe4"}),(0,i.jsx)(l.EY,{as:"p",weight:"medium",textAlign:"right",style:{width:"50%"},children:"T\xe4ysin samaa mielt\xe4"})]})]},e.question.id)})})};var eB=a(14107);let eH={open:{opacity:1,transition:{duration:.3},y:0},closed:{opacity:0,transition:{duration:.3},y:10}},eF=e=>{let{children:t,isOpen:a,key:n,className:s}=e;return(0,i.jsx)(ej.P.div,{variants:eH,initial:"closed",animate:a?"open":"closed",exit:"closed",className:s,children:t},n)};var ez=a(97687),e$=a.n(ez);let eq=e=>{let{active:t,children:a,label:n,onOptionClick:s,optionValue:r,className:u,...m}=e,d=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(t){var e;null==(e=d.current)||e.scrollIntoView({behavior:"smooth",block:"nearest"})}},[t]);let c=t?e$().visibleFocus:"",h=(0,l.gq)({size:18,weight:"normal",lineHeight:"none"}),p=[e$().optionRoot,c,h,u].join(" ");return(0,i.jsx)("li",{...m,"aria-selected":t,className:p,onMouseDown:s({label:n,value:r}),ref:d,role:"option",children:null!=a?a:n})};var eG=a(88179),eW=a.n(eG);let eY=(e,t,a)=>{let i=RegExp(e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),n=[...t.matchAll(i)];if(a)return t.toLocaleLowerCase()===e.toLocaleLowerCase()?[{id:"0-".concat(t,"-bold"),content:t,type:"bold"}]:[{id:"0-".concat(t,"-regular"),content:t,type:"regular"}];if(""!==e){let e=n.map(e=>[e.index,e[0]]),a=[];for(let[t,i]of e)i.length>1?i.split("").forEach((e,i)=>{a.push([t+i,e])}):a.push([t,i]);let i=t.split("").map((e,t)=>{let i=a.find(e=>e[0]===t);return i?{type:"bold",content:i[1]}:{type:"regular",content:e}}),s=0,o=0,r=[];for(;s<i.length;){let e=i[s];if(!e)break;let t=r[o-1];t&&t.type===e.type?t.content="".concat(t.content).concat(e.content):(r[o]=e,o++),s++}return r.map((e,t,a)=>{let i=a.filter(t=>{let{type:a}=t;return a===e.type}).indexOf(e);return{...e,id:"".concat(i,"-").concat(e.content,"-").concat(e.type)}})}return[{id:"0-".concat(t,"-regular"),content:t,type:"regular"}]},eJ=e=>"value"in e,eQ=e=>"options"in e,eX=e=>{let{activeElementIndex:t,handleOptionClick:a,id:n,isDropdown:s,resultLabel:u="Tulokset",results:m,value:d,visible:c,loading:h}=e,[p,v]=(0,o.useState)(!c);return(0,o.useEffect)(()=>{c?v(!1):window.setTimeout(()=>{v(!c)},300)},[c]),(0,i.jsx)(T.Xy,{className:eW().resultRoot,"aria-label":u,hidden:p,id:n,role:"listbox",children:0===m.length?(0,i.jsx)("div",{className:(0,l.gq)({size:18,weight:"medium",textAlign:"center"}),children:h?"Ladataan vaihtoehtoja...":n.includes("postalcodearea")?"Valitse ensin kunta":"Ei tuloksia"}):(0,i.jsx)(i.Fragment,{children:m.map((e,l,u)=>{let m=u.slice(0,l).filter(eQ).map(e=>{let{options:t}=e;return t.length}).reduce((e,t)=>e+t,0)+u.slice(0,l).filter(eJ).length;return eQ(e)?(0,i.jsxs)("div",{children:[(0,i.jsx)("h5",{className:eW().optionGroupHeading,children:e.label}),e.options.map((e,l)=>(0,i.jsx)(eq,{optionValue:e.value,label:e.label,active:t===l+m,id:"".concat(n,"-option-").concat(l+m),onOptionClick:a,children:eY(d,e.label,s).map(e=>"bold"===e.type?s?(0,i.jsxs)("strong",{className:eW().strong,style:{width:"100%",display:"flex",justifyContent:"space-between"},children:[e.content,(0,i.jsx)(r.A,{name:"check-circle",size:16})]},e.id):(0,i.jsx)("strong",{className:eW().strong,children:e.content},e.id):(0,i.jsx)(o.Fragment,{children:e.content},e.id))},"".concat(e.label," ").concat(JSON.stringify(e.value))))]},"group ".concat(e.label)):(0,i.jsx)(eq,{optionValue:e.value,label:e.label,active:t===m,id:"".concat(n,"-option-").concat(m),onOptionClick:a,children:eY(d,e.label,s).map(e=>"bold"===e.type?s?(0,i.jsxs)("strong",{className:eW().strong,style:{width:"100%",display:"flex",justifyContent:"space-between"},children:[e.content,(0,i.jsx)(r.A,{name:"check-circle",size:16})]},e.id):(0,i.jsx)("strong",{className:eW().strong,children:e.content},e.id):(0,i.jsx)(o.Fragment,{children:e.content},e.id))},e.label)})})})};var eZ=a(84974),e0=a.n(eZ);let e1=()=>{},e2=e=>{var t,a,n,u,m,d;let c,{className:h,children:p,disabled:v,label:k,idPrefix:y,resultLabel:f,value:g,options:b,onChange:j,isDropdown:x,style:w,loading:S,labelAlign:N="left",starAfterLabel:A,fullWidth:P}=e,_=(0,o.useRef)(null),C=(0,o.useRef)(null),[M,L]=(0,o.useState)(!1);d=()=>{L(!1)},c=(0,o.useCallback)(e=>{_.current&&e.target instanceof Node&&!_.current.contains(e.target)&&d()},[d,_]),(0,o.useEffect)(()=>(document.addEventListener("click",c),()=>{document.removeEventListener("click",c)}),[c]);let E=(0,o.useCallback)(e=>()=>{j(e),L(!1)},[j]);(0,o.useEffect)(()=>
9{if(M){var e;null==(e=C.current)||e.focus()}},[M]);let{activeElementIndex:I,currentOption:T,flatResults:V,setActiveElementIndex:O}=(e=>{let[t,a]=(0,o.useState)(0),i=(0,o.useMemo)(()=>e.flatMap(e=>eQ(e)?e.options:e),[e]),n=(0,o.useMemo)(()=>i[t],[t,i]);return(0,o.useEffect)(()=>{t&&i.length<t&&a(0)},[t,i.length]),{activeElementIndex:t,currentOption:n,flatResults:i,setActiveElementIndex:a}})(b),K=(0,o.useCallback)(e=>{var t,a,i;"ArrowDown"===e.key&&(e.preventDefault(),e.altKey?L(!0):(M&&O(e=>e===V.length-1?0:e+1),M||(null==(a=C.current)||a.focus(),O(0),L(!0))),null==(t=C.current)||t.focus()),"ArrowUp"===e.key&&(e.preventDefault(),M&&O(e=>0===e?V.length-1:e-1),M||(L(!0),O(V.length-1)),null==(i=C.current)||i.focus()),"Enter"===e.key&&(T&&M&&j(T),L(!1)),"Escape"===e.key&&(M?L(!1):j(null))},[T,V.length,j,O,M]),U=P?e0().fullWidth:"";return(0,i.jsxs)("div",{className:U,children:[(0,i.jsx)("div",{className:"".concat(null!=(t=e0().labelContainer)?t:""," ").concat(null!=(a=e0()[N])?a:""," ").concat(null!=U?U:""),children:(0,i.jsx)("label",{id:"select-label-".concat(y),htmlFor:"select-base-root-".concat(y),children:(0,i.jsx)(l.EY,{starAfterLabel:A,children:(0,i.jsx)(l.OH,{children:k})})})}),(0,i.jsxs)("div",{className:"".concat(null!=(n=e0().selectBaseRoot)?n:""," ").concat(null!=h?h:""," ").concat(null!=U?U:""),id:"select-base-root-".concat(y),"aria-labelledby":"select-label-".concat(y),onBlur:e=>{let{currentTarget:t,relatedTarget:a}=e;t.contains(a)||t===_.current||L(!1)},style:w,ref:_,role:"combobox","aria-expanded":M,"aria-haspopup":"listbox",children:[(0,i.jsxs)("div",{className:e0().fieldContainer,"aria-disabled":v,onClick:v?e1:()=>{L(e=>!e)},onKeyDown:v?e1:K,children:[p({fieldRef:C,showOptions:M,activeElementIndex:I,setShowOptions:L}),(0,i.jsx)("button",{className:"".concat(null!=(u=e0().searchIcon)?u:""," ").concat(null!=(m=s().focus)?m:""),style:{background:"transparent",color:"var(--colors-text-primary-color)"},disabled:v,tabIndex:x?0:-1,type:"button","aria-label":M?"Sulje vaihtoehdot":"Avaa vaihtoehdot",children:(0,i.jsx)(r.A,{"aria-hidden":!1,name:"chevron-down",size:24})})]}),(0,i.jsx)(eB.N,{children:(0,i.jsx)(eF,{isOpen:M,children:(0,i.jsx)(eX,{id:"".concat(y,"-listbox"),isDropdown:x,results:b,handleOptionClick:E,value:g,activeElementIndex:I,resultLabel:f,visible:M,loading:S})})})]})]})};var e5=a(41663),e3=a.n(e5);let e4=()=>{},e6=e=>{let{autoComplete:t="off",className:a,clearButtonAriaLabel:n="Tyhjenn\xe4 valinta",style:l,disabled:u,initialOption:m="",label:d,onChange:c,options:p,suggestedOptions:v,placeholder:k="Search",resultLabel:y,id:f,loading:g,labelAlign:b="left",themeLight:x,starAfterLabel:w,hideValue:S,fullWidth:N}=e,A=(0,h.ZC)(m),[P,_]=(0,o.useState)(m);(0,o.useEffect)(()=>{P===A&&_(m)},[P,m,A]);let C=P.toLowerCase(),M=(0,o.useMemo)(()=>{let e=(e,t)=>e.label.toLowerCase().indexOf(C)-t.label.toLowerCase().indexOf(C),t=e=>e.label.toLowerCase().includes(C),a=[...!P&&v?v:p].map(a=>{if(eQ(a)){let i=[...a.options.filter(t)];return i.sort(e),{label:a.label,options:i}}return a}).filter(e=>eQ(e)?e.options.length>0:t(e));return a.sort((t,a)=>eQ(t)||eQ(a)?0:e(t,a)),a},[p,C,P,v]),L=e=>{_(()=>null===e?"":e.label),c(e)},E=e=>{e.stopPropagation(),_(""),c(null)};return(0,i.jsx)(e2,{style:l,disabled:u,label:d,idPrefix:f,value:P,options:M,autoComplete:t,className:a,onChange:L,resultLabel:y,loading:g,labelAlign:b,starAfterLabel:w,fullWidth:N,children:e=>{var a,o,l,m,h,p,v,y;let{fieldRef:g,showOptions:b,activeElementIndex:w,setShowOptions:N}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("label",{htmlFor:"select-input",children:d}),(0,i.jsx)("div",{className:"".concat(null!=(a=e3().searchFieldContainer)?a:""," ").concat(null!=(o=s().focusWithin)?o:""),children:(0,i.jsx)("input",{className:"".concat(x?null!=(l=e3().searchFieldLight)?l:"":null!=(m=e3().searchField)?m:""," ").concat(null!=(h=s().focusVisible)?h:""," ").concat((0,D.gq)({size:"18"})," ").concat(null!=(p=j().strongCss)?p:""),autoComplete:t,"aria-activedescendant":b?"".concat(f,"-listbox-option-").concat(null!=w?w:""):void 0,"aria-controls":"".concat(f,"-listbox"),disabled:u,id:"select-input","data-testid":"select-input",onBlur:e=>{let t=M.length&&void 0!==w&&M[w];""===e.target.value?c(null):S?(c(null),L(null)):t&&eJ(t)&&L(t)},onChange:u?e4:e=>{_(" "===e.target.value?"":e.target.value),N(()=>""!==e.target.value)},placeholder:k,ref:g,type:"text",value:P})}),P&&!S&&(0,i.jsx)("button",{className:"".concat(null!=(v=e3().clearButton)?v:""," ").concat(null!=(y=s().focusVisible)?y:""),"aria-label":n,disabled:u,onClick:E,type:"button",children:(0,i.jsx)(r.A,{name:"x",size:24})})]})}})};a(50485);var e8=a(85757),e9=a.n(e8);let e7=e=>{let{className:t,disabled:a,id:n="dropdown",initialOption:s,label:r,onChange:u,options:m,placeholder:d,resultLabel:c,style:p,starAfterLabel:v,"aria-labelledby":k}=e,y=(0,h.ZC)(s),[f,g]=(0,o.useState)(()=>s?s.label:void 0);return(0,o.useEffect)(()=>{s&&f===(null==y?void 0:y.label)&&g(s.label)},[s,y,f]),(0,i.jsx)(e2,{disabled:a,label:r,"aria-labelledby":k,idPrefix:n,value:null!=f?f:"",onChange:e=>{g(e?e.label:null),u(e)},options:m,isDropdown:!0,className:t,resultLabel:c,style:p,starAfterLabel:v,children:e=>{let{fieldRef:t,showOptions:a,activeElementIndex:s}=e;return(0,i.jsx)("div",{className:e9().combobox,"aria-activedescendant":a?"".concat(n,"-listbox-option-").concat(null!=s?s:""):void 0,"aria-controls":"".concat(n,"-listbox"),ref:t,tabIndex:-1,
9children:(0,i.jsx)(l.EY,{size:18,children:(0,i.jsx)(l.OH,{children:null!=f?f:d})})})}})};a(64635);var te=a(29468),tt=a.n(te);let ta=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=tt().checkboxCardGridContainer)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("ul",{className:s,...n})},ti=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=tt().checkboxCardListContainer)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("div",{className:s,...n})},tn=e=>{var t,a;let{"aria-label":n,"aria-describedby":o,checked:l,children:u,image:m,match:d,partyTag:c,hideCheck:h,hideMatch:p,onClick:v,reference:k,blackAndWhiteImage:y}=e;return(0,i.jsxs)("li",{"aria-checked":h?void 0:l,"aria-label":n,"aria-describedby":o,onClick:v,onKeyDown:e=>{" "===e.key&&(v&&v(),e.stopPropagation(),e.preventDefault())},role:h?"link":"checkbox",tabIndex:0,ref:k,className:"".concat(null!=(t=tt().checkboxCardRoot)?t:""," ").concat(null!=(a=s().focus)?a:""),children:[(0,i.jsxs)("div",{className:tt().leftContent,children:[(0,i.jsxs)("div",{className:tt().matchContent,children:[(null!=m?m:c)&&(0,i.jsx)("div",{className:tt().imageContainer,children:(0,i.jsx)(I,{size:"small",image:m,partyTag:c,blackAndWhiteImage:y})}),!p&&(0,i.jsx)(O,{variant:l?"primary":"secondary",value:d,height:C.small,showPercentage:!0})]}),u]}),!h&&(0,i.jsx)(r.A,{name:l?"minus-circle":"plus-circle",size:28,fill:"white",style:{stroke:"var(--colors-border-color)"}})]})},ts=e=>{let{firstName:t,lastName:a,candidateNumber:n,party:s,"aria-label":o,"aria-describedby":r,blackAndWhiteImage:u,...m}=e;return(0,i.jsx)(tn,{...m,"aria-label":null!=o?o:"".concat(t," ").concat(a,"\n        ").concat(void 0!==n?", ".concat(n):"","\n        , ").concat(s),"aria-describedby":r,blackAndWhiteImage:u,children:(0,i.jsx)("div",{className:tt().textContainer,children:(0,i.jsxs)(l.EY,{children:[t," ",a,void 0!==n?", ".concat(n):"",", ".concat(s)]})})})},to=e=>{let{partyName:t,"aria-label":a,reference:n,...s}=e;return(0,i.jsx)(tn,{...s,"aria-label":null!=a?a:t,partyTag:s.partyTag,reference:n,children:(0,i.jsx)("div",{className:tt().textContainer,children:(0,i.jsx)(l.EY,{children:t})})})};var tr=a(88357),tl=a.n(tr);let tu=e=>{var t,a,n;let{align:s="center",verticalAlign:o="center",className:r,...l}=e,u="".concat(null!=(t=tl().cardContent)?t:""," ").concat(null!=(a=tl()["align-".concat(s)])?a:""," ").concat(null!=(n=tl()["vertical-align-".concat(o)])?n:""," ").concat(null!=r?r:"");return(0,i.jsx)("article",{className:u,...l})};var tm=a(44410),td=a.n(tm);let tc=e=>{var t,a;let{alignContent:n="center",children:s,header:o,divider:r,rootStyle:u,cardContentStyle:m,headerAlign:d="center",smallHeader:c,headerLevel:p="h2",verticalAlign:v="top",ariaLabel:k,tag:y,locationTag:f,cardContentClassName:g}=e,b=(0,h.N$)(w.f.md);return(0,i.jsxs)("div",{className:td().layoutCardRoot,style:u,children:[(0,i.jsx)(tu,{align:n,style:m,className:g,verticalAlign:v,"aria-label":k,children:(0,i.jsxs)(i.Fragment,{children:[y&&(0,i.jsx)("div",{className:"".concat(null!=(t=td().tag)?t:""," ").concat(null!=(a=td().ad)?a:""),children:(0,i.jsx)(l.EY,{size:12,style:{display:"block"},children:y.text})}),f&&(0,i.jsx)("div",{className:td().locationTag,children:f}),o?(0,i.jsx)(l.EY,{as:p,textAlign:"center",size:c||!b?22:28,lineHeight:b?"loose":"semiLoose",style:{marginTop:y||f?12:0,alignSelf:d},children:(0,i.jsx)(l.OH,{children:o})}):null,s]})}),r&&(0,i.jsx)("hr",{className:td().cardDivider})]})};var th=a(58617),tp=a(34177),tv=a(21939);a(46309);var tk=a(46776),ty=a.n(tk);let tf=e=>{var t,a,n,s,o,r;let{"aria-label":u,height:m=40,value:d,variant:c="primary",showPercentage:p}=e,v=m/2,k=v-1.5,y=2*Math.PI*k,f=Math.PI/180*(100*d*3.6+270),g=v+k*Math.cos(f),b=v+k*Math.sin(f);return(0,i.jsx)("div",{style:{width:m},children:(0,i.jsxs)(V.KB,{"aria-label":u,"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":Math.round(100*d),role:"meter",style:{height:m,width:m},direction:"circular",children:[(0,i.jsxs)("svg",{className:ty().progressContainer,children:[(0,i.jsx)("circle",{r:k,cx:v,cy:v,className:"".concat(null!=(t=ty().progressBackgroundCircle)?t:""," ").concat(null!=(a=ty()[c])?a:"")}),(0,i.jsx)("circle",{strokeDasharray:y,strokeDashoffset:(1-d)/1*y,strokeWidth:3,transform:"rotate(".concat(270,", ").concat(v,", ").concat(v,")"),cx:v,cy:v,r:k,className:"".concat(null!=(n=ty().progressFillCircle)?n:""," ").concat(null!=(s=ty()[c])?s:"")}),(0,i.jsx)("circle",{cx:g,cy:b,r:5,className:"".concat(null!=(o=ty().resultCircle)?o:""," ").concat(null!=(r=ty().secondary)?r:"")})]}),p&&(0,i.jsx)(V.ax,{variant:c,typography:{textAlign:"center",size:V.Gx},style:{width:m,left:0,bottom:m/2-V.Gx/2-1},children:(0,i.jsx)(l.OH,{children:(0,h.KN)(d)})})]})})};a(48181),a(62094),a(81278),a(83817);var tg=a(86388),tb=a.n(tg);let tj=e=>{let{style:t,text:a="Ladataan..."}=e;return(0,i.jsxs)("div",{className:tb().loadingIndicatorRoot,style:t,children:[(0,i.jsx)(en.hz,{size:28}),(0,i.jsx)(l.EY,{children:(0,i.jsx)(l.OH,{children:a})})]})};a(48908),r.A,en.hz;var tx=a(93724),tw=a.n(tx);let tS=()=>(0,i.jsx)("div",{className:tw().container,children:(0,i.jsx)("a",{className:tw().link,tabIndex:0,href:"#election_main_content",children:"Siirry sivun p\xe4\xe4sis\xe4lt\xf6\xf6n."})}),tN=()=>(0,i.jsx)("div",{style:{position:"absolute"},id:"election_main_content",tabIndex:-1});a(79748);
9var tA=a(82140),tP=a.n(tA);let t_=(0,h.QR)(e=>{var t;let{className:a,...n}=e,s="".concat(null!=a?a:""," ").concat(null!=(t=tP().picture)?t:"");return(0,i.jsx)("picture",{className:s,...n})});var tC=a(69092),tM=a.n(tC);let tL=e=>{let{show:t,onClose:a,onProceed:n,content:s}=e;if(!s)return null;let{cancelButton:o,proceedButton:r,invert:m}=s,d=!("contentElement"in s),c=d?s.text:s.label,h=d?"":s.describedBy,p=d?(0,i.jsx)(l.EY,{size:"18",children:(0,i.jsx)(l.OH,{children:s.text})}):s.contentElement;return(0,i.jsx)(eC,{show:t,ariaLabel:c,ariaDescribedBy:h,onClose:a,children:(0,i.jsxs)("div",{className:tM().contentRoot,children:[p,(0,i.jsxs)(ea,{children:[o&&(0,i.jsx)(u.$n,{variant:m?"primary":"secondary",onClick:a,children:o}),(0,i.jsx)(u.$n,{variant:m?"secondary":"primary",onClick:n,children:r})]})]})})};a(34750);var tE=a(36595),tI=a(90341),tT=a(95669),tV=a.n(tT),tO=a(22128),tK=a.n(tO);let tU=e=>{var t;let{children:a,css:n,tabs:s,gradientBackground:o=!0,navigationComponent:r,showFooter:l=!0,title:u,footerLinks:m,footerButtons:d,defaultMainContentStart:c=!0,electionId:p,brand:v,description:k}=e,{minHeight:y}=(0,h.Ox)(),{darkMode:f}=(0,h.D2)(),g=f?"-dark":"",b=o?tK().gradientBackground:"",j=r?"":tK().withoutNavigation;return(0,i.jsxs)(i.Fragment,{children:[u&&(0,i.jsxs)(tV(),{children:[(0,i.jsx)("title",{children:u}),(0,i.jsx)("meta",{name:"description",content:k})]}),(0,i.jsxs)("div",{className:"".concat(null!=(t=tK().appLayoutRoot)?t:""," ").concat(null!=b?b:""," ").concat(null!=j?j:""),style:{minHeight:y,...n},children:[r,s,c&&(0,i.jsx)(tN,{}),(0,i.jsx)("main",{className:tK().main,children:a}),l&&(0,i.jsx)(eg,{style:{justifySelf:"flex-end"},logoComponent:(0,i.jsxs)(t_,{href:"/".concat(null!=p?p:"vaalit","/").concat(v),children:[(0,i.jsx)("source",{srcSet:"/logo-".concat(v).concat(g,".svg"),type:"image/svg+xml"}),(0,i.jsx)("img",{alt:"".concat(Q.bK[v]," logo"),src:"/logo-".concat(v).concat(g,".svg")})]}),links:m,buttons:d})]})]})};var tR=a(28639);let tD=e=>{let{show:t,children:a,answerHref:n}=e;return(0,i.jsxs)(c,{show:t,variant:"info",icon:(0,i.jsx)(r.A,{name:"alert-triangle",size:24}),children:[a,void 0!==n&&(0,i.jsx)(u.Iw,{href:n,children:"Jatka vastaamista"})]})};var tB=a(37108),tH=a.n(tB);let tF=ec()(()=>Promise.resolve().then(a.bind(a,25782)),{loadableGenerated:{webpack:()=>[25782]},ssr:!1}),tz=ec()(()=>Promise.resolve().then(a.bind(a,49246)),{loadableGenerated:{webpack:()=>[49246]},ssr:!1}),t$=(e,t,a,i)=>e.map((n,s)=>n.values?"".concat(((e,t,a,i)=>{let n=null==t?void 0:t.map(t=>((e,t)=>{let a=e[t.name];if(a&&(0,Q.l8)(a)){if(a<-.4)return t.bounds[0];else if(!(a<.4))return t.bounds[1]}})(e,t)).filter(e=>e),s=a||i?"".concat("party"===i?"Puolueella":"Ehdokkaalla").concat(a?" ".concat(a):""):"Sinulla";if(null==n?void 0:n.length){let e=n.map((e,t)=>{var a;return"".concat(null!=(a=null==e?void 0:e.toLocaleLowerCase("fi-FI"))?a:"").concat((0,h.e0)(t,n.length))}).join("");return"".concat(s," on voimakkaita mielipiteit\xe4 ").concat(n.length>1?"suuntiin":"suuntaan"," ").concat(e,".")}{var o,r;let t=Object.entries(e).flatMap(e=>{let[t,a]=e;return(0,Q.l8)(a)?[{valueName:t,value:a}]:[]});return(t.sort((e,t)=>e.value-t.value),0===t.length)?"":"".concat(s," on voimakkaimmat mielipiteet arvoista\n  ").concat(null!=(o=null==(r=t[0])?void 0:r.valueName.toLowerCase())?o:"","-akselilla.")}})(n.values,t,i?void 0:n.title,a)).concat((0,h.e0)(s,e.length)):"".concat(n.title," ei ole arvokartalla. ")).join(""),tq=e=>{var t;let{valueMapsDimensions:a,valueMetersDimensions:n,items:s,ownValues:r,ariaLabel:u,hideInfoBubble:m,hideAlert:d,service:c,electionId:p,brand:v}=e,[k,y]=(0,o.useState)(),[f,g]=(0,o.useState)(null==(t=s[s.length-1])?void 0:t.id),b=(0,h.N$)(w.f.md);(0,o.useEffect)(()=>{let e=s.find(e=>e.id===f);if(!f||!e){var t;g(null==(t=s[0])?void 0:t.id)}},[s,f]);let j=s.findIndex(e=>e.id===f),x=j>=0?s[j]:void 0,S=n.length<=2,N=!m&&j>=0&&x&&(0,i.jsx)(tI.A,{ariaLabel:"Valittuna ".concat(x.title),onNext:()=>{var e;let t;g((t=0===j?s.length-1:j-1,null==(e=s[t])?void 0:e.id)),(0,h.$)("election_value_chart_arrow",p,v,c,"","forward")},onPrevious:()=>{var e;let t;g((t=j===s.length-1?0:j+1,null==(e=s[t])?void 0:e.id)),(0,h.$)("election_value_chart_arrow",p,v,c,"","back")},onSelect:x.onSelect,title:x.title,subTitle:x.subTitle}),A=!r||Object.keys(r).every(e=>"noAnswers"===r[e]);return(0,i.jsxs)("div",{className:tH().root,role:"group","aria-label":u,children:[!d&&A&&(0,i.jsx)(tD,{show:!0,children:(0,i.jsx)(l.EY,{children:"Vastaa vaalikoneen arvokysymyksiin, jotta n\xe4et, miss\xe4 olet arvokartalla."})}),(0,i.jsxs)("figure",{className:tH().valueBrowserContainer,style:{"--chart-max-width-m":tR.tQ},children:[(0,i.jsxs)("div",{className:tH().valueBrowserColumn,"aria-hidden":"true",children:[a.map(e=>(0,i.jsx)("div",{className:tH().valueElementContainer,children:(0,i.jsx)(tF,{items:s,ownValues:A?void 0:r,dimensions:e,hoveredItemId:k,setHoveredItemId:y,selectedItemId:f,setSelectedItemId:g})},e.x.name+e.y.name)),!S&&N]}),(0,i.jsxs)("div",{className:tH().valueBrowserColumn,style:{paddingTop:16*!!b},"aria-hidden":"true",children:[S&&N,(0,i.jsx)(l.EY,{as:"h3",size:16,children:(0,i.jsx)(l.OH,{children:"Muut arvoakselit"})}),n.map(e=>{let t=void 0!==r&&(0,Q.l8)(r[e.name]);return(0,i.jsx)("div",{className:tH().valueElementContainer,children:(0,i.jsx)(tz,{dimension:e,ownValue:t&&"noAnswers"
9!==r[e.name]?Number(r[e.name]):void 0,items:s,hoveredItemId:k,setHoveredItemId:y,selectedItemId:f,setSelectedItemId:g,useForce:!0})},e.name)})]})]})]})};var tG=a(35655),tW=a(49141),tY=a(74472),tJ=a.n(tY);let tQ=e=>{var t;let a=(0,h.N$)(w.f.md),{className:n,header:s,headerLevel:o,smallHeader:r,...u}=e,m="".concat(null!=(t=tJ().blankLayout)?t:""," ").concat(null!=n?n:"");return(0,i.jsxs)("div",{className:m,...u,children:[s?(0,i.jsx)(l.EY,{as:o,textAlign:"center",size:r||!a?22:28,lineHeight:a?"loose":"semiLoose",style:{marginBottom:"24px"},children:(0,i.jsx)(l.OH,{children:s})}):null,e.children]})},tX=e=>{let{candidateAnswers:t,citizenAnswers:a,candidate:n,imageApi:s,candidateSide:o,parties:r,electionId:u,brand:m,removeLayout:d=!1}=e,c=d?tQ:tc,p=(0,X.sO)(u),v=t.map(e=>e.theme),k=t.reduce((e,t)=>({...e,...t.questions.reduce((e,a)=>{var i,s;return e[a.questionId]={question:{brand:[m],dimension:"ideology",id:a.questionId,mandatory:!1,order:1,text:null!=(i=a.text)?i:"",theme:t.theme.id,nominationAreaLevel:"parliamentary"},answers:[{candidate:n,answer:{answer:a.answer,candidateId:n.id,questionId:a.questionId,theme:t.theme.id,explanation:null!=(s=a.explanation)?s:"",id:a.id,...!a.answer&&{emptyAnswer:!0}}}]},e},{})}),{}),y=0===a.length,f=y?void 0:(0,h.CC)(k,a),g=void 0!==f&&Object.keys(f).length>0;return(0,i.jsxs)(i.Fragment,{children:[g&&(0,i.jsx)(c,{header:"Vastaukset, joissa mielipiteenne eroavat eniten",headerLevel:"h3",children:(0,i.jsx)(tG.Ay,{imageApi:s,questions:f,ownAnswers:a,answerOptions:p.metadata.answerOptions,hideOwnAnswers:y,placeholderText:"Ehdokas ei ole vastannut t\xe4h\xe4n kysymykseen.",hideCandidatesInReplies:!0,isBrowseable:!1,candidateSide:o,parties:r,electionId:u,brand:m})}),(0,i.jsxs)(c,{header:g?"Kaikki vaalikonevastaukset":"Vastaukset vaalikoneeseen",headerLevel:"h3",children:[(0,i.jsxs)(l.Y0,{children:["T\xe4ss\xe4 n\xe4et ehdokkaan vastaukset vaalikoneen kysymyksiin.",y?"":" Oman vastauksesi n\xe4et heti kysymyksen alla."]}),(0,i.jsx)(tG.Ay,{imageApi:s,questions:k,ownAnswers:a,answerOptions:p.metadata.answerOptions,hideOwnAnswers:y,themes:v,placeholderText:"Ehdokas ei ole vastannut t\xe4h\xe4n kysymykseen.",hideCandidatesInReplies:!0,isBrowseable:!1,candidateSide:o,parties:r,useBlackAndWhiteImagesOnExcluded:!1,electionId:u,brand:m})]})]})};var tZ=a(75178),t0=a.n(tZ);let t1=e=>{var t;let{className:a,...n}=e,s="".concat(null!=(t=t0().candidateContentBlockContainer)?t:""," ").concat(null!=a?a:"");return(0,i.jsx)("div",{className:s,...n})};var t2=a(95816),t5=a.n(t2),t3=a(53709),t4=a.n(t3);let t6=e=>{let{candidatePromise:t}=e,a=(0,h.N$)(w.f.md);return(0,i.jsx)(t1,{"data-testid":"candidate-promise",children:(0,i.jsx)(R,{style:{width:"initial"},color:"secondary",children:(0,i.jsx)(l.EY,{size:a?16:14,as:"p",children:t})})})},t8=e=>{let{status:t,currentlyInOffice:a,electedInCombinedElection:n}=e;if(!t||""===t)return(0,i.jsx)("div",{});let s=void 0!==n?" (+".concat(n,")"):"",o=void 0!==a&&""===a?" (uusi)":"";switch(t){case"1":return(0,i.jsx)(er,{bordered:!1,variant:"chosen",children:"Valittu".concat(o).concat(s)});case"2":return(0,i.jsx)(er,{bordered:!1,variant:"tertiary",children:"Varalla".concat(o).concat(s)});case"3":return(0,i.jsx)(er,{bordered:!1,variant:"tertiary",children:"Ei valittu".concat(s)});case"0":case"4":return(0,i.jsx)("div",{});default:return(0,i.jsx)(er,{bordered:!1,variant:"tertiary",children:t})}};var t9=a(13870),t7=a.n(t9),ae=a(80416),at=a.n(ae);let aa=e=>{var t;let{label:a,value:n,style:s,className:o}=e,r="".concat(null!=(t=at().informationBlockRoot)?t:""," ").concat(null!=o?o:"");return(0,i.jsxs)("div",{className:r,style:s,children:[(0,i.jsx)(l.EY,{as:"h3",children:(0,i.jsx)(l.OH,{children:"".concat(a,":")})}),(0,i.jsx)(l.EY,{as:"p",children:n})]})},ai=e=>{var t,a,n;let{electedStatus:s,presidentialElectionStatus:o,currentlyInOffice:r,candidateVotes:l,areaVotesPercentage:u,electionType:m,electedInCombinedElection:d}=e,c=(0,X.Tq)(m);return(0,i.jsxs)(t1,{className:t7().blockContainer,children:[(0,i.jsx)(t8,{status:null!=(t=null!=(a=null==o?void 0:o.text)?a:s)?t:"",currentlyInOffice:"presidential"===m?void 0:r,electedInCombinedElection:d}),(0,i.jsx)(aa,{label:"Ehdokkaan \xe4\xe4net",value:null!=l?l:"",className:t7().textResult}),(0,i.jsx)(aa,{label:"Osuus koko ".concat(c," \xe4\xe4nist\xe4"),value:"".concat(null!=(n=null==u?void 0:u.toLocaleStr
9ing("fi-FI"))?n:""," %"),className:t7().textResult})]})};var an=a(24926),as=a.n(an);let ao={facebook:"M13 9H17.5L17 11H13V20H11V11H7V9H11V7.12777C11 5.34473 11.1857 4.69816 11.5343 4.04631C11.8829 3.39446 12.3945 2.88288 13.0463 2.53427C13.6982 2.18565 14.3447 2 16.1278 2C16.6498 2 17.1072 2.05 17.5 2.15V4H16.1278C14.8041 4 14.401 4.07784 13.9895 4.29789C13.6862 4.46011 13.4601 4.68619 13.2979 4.98951C13.0778 5.40096 13 5.80407 13 7.12777V9Z",instagram:"M12.001 9C10.3436 9 9.00098 10.3431 9.00098 12C9.00098 13.6573 10.3441 15 12.001 15C13.6583 15 15.001 13.6569 15.001 12C15.001 10.3427 13.6579 9 12.001 9ZM12.001 7C14.7614 7 17.001 9.2371 17.001 12C17.001 14.7605 14.7639 17 12.001 17C9.24051 17 7.00098 14.7629 7.00098 12C7.00098 9.23953 9.23808 7 12.001 7ZM18.501 6.74915C18.501 7.43926 17.9402 7.99917 17.251 7.99917C16.5609 7.99917 16.001 7.4384 16.001 6.74915C16.001 6.0599 16.5617 5.5 17.251 5.5C17.9393 5.49913 18.501 6.0599 18.501 6.74915ZM12.001 4C9.5265 4 9.12318 4.00655 7.97227 4.0578C7.18815 4.09461 6.66253 4.20007 6.17416 4.38967C5.74016 4.55799 5.42709 4.75898 5.09352 5.09255C4.75867 5.4274 4.55804 5.73963 4.3904 6.17383C4.20036 6.66332 4.09493 7.18811 4.05878 7.97115C4.00703 9.0752 4.00098 9.46105 4.00098 12C4.00098 14.4745 4.00753 14.8778 4.05877 16.0286C4.0956 16.8124 4.2012 17.3388 4.39034 17.826C4.5591 18.2606 4.7605 18.5744 5.09246 18.9064C5.42863 19.2421 5.74179 19.4434 6.17187 19.6094C6.66619 19.8005 7.19148 19.9061 7.97212 19.9422C9.07618 19.9939 9.46203 20 12.001 20C14.4755 20 14.8788 19.9934 16.0296 19.9422C16.8117 19.9055 17.3385 19.7996 17.827 19.6106C18.2604 19.4423 18.5752 19.2402 18.9074 18.9085C19.2436 18.5718 19.4445 18.2594 19.6107 17.8283C19.8013 17.3358 19.9071 16.8098 19.9432 16.0289C19.9949 14.9248 20.001 14.5389 20.001 12C20.001 9.52552 19.9944 9.12221 19.9432 7.97137C19.9064 7.18906 19.8005 6.66149 19.6113 6.17318C19.4434 5.74038 19.2417 5.42635 18.9084 5.09255C18.573 4.75715 18.2616 4.55693 17.8271 4.38942C17.338 4.19954 16.8124 4.09396 16.0298 4.05781C14.9258 4.00605 14.5399 4 12.001 4ZM12.001 2C14.7176 2 15.0568 2.01 16.1235 2.06C17.1876 2.10917 17.9135 2.2775 18.551 2.525C19.2101 2.77917 19.7668 3.1225 20.3226 3.67833C20.8776 4.23417 21.221 4.7925 21.476 5.45C21.7226 6.08667 21.891 6.81333 21.941 7.8775C21.9885 8.94417 22.001 9.28333 22.001 12C22.001 14.7167 21.991 15.0558 21.941 16.1225C21.8918 17.1867 21.7226 17.9125 21.476 18.55C21.2218 19.2092 20.8776 19.7658 20.3226 20.3217C19.7668 20.8767 19.2076 21.22 18.551 21.475C17.9135 21.7217 17.1876 21.89 16.1235 21.94C15.0568 21.9875 14.7176 22 12.001 22C9.28431 22 8.94514 21.99 7.87848 21.94C6.81431 21.8908 6.08931 21.7217 5.45098 21.475C4.79264 21.2208 4.23514 20.8767 3.67931 20.3217C3.12348 19.7658 2.78098 19.2067 2.52598 18.55C2.27848 17.9125 2.11098 17.1867 2.06098 16.1225C2.01348 15.0558 2.00098 14.7167 2.00098 12C2.00098 9.28333 2.01098 8.94417 2.06098 7.8775C2.11014 6.8125 2.27848 6.0875 2.52598 5.45C2.78014 4.79167 3.12348 4.23417 3.67931 3.67833C4.23514 3.1225 4.79348 2.78 5.45098 2.525C6.08848 2.2775 6.81348 2.11 7.87848 2.06C8.94514 2.0125 9.28431 2 12.001 2Z",linkedin:"M12.001 9.55005C12.9181 8.61327 14.1121 8 15.501 8C18.5385 8 21.001 10.4624 21.001 13.5V21H19.001V13.5C19.001 11.567 17.434 10 15.501 10C13.568 10 12.001 11.567 12.001 13.5V21H10.001V8.5H12.001V9.55005ZM5.00098 6.5C4.17255 6.5 3.50098 5.82843 3.50098 5C3.50098 4.17157 4.17255 3.5 5.00098 3.5C5.8294 3.5 6.50098 4.17157 6.50098 5C6.50098 5.82843 5.8294 6.5 5.00098 6.5ZM4.00098 8.5H6.00098V21H4.00098V8.5Z",tiktok:"M11.0004 2V8.41396C10.5947 8.33909 10.1768 8.3 9.75039 8.3C5.96724 8.3 2.90039 11.3668 2.90039 15.15C2.90039 18.9332 5.96724 22 9.75039 22C13.5335 22 16.6004 18.9332 16.6004 15.15V11.4136C17.6366 11.8539 18.7662 12.1 20.0005 12.1H21.0005V6.5H20.0005C18.0966 6.5 16.6004 4.96259 16.6004 3V2H11.0004ZM13.0004 4H14.688C15.0818 6.22009 16.7673 7.99607 19.0005 8.4091V10.0282C17.9624 9.87602 17.0253 9.48645 16.1567 8.905L14.6004 7.86327V15.15C14.6004 17.8286 12.429 20 9.75039 20C7.07181 20 4.90039 17.8286 4.90039 15.15C4.90039 12.4714 7.07181 10.3 9.75039 10.3C9.83431 10.3 9.91769 10.3021 10.0005 10.3063V11.9095C9.91795 11.9032 9.83454 11.9 9.75039 11.9C7.95547 11.9 6.50039 13.3551 6.50039 15.15C6.50039 16.9449 7.95547 18.4 9.75039 18.4C11.5453 18.4 13.0004 16.9449 13.0004 15.15C13.0004 11.4334 12.9992 7.71665 13.0004 4ZM8.50039 15.15C8.50039 14.4596 9.06003 13.9 9.75039 13.9C10.4407 13.9 11.0004 14.4596 11.0004 15.15C11.0004 15.8404 10.4407 16.4 9.75039 16.4C9.06003 16.4 8.50039 15.8404 8.50039 15.15Z",youtube:"M19.6069 6.99482C19.5307 6.69695 19.3152 6.47221 19.0684 6.40288C18.6299 6.28062 16.501 6 12.001 6C7.50098 6 5.37252 6.28073 4.93225 6.40323C4.68776 6.47123 4.4723 6.69593 4.3951 6.99482C4.2863 7.41923 4.00098 9.19595 4.00098 12C4.00098 14.804 4.2863 16.5808 4.3954 17.0064C4.47126 17.3031 4.68676 17.5278 4.93251 17.5968C5.37252 17.7193 7.50098 18 12.001 18C16.501 18 
918.6299 17.7194 19.0697 17.5968C19.3142 17.5288 19.5297 17.3041 19.6069 17.0052C19.7157 16.5808 20.001 14.8 20.001 12C20.001 9.2 19.7157 7.41923 19.6069 6.99482ZM21.5442 6.49818C22.001 8.28 22.001 12 22.001 12C22.001 12 22.001 15.72 21.5442 17.5018C21.2897 18.4873 20.547 19.2618 19.6056 19.5236C17.8971 20 12.001 20 12.001 20C12.001 20 6.10837 20 4.39637 19.5236C3.45146 19.2582 2.70879 18.4836 2.45774 17.5018C2.00098 15.72 2.00098 12 2.00098 12C2.00098 12 2.00098 8.28 2.45774 6.49818C2.71227 5.51273 3.45495 4.73818 4.39637 4.47636C6.10837 4 12.001 4 12.001 4C12.001 4 17.8971 4 19.6056 4.47636C20.5505 4.74182 21.2932 5.51636 21.5442 6.49818ZM10.001 15.5V8.5L16.001 12L10.001 15.5Z",twitter:"M8 2H1L9.26086 13.0145L1.44995 21.9999H4.09998L10.4883 14.651L16 22H23L14.3917 10.5223L21.8001 2H19.1501L13.1643 8.88578L8 2ZM17 20L5 4H7L19 20H17Z",link:"M13.0607 8.11097L14.4749 9.52518C17.2086 12.2589 17.2086 16.691 14.4749 19.4247L14.1214 19.7782C11.3877 22.5119 6.95555 22.5119 4.22188 19.7782C1.48821 17.0446 1.48821 12.6124 4.22188 9.87874L5.6361 11.293C3.68348 13.2456 3.68348 16.4114 5.6361 18.364C7.58872 20.3166 10.7545 20.3166 12.7072 18.364L13.0607 18.0105C15.0133 16.0578 15.0133 12.892 13.0607 10.9394L11.6465 9.52518L13.0607 8.11097ZM19.7782 14.1214L18.364 12.7072C20.3166 10.7545 20.3166 7.58872 18.364 5.6361C16.4114 3.68348 13.2456 3.68348 11.293 5.6361L10.9394 5.98965C8.98678 7.94227 8.98678 11.1081 10.9394 13.0607L12.3536 14.4749L10.9394 15.8891L9.52518 14.4749C6.79151 11.7413 6.79151 7.30911 9.52518 4.57544L9.87874 4.22188C12.6124 1.48821 17.0446 1.48821 19.7782 4.22188C22.5119 6.95555 22.5119 11.3877 19.7782 14.1214Z"},ar=e=>{let{socialMediaLinks:t,service:a,electionId:n,brand:o}=e;return(0,i.jsxs)(t1,{children:[(0,i.jsx)(l.EY,{size:16,children:(0,i.jsx)(l.OH,{children:" Sosiaalinen media:"})}),(0,i.jsx)("div",{className:as().socialMediaLinkContainer,children:t.map(e=>{var t,r;return(0,i.jsx)("a",{className:"".concat(null!=(t=as().link)?t:""," ").concat(null!=(r=s().focus)?r:""),href:e.url,target:"_blank",rel:"noreferrer",style:{textDecoration:"none"},onClick:()=>{(0,h.$)("election_socialmedia_link",n,o,a,"",(0,h.W7)(e.url))},children:(0,i.jsx)("svg",{className:as().socialMediaIcon,viewBox:"0 0 24 24",width:"twitter"===e.type?22:24,children:(0,i.jsx)("path",{d:ao[e.type]})})},e.url)})})]})},al=ec()(()=>Promise.resolve().then(a.bind(a,46309)),{loadableGenerated:{webpack:()=>[46309]},ssr:!1}),au=e=>{let{matchPercentage:t}=e;return null===t?null:(0,i.jsxs)("div",{className:t4().percentageContainer,children:[(0,i.jsx)(l.EY,{size:16,as:"h3",children:(0,i.jsx)(l.OH,{children:"Yhteensopivuus prosentteina"})}),(0,i.jsx)(al,{variant:"secondary","aria-label":(0,h.KN)(t),showPercentage:!0,value:t})]})},am=e=>{let{image:t,name:a,party:n,electoralAlliance:s,independentCandidate:o,candidateNumber:r,candidateResult:u,candidatePromise:m,socialMediaLinks:d,matchPercentage:c,excluded:h,service:p,electionId:v,brand:k,pagesInElectionsItems:y}=e,f=y?y.map((e,t)=>0!==t?e.shortName.toLowerCase():e.shortName):[];return(0,i.jsxs)(t1,{style:{gap:"26px"},children:[(0,i.jsxs)("div",{className:t4().userContainer,children:[(0,i.jsx)(eL.A,{image:t,size:"large"}),(0,i.jsx)(l.EY,{size:22,as:"h1",children:(0,i.jsx)(l.OH,{children:a})}),n&&(0,i.jsx)(l.EY,{size:18,as:"p",children:(0,i.jsxs)(l.OH,{children:[" ",n,o?" (sit.)":""]})}),s&&(0,i.jsx)(l.EY,{size:18,as:"p",children:(0,i.jsxs)(l.OH,{children:[" (vaaliliitto ",s.join(" + "),")"]})}),!!r&&(0,i.jsxs)(l.EY,{as:"p",size:18,children:["Nro ",r]}),f.length>1&&(0,i.jsx)(er,{variant:"combined",children:f.join(" + ")}),h&&(0,i.jsx)(er,{variant:"quarternary",children:"Ei\xa0jatkossa"})]}),u&&(0,i.jsx)(ai,{...u}),m&&(0,i.jsx)(t6,{candidatePromise:m}),!t5()(d)&&(0,i.jsx)(ar,{socialMediaLinks:d,service:p,electionId:v,brand:k}),(0,i.jsx)(au,{matchPercentage:c})]})};var ad=a(97675),ac=a.n(ad);let ah=e=>{var t,a,n,s,o;let{imageElement:r,name:u,children:m,matchPercentage:d,themes:c,themeMatches:p,divider:v}=e,k=(0,h.N$)(w.f.md),y=(0,h.DC)(p);return(0,i.jsxs)("figure",{className:ac().themeMatchRoot,style:{maxWidth:tR.tQ},"aria-label":((e,t,a,i)=>{var n,s,o,r;if(!t.length)return"Ei teemoja";let l=[...t].sort((t,a)=>(Number(e[a.id])||0)-(Number(e[t.id])||0));return"".concat(null!=i?i:"").concat(void 0!==a?"yhteensopivuus ".concat((0,h.KN)(a),"."):":"," Paras yhteensopivuus teemassa ").concat(null!=(n=null==(o=l[0])?void 0:o.name)?n:"",", huonoin yhteensopivuus teemassa ").concat(null!=(s=null==(r=l[l.length-1])?void 0:r.name)?s:"")})(y,c,d,u),role:"group",children:[(null!=(t=null!=r?r:m)?t:void 0!==d)&&(0,i.jsxs)("div",{className:"".concat(null!=(a=ac().content)?a:""," ").concat(null!=(n=ac().rowSpaceBetween)?n:""),children:[(0,i.jsxs)("div",{className:"".concat(null!=(s=ac().content)?s:""," ").concat(null!=(o=ac().left)?o:""),children:[r,!k&&void 0!==d&&(0,i.jsx)(O,{"aria-label":"Vastausten yhteensopivuus",value:d,variant:"secondary",height:40,showPercentage:!0,styles:{marginRight:8}}),m]}),k&&void 0!==d&&(0,i.jsx)(tv.A,{"aria-label":"Vastausten yhteensopivuus",value:d,variant:"secondary",width:200,showPercentage:!0})]}),(0,i.jsx)("div",{className:ac().themes,children:Object.keys(y).map(e=>{var t,a,n,s;let o=(n=Number(e),null==(s=c.find(e=>e.id===n))?void 0:s.name);return(0,i.jsxs)("div",{className:ac().themeMatchContainer,children:[(0,i.jsx)(tf,{"aria-label":"Yhteensopivuus: ".concat(null!=o?o:""),value:null!=(t=y[e])?t:0,height:60,variant:"secondary",showPercentage:!0}),(0,i.jsx)("div",{className:"".concat((0,l.gq)({textAlign:"center"})," ").concat(null!=(a=ac().themeName)?a:""),"aria-hidden":"true",children:o})]},e)})}),v&&(0,i.jsx)(em.A,{role:"separator",width:"responsive",theme:"light"})]})},ap=e=>{let{themeMatch:t,themes:a,brand:n,hasMissingThemes:s}=e;return(0,i.jsxs)(tc,{header:"Yhteensopivuus teemoittain",headerLevel:"h3",children:[s&&(0,i.jsx)(tD,{show:!0,children:(0,i.jsx)(l.EY,{children:"Vastaa kaikkiin vaalikoneen kysymyksiin 
9niin saat paremman k\xe4sityksen yhteensopivuudesta."})}),"hs"===n&&(0,i.jsx)(l.Y0,{children:"HS:n vaalikoneessa kokonaisyhteensopivuus lasketaan arvokartan perusteella. Kokonaisprosentti saattaa siis n\xe4ytt\xe4\xe4 erilaiselta kuin yksitt\xe4isten teemojen yhteensopivuuksista voisi p\xe4\xe4tell\xe4. T\xe4ss\xe4 voit kuitenkin tarkastella teemoittain, miten vastaukset sopivat yhteen."}),(0,i.jsx)(ah,{themes:a,themeMatches:t})]})},av=e=>{let{ownValues:t,candidate:a,valueMapValues:n,valueMeterValues:s,electionId:o,imageApi:r,hideValueAlert:u,parties:m,service:d,brand:c,removeLayout:p=!1}=e,v=p?tQ:tc,k=[{id:a.id,title:"".concat(a.firstName," ").concat(a.lastName),createComponent:(e,t)=>{var n;return(0,i.jsx)(eE,{image:{src:(0,h.tN)(r,o,a.profilePicture),alt:"".concat(a.firstName," ").concat(a.lastName)},location:e,size:"small",selected:t,customBorderColor:null==(n=(0,h.oo)(a,null!=m?m:[]))?void 0:n.color})},values:a.values}];return(0,i.jsxs)(v,{header:"Ehdokas arvokartalla",headerLevel:"h3",children:[(0,i.jsx)(l.Y0,{children:t$(k,n[0],"candidate","hideTitle")}),(0,i.jsx)(tq,{hideAlert:u,hideInfoBubble:!0,ariaLabel:t$(k,n[0],"candidate","hideTitle"),items:k,ownValues:null!=t?t:void 0,valueMapsDimensions:n.map(e=>({x:{name:e[0].name,endPoints:e[0].bounds},y:{name:e[1].name,endPoints:e[1].bounds}})),valueMetersDimensions:s.map(e=>({endPoints:e.bounds,name:e.name})),service:d,electionId:o,brand:c})]})};var ak=a(28180),ay=a.n(ak);let af=e=>{var t;let{className:a,...n}=e;return(0,i.jsx)("span",{className:"".concat(null!=(t=ay().screenReaderOnly)?t:""," ").concat(null!=a?a:""),...n})};var ag=a(58978),ab=a.n(ag),aj=a(50944),ax=a.n(aj),aw=a(94231),aS=a.n(aw);let aN=e=>{let{label:t,values:a}=e;return(0,i.jsxs)("div",{className:aS().informationListRoot,children:[(0,i.jsx)(l.EY,{children:(0,i.jsx)(l.OH,{children:"".concat(t,":")})}),(0,i.jsx)(T.Xy,{className:aS().customListItem,children:a.map((e,a)=>(0,i.jsx)(T.ck,{children:e},"".concat(t,"-list-item-").concat(a)))})]})},aA=e=>{var t,a,n;let{age:s,municipality:r,nominationArea:u,electionType:m,electionSpecificFields:d,currentlyInCountyCouncil:c,currentlyInMunicipalCouncil:p,currentlyInParliament:v,currentlyInEuropeanParliament:k,occupation:y,educationLevel:f,educationOpenText:g,description:b,residentialArea:j,languages:x,candidateFamily:w,goodQualities:S,personalValues:N,earlierWorkExperience:A,postalCodeArea:P,gender:_}=e,C=u?(0,h.l5)(m,u):void 0,M=(0,o.useMemo)(()=>{let e=[];return d.currentlyInParliament.inUse&&v&&e.push("kansanedustaja"),d.currentlyInEuropeanParliament.inUse&&k&&e.push("Euroopan parlamentin j\xe4sen"),d.currentlyInCountyCouncil.inUse&&c&&e.push("aluevaltuutettu"),d.currentlyInMunicipalCouncil.inUse&&p&&e.push("kunnanvaltuutettu"),e.join(", ")},[v,k,c,p,d]),L=(0,h.k9)(()=>{var e;return null!=(e=null==A?void 0:A.map(e=>{var t;return(0,i.jsxs)(l.EY,{as:"p",children:[e.title,", ",e.startYear,"–",null!=(t=e.endYear)?t:""]},e.title)}))?e:[]},[A]),E=(0,h.k9)(()=>{var e;return null!=(e=null==N?void 0:N.map((e,t)=>(0,i.jsx)(l.EY,{as:"p",children:e},"".concat(t,"-personal-values"))))?e:[]},[N]);return(0,i.jsxs)("div",{className:ax().baseContainer,children:[!!s&&(0,i.jsx)(aa,{label:"Ik\xe4",value:s}),d.gender.inUse&&_&&(0,i.jsx)(aa,{label:"Sukupuoli",value:_}),r&&(0,i.jsx)(aa,{label:"Paikkakunta",value:r}),d.postalCodeArea.inUse&&P&&(0,i.jsx)(aa,{label:"Postinumeroalue",value:P}),C&&(0,i.jsx)(aa,{label:C.title,value:C.value}),d.residentialArea.inUse&&j&&(0,i.jsx)(aa,{label:"Asuinalue",value:j}),y&&(0,i.jsx)(aa,{label:"Ammatti",value:y}),d.educationLevel.inUse&&f&&(0,i.jsx)(aa,{label:"Koulutus",value:f}),d.educationOpenText.inUse&&g&&(0,i.jsx)(aa,{label:"Koulutus",value:g}),d.languages.inUse&&x&&(0,i.jsx)(aa,{label:"Kielitaito",value:x}),d.candidateFamily.inUse&&w&&(0,i.jsx)(aa,{label:"Perhe",value:w}),d.earlierWorkExperience.inUse&&A&&!!A.length&&(0,i.jsx)(aN,{label:null!=(t=d.earlierWorkExperience.label)?t:"Aiempi merkitt\xe4v\xe4 ty\xf6kokemus",values:L}),d.personalValues.inUse&&N&&!!N.length&&(0,i.jsx)(aN,{label:null!=(a=d.personalValues.label)?a:"Mitk\xe4 ovat t\xe4rkeimm\xe4t arvosi?",values:E}),d.goodQualities.inUse&&S&&(0,i.jsx)(aa,{label:null!=(n=d.goodQualities.label)?n:"Ominaisuudet jotka tekev\xe4t sinusta hyv\xe4n teht\xe4v\xe4\xe4n",value:S}),M&&(0,i.jsx)(aa,{label:"Teht\xe4v\xe4t",value:M}),d.description.inUse&&b&&(0,i.jsx)(aa,{label:"Kuvausteksti",value:b})]})},aP=e=>{let{firstName:t,lastName:a,matchPercentage:n,party:s,candidatePromise:r,electoralAlliance:l,imageUrl:u,candidateResult:m,removeLayout:d,candidateNumber:c,independentCandidate:h,socialMediaLinks:p,age:v,municipality:k,nominationArea:y,electionType:f,electionSpecificFields:g,pagesInElectionsItems:b,currentlyInCountyCouncil
9:j,currentlyInMunicipalCouncil:x,currentlyInParliament:w,currentlyInEuropeanParliament:S,occupation:N,educationLevel:A,educationOpenText:P,description:_,residentialArea:C,languages:M,candidateFamily:L,goodQualities:E,personalValues:I,earlierWorkExperience:T,excluded:V,service:O,postalCodeArea:K,electionId:U,brand:R,gender:D}=e,B=d?tQ:tc,H=(0,o.useMemo)(()=>({image:{alt:"Kuvassa ".concat(null!=s?s:""," -puolueen ehdokas ").concat(null!=t?t:""," ").concat(null!=a?a:""),src:u},name:"".concat(null!=t?t:""," ").concat(null!=a?a:""),party:s,electoralAlliance:l,candidateNumber:c,independentCandidate:h,candidatePromise:r,socialMediaLinks:p,matchPercentage:n,age:v,municipality:k,nominationArea:y,electionType:f,electionSpecificFields:g,currentlyInCountyCouncil:j,currentlyInMunicipalCouncil:x,currentlyInParliament:w,currentlyInEuropeanParliament:S,occupation:N,educationLevel:A,educationOpenText:P,pagesInElectionsItems:b,electionId:U,description:_,residentialArea:C,candidateResult:m,languages:M,candidateFamily:L,goodQualities:E,personalValues:I,earlierWorkExperience:T,excluded:V,service:O,postalCodeArea:K,gender:D}),[t,a,s,l,u,c,h,r,p,n,v,k,y,f,g,b,U,j,x,w,S,N,A,P,_,C,m,M,L,E,I,T,V,O,K,D]);return(0,i.jsxs)(i.Fragment,{children:[H.pagesInElectionsItems&&H.electionId&&(0,i.jsx)(tp.aM,{currentElectionId:H.electionId,pagesInElectionsItems:H.pagesInElectionsItems}),(0,i.jsxs)(B,{divider:!0,children:[(0,i.jsx)(af,{children:(0,i.jsx)("h3",{children:"Ehdokkaan ".concat(H.name," tiedot")})}),(0,i.jsxs)("div",{className:ab().informationBlock,children:[(0,i.jsx)(am,{...H,electionId:U,brand:R}),(0,i.jsx)(aA,{...H})]})]})]})};var a_=a(40976),aC=a.n(a_);let aM=e=>{let{removeLayout:t,articles:a,videos:n}=e,s=t?tQ:tc,[r,u]=(0,o.useState)(void 0);return((0,o.useEffect)(()=>{if(n&&n.length>0){var e;let t=null==(e=n[0])?void 0:e.id;t&&fetch("".concat("https://mcc.nm-ovp.nelonenmedia.fi/v2/media/").concat(t)).then(async e=>{var t,a,i,n,s;u(null==(s=(await e.json()).clip)||null==(n=s.playback)||null==(i=n.media)||null==(a=i.streamUrls)||null==(t=a.http)?void 0:t.url)})}},[n]),t5()(a)&&t5()(n))?null:(0,i.jsxs)(s,{divider:!0,alignContent:"left",cardContentStyle:{gap:"34px"},children:[(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",width:"100%"},children:(0,i.jsx)(l.EY,{weight:"medium",size:22,textAlign:"center",as:"h3",children:"Ehdokkaan esittely"})}),!!r&&(0,i.jsx)("div",{className:aC().videoContainer,children:(0,i.jsx)(x,{source:r,type:"video/mp4",controls:!0})}),!t5()(a)&&(0,i.jsx)(eM.A,{relatedArticles:a})]})};var aL=a(78695),aE=a(1840),aI=a.n(aE);let aT=()=>(0,i.jsx)("div",{children:(0,i.jsxs)("svg",{className:aI().arrowSvg,width:"25",height:"24",viewBox:"0 0 25 24",fill:"none",children:[(0,i.jsx)("path",{d:"M5.5 12H19.5"}),(0,i.jsx)("path",{d:"M12.5 5L19.5 12L12.5 19"})]})}),aV=e=>{let{color:t,nameColor:a,name:n,shortName:s}=e;return t&&a&&n&&s?(0,i.jsxs)("div",{className:aI().partyTagAndNameWrapper,children:[(0,i.jsx)(A.A,{size:"l",backgroundColor:t,textColor:a,name:s}),(0,i.jsx)(l.EY,{size:14,weight:"medium",style:{paddingBottom:"4px",maxWidth:"100px"},children:n})]}):null},aO=e=>{var t,a,n,s,o;let{finnishParties:r,euroParty:u,text:m,isLastElement:d}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:aI().partiesGroupWrapper,"aria-hidden":"true",children:(0,i.jsxs)("div",{className:aI().partiesGroup,children:[(0,i.jsx)("div",{children:r?r.map(e=>(0,i.jsx)(aV,{color:null==e?void 0:e.color,nameColor:null==e?void 0:e.nameColor,name:null==e?void 0:e.name,shortName:null==e?void 0:e.shortName},null==e?void 0:e.shortName)):null}),r?(0,i.jsx)(aT,{}):null,(0,i.jsx)(aV,{color:null==u?void 0:u.color,nameColor:null==u?void 0:u.nameColor,name:null==u?void 0:u.name,shortName:null==u?void 0:u.shortName})]})}),(0,i.jsx)(af,{children:(0,i.jsx)(l.EY,{children:r?1===r.length?"Puolue ".concat(null!=(a=null==(s=r[0])?void 0:s.name)?a:""," kuuluu europarlamentissa ryhm\xe4\xe4n ").concat(null!=(n=null==u?void 0:u.name)?n:""):"Puolueet ".concat(r.map((e,t)=>{var a,i;return t!==r.length-1?"".concat(null!=(a=null==e?void 0:e.name)?a:""," "):"ja ".concat(null!=(i=null==e?void 0:e.name)?i:""," ")}).join(""),"kuuluvat europarlamentissa ryhm\xe4\xe4n ").concat(null!=(o=null==u?void 0:u.name)?o:""):"Europarlamentin ".concat(null!=(t=null==u?void 0:u.name)?t:""," -ryhm\xe4")})}),(0,i.jsx)("div",{className:aI().roundedBox,children:(0,i.jsx)(l.EY,{as:"p",children:m})}),d?null:(0,i.jsx)(em.A,{role:"separator",theme:"light",style:{width:"100%",color:"#cccccc"}})]})},aK=e=>{let{partyConfig:t,electionId:a}=e,n=t.parties.find(e=>"Kesk"===e.shortName),s=t.parties.find(e=>"Rkp"===e.shortName),o=t.parties.find(e=>"Kok"===e.shortName),r=t.parties.find(e=>"Ps"===e.shortName),u=t.parties.find(e=>"Sdp"===e.shortName),m=t.parties.find(e=>"Vas"===e.shortName),d=t.parties.find(e=>"Vihr"===e.shortName);return(0,i.jsxs)("div",{children:[(0,i.jsx)(aL.Y,{children:(0,h.q4)("euro-parties-text",a)}),(0,i.jsx)(aO,{finnishParties:[o],euroParty:{id:"epp",color:"#324A89",name:"Euroopan kansan\xadpuolueen ryhm\xe4",nameColor:"white",shortName:"Epp"}
9,text:"Keskustaoikeistolainen tai kristillisdemokraattinen EPP on Euroopan parlamentin suurin poliittinen ryhmittym\xe4. Suurinta valtaa ryhm\xe4n sis\xe4ll\xe4 k\xe4ytt\xe4v\xe4t saksalaiset kristillisdemokraatit. Suomesta ryhm\xe4\xe4n kuuluvat kokoomus ja kristillisdemokraatit."}),(0,i.jsx)(aO,{finnishParties:[u],euroParty:{id:"snd",color:"#B02D24",name:"Sosialistien ja demokraattien ryhm\xe4",nameColor:"white",shortName:"S&D"},text:"Sosialistiryhm\xe4ksi kutsuttu S&D on toinen Euroopan parlamentin perinteisist\xe4 valtaryhmittymist\xe4. Se kokoaa yhteen eurooppalaisia keskustavasemmistolaisia puolueita. Suomesta mukana on Sdp. P\xe4\xe4ttyv\xe4ll\xe4 vaalikaudella S&D oli parlamentin toiseksi suurin ryhm\xe4."}),(0,i.jsx)(aO,{finnishParties:[n,s],euroParty:{id:"RW",color:"#4397F7",name:"Renew\xa0Europe",nameColor:"white",shortName:"RW"},text:"Liberaali Renew on kolmas Euroopan parlamentin keskustaryhmist\xe4. Se miellet\xe4\xe4n yleisesti parlamentin integraatiomy\xf6nteisimm\xe4ksi ryhm\xe4ksi. Ryhm\xe4\xe4 johtaa Ranskan presidentin Emmanuel Macronin Renessanssi-puolue."}),(0,i.jsx)(aO,{finnishParties:[d],euroParty:{id:"vihre\xe4t-efa",color:"#337139",name:"Vihre\xe4t / Euroopan vapaa allianssi",nameColor:"white",shortName:"Vihr Efa"},text:"Yleisesti vihrein\xe4 tunnettu ryhm\xe4 on l\xf6yh\xe4 yhteenliittym\xe4 vihreit\xe4 liikkeit\xe4, piraattipuolueita ja riippumattomia edustajia eri puolilta Eurooppaa. Ryhm\xe4\xe4n kuuluu my\xf6s erilaisia alueellisia liikkeit\xe4 ja v\xe4hemmist\xf6j\xe4 edustava Euroopan vapaa allianssi (EFA). Suomesta ryhm\xe4ss\xe4 istuvat vihre\xe4t. Ryhm\xe4\xe4 johtavat Saksan vihre\xe4t."}),(0,i.jsx)(aO,{finnishParties:[r],euroParty:{id:"ecr",color:"#32729D",name:"Euroopan konservatiivit ja reformistit",nameColor:"white",shortName:"Ecr"},text:"Konservatiivinen ja kansallismielinen ECR kuuluu Euroopan parlamentin oikeistoryhmiin. Ryhm\xe4 suhtautuu kriittisesti EU:n integraation syvent\xe4miseen. Sit\xe4 johtavat Puolan Laki ja oikeus ja Italian veljet. Perussuomalaisten mepit istuvat ECR:n riveiss\xe4."}),(0,i.jsx)(aO,{euroParty:{id:"id",color:"#164289",name:"Identiteetti ja demokratia -ryhm\xe4",nameColor:"white",shortName:"ID"},text:"Laitaoikeiston ID-ryhm\xe4 on l\xf6yh\xe4 yhteenliittym\xe4 puolueita, joita yhdist\xe4\xe4 maahanmuutto- ja EU-vastaisuus sek\xe4 kansallismielisyys. Joukossa on my\xf6s \xe4\xe4rioikeistolaisia voimia. Suurinta valtaa ryhm\xe4ss\xe4 k\xe4ytt\xe4\xe4 Ranskan Kansallinen liittouma. Ryhm\xe4 on parlamentissa suljettu poliittisen yhteisty\xf6n ulkopuolelle.",isLastElement:!0}),(0,i.jsx)(aO,{finnishParties:[m],euroParty:{id:"gue-ngl",color:"#7F241A",name:"Euroopan parlamentin vasemmisto\xadryhm\xe4",nameColor:"white",shortName:"Gue Ngl"},text:"Vasemmistoryhm\xe4 The Left on l\xf6yh\xe4 yhteenliittym\xe4 erilaisia vasemman laidan puolueita kommunisteista ja antikapitalisteista Suomen vasemmistoliiton kaltaisiin puolueisiin. Ryhm\xe4 koostuu kahdesta osasta: Saksan, Ranskan ja Espanjan vasemmistopuolueiden johtamasta Euroopan yhtyneest\xe4 vasemmistosta (GUE) ja Pohjoismaiden vihre\xe4st\xe4 vasemmistosta (NGL)."}),(0,i.jsx)(l.EY,{as:"p",style:{paddingTop:26},children:"Vaalien yhteydess\xe4 puolueet voivat vaihtaa ryhm\xe4\xe4. Lis\xe4ksi parlamentissa on ryhmiin kuulumattomia, sitoutumattomia edustajia. Toisin kuin eduskunnassa, europarlamentin ryhmill\xe4 ei juuri ole ryhm\xe4kuria, eli edustajan ei ole pakko \xe4\xe4nest\xe4\xe4 ryhm\xe4n kannan mukaisesti."})]})};var aU=a(37087);let aR=()=>{},aD=!1,aB="loading",aH=e=>{let{id:t,src:a,className:n,resizeOptions:s={},title:r,showSpinner:l=!1,...u}=e,m=(0,o.useRef)(null),d=(0,o.useRef)(null),c=(0,o.useRef)(void 0),[h,p]=(0,o.useState)(!1),v=(0,o.useCallback)(()=>{p(!0)},[]);return((0,o.useEffect)(()=>(a&&0!==a.length&&m.current&&h&&(m.current.contentWindow&&m.current.contentWindow.location.replace(a),c.current=aU.iframeResizer(s,m.current)),()=>{c.current&&c.current.forEach(e=>{e.iFrameResizer.close()})}),[a,h]),(e=>{let{target:t,onEnter:a=aR,onExit:i=aR,onCleanup:n=aR,onIntersect:s=aR,root:r=null,threshold:l=0,isDisabled:u=!1,rootMargin:m}=e;(0,o.useEffect)(()=>{try{if(!t.current||u)return aR;let e=new IntersectionObserver(t=>{t.length&&void 0!==t[0]&&(t[0].isIntersecting||t[0].intersectionRatio>l?a():i()),s.call(e,t,e)},{root:r?r.current:null,rootMargin:null!=m?m:"".concat(window.innerHeight,"px"),threshold:l});return e.observe(t.current),function(){n(),e.disconnect()}}catch(e){return aD||(console.error("Selaimesi ei tue IntersectionObserver-ominaisuutta. Jotkin sivuston ominaisuudet eiv\xe4t toimi ilman sit\xe4. Jos olet est\xe4nyt sen k\xe4
9yt\xf6n asetuksista, ole hyv\xe4 ja k\xe4y sallimassa se uudelleen.",e),aD=!0),aR}},[t,u,a,i,n,s,r,m,l])})({target:m,onEnter:v,rootMargin:"".concat("100000px"," 0px ").concat("u">typeof document?window.innerHeight:0,"px 0px")}),a&&0!==a.length)?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{"data-id":t,style:{width:"100%"},children:[(0,i.jsx)("div",{className:"iframe-container",style:{width:"100%"},children:(0,i.jsx)("iframe",{onLoad:()=>{d.current&&d.current.classList.remove(aB)},style:{width:"100%",border:"none"},src:h?a:void 0,title:null!=r?r:"Upotettua sis\xe4lt\xf6\xe4",...u,ref:m})}),l&&(0,i.jsx)("div",{ref:d,children:(0,i.jsx)(eV,{})})]}),(0,i.jsx)("style",{children:"\n        .".concat(aB," {\n          display: flex;\n        }\n      ")})]}):null},aF=e=>{let{id:t,src:a,className:n,resizeOptions:s={},height:o,width:r,title:l,...u}=e;return(0,i.jsx)(aH,{id:t,src:a,className:n,resizeOptions:s,title:l,...u})};var az=a(65267)},71024:(e,t,a)=>{e.exports=a(37195)},71032:e=>{e.exports={textField:"TextInput_textField__vxcvb",iconContainer:"TextInput_iconContainer__DPRq4",textInputRoot:"TextInput_textInputRoot__IHjQy",clearButton:"TextInput_clearButton__yGzCO",hideInput:"TextInput_hideInput__lDRJ8"}},72053:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},72369:(e,t,a)=>{"use strict";a.d(t,{L:()=>i});let i=(0,a(55729).createContext)({})},72517:e=>{e.exports={questionBlockRoot:"CandidateQuestionBlock_questionBlockRoot__3LD6y",questionContainer:"CandidateQuestionBlock_questionContainer__XhZd6"}},72756:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.camelCase=void 0;var a=/^--[a-zA-Z0-9_-]+$/,i=/-([a-z])/g,n=/^[^-]+$/,s=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,r=function(e,t){return t.toUpperCase()},l=function(e,t){return"".concat(t,"-")};t.camelCase=function(e,t){var u;return(void 0===t&&(t={}),!(u=e)||n.test(u)||a.test(u))?e:(e=e.toLowerCase(),(e=t.reactCompat?e.replace(o,l):e.replace(s,l)).replace(i,r))}},73525:(e,t,a)=>{"use strict";a.d(t,{ge:()=>o,xU:()=>n});let i=()=>({translate:0,scale:1,origin:0,originPoint:0}),n=()=>({x:i(),y:i()}),s=()=>({min:0,max:0}),o=()=>({x:s(),y:s()})},73696:(e,t,a)=>{e=a.nmd(e);var i=a(97397),n=t&&!t.nodeType&&t,s=n&&e&&!e.nodeType&&e,o=s&&s.exports===n&&i.process,r=function(){try{var e=s&&s.require&&s.require("util").types;if(e)return e;return o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=r},73768:(e,t,a)=>{"use strict";a.d(t,{y:()=>o});var i=a(59943),n=a(46164),s=a(78072);let o={test:e=>s.B.test(e)||i.u.test(e)||n.V.test(e),parse:e=>s.B.test(e)?s.B.parse(e):n.V.test(e)?n.V.parse(e):i.u.parse(e),transform:e=>"string"==typeof e?e:e.hasOwnProperty("red")?s.B.transform(e):n.V.transform(e),getAnimatableNone:e=>{let t=o.parse(e);return t.alpha=0,o.transform(t)}}},73864:(e,t,a)=>{"use strict";a.d(t,{H:()=>l});var i=a(15650);function n(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}let s={correct:(e,t)=>{if(!t.target)return e;if("string"==typeof e)if(!i.px.test(e))return e;else e=parseFloat(e);let a=n(e,t.target.x),s=n(e,t.target.y);return`${a}% ${s}%`}};var o=a(32264),r=a(22942);let l={borderRadius:{...s,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:s,borderTopRightRadius:s,borderBottomLeftRadius:s,borderBottomRightRadius:s,boxShadow:{correct:(e,{treeScale:t,projectionDelta:a})=>{let i=o.f.parse(e);if(i.length>5)return e;let n=o.f.createTransformer(e),s=+("number"!=typeof i[0]),l=a.x.scale*t.x,u=a.y.scale*t.y;i[0+s]/=l,i[1+s]/=u;let m=(0,r.k)(l,u,.5);return"number"==typeof i[2+s]&&(i[2+s]/=m),"number"==typeof i[3+s]&&(i[3+s]/=m),n(i)}}}},74283:(e,t,a)=>{var i=a(88601);e.exports=function(e,t){return i(t,function(t){return e[t]})}},74472:e=>{e.exports={blankLayout:"BlankLayout_blankLayout__14HsH"}},74682:(e,t,a)=>{"use strict";a.d(t,{O:()=>r,e:()=>o});var i=a(17665),n=a(98936),s=a(6655);function o(e){return(0,i.N)(e.animate)||s._.some(t=>(0,n.w)(e[t]))}function r(e){return!!(o(e)||e.variants)}},74862:(e,t,a)=>{"use strict";a.d(t,{w:()=>i});let i=e=>t=>t.test(e)},74969:(e,t,a)=>{"use strict";a.d(t,{$n:()=>k,j7:()=>P,K0:()=>j,A8:()=>x,R5:()=>E,QW:()=>A,Iw:()=>_,Hw:()=>T});var i=a(6029),n=a(33112),s=a.n(n),o=a(4295),r=a.n(o),l=a(60832),u=a(55729);let m=e=>{let{disabled:t,onClick:a}=e;return(0,u.useCallback)(e=>{a&&!t&&a(e)},[a,t])};var d=a(33892),c=a.n(d),h=a(65099),p=a.n(h);let v={"--custom-focus-border-radius":"var(--radii-button-border-radius)"},k=e=>{let{"aria-checked":t,"aria-disabled":a,"aria-current":n,alignIcon:o,alignText:u,children:d,className:h,forwardedRef:k,icon:y,onClick:f,size:g="medium",type:b="button",variant:j="primary",style:x,...w}=e,S=m({disabled:a,onClick:f}),N=[p().buttonRoot,c()[g],c()[j],r().baseCss,s().focusVisible,r().borderAndShadow,h].filter(
9Boolean).join(" ");return(0,i.jsx)("button",{...w,"aria-checked":t,"aria-disabled":a,onClick:S,ref:k,type:b,className:N,style:{...v,...x},children:(0,i.jsx)(l.A,{alignIcon:o,alignText:u,icon:y,size:g,children:d})})};var y=a(23429),f=a.n(y);let g={"--custom-focus-border-radius":"100px"},b=e=>{let{"aria-disabled":t,className:a,forwardedRef:n,hidden:o,icon:l,onClick:u,styles:d,tabIndex:h,type:p="button",variant:v="secondary",size:k="medium","aria-label":y,highlighted:b,...j}=e,x=o?f().hidden:"",w=!b&&t?f().disabledColors:"",S=-1!==h?s().focusWithBoxShadow:"",N=[f().iconButtonRoot,x,r().baseCss,s().focusVisible,c()[v],r().borderAndShadow,S,a,w,f()[k]].filter(Boolean).join(" "),A=m({disabled:t,onClick:u});return(0,i.jsx)("button",{"aria-disabled":t,"aria-label":y,className:N,onClick:A,ref:n,style:{...g,...d},tabIndex:h,type:p,...j,children:l})},j=b,x=e=>(0,i.jsx)(b,{...e,styles:{...e.styles,border:"none",backgroundColor:"transparent",boxShadow:"none"},variant:"secondary"});var w=a(35388),S=a(42601),N=a.n(S);let A=e=>{let{alignIcon:t,"aria-disabled":a,children:n,forwardedRef:o,icon:u,onClick:d,size:c="medium",type:h="button",justifyContent:p="center",className:v,buttonContentStyle:k,alignText:y,...f}=e,g=[N().textButtonRoot,N()["justify-content-".concat(p)],N()[c],r().baseCss,s().focusVisible,v].filter(
9Boolean).join(" "),b=m({disabled:a,onClick:d});return(0,i.jsx)("button",{...f,className:g,"aria-disabled":a,onClick:b,ref:o,type:h,children:(0,i.jsx)(l.A,{alignIcon:t,alignText:y,icon:u,size:c,style:k,children:n})})},P=(0,w.QR)((0,w.wQ)(k)),_=(0,w.QR)((0,w.wQ)(e=>(0,i.jsx)(A,{...e,style:{display:"flex",...e.style}})),"button");var C=a(20541),M=a(95521),L=a.n(M);let E=e=>{var t,a;let{checked:n=!1,customIcon:s,...o}=e,r=null!=s?s:(0,i.jsx)(C.A,{name:n?"check-circle":"circle",size:16});return(0,i.jsx)(k,{...o,"aria-checked":n,role:"checkbox",className:"".concat(null!=(t=L().tagButton)?t:""," ").concat(n&&null!=(a=L().checked)?a:""),variant:n?"primary":"function",alignIcon:"left",icon:r})},I=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;window.scrollTo({top:e,behavior:"smooth"})},T=()=>{let[e,t]=(0,u.useState)(!1);return((0,u.useEffect)(()=>{t((0,w.EJ)());let e=()=>{t((0,w.EJ)())};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),e)?(0,i.jsx)(A,{alignIcon:"left",icon:(0,i.jsx)(C.A,{name:"chevron-up",size:24}),onClick:()=>{I()},size:"medium",children:"Takaisin yl\xf6s"}):null}},75157:(e,t,a)=>{"use strict";function i(e){return void 0===e||1===e}function n({scale:e,scaleX:t,scaleY:a}){return!i(e)||!i(t)||!i(a)}function s(e){return n(e)||o(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function o(e){var t,a;return(t=e.x)&&"0%"!==t||(a=e.y)&&"0%"!==a}a.d(t,{HD:()=>s,vF:()=>o,vk:()=>n})},75178:e=>{e.exports={candidateContentBlockContainer:"CandidateContentBlock_candidateContentBlockContainer__jvio7"}},75399:(e,t,a)=>{"use strict";function i({top:e,left:t,right:a,bottom:n}){return{x:{min:t,max:a},y:{min:e,max:n}}}function n({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function s(e,t){if(!t)return e;let a=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:a.y,left:a.x,bottom:i.y,right:i.x}}a.d(t,{FY:()=>i,bS:()=>s,pA:()=>n})},76513:e=>{e.exports={modalHeader:"ModalHeader_modalHeader__nSRfV"}},78072:(e,t,a)=>{"use strict";a.d(t,{B:()=>l});var i=a(11186),n=a(50151),s=a(5169),o=a(3524);let r={...n.ai,transform:e=>Math.round((0,i.q)(0,255,e))},l={test:(0,o.$)("rgb","red"),parse:(0,o.q)("red","green","blue"),transform:({red:e,green:t,blue:a,alpha:i=1})=>"rgba("+r.transform(e)+", "+r.transform(t)+", "+r.transform(a)+", "+(0,s.a)(n.X4.transform(i))+")"}},78189:(e,t,a)=>{"use strict";a.d(t,{D:()=>n,I:()=>i});let i={x:!1,y:!1};function n(){return i.x||i.y}},78332:e=>{e.exports={candidatePartyImageRoot:"CandidatePartyImage_candidatePartyImageRoot__mOjcf","extra-small":"CandidatePartyImage_extra-small__cLYBr",small:"CandidatePartyImage_small__96vRV",medium:"CandidatePartyImage_medium__rjuzc",large:"CandidatePartyImage_large__msCIO",extraLarge:"CandidatePartyImage_extraLarge__SN_hv",liveEmbed:"CandidatePartyImage_liveEmbed__1wOGc",imageContainer:"CandidatePartyImage_imageContainer__klmhA",blackAndWhiteImage:"CandidatePartyImage_blackAndWhiteImage__Bm44K",smallPartyTagContainer:"CandidatePartyImage_smallPartyTagContainer___J1kv"}},78383:e=>{e.exports=function(){}},78416:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});let i={layout:0,mainThread:0,waapi:0}},78492:(e,t,a)=>{var i=a(50956);e.exports=function(e,t,a,n){return i(e,function(e,i,s){t(n,e,a(e),s)}),n}},78695:(e,t,a)=>{"use strict";a.d(t,{Y:()=>r});var i=a(6029),n=a(87500),s=a(35388),o=a(26795);let r=e=>{let{children:t,id:a}=e,r=(0,s.N$)(n.f.md);return(0,i.jsx)(o.EY,{id:a,as:"p",textAlign:"center",size:r?18:16,lineHeight:"loose",style:{marginBottom:8},children:t})}},78737:(e,t,a)=>{"use strict";let i;a.d(t,{k:()=>r});var n=a(6627),s=a(50891);function o(){i=void 0}let r={now:()=>(void 0===i&&r.set(s.uv.isProcessing||n.W.useManualTiming?s.uv.timestamp:performance.now()),i),set:e=>{i=e,queueMicrotask(o)}}},78777:(e,t,a)=>{"use strict";function i(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}a.d(t,{I:()=>i})},78876:(e,t,a)=>{"use strict";function i(e,t,a,i){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return i}}),a(52034),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esMo
9dule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},79748:e=>{e.exports={navigationContainer:"ThemeNavigation_navigationContainer__KmZBL",navigationRoot:"ThemeNavigation_navigationRoot__3HqIG"}},79860:(e,t,a)=>{var i=a(31736),n=a(78383),s=a(48546);e.exports=i&&1/s(new i([,-0]))[1]==1/0?function(e){return new i(e)}:n},80244:e=>{e.exports=function(e){var t=[];if(null!=e)for(var a in Object(e))t.push(a);return t}},80416:e=>{e.exports={informationBlockRoot:"InformationBlock_informationBlockRoot__Vnnkg"}},80753:(e,t,a)=>{"use strict";function i(e){let t;return()=>(void 0===t&&(t=e()),t)}a.d(t,{p:()=>i})},81014:(e,t,a)=>{var i=a(53325),n=a(66581),s=Object.prototype.hasOwnProperty;e.exports=function(e,t,a){var o=e[t];s.call(e,t)&&n(o,a)&&(void 0!==a||t in e)||i(e,t,a)}},81278:(e,t,a)=>{e.exports=a(80445)},81597:(e,t,a)=>{var i=a(55765);e.exports=function(e){var t=i(e,function(e){return 500===a.size&&a.clear(),e}),a=t.cache;return t}},81648:e=>{e.exports=function(e,t,a,i){for(var n=-1,s=null==e?0:e.length;++n<s;){var o=e[n];t(i,o,a(o),e)}return i}},81707:(e,t,a)=>{e.exports=a(54703)(Object,"create")},82140:e=>{e.exports={candidateLayoutRoot:"CandidateLayout_candidateLayoutRoot__lJ3cx",layoutContainer:"CandidateLayout_layoutContainer__ib__A",picture:"CandidateLayout_picture__1ucwD"}},82148:e=>{e.exports={inputContent:"ImagePicker_inputContent__8_pt6",inputRoot:"ImagePicker_inputRoot__C4dO4",labelRoot:"ImagePicker_labelRoot__Y_uH0",loadedRoot:"ImagePicker_loadedRoot__NlkHy",pickerRoot:"ImagePicker_pickerRoot__9t_XK"}},82203:(e,t,a)=>{e.exports=a(96916)},82694:e=>{e.exports=function(e,t){return e.has(t)}},83140:e=>{e.exports={button:"Reveal_button__3ovsO"}},83436:(e,t,a)=>{"use strict";a.d(t,{A:()=>i.A});var i=a(27206)},83538:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoadableContext",{enumerable:!0,get:function(){return i}});let i=a(14761)._(a(55729)).default.createContext(null)},83588:e=>{e.exports=function(e){return function(t,a,i){for(var n=-1,s=Object(t),o=i(t),r=o.length;r--;){var l=o[e?r:++n];if(!1===a(s[l],l,s))break}return t}}},83777:(e,t,a)=>{t.iframeResizer=a(25523),a(96856)},83817:(e,t,a)=>{var i=a(7855);e.exports=function(e,t){return i(e,t)}},84851:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return u}});let i=a(17637),n=a(67876),s=a(5720),o=["-moz-initial","fill","none","scale-down",void 0];function r(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u(e,t){var a,u;let m,d,c,{src:h,sizes:p,unoptimized:v=!1,priority:k=!1,preload:y=!1,loading:f,className:g,quality:b,width:j,height:x,fill:w=!1,style:S,overrideSrc:N,onLoad:A,onLoadingComplete:P,placeholder:_="empty",blurDataURL:C,fetchPriority:M,decoding:L="async",layout:E,objectFit:I,objectPosition:T,lazyBoundary:V,lazyRoot:O,...K}=e,{imgConf:U,showAltText:R,blurComplete:D,defaultLoader:B}=t,H=U||s.imageConfigDefault;if("allSizes"in H)m=H;else{let e=[...H.deviceSizes,...H.imageSizes].sort((e,t)=>e-t),t=H.deviceSizes.sort((e,t)=>e-t),i=null==(a=H.qualities)?void 0:a.sort((e,t)=>e-t);m={...H,allSizes:e,deviceSizes:t,qualities:i}}if(void 0===B)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=K.loader||B;delete K.loader,delete K.srcSet;let z="__next_img_default"in F;if(z){if("custom"===m.loader)throw Object.defineProperty(Error('Image with src "'.concat(h,'" is missing "loader" prop.')+"\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader"),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:a,...i}=t;return e(i)}}if(E){"fill"===E&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];e&&(S={...S,...e});let t={responsive:"100vw",fill:"100vw"}[E];t&&!p&&(p=t)}let $="",q=l(j),G=l(x),W=!1;if((u=h)&&"object"==typeof u&&(r(u)||void 0!==u.src)){let e=r(h)?h.default:h;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ".concat(JSON.stringify(e))),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,
9configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ".concat(JSON.stringify(e))),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(d=e.blurWidth,c=e.blurHeight,C=C||e.blurDataURL,$=e.src,W=/\.avif(?:\?|$)/i.test($),!w)if(q||G){if(q&&!G){let t=q/e.width;G=Math.round(e.height*t)}else if(!q&&G){let t=G/e.height;q=Math.round(e.width*t)}}else q=e.width,G=e.height}W&&"blur"===_&&!C&&(_="empty");let Y=!k&&!y&&("lazy"===f||void 0===f);(!(h="string"==typeof h?h:$)||h.startsWith("data:")||h.startsWith("blob:"))&&(v=!0,Y=!1),m.unoptimized&&(v=!0),z&&!m.dangerouslyAllowSVG&&h.split("?",1)[0].endsWith(".svg")&&(v=!0);let J=l(b),Q=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:I,objectPosition:T}:{},R?{}:{color:"transparent"},S),X=D||"empty"===_?null:"blur"===_?'url("data:image/svg+xml;charset=utf-8,'.concat((0,n.getImageBlurSvg)({widthInt:q,heightInt:G,blurWidth:d,blurHeight:c,blurDataURL:C||"",objectFit:Q.objectFit}),'")'):'url("'.concat(_,'")'),Z=o.includes(Q.objectFit)?"fill"===Q.objectFit?"100% 100%":"cover":Q.objectFit,ee=X?{backgroundSize:Z,backgroundPosition:Q.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},et=function(e){let{config:t,src:a,unoptimized:n,width:s,quality:o,sizes:r,loader:l}=e;if(n){if(a.startsWith("/")&&!a.startsWith("//")){let e=(0,i.getDeploymentId)();if(a.includes("/_next/static/immutable")&&!(0,i.getAssetToken)())e=void 0;else if(e){let t=a.indexOf("?");if(-1!==t){let i=new URLSearchParams(a.slice(t+1));i.get("dpl")||(i.append("dpl",e),a=a.slice(0,t)+"?"+i.toString())}else a+="?dpl=".concat(e)}}return{src:a,srcSet:void 0,sizes:void 0}}let{widths:u,kind:m}=function(e,t,a){let{deviceSizes:i,allSizes:n}=e;if(a){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let i;i=e.exec(a);)t.push(parseInt(i[2]));if(t.length){let e=.01*Math.min(...t);return{widths:n.filter(t=>t>=i[0]*e),kind:"w"}}return{widths:n,kind:"w"}}return"number"!=typeof t?{widths:i,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>n.find(t=>t>=e)||n[n.length-1]))],kind:"x"}}(t,s,r),d=u.length-1;return{sizes:r||"w"!==m?r:"100vw",srcSet:u.map((e,i)=>"".concat(l({config:t,src:a,quality:o,width:e})," ").concat("w"===m?e:i+1).concat(m)).join(", "),src:l({config:t,src:a,quality:o,width:u[d]})}}({config:m,src:h,unoptimized:v,width:q,quality:J,sizes:p,loader:F}),ea=Y?"lazy":f;return{props:{...K,loading:ea,fetchPriority:M,width:q,height:G,decoding:L,className:g,style:{...Q,...ee},sizes:et.sizes,srcSet:et.srcSet,src:N||et.src},meta:{unoptimized:v,preload:y||k,placeholder:_,fill:w}}}},84974:e=>{e.exports={selectBaseRoot:"SelectBaseComponent_selectBaseRoot__VVcRN",fullWidth:"SelectBaseComponent_fullWidth__te1rP",fieldContainer:"SelectBaseComponent_fieldContainer__2gbIU",searchIcon:"SelectBaseComponent_searchIcon__g_ZWB",labelContainer:"SelectBaseComponent_labelContainer__dadxb",left:"SelectBaseComponent_left__0pVdl",center:"SelectBaseComponent_center__jvXPh",right:"SelectBaseComponent_right__VyawL"}},85508:(e,t,a)=>{var i=a(29794),n=a(63602),s=a(70720);e.exports=function(e){return i(e,s,n)}},85569:(e,t,a)=>{"use strict";a.d(t,{W:()=>r});var i=a(50151);let n={...i.ai,transform:Math.round};var s=a(15650);let o={rotate:s.uj,pathRotation:s.uj,rotateX:s.uj,rotateY:s.uj,rotateZ:s.uj,scale:i.hs,scaleX:i.hs,scaleY:i.hs,scaleZ:i.hs,skew:s.uj,skewX:s.uj,skewY:s.uj,distance:s.px,translateX:s.px,translateY:s.px,translateZ:s.px,x:s.px,y:s.px,z:s.px,perspective:s.px,transformPerspective:s.px,opacity:i.X4,originX:s.gQ,originY:s.gQ,originZ:s.px},r={borderWidth:s.px,borderTopWidth:s.px,borderRightWidth:s.px,borderBottomWidth:s.px,borderLeftWidth:s.px,borderRadius:s.px,borderTopLeftRadius:s.px,borderTopRightRadius:s.px,borderBottomRightRadius:s.px,borderBottomLeftRadius:s.px,width:s.px,maxWidth:s.px,height:s.px,maxHeight:s.px,top:s.px,right:s.px,bottom:s.px,left:s.px,inset:s.px,insetBlock:s.px,insetBlockStart:s.px,insetBlockEnd:s.px,insetInline:s.px,insetInlineStart:s.px,insetInlineEnd:s.px,padding:s.px,paddingTop:s.px,paddingRight:s.px,paddingBottom:s.px,paddingLeft:s.px,paddingBlock:s.px,paddingBlockStart:s.px,paddingBlockEnd:s.px,paddingInline:s.px,paddingInlineStart:s.px,paddingInlineEnd:s.px,margin:s.px,marginTop:s.px,marginRight:s.px,marginBottom:s.px,marginLeft:s.px,marginBlock:s.px,marginBlockStart:s.px,marginBlockEnd:s.px,marginInline:s.px,marginInlineStart:s.px,marginInlineEnd:s.px,fontSize:s.px,backgroundPositionX:s.px,backgroundPositionY:s.px,...o,zIndex:n,fillOpacity:i.X4,strokeOpacity:i.X4,numOctaves:n}},85711:(e,t,a)=>{"use strict";a.d(t,{Xs:()=>iF,st:()=>iD,cI:()=>iJ,N0:()=>iB,A:()=>iH,Aw:()=>iU,T4:()=>iR,L1:()=>iG,NI:()=>iX,Yj:()=>iW,L4:()=>az,mR:()=>i3,nb:()=>aq,v6:()=>i8,ZT:()=>tQ,Tq:()=>aX,V_:()=>aJ,sO:()=>aW,hE:()=>i6,wy:()=>aG,qI:()=>i4,xU:()=>ie,ph:()=>i9});var i,n,s,o,r,l,u,m,d,c=a(22318);let h=function(e,t){return e===t||e!=e&&t!=t},p=function(e,t){for(var a=e.length;a--;)if(h(e[a][0],t))return a;return -1};var v=Array.prototype.splice;function k(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}k.prototype.clear=function(){this.__data__=[],this.size=0},k.prototype.delete=function(e){var t=this.__data__,a=p(t,e);return!(a<0)&&(a==t.length-1?t.pop():v.call(t,a,1),--this.size,!0)},k.prototype.get=function(e){var t=this.__data__,a=p(t,e);return a<0?void 0:t[a][1]},k.prototype.has=function(e){return p(this.__data__,e)>-1},k.prototype.set=function(e,t){var a=this.__data__,i=p(a,e);return i<0?(++this.size,a.push([e,t])):a[i][1]=t,this};var y="object"==typeof global&&global&&global.Object===Object&&global,f="object"==typeof self&&self&&self.Object===Object&&self,g=y||f||Function("return this")(),b=g.Symbol,j=Object.prototype,x=j.hasOwnProperty,w=j.toString,S=b?b.toStringTag:void 0;let N=function(e){var t=x.call(e,S),a=e[S];try{e[S]=void 0;var i=!0}catch(e){}
9var n=w.call(e);return i&&(t?e[S]=a:delete e[S]),n};var A=Object.prototype.toString,P=b?b.toStringTag:void 0;let _=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":P&&P in Object(e)?N(e):A.call(e)},C=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},M=function(e){if(!C(e))return!1;var t=_(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};var L=g["__core-js_shared__"],E=(i=/[^.]+$/.exec(L&&L.keys&&L.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",I=Function.prototype.toString;let T=function(e){if(null!=e){try{return I.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var V=/^\[object .+?Constructor\]$/,O=Object.prototype,K=Function.prototype.toString,U=O.hasOwnProperty,R=RegExp("^"+K.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let D=function(e){return!!C(e)&&(!E||!(E in e))&&(M(e)?R:V).test(T(e))},B=function(e,t){var a=null==e?void 0:e[t];return D(a)?a:void 0};var H=B(g,"Map"),F=B(Object,"create"),z=Object.prototype.hasOwnProperty,$=Object.prototype.hasOwnProperty;function q(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}q.prototype.clear=function(){this.__data__=F?F(null):{},this.size=0},q.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t},q.prototype.get=function(e){var t=this.__data__;if(F){var a=t[e];return"__lodash_hash_undefined__"===a?void 0:a}return z.call(t,e)?t[e]:void 0},q.prototype.has=function(e){var t=this.__data__;return F?void 0!==t[e]:$.call(t,e)},q.prototype.set=function(e,t){var a=this.__data__;return this.size+=+!this.has(e),a[e]=F&&void 0===t?"__lodash_hash_undefined__":t,this};let G=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},W=function(e,t){var a=e.__data__;return G(t)?a["string"==typeof t?"string":"hash"]:a.map};function Y(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function J(e){var t=this.__data__=new k(e);this.size=t.size}Y.prototype.clear=function(){this.size=0,this.__data__={hash:new q,map:new(H||k),string:new q}},Y.prototype.delete=function(e){var t=W(this,e).delete(e);return this.size-=!!t,t},Y.prototype.get=function(e){return W(this,e).get(e)},Y.prototype.has=function(e){return W(this,e).has(e)},Y.prototype.set=function(e,t){var a=W(this,e),i=a.size;return a.set(e,t),this.size+=+(a.size!=i),this},J.prototype.clear=function(){this.__data__=new k,this.size=0},J.prototype.delete=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a},J.prototype.get=function(e){return this.__data__.get(e)},J.prototype.has=function(e){return this.__data__.has(e)},J.prototype.set=function(e,t){var a=this.__data__;if(a instanceof k){var i=a.__data__;if(!H||i.length<199)return i.push([e,t]),this.size=++a.size,this;a=this.__data__=new Y(i)}return a.set(e,t),this.size=a.size,this};var Q=function(){try{var e=B(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();let X=function(e,t,a){"__proto__"==t&&Q?Q(e,t,{configurable:!0,enumerable:!0,value:a,writable:!0}):e[t]=a},Z=function(e,t,a){(void 0===a||h(e[t],a))&&(void 0!==a||t in e)||X(e,t,a)},ee=function(e,t,a){for(var i=-1,n=Object(e),s=a(e),o=s.length;o--;){var r=s[++i];if(!1===t(n[r],r,n))break}return e};var et="object"==typeof exports&&exports&&!exports.nodeType&&exports,ea=et&&"object"==typeof module&&module&&!module.nodeType&&module,ei=ea&&ea.exports===et?g.Buffer:void 0,en=ei?ei.allocUnsafe:void 0;let es=function(e,t){if(t)return e.slice();var a=e.length,i=en?en(a):new e.constructor(a);return e.copy(i),i};var eo=g.Uint8Array;let er=function(e){var t=new e.constructor(e.byteLength);return new eo(t).set(new eo(e)),t},el=function(e,t){var a=t?er(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.length)},eu=function(e,t){var a=-1,i=e.length;for(t||(t=Array(i));++a<i;)t[a]=e[a];return t};var em=Object.create,ed=function(){function e(){}return function(t){if(!C(t))return{};if(em)return em(t);e.prototype=t;var a=new e;return e.prototype=void 0,a}}();let ec=function(e,t){return function(a){return e(t(a))}};var eh=ec(Object.getPrototypeOf,Object),ep=Object.prototype;let ev=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ep)},ek=function(e){return"function"!=typeof e.constructor||ev(e)?{}:ed(eh(e))},ey=function(e){return null!=e&&"object"==typeof e},ef=function(e){return ey(e)&&"[object Arguments]"==_(e)};var eg=Object.prototype,eb=eg.hasOwnProperty,ej=eg.propertyIsEnumerable,ex=ef(function(){return arguments}())?ef:function(e){return ey(e)&&eb.call(e,"callee")&&!ej.call(e,"callee")},ew=Array.isArray;let eS=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff},eN=function(e){return null!=e&&eS(e.length)&&!M(e)};var eA="object"==typeof exports&&exports&&!exports.nodeType&&exports,eP=eA&&"object"==typeof module&&module&&!module.nodeType&&module,e_=eP&&eP.exports===eA?g.Buffer:void 0;let eC=(e_?e_.isBuffer:void 0)||function(){return!1};var eM=Object.prototype,eL=Function.prototype.toString,eE=eM.hasOwnProperty,eI=eL.call(Object);let eT=function(e){if(!ey(e)||"[object Object]"!=_(e))return!1;var t=eh(e);if(null===t)return!0;var a=eE.call(t,"constructor")&&t.constructor;return"function"==typeof a&&a instanceof a&&eL.call(a)==eI};var eV={};
9eV["[object Float32Array]"]=eV["[object Float64Array]"]=eV["[object Int8Array]"]=eV["[object Int16Array]"]=eV["[object Int32Array]"]=eV["[object Uint8Array]"]=eV["[object Uint8ClampedArray]"]=eV["[object Uint16Array]"]=eV["[object Uint32Array]"]=!0,eV["[object Arguments]"]=eV["[object Array]"]=eV["[object ArrayBuffer]"]=eV["[object Boolean]"]=eV["[object DataView]"]=eV["[object Date]"]=eV["[object Error]"]=eV["[object Function]"]=eV["[object Map]"]=eV["[object Number]"]=eV["[object Object]"]=eV["[object RegExp]"]=eV["[object Set]"]=eV["[object String]"]=eV["[object WeakMap]"]=!1;let eO=function(e){return function(t){return e(t)}};var eK="object"==typeof exports&&exports&&!exports.nodeType&&exports,eU=eK&&"object"==typeof module&&module&&!module.nodeType&&module,eR=eU&&eU.exports===eK&&y.process,eD=function(){try{var e=eU&&eU.require&&eU.require("util").types;if(e)return e;return eR&&eR.binding&&eR.binding("util")}catch(e){}}(),eB=eD&&eD.isTypedArray,eH=eB?eO(eB):function(e){return ey(e)&&eS(e.length)&&!!eV[_(e)]};let eF=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var ez=Object.prototype.hasOwnProperty;let e$=function(e,t,a){var i=e[t];ez.call(e,t)&&h(i,a)&&(void 0!==a||t in e)||X(e,t,a)},eq=function(e,t,a,i){var n=!a;a||(a={});for(var s=-1,o=t.length;++s<o;){var r=t[s],l=i?i(a[r],e[r],r,a,e):void 0;void 0===l&&(l=e[r]),n?X(a,r,l):e$(a,r,l)}return a},eG=function(e,t){for(var a=-1,i=Array(e);++a<e;)i[a]=t(a);return i};var eW=/^(?:0|[1-9]\d*)$/;let eY=function(e,t){var a=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==a||"symbol"!=a&&eW.test(e))&&e>-1&&e%1==0&&e<t};var eJ=Object.prototype.hasOwnProperty;let eQ=function(e,t){var a=ew(e),i=!a&&ex(e),n=!a&&!i&&eC(e),s=!a&&!i&&!n&&eH(e),o=a||i||n||s,r=o?eG(e.length,String):[],l=r.length;for(var u in e)(t||eJ.call(e,u))&&!(o&&("length"==u||n&&("offset"==u||"parent"==u)||s&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||eY(u,l)))&&r.push(u);return r},eX=function(e){var t=[];if(null!=e)for(var a in Object(e))t.push(a);return t};var eZ=Object.prototype.hasOwnProperty;let e0=function(e){if(!C(e))return eX(e);var t=ev(e),a=[];for(var i in e)"constructor"==i&&(t||!eZ.call(e,i))||a.push(i);return a},e1=function(e){return eN(e)?eQ(e,!0):e0(e)},e2=function(e,t,a,i,n,s,o){var r=eF(e,a),l=eF(t,a),u=o.get(l);if(u)return void Z(e,a,u);var m=s?s(r,l,a+"",e,t,o):void 0,d=void 0===m;if(d){var c=ew(l),h=!c&&eC(l),p=!c&&!h&&eH(l);(m=l,c||h||p)?ew(r)?m=r:ey(r)&&eN(r)?m=eu(r):h?(d=!1,m=es(l,!0)):p?(d=!1,m=el(l,!0)):m=[]:eT(l)||ex(l)?(m=r,ex(r))?m=eq(r,e1(r)):(!C(r)||M(r))&&(m=ek(l)):d=!1}d&&(o.set(l,m),n(m,l,i,s,o),o.delete(l)),Z(e,a,m)},e5=function e(t,a,i,n,s){t!==a&&ee(a,function(o,r){if(s||(s=new J),C(o))e2(t,a,r,i,e,n,s);else{var l=n?n(eF(t,r),o,r+"",t,a,s):void 0;void 0===l&&(l=o),Z(t,r,l)}},e1)},e3=function(e){return e},e4=function(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)};var e6=Math.max;let e8=function(e,t,a){return t=e6(void 0===t?e.length-1:t,0),function(){for(var i=arguments,n=-1,s=e6(i.length-t,0),o=Array(s);++n<s;)o[n]=i[t+n];n=-1;for(var r=Array(t+1);++n<t;)r[n]=i[n];return r[t]=a(o),e4(e,this,r)}};var e9=Date.now,e7=(n=Q?function(e,t){return Q(e,"toString",{configurable:!0,enumerable:!1,value:function(){return t},writable:!0})}:e3,s=0,o=0,function(){var e=e9(),t=16-(e-o);if(o=e,t>0){if(++s>=800)return arguments[0]}else s=0;return n.apply(void 0,arguments)});let te=function(e,t,a){if(!C(a))return!1;var i=typeof t;return("number"==i?!!(eN(a)&&eY(t,a.length)):"string"==i&&t in a)&&h(a[t],e)};var tt=(r=function(e,t,a){e5(e,t,a)},e7(e8(l=function(e,t){var a=-1,i=t.length,n=i>1?t[i-1]:void 0,s=i>2?t[2]:void 0;for(n=r.length>3&&"function"==typeof n?(i--,n):void 0,s&&te(t[0],t[1],s)&&(n=i<3?void 0:n,i=1),e=Object(e);++a<i;){var o=t[a];o&&r(e,o,a)}return e},void 0,e3),l+""));let ta=function(e,t){for(var a=-1,i=null==e?0:e.length;++a<i&&!1!==t(e[a],a,e););return e};var ti=ec(Object.keys,Object),tn=Object.prototype.hasOwnProperty;let ts=function(e){if(!ev(e))return ti(e);var t=[];for(var a in Object(e))tn.call(e,a)&&"constructor"!=a&&t.push(a);return t},to=function(e){return eN(e)?eQ(e):ts(e)},tr=function(e,t){for(var a=-1,i=null==e?0:e.length,n=0,s=[];++a<i;){var o=e[a];t(o,a,e)&&(s[n++]=o)}return s},tl=function(){return[]};var tu=Object.prototype.propertyIsEnumerable,tm=Object.getOwnPropertySymbols,td=tm?function(e){return null==e?[]:tr(tm(e=Object(e)),function(t){return tu.call(e,t)})}:tl;let tc=function(e,t){for(var a=-1,i=t.length,n=e.length;++a<i;)e[n+a]=t[a];return e};var th=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)tc(t,td(e)),e=eh(e);return t}:tl;let tp=function(e,t,a){var i=t(e);return ew(e)?i:tc(i,a(e))},tv=function(e){return tp(e,to,td)},tk=function(e){return tp(e,e1,th)};var ty=B(g,"DataView"),tf=B(g,"Promise"),tg=B(g,"Set"),tb=B(g,"WeakMap"),tj="[object Map]",tx="[object Promise]",tw="[object Set]",tS="[object WeakMap]",tN="[object DataView]",tA=T(ty),tP=T(H),t_=T(tf),tC=T(tg),tM=T(tb),tL=_;(ty&&tL(new ty(new ArrayBuffer(1)))!=tN||H&&tL(new H)!=tj||tf&&tL(tf.resolve())!=tx||tg&&tL(new tg)!=tw||tb&&tL(new tb)!=tS)&&(tL=function(e){var t=_(e),a="[object Object]"==t?e.constructor:void 0,i=a?T(a):"";if(i)switch(i){case tA:return tN;case tP:return tj;case t_:return tx;case tC:return tw;case tM:return tS}return t});let tE=tL;var tI=Object.prototype.hasOwnProperty;let tT=function(e){var t=e.length,a=new e.constructor(t);return t&&"string"==typeof e[0]&&tI.call(e,"index")&&(a.index=e.index,a.input=e.input),a},tV=function(e,t){var a=t?er(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.byteLength)};var tO=/\w*$/;let tK=function(e){var t=new e.constructor(e.source,tO.exec(e));return t.lastIndex=e.lastIndex,t};
9var tU=b?b.prototype:void 0,tR=tU?tU.valueOf:void 0;let tD=function(e,t,a){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return er(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return tV(e,a);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return el(e,a);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return tK(e);case"[object Symbol]":return tR?Object(tR.call(e)):{}}};var tB=eD&&eD.isMap,tH=tB?eO(tB):function(e){return ey(e)&&"[object Map]"==tE(e)},tF=eD&&eD.isSet,tz=tF?eO(tF):function(e){return ey(e)&&"[object Set]"==tE(e)},t$="[object Arguments]",tq="[object Function]",tG="[object Object]",tW={};tW[t$]=tW["[object Array]"]=tW["[object ArrayBuffer]"]=tW["[object DataView]"]=tW["[object Boolean]"]=tW["[object Date]"]=tW["[object Float32Array]"]=tW["[object Float64Array]"]=tW["[object Int8Array]"]=tW["[object Int16Array]"]=tW["[object Int32Array]"]=tW["[object Map]"]=tW["[object Number]"]=tW[tG]=tW["[object RegExp]"]=tW["[object Set]"]=tW["[object String]"]=tW["[object Symbol]"]=tW["[object Uint8Array]"]=tW["[object Uint8ClampedArray]"]=tW["[object Uint16Array]"]=tW["[object Uint32Array]"]=!0,tW["[object Error]"]=tW[tq]=tW["[object WeakMap]"]=!1;let tY=function e(t,a,i,n,s,o){var r,l=1&a,u=2&a,m=4&a;if(i&&(r=s?i(t,n,s,o):i(t)),void 0!==r)return r;if(!C(t))return t;var d=ew(t);if(d){if(r=tT(t),!l)return eu(t,r)}else{var c,h,p,v,k=tE(t),y=k==tq||"[object GeneratorFunction]"==k;if(eC(t))return es(t,l);if(k==tG||k==t$||y&&!s){if(r=u||y?{}:ek(t),!l)return u?(h=(c=r)&&eq(t,e1(t),c),eq(t,th(t),h)):(v=(p=r)&&eq(t,to(t),p),eq(t,td(t),v))}else{if(!tW[k])return s?t:{};r=tD(t,k,l)}}o||(o=new J);var f=o.get(t);if(f)return f;o.set(t,r),tz(t)?t.forEach(function(n){r.add(e(n,a,i,n,t,o))}):tH(t)&&t.forEach(function(n,s){r.set(s,e(n,a,i,s,t,o))});var g=m?u?tk:tv:u?e1:to,b=d?void 0:g(t);return ta(b||t,function(n,s){b&&(n=t[s=n]),e$(r,s,e(n,a,i,s,t,o))}),r},tJ=function(e){return tY(e,5)},tQ=e=>{throw Error("Exhaustive check failed with: '".concat(String(e)))},tX={combinedElectionName:"Kunta- ja aluevaalit",combinedElectionId:"kunta-alue2025",preferredElectionId:"kunta2025",electionIds:["kunta2025","alue2025"],year:2025,sharedBasicInfoFields:["firstName","lastName","educationLevel","occupation","independentCandidate","currentlyInParliament","currentlyInEuropeanParliament","currentlyInCountyCouncil","currentlyInMunicipalCouncil","description","candidatePromise","age","socialMediaLinks","profilePicture","languages","gender"],sharedQuestions:[{alue2025:49,kunta2025:245},{alue2025:50,kunta2025:246},{alue2025:51,kunta2025:247},{alue2025:52,kunta2025:248},{alue2025:53,kunta2025:249},{alue2025:54,kunta2025:250},{alue2025:55,kunta2025:251},{alue2025:56,kunta2025:252},{alue2025:57,kunta2025:253},{alue2025:58,kunta2025:254},{alue2025:59,kunta2025:255},{alue2025:60,kunta2025:256},{alue2025:61,kunta2025:257},{alue2025:62,kunta2025:258},{alue2025:63,kunta2025:259}],electionLogo:{is:{title:"Alue- ja kuntavaalit 2025",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Kunta- ja aluevaalit 2025",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Kunta- ja aluevaalit 2025",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Kunta- ja aluevaalit 2025",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}}}
9,tZ=[{id:"005",region:"Etel\xe4-Pohjanmaa",name:"Alaj\xe4rvi",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{region:"Pohjois-Pohjanmaa",name:"Alavieska",id:"009",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"010",region:"Etel\xe4-Pohjanmaa",name:"Alavus",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"016",region:"P\xe4ij\xe4t-H\xe4me",name:"Asikkala",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"018",region:"Uusimaa",name:"Askola",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"019",region:"Varsinais-Suomi",name:"Aura",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"020",region:"Pirkanmaa",name:"Akaa",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"035",region:"Ahvenanmaa",name:"Br\xe4nd\xf6",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"043",region:"Ahvenanmaa",name:"Ecker\xf6",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"046",region:"Etel\xe4-Savo",name:"Enonkoski",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"047",region:"Lappi",name:"Enonteki\xf6",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"049",region:"Uusimaa",name:"Espoo",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"050",region:"Satakunta",name:"Eura",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"051",region:"Satakunta",name:"Eurajoki",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"052",region:"Etel\xe4-Pohjanmaa",name:"Evij\xe4rvi",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"060",region:"Ahvenanmaa",name:"Finstr\xf6m",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"061",region:"Kanta-H\xe4me",name:"Forssa",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"062",region:"Ahvenanmaa",name:"F\xf6gl\xf6",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"065",region:"Ahvenanmaa",name:"Geta",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"069",region:"Pohjois-Pohjanmaa",name:"Haapaj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"071",region:"Pohjois-Pohjanmaa",name:"Haapavesi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"072",region:"Pohjois-Pohjanmaa",name:"Hailuoto",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"074",region:"Keski-Pohjanmaa",name:"Halsua",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"075",region:"Kymenlaakso",name:"Hamina",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"076",region:"Ahvenanmaa",name:"Hammarland",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"077",region:"Keski-Suomi",name:"Hankasalmi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"078",region:"Uusimaa",name:"Hanko",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"079",region:"Satakunta",name:"Harjavalta",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"081",region:"P\xe4ij\xe4t-H\xe4me",name:"Hartola",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"082",region:"Kanta-H\xe4me",name:"Hattula",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"086",region:"Kanta-H\xe4me",name:"Hausj\xe4rvi",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"090",region:"Pohjois-Karjala",name:"Hein\xe4vesi",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"091",region:"Uusimaa",name:"Helsinki",electionDistrict:{officialName:"Helsingin vaalipiiri",displayName:"Helsinki"}},{id:"092",region:"Uusimaa",name:"Vantaa",wellbeingCounty:{officialName:"Vantaan ja Keravan hyvinvointialue",displayName:"Vantaa ja Kerava"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"097",region:"Etel\xe4-Savo",name:"Hirvensalmi",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"098",region:"P\xe4ij\xe4t-H\xe4me",name:"Hollola",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"102",region:"Satakunta",name:"Huittinen",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"103",region:"Kanta-H\xe4me",name:"Humppila",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}}
9,{id:"105",region:"Kainuu",name:"Hyrynsalmi",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"106",region:"Uusimaa",name:"Hyvink\xe4\xe4",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"108",region:"Pirkanmaa",name:"H\xe4meenkyr\xf6",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"109",region:"Kanta-H\xe4me",name:"H\xe4meenlinna",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"111",region:"P\xe4ij\xe4t-H\xe4me",name:"Heinola",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"139",region:"Pohjois-Pohjanmaa",name:"Ii",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}}
9,{id:"140",region:"Pohjois-Savo",name:"Iisalmi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"142",region:"P\xe4ij\xe4t-H\xe4me",name:"Iitti",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"143",region:"Pirkanmaa",name:"Ikaalinen",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"145",region:"Etel\xe4-Pohjanmaa",name:"Ilmajoki",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"146",region:"Pohjois-Karjala",name:"Ilomantsi",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"148",region:"Lappi",name:"Inari",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"149",region:"Uusimaa",name:"Inkoo",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"151",region:"Etel\xe4-Pohjanmaa",name:"Isojoki",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"152",region:"Etel\xe4-Pohjanmaa",name:"Isokyr\xf6",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"153",region:"Etel\xe4-Karjala",name:"Imatra",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"165",region:"Kanta-H\xe4me",name:"Janakkala",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"167",region:"Pohjois-Karjala",name:"Joensuu",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"169",region:"Kanta-H\xe4me",name:"Jokioinen",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"170",region:"Ahvenanmaa",name:"Jomala",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"171",region:"Pohjois-Savo",name:"Joroinen",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"172",region:"Keski-Suomi",name:"Joutsa",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"176",region:"Pohjois-Karjala",name:"Juuka",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"177",region:"Pirkanmaa",name:"Juupajoki",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"178",region:"Etel\xe4-Savo",name:"Juva",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"179",region:"Keski-Suomi",name:"Jyv\xe4skyl\xe4",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"181",region:"Satakunta",name:"J\xe4mij\xe4rvi",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"182",region:"Keski-Suomi",name:"J\xe4ms\xe4",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"186",region:"Uusimaa",name:"J\xe4rvenp\xe4\xe4",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"202",region:"Varsinais-Suomi",name:"Kaarina",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"204",region:"Pohjois-Savo",name:"Kaavi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"205",region:"Kainuu",name:"Kajaani",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"208",region:"Pohjois-Pohjanmaa",name:"Kalajoki",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"211",region:"Pirkanmaa",name:"Kangasala",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"213",region:"Etel\xe4-Savo",name:"Kangasniemi",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"214",region:"Satakunta",name:"Kankaanp\xe4\xe4",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"216",region:"Keski-Suomi",name:"Kannonkoski",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"217",region:"Keski-Pohjanmaa",name:"Kannus",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"218",region:"Etel\xe4-Pohjanmaa",name:"Karijoki",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"224",region:"Uusimaa",name:"Karkkila",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"226",region:"Keski-Suomi",name:"Karstula",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}}
9,{id:"230",region:"Satakunta",name:"Karvia",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"231",region:"Pohjanmaa",name:"Kaskinen",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"232",region:"Etel\xe4-Pohjanmaa",name:"Kauhajoki",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"233",region:"Etel\xe4-Pohjanmaa",name:"Kauhava",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"235",region:"Uusimaa",name:"Kauniainen",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"236",region:"Keski-Pohjanmaa",name:"Kaustinen",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"239",region:"Pohjois-Savo",name:"Keitele",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"240",region:"Lappi",name:"Kemi",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"241",region:"Lappi",name:"Keminmaa",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"244",region:"Pohjois-Pohjanmaa",name:"Kempele",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"245",region:"Uusimaa",name:"Kerava",wellbeingCounty:{officialName:"Vantaan ja Keravan hyvinvointialue",displayName:"Vantaa ja Kerava"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"249",region:"Keski-Suomi",name:"Keuruu",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"250",region:"Pirkanmaa",name:"Kihni\xf6",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"256",region:"Keski-Suomi",name:"Kinnula",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"257",region:"Uusimaa",name:"Kirkkonummi",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"260",region:"Pohjois-Karjala",name:"Kitee",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"261",region:"Lappi",name:"Kittil\xe4",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"263",region:"Pohjois-Savo",name:"Kiuruvesi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"265",region:"Keski-Suomi",name:"Kivij\xe4rvi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"271",region:"Satakunta",name:"Kokem\xe4ki",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"272",region:"Keski-Pohjanmaa",name:"Kokkola",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"273",region:"Lappi",name:"Kolari",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}}
9,{id:"275",region:"Keski-Suomi",name:"Konnevesi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"276",region:"Pohjois-Karjala",name:"Kontiolahti",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"280",region:"Pohjanmaa",name:"Korsn\xe4s",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"284",region:"Varsinais-Suomi",name:"Koski Tl",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"285",region:"Kymenlaakso",name:"Kotka",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"286",region:"Kymenlaakso",name:"Kouvola",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"287",region:"Pohjanmaa",name:"Kristiinankaupunki",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"288",region:"Pohjanmaa",name:"Kruunupyy",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"290",region:"Kainuu",name:"Kuhmo",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}}
9,{id:"291",region:"Pirkanmaa",name:"Kuhmoinen",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"295",region:"Ahvenanmaa",name:"Kumlinge",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"297",region:"Pohjois-Savo",name:"Kuopio",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"300",region:"Etel\xe4-Pohjanmaa",name:"Kuortane",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"301",region:"Etel\xe4-Pohjanmaa",name:"Kurikka",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"304",region:"Varsinais-Suomi",name:"Kustavi",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"305",region:"Pohjois-Pohjanmaa",name:"Kuusamo",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"309",region:"Pohjois-Karjala",name:"Outokumpu",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"312",region:"Keski-Suomi",name:"Kyyj\xe4rvi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"316",region:"P\xe4ij\xe4t-H\xe4me",name:"K\xe4rk\xf6l\xe4",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"317",region:"Pohjois-Pohjanmaa",name:"K\xe4rs\xe4m\xe4ki",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"318",region:"Ahvenanmaa",name:"K\xf6kar",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"320",region:"Lappi",name:"Kemij\xe4rvi",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"322",region:"Varsinais-Suomi",name:"Kemi\xf6nsaari",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"398",region:"P\xe4ij\xe4t-H\xe4me",name:"Lahti",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"399",region:"Pohjanmaa",name:"Laihia",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"400",region:"Varsinais-Suomi",name:"Laitila",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"402",region:"Pohjois-Savo",name:"Lapinlahti",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"403",region:"Etel\xe4-Pohjanmaa",name:"Lappaj\xe4rvi",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"405",region:"Etel\xe4-Karjala",name:"Lappeenranta",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"407",region:"Uusimaa",name:"Lapinj\xe4rvi",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"408",region:"Etel\xe4-Pohjanmaa",name:"Lapua",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"410",region:"Keski-Suomi",name:"Laukaa",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"416",region:"Etel\xe4-Karjala",name:"Lemi",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"417",region:"Ahvenanmaa",name:"Lemland",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"418",region:"Pirkanmaa",name:"Lemp\xe4\xe4l\xe4",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"420",region:"Pohjois-Savo",name:"Lepp\xe4virta",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"421",region:"Keski-Pohjanmaa",name:"Lestij\xe4rvi",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"422",region:"Pohjois-Karjala",name:"Lieksa",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"423",region:"Varsinais-Suomi",name:"Lieto",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"425",region:"Pohjois-Pohjanmaa",name:"Liminka",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"426",region:"Pohjois-Karjala",name:"Liperi",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}}
9,{id:"430",region:"Varsinais-Suomi",name:"Loimaa",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"433",region:"Kanta-H\xe4me",name:"Loppi",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"434",region:"Uusimaa",name:"Loviisa",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"435",region:"Keski-Suomi",name:"Luhanka",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"436",region:"Pohjois-Pohjanmaa",name:"Lumijoki",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"438",region:"Ahvenanmaa",name:"Lumparland",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"440",region:"Pohjanmaa",name:"Luoto",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"441",region:"Etel\xe4-Karjala",name:"Luum\xe4ki",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"444",region:"Uusimaa",name:"Lohja",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"445",region:"Varsinais-Suomi",name:"Parainen",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"475",region:"Pohjanmaa",name:"Maalahti",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"478",region:"Ahvenanmaa",name:"Maarianhamina",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"480",region:"Varsinais-Suomi",name:"Marttila",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"481",region:"Varsinais-Suomi",name:"Masku",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"483",region:"Pohjois-Pohjanmaa",name:"Merij\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"484",region:"Satakunta",name:"Merikarvia",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"489",region:"Kymenlaakso",name:"Miehikk\xe4l\xe4",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"491",region:"Etel\xe4-Savo",name:"Mikkeli",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"494",region:"Pohjois-Pohjanmaa",name:"Muhos",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}}
9,{id:"495",region:"Keski-Suomi",name:"Multia",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"498",region:"Lappi",name:"Muonio",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"499",region:"Pohjanmaa",name:"Mustasaari",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"500",region:"Keski-Suomi",name:"Muurame",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"503",region:"Varsinais-Suomi",name:"Myn\xe4m\xe4ki",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"504",region:"Uusimaa",name:"Myrskyl\xe4",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"505",region:"Uusimaa",name:"M\xe4nts\xe4l\xe4",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"507",region:"Etel\xe4-Savo",name:"M\xe4ntyharju",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"508",region:"Pirkanmaa",name:"M\xe4ntt\xe4-Vilppula",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"529",region:"Varsinais-Suomi",name:"Naantali",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"531",region:"Satakunta",name:"Nakkila",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"535",region:"Pohjois-Pohjanmaa",name:"Nivala",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"536",region:"Pirkanmaa",name:"Nokia",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"538",region:"Varsinais-Suomi",name:"Nousiainen",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"541",region:"Pohjois-Karjala",name:"Nurmes",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"543",region:"Uusimaa",name:"Nurmij\xe4rvi",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"545",region:"Pohjanmaa",name:"N\xe4rpi\xf6",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"560",region:"P\xe4ij\xe4t-H\xe4me",name:"Orimattila",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"561",region:"Varsinais-Suomi",name:"Orip\xe4\xe4",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"562",region:"Pirkanmaa",name:"Orivesi",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"563",region:"Pohjois-Pohjanmaa",name:"Oulainen",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"564",region:"Pohjois-Pohjanmaa",name:"Oulu",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"576",region:"P\xe4ij\xe4t-H\xe4me",name:"Padasjoki",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"577",region:"Varsinais-Suomi",name:"Paimio",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"578",region:"Kainuu",name:"Paltamo",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"580",region:"Etel\xe4-Karjala",name:"Parikkala",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"581",region:"Pirkanmaa",name:"Parkano",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"583",region:"Lappi",name:"Pelkosenniemi",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"584",region:"Keski-Pohjanmaa",name:"Perho",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"588",region:"Etel\xe4-Savo",name:"Pertunmaa",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"592",region:"Keski-Suomi",name:"Pet\xe4j\xe4vesi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"593",region:"Etel\xe4-Savo",name:"Pieks\xe4m\xe4ki",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"595",region:"Pohjois-Savo",name:"Pielavesi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"598",region:"Pohjanmaa",name:"Pietarsaari",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"599",region:"Pohjanmaa",name:"Peders\xf6ren kunta",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"601",region:"Keski-Suomi",name:"Pihtipudas",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"604",region:"Pirkanmaa",name:"Pirkkala",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}}
9,{id:"607",region:"Pohjois-Karjala",name:"Polvij\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"608",region:"Satakunta",name:"Pomarkku",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"609",region:"Satakunta",name:"Pori",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"611",region:"Uusimaa",name:"Pornainen",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"614",region:"Lappi",name:"Posio",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}}
9,{id:"615",region:"Pohjois-Pohjanmaa",name:"Pudasj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"616",region:"Uusimaa",name:"Pukkila",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"619",region:"Pirkanmaa",name:"Punkalaidun",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"620",region:"Kainuu",name:"Puolanka",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"623",region:"Etel\xe4-Savo",name:"Puumala",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"624",region:"Kymenlaakso",name:"Pyht\xe4\xe4",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"625",region:"Pohjois-Pohjanmaa",name:"Pyh\xe4joki",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"626",region:"Pohjois-Pohjanmaa",name:"Pyh\xe4j\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"630",region:"Pohjois-Pohjanmaa",name:"Pyh\xe4nt\xe4",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"631",region:"Varsinais-Suomi",name:"Pyh\xe4ranta",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"635",region:"Pirkanmaa",name:"P\xe4lk\xe4ne",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"636",region:"Varsinais-Suomi",name:"P\xf6yty\xe4",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"638",region:"Uusimaa",name:"Porvoo",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"678",region:"Pohjois-Pohjanmaa",name:"Raahe",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"680",region:"Varsinais-Suomi",name:"Raisio",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"681",region:"Etel\xe4-Savo",name:"Rantasalmi",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"683",region:"Lappi",name:"Ranua",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"684",region:"Satakunta",name:"Rauma",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"686",region:"Pohjois-Savo",name:"Rautalampi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"687",region:"Pohjois-Savo",name:"Rautavaara",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"689",region:"Etel\xe4-Karjala",name:"Rautj\xe4rvi",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"691",region:"Pohjois-Pohjanmaa",name:"Reisj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"694",region:"Kanta-H\xe4me",name:"Riihim\xe4ki",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"697",region:"Kainuu",name:"Ristij\xe4rvi",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"698",region:"Lappi",name:"Rovaniemi",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"700",region:"Etel\xe4-Karjala",name:"Ruokolahti",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"702",region:"Pirkanmaa",name:"Ruovesi",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"704",region:"Varsinais-Suomi",name:"Rusko",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}}
9,{id:"707",region:"Pohjois-Karjala",name:"R\xe4\xe4kkyl\xe4",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"710",region:"Uusimaa",name:"Raasepori",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"729",region:"Keski-Suomi",name:"Saarij\xe4rvi",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"732",region:"Lappi",name:"Salla",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"734",region:"Varsinais-Suomi",name:"Salo",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"736",region:"Ahvenanmaa",name:"Saltvik",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"738",region:"Varsinais-Suomi",name:"Sauvo",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"739",region:"Etel\xe4-Karjala",name:"Savitaipale",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"740",region:"Etel\xe4-Savo",name:"Savonlinna",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"742",region:"Lappi",name:"Savukoski",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"743",region:"Etel\xe4-Pohjanmaa",name:"Sein\xe4joki",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"746",region:"Pohjois-Pohjanmaa",name:"Sievi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"747",region:"Satakunta",name:"Siikainen",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"748",region:"Pohjois-Pohjanmaa",name:"Siikajoki",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"749",region:"Pohjois-Savo",name:"Siilinj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"751",region:"Lappi",name:"Simo",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"753",region:"Uusimaa",name:"Sipoo",wellbeingCounty:{officialName:"It\xe4-Uudenmaan hyvinvointialue",displayName:"It\xe4-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"755",region:"Uusimaa",name:"Siuntio",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"758",region:"Lappi",name:"Sodankyl\xe4",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"759",region:"Etel\xe4-Pohjanmaa",name:"Soini",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"761",region:"Varsinais-Suomi",name:"Somero",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"762",region:"Pohjois-Savo",name:"Sonkaj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}}
9,{id:"765",region:"Kainuu",name:"Sotkamo",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"766",region:"Ahvenanmaa",name:"Sottunga",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"768",region:"Etel\xe4-Savo",name:"Sulkava",wellbeingCounty:{officialName:"Etel\xe4-Savon hyvinvointialue",displayName:"Etel\xe4-Savo"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"771",region:"Ahvenanmaa",name:"Sund",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"777",region:"Kainuu",name:"Suomussalmi",wellbeingCounty:{officialName:"Kainuun hyvinvointialue",displayName:"Kainuu"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"778",region:"Pohjois-Savo",name:"Suonenjoki",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"781",region:"P\xe4ij\xe4t-H\xe4me",name:"Sysm\xe4",wellbeingCounty:{officialName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",displayName:"P\xe4ij\xe4t-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"783",region:"Satakunta",name:"S\xe4kyl\xe4",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"785",region:"Pohjois-Pohjanmaa",name:"Vaala",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"790",region:"Pirkanmaa",name:"Sastamala",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"791",region:"Pohjois-Pohjanmaa",name:"Siikalatva",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}}
9,{id:"831",region:"Etel\xe4-Karjala",name:"Taipalsaari",wellbeingCounty:{officialName:"Etel\xe4-Karjalan hyvinvointialue",displayName:"Etel\xe4-Karjala"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"832",region:"Pohjois-Pohjanmaa",name:"Taivalkoski",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"833",region:"Varsinais-Suomi",name:"Taivassalo",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"834",region:"Kanta-H\xe4me",name:"Tammela",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"837",region:"Pirkanmaa",name:"Tampere",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"844",region:"Pohjois-Savo",name:"Tervo",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"845",region:"Lappi",name:"Tervola",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"846",region:"Etel\xe4-Pohjanmaa",name:"Teuva",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"848",region:"Pohjois-Karjala",name:"Tohmaj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Karjalan hyvinvointialue",displayName:"Pohjois-Karjala"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"849",region:"Keski-Pohjanmaa",name:"Toholampi",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"850",region:"Keski-Suomi",name:"Toivakka",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"851",region:"Lappi",name:"Tornio",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"853",region:"Varsinais-Suomi",name:"Turku",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"854",region:"Lappi",name:"Pello",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"857",region:"Pohjois-Savo",name:"Tuusniemi",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"858",region:"Uusimaa",name:"Tuusula",wellbeingCounty:{officialName:"Keski-Uudenmaan hyvinvointialue",displayName:"Keski-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"859",region:"Pohjois-Pohjanmaa",name:"Tyrn\xe4v\xe4",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"886",region:"Satakunta",name:"Ulvila",wellbeingCounty:{officialName:"Satakunnan hyvinvointialue",displayName:"Satakunta"},electionDistrict:{officialName:"Satakunnan vaalipiiri",displayName:"Satakunta"}},{id:"887",region:"Pirkanmaa",name:"Urjala",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"889",region:"Pohjois-Pohjanmaa",name:"Utaj\xe4rvi",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}}
9,{id:"890",region:"Lappi",name:"Utsjoki",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}},{id:"892",region:"Keski-Suomi",name:"Uurainen",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"893",region:"Pohjanmaa",name:"Uusikaarlepyy",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"895",region:"Varsinais-Suomi",name:"Uusikaupunki",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"905",region:"Pohjanmaa",name:"Vaasa",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"908",region:"Pirkanmaa",name:"Valkeakoski",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"915",region:"Pohjois-Savo",name:"Varkaus",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"918",region:"Varsinais-Suomi",name:"Vehmaa",wellbeingCounty:{officialName:"Varsinais-Suomen hyvinvointialue",displayName:"Varsinais-Suomi"},electionDistrict:{officialName:"Varsinais-Suomen vaalipiiri",displayName:"Varsinais-Suomi"}},{id:"921",region:"Pohjois-Savo",name:"Vesanto",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"922",region:"Pirkanmaa",name:"Vesilahti",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"924",region:"Keski-Pohjanmaa",name:"Veteli",wellbeingCounty:{officialName:"Keski-Pohjanmaan hyvinvointialue",displayName:"Keski-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"925",region:"Pohjois-Savo",name:"Vierem\xe4",wellbeingCounty:{officialName:"Pohjois-Savon hyvinvointialue",displayName:"Pohjois-Savo"},electionDistrict:{officialName:"Savo-Karjalan vaalipiiri",displayName:"Savo-Karjala"}},{id:"927",region:"Uusimaa",name:"Vihti",wellbeingCounty:{officialName:"L\xe4nsi-Uudenmaan hyvinvointialue",displayName:"L\xe4nsi-Uusimaa"},electionDistrict:{officialName:"Uudenmaan vaalipiiri",displayName:"Uusimaa"}},{id:"931",region:"Keski-Suomi",name:"Viitasaari",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}},{id:"934",region:"Etel\xe4-Pohjanmaa",name:"Vimpeli",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"935",region:"Kymenlaakso",name:"Virolahti",wellbeingCounty:{officialName:"Kymenlaakson hyvinvointialue",displayName:"Kymenlaakso"},electionDistrict:{officialName:"Kaakkois-Suomen vaalipiiri",displayName:"Kaakkois-Suomi"}},{id:"936",region:"Pirkanmaa",name:"Virrat",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"941",region:"Ahvenanmaa",name:"V\xe5rd\xf6",electionDistrict:{officialName:"Ahvenanmaan maakunnan vaalipiiri",displayName:"Ahvenanmaa"}},{id:"946",region:"Pohjanmaa",name:"V\xf6yri",wellbeingCounty:{officialName:"Pohjanmaan hyvinvointialue",displayName:"Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"976",region:"Lappi",name:"Ylitornio",wellbeingCounty:{officialName:"Lapin hyvinvointialue",displayName:"Lappi"},electionDistrict:{officialName:"Lapin vaalipiiri",displayName:"Lappi"}}
9,{id:"977",region:"Pohjois-Pohjanmaa",name:"Ylivieska",wellbeingCounty:{officialName:"Pohjois-Pohjanmaan hyvinvointialue",displayName:"Pohjois-Pohjanmaa"},electionDistrict:{officialName:"Oulun vaalipiiri",displayName:"Oulu"}},{id:"980",region:"Pirkanmaa",name:"Yl\xf6j\xe4rvi",wellbeingCounty:{officialName:"Pirkanmaan hyvinvointialue",displayName:"Pirkanmaa"},electionDistrict:{officialName:"Pirkanmaan vaalipiiri",displayName:"Pirkanmaa"}},{id:"981",region:"Kanta-H\xe4me",name:"Yp\xe4j\xe4",wellbeingCounty:{officialName:"Kanta-H\xe4meen hyvinvointialue",displayName:"Kanta-H\xe4me"},electionDistrict:{officialName:"H\xe4meen vaalipiiri",displayName:"H\xe4me"}},{id:"989",region:"Etel\xe4-Pohjanmaa",name:"\xc4ht\xe4ri",wellbeingCounty:{officialName:"Etel\xe4-Pohjanmaan hyvinvointialue",displayName:"Etel\xe4-Pohjanmaa"},electionDistrict:{officialName:"Vaasan vaalipiiri",displayName:"Vaasa"}},{id:"992",region:"Keski-Suomi",name:"\xc4\xe4nekoski",wellbeingCounty:{officialName:"Keski-Suomen hyvinvointialue",displayName:"Keski-Suomi"},electionDistrict:{officialName:"Keski-Suomen vaalipiiri",displayName:"Keski-Suomi"}}],t0=Object.fromEntries(tZ.map(e=>["K-"+e.id,e.name])),t1=tZ.filter(e=>void 0!==e.wellbeingCounty),t2={label:"Suositeltu",options:[{label:"Helsinki",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-091"}},{label:"Espoo",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-049"}},{label:"Tampere",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-837"}},{label:"Vantaa",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-092"}},{label:"Oulu",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-564"}},{label:"Turku",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-853"}},{label:"Jyv\xe4skyl\xe4",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-179"}},{label:"Kuopio",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-297"}},{label:"Lahti",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-398"}},{label:"Pori",value:{page:{label:"Suositeltu",value:"municipality"},code:"K-609"}}]},t5={label:"Suositeltu",options:[{label:"Etel\xe4-Karjalan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-11"}},{label:"Etel\xe4-Pohjanmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-16"}},{label:"Etel\xe4-Savon hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-12"}},{label:"It\xe4-Uudenmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-01"}},{label:"Kainuun hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-20"}},{label:"Kanta-H\xe4meen hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-07"}},{label:"Keski-Pohjanmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-18"}},{label:"Keski-Suomen hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-15"}},{label:"Keski-Uudenmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-02"}},{label:"Kymenlaakson hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-10"}},{label:"Lapin hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-21"}},{label:"L\xe4nsi-Uudenmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-03"}},{label:"Pirkanmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-08"}},{label:"Pohjanmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-17"}},{label:"Pohjois-Karjalan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-14"}},{label:"Pohjois-Pohjanmaan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-19"}},{label:"Pohjois-Savon hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-13"}},{label:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-09"}},{label:"Satakunnan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-06"}},{label:"Vantaan ja Keravan hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-04"}},{label:"Varsinais-Suomen hyvinvointialue",value:{page:{label:"Suositeltu",value:"area"},code:"R-05"}}]},t3={label:"Suositeltu",options:[{label:"Helsingin vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-01"}},{label:"Uudenmaan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-02"}},{label:"Varsinais-Suomen vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-03"}},{label:"Satakunnan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-04"}},{label:"Ahvenanmaan maakunnan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-05"}},{label:"H\xe4meen vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-06"}},{label:"Pirkanmaan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-07"}},{label:"Kaakkois-Suomen vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-08"}},{label:"Savo-Karjalan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-09"}},{label:"Vaasan vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-10"}},{label:"Keski-Suomen vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-11"}},{label:"Oulun vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-12"}},{label:"Lapin vaalipiiri",value:{page:{label:"Suositeltu",value:"area"},code:"V-13"}}]},t4={legacy:!0,resultSearchRecommendations:t5,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","AgeAndGenderDemographics","CountStatus"],area:["PartyGraphArea","PartyShareGraphCountry","CandidateListAreaElection","MostPopularPartiesArea","AgeAndGender","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","MostPopularPartyArea","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteCountyMap","VoteListMunicipality","ShareChangeCountyMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!1,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","AgeAndGenderDemographics","CountStatus"],area:["PartyGraphArea","PartyShareGraphCountry","CandidateListAreaElection","MostPopularPartiesArea","AgeAndGender","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","MostPopularPartyArea","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteCountyMap","VoteListMunicipality","ShareChangeCountyMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!1,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0}
9,currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"alue2022",electionDate:"2022-01-23T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/alue2022/hs",is:"https://tulos.vaalikone.fi/alue2022/is",al:"https://tulos.vaalikone.fi/alue2022/al",sk:"https://tulos.vaalikone.fi/alue2022/sk"},curtainTime:{date:"2.4.2022",time:"20"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2022"},modificationDeadline:{time:"23.59",date:"10.03.2022"},finalDeadline:{time:"23.59",date:"10.04.2022"},year:2022,electionName:"Aluevaalit",electionType:"county",themeSelection:!1,useCandidateAggregates:!0,partyAnswerLevel:"nominationArea",electionLogo:{is:{title:"Aluevaalit 2022",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Aluevaalit 2022",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Aluevaalit 2022",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Aluevaalit 2022",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{"R-01":"It\xe4-Uudenmaan hyvinvointialue","R-02":"Keski-Uudenmaan hyvinvointialue","R-03":"L\xe4nsi-Uudenmaan hyvinvointialue","R-04":"Vantaan ja Keravan hyvinvointialue","R-05":"Varsinais-Suomen hyvinvointialue","R-06":"Satakunnan hyvinvointialue","R-07":"Kanta-H\xe4meen hyvinvointialue","R-08":"Pirkanmaan hyvinvointialue","R-09":"P\xe4ij\xe4t-H\xe4meen hyvinvointialue","R-10":"Kymenlaakson hyvinvointialue","R-11":"Etel\xe4-Karjalan hyvinvointialue","R-12":"Etel\xe4-Savon hyvinvointialue","R-13":"Pohjois-Savon hyvinvointialue","R-14":"Pohjois-Karjalan hyvinvointialue","R-15":"Keski-Suomen hyvinvointialue","R-16":"Etel\xe4-Pohjanmaan hyvinvointialue","R-17":"Pohjanmaan hyvinvointialue","R-18":"Keski-Pohjanmaan hyvinvointialue","R-19":"Pohjois-Pohjanmaan hyvinvointialue","R-20":"Kainuun hyvinvointialue","R-21":"Lapin hyvinvointialue"},municipalities:t1,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"election-select-parties",text:""}
9,{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin aluevaaleihin 2022."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin aluevaaleihin 2022."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, hyvinvointialueen, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"result-area-candidates-title",text:"Alueen ehdokkaat"}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Suurimmat puolueet etusivulle",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Hyvinvointialueen tulokset etusivulle",embedId:"areaFrontPageEmbed",embedPath:"/element/areaFrontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurin puolue alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net kartalla",embedId:"voteHeatMap-candidate",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puolueen \xe4\xe4net kartalla",embedId:"voteHeatMap-party",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueen \xe4\xe4niosuuden muutos kartalla",embedId:"shareChangeMap-party",embedPath:"/element/shareChangeMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["K","A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},t6={legacy:!1,resultSearchRecommendations:t5,frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","ClosestParties","PartyValueBrowser","CombinedElectionLink","NPS"],compareCandidates:["
9SelectCandidatesLong","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyValueBrowser","PartyMatchByThemes","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","AgeAndGenderDemographics","CountStatus"],area:["PartyGraphArea","PartyShareGraphCountry","CandidateListAreaElection","NewAndOldCouncil","MostPopularPartiesArea","AgeAndGender","ValueBrowserChosenCandidateAreaElection","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea","ValueBrowserSingleCandidate","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","MostPopularPartyArea","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteCountyMap","VoteListMunicipality","ShareChangeCountyMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!0,valueBrowserParty:!0,valueBrowserSingleCandidate:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:["MainResult","ClosestParties","CombinedElectionLink","NPS"],compareCandidates:["SelectCandidatesLong","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyMatchByThemes","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","AgeAndGenderDemographics","CountStatus"],area:["PartyGraphArea","PartyShareGraphCountry","CandidateListAreaElection","NewAndOldCouncil","MostPopularPartiesArea","AgeAndGender","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","MostPopularPartyArea","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteCountyMap","VoteListMunicipality","ShareChangeCountyMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},npsPakkiUrl:{hs:"https://pakki-delivery.datadesk.hs.fi?appId=4d28c932-4949-4aa8-bf9a-2db206dc056d&brand=hs",is:"https://pakki-delivery.datadesk.hs.fi?appId=39cf9ed9-d071-45cf-9ab8-93912bfd3fc1&brand=is",al:"https://pakki-delivery.datadesk.hs.fi/?appId=6673d68e-5160-44b1-987d-c4f32c4609cf&brand=al",sk:"https://pakki-delivery.datadesk.hs.fi/?appId=fe7319c1-a18d-4237-b2de-75456afe9138&brand=al"},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0},currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!0},gender:{inUse:!0}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],genderOptions:[{name:"Nainen",id:1},{name:"Mies",id:2},{name:"Muu",id:3},{name:"En halua kertoa",id:4}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Palvelut",description:"Hyvinvointialueet p\xe4\xe4tt\xe4v\xe4t, mill\xe4 tavalla ne j\xe4rjest\xe4v\xe4t palvelut. Sote-uudistuksen keskeinen tavoite oli, ett\xe4 hyvinvointialueet v\xe4hent\xe4isiv\xe4t sairaalahoitoa ja puuttuisivat sairauksiin varhaisessa vaiheessa. Aluevaltuutetut p\xe4\xe4tt\xe4v\xe4t muun muassa siit\xe4, suositaanko l\xe4hipalveluja vai siirret\xe4\xe4nk\xf6 palveluja isompiin yksik\xf6ihin.",id:1},{name:"Talous",description:"Hyvinvointialueet saavat rahansa suoraan valtiolta, eiv\xe4tk\xe4 ne voi vaikuttaa budjettinsa kokoon. Aluevaltuutetut voivat vaikuttaa siihen, miten raha ja ty\xf6ntekij\xe4t jaetaan eri sosiaali- ja terveyspalveluiden sek\xe4 pelastustoimen kesken. Paine kustannusten kasvuun on jatkuva, sill\xe4 Suomen v\xe4est\xf6 ik\xe4\xe4ntyy voimakkaasti.",id:2},{name:"L\xe4nsi-Uudenmaan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:3},{name:"Vantaan ja Keravan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:4},{name:"It\xe4-Uudenmaan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:5},{name:"Keski-Uudenmaan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:6},{name:"Pirkanmaan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:7},{name:"Kanta-H\xe4meen hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:8},{name:"Keski-Suomen hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:9},{name:"Satakunnan hyvinvointialue",description:"Oman hyvinvointialueesi paikallisia kysymyksi\xe4.",id:10},{name:"Arvot",description:"Seuraavat v\xe4itteet eiv\xe4t liity suoraan aluevaltuuston teht\xe4viin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:11},{name:"Palvelut",uniqueCandidateMachineName:"Palvelut (IS)",description:"",id:12},{name:"Lapset ja nuoret",uniqueCandidateMachineName:"Lapset ja nuoret (IS)",description:"",id:13},{name:"I\xe4kk\xe4\xe4t",uniqueCandidateMachineName:"I\xe4kk\xe4\xe4t (IS)",description:"",id:14},{name:"Ty\xf6voima",uniqueCandidateMachineName:"Ty\xf6voima (IS)",description:"",id:15},{name:"Pelastusala",uniqueCandidateMachineName:"Pelastusala (IS)",description:"",id:16},{name:"Talous",uniqueCandidateMachineName:"Talous (IS)",description:"",id:17},{name:"Hallinto",uniqueCandidateMachineName:"Hallinto (IS)",description:"",id:18},{name:"Lapin hyvinvointialue",uniqueCandidateMachineName:"Lapin hyvinvointialue (IS)",description:"",id:19},{name:"Pohjois-Pohjanmaan hyvinvointialue",uniqueCandidateMachineName:"Pohjois-Pohjanmaan hyvinvointialue (IS)",description:"",id:20},{name:"Kainuun hyvinvointialue",uniqueCandidateMachineName:"Kainuun hyvinvointialue (IS)",description:"",id:21},{name:"Keski-Pohjanmaan hyvinvointialue",uniqueCandidateMachineName:"Keski-Pohjanmaan hyvinvointialue (IS)",description:"",id:22},{name:"Keski-Suomen hyvinvointialue",uniqueCandidateMachineName:"Keski-Suomen hyvinvointialue (IS)",description:"",id:23},{name:"Pohjois-Savon hyvinvointialue",uniqueCandidateMachineName:"Pohjois-Savon hyvinvointialue (IS)",description:"",id:24},{name:"Pohjois-Karjalan hyvinvointialue",uniqueCandidateMachineName:"Pohjois-Karjalan hyvinvointialue (IS)",description:"",id:25},{name:"Etel\xe4-Savon hyvinvointialue",uniqueCandidateMachineName:"Etel\xe4-Savon hyvinvointialue (IS)",description:"",id:26},{name:"Etel\xe4-Pohjanmaan hyvinvointialue",uniqueCandidateMachineName:"Etel\xe4-Pohjanmaan hyvinvointialue (IS)",description:"",id:27},{name:"Pirkanmaan hyvinvointialue",uniqueCandidateMachineName:"Pirkanmaan hyvinvointialue (IS)",description:"",id:28},{name:"Kanta-H\xe4meen hyvinvointialue",uniqueCandidateMachineName:"Kanta-H\xe4meen hyvinvointialue (IS)",description:"",id:29},{name:"Pohjanmaan hyvinvointialue",uniqueCandidateMachineName:"Pohjanmaan hyvinvointialue (IS)",description:"",id:30},{name:"Satakunnan hyvinvointialue",uniqueCandidateMachineName:"Satakunnan hyvinvointialue (IS)",description:"",id:31},{name:"Varsinais-Suomen hyvinvointialue",uniqueCandidateMachineName:"Varsinais-Suomen hyvinvointialue (IS)",description:"",id:32},{name:"L\xe4nsi-Uudenmaan hyvinvointialue",uniqueCandidateMachineName:"L\xe4nsi-Uudenmaan hyvinvointialue (IS)",description:"",id:33},{name:"Keski-Uudenmaan hyvinvointialue",uniqueCandidateMachineName:"Keski-Uudenmaan hyvinvointialue (IS)",description:"",id:34},{name:"It\xe4-Uudenmaan hyvinvointialue",uniqueCandidateMachineName:"It\xe4-Uudenmaan hyvinvointialue (IS)",description:"",id:35},{name:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",uniqueCandidateMachineName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue (IS)",description:"",id:36},{name:"Kymenlaakson hyvinvointialue",uniqueCandidateMachineName:"Kymenlaakson hyvinvointialue (IS)",description:"",id:37},{name:"Etel\xe4-Karjalan hyvinvointialue",uniqueCandidateMachineName:"Etel\xe4-Karjalan hyvinvointialue (IS)",description:'Vaalikoneesta on poistettu vanhentunut kysymys 24.3.2025. Koneessa pyydettiin vastaamaan v\xe4itteeseen: "Armilan hyvinvointiasema tulee lakkauttaa ja keskitt\xe4\xe4 palvelut Etel\xe4-Karjalan keskussairaalaan". Asiasta on jo p\xe4\xe4tetty, ja hyvinvointiasema muuttaa v\xe4ist\xf6tiloihin kes\xe4n loppuun menness\xe4.',id:38},{name:"Vantaan ja Keravan hyvinvointialue",uniqueCandidateMachineName:"Vantaan ja Keravan hyvinvointialue (IS)",description:"",id:39}],electionMachineQuestions:[{id:1,text:"Jos valittavana on l\xe4hiterveysaseman s\xe4ilytt\xe4minen tai palveluiden keskitt\xe4minen isompaan yksikk\xf6\xf6n, keskitt\xe4minen on parempi vaihtoehto.",mandatory:!0,order:1,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueet p\xe4\xe4ttiv\xe4t ensimm\xe4isen valtuustokautensa aikana muun muassa monien terveyskeskusten lakkauttamisesta. Palveluiden keskitt\xe4mist\xe4 perustellaan raha- ja ty\xf6voimapulalla sek\xe4 sill\xe4, ett\xe4 keskitt\xe4minen saattaa parantaa hoidon laatua joissain palveluissa.",relatedArticles:[]}},{id:2,text:"Mielenterveyspalveluihin pit\xe4\xe4 laittaa lis\xe4\xe4 rahaa, vaikka se olisi pois muualta.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Diagnoosit mielenterveyden h\xe4iri\xf6ist\xe4 ovat kasvaneet voimakkaasti. Mielenterveysongelmat ovat pitkien sairauspoissaolojen ja ty\xf6kyvytt\xf6myysel\xe4kkeiden suurin syy. OECD on arvioinut, ett\xe4 mielenterveysongelmat maksavat suomalaiselle yhteiskunnalle yhteens\xe4 noin 11 miljardia euroa vuodessa.",relatedArticles:[]}},{id:3,text:"Pelastustoimen budjetti on turvattava leikkauksilta, vaikka se tarkoittaisi sote-palveluiden rahoituksen v\xe4hent\xe4mist\xe4.",mandatory:!0,order:3,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueet eiv\xe4t saa itse p\xe4\xe4tt\xe4\xe4 budjettinsa koosta, mutta ne saavat p\xe4\xe4tt\xe4\xe4, miten rahat jaetaan eri palveluiden kesken. Lait ja m\xe4\xe4r\xe4ykset asettavat rahanjaolle reunaehtoja. Pelastustoimelle on esimerkiksi m\xe4\xe4r\xe4tty toimintavalmiusajat, jotka eiv\xe4t kuitenkaan aina toteudu.",relatedArticles:[]}},{id:4,text:"Rahaa ja ty\xf6ntekij\xf6it\xe4 pit\xe4\xe4 siirt\xe4\xe4 sairaaloista enemm\xe4n perusterveydenhuoltoon ja sosiaalipalveluihin.",mandatory:!0,order:4,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Yksi sote-uudistuksen keskeisist\xe4 tavoitteista oli vahvistaa peruspalveluita. Erikoissairaanhoidon (jota annetaan p\xe4\xe4osin sairaaloissa) kustannukset ovat 2000-luvun aikana kaksinkertaistuneet, kun taas perusterveydenhuoltoon laitetut rahat eiv\xe4t ole lis\xe4\xe4ntyneet.",relatedArticles:[]}},{id:5,text:"Kodin ulkopuolelle sijoitettujen lasten palveluita pit\xe4isi siirt\xe4\xe4 yrityksilt\xe4 enemm\xe4n julkisen puolen hoidettavaksi.",mandatory:!0,order:5,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Suomen lastensuojelulaitoksista noin 8
90 prosenttia on yksityisten yritysten omistuksessa. Omistus on keskittynyt nopeasti isoille terveys- ja hoivaj\xe4teille.",relatedArticles:[{title:"Helsingin Sanomien artikkeli aiheesta",url:"https://www.hs.fi/feature/art-2000010860463.html",showInCandidateMachine:!0}]}},{id:6,text:"Vanhustenhuollossa t\xe4ytyy suosia kotihoitoa ja yhteis\xf6llist\xe4 asumista ymp\xe4rivuorokautisen hoivan sijaan, jotta kustannusten nousua saadaan hillitty\xe4.",mandatory:!0,order:6,dimension:"fact",theme:1,themeName:"Palvelut",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueet ovat s\xe4\xe4st\xf6syist\xe4 p\xe4\xe4tt\xe4neet v\xe4hent\xe4\xe4 ymp\xe4rivuorokautiseen hoivaan p\xe4\xe4sevien vanhusten osuutta kaikista vanhuksista. Samalla ne lis\xe4\xe4v\xe4t yhteis\xf6llist\xe4 asumista, jossa on paikalla hoitajia, mutta ei y\xf6aikaan.",relatedArticles:[]}},{id:7,text:"Ulkomaisten hoitajien tuloa t\xf6ihin Suomeen on helpotettava ty\xf6voimapulan lievitt\xe4miseksi.",mandatory:!0,order:7,dimension:"fact",theme:2,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Sote-alalla on krooninen ty\xf6voimapula, koska vanhusten m\xe4\xe4r\xe4 kasvaa samalla, kun ty\xf6ik\xe4inen v\xe4est\xf6 kutistuu. Suomeen rekrytoidaan aktiivisesti ulkomailta hoitajia, mutta hoitajaliitto Superin mukaan heid\xe4n kielitaitonsa on usein huono, ja se kuormittaa suomalaisia hoitajia.",relatedArticles:[]}},{id:8,text:"Hyvinvointialueita on liikaa, joten niit\xe4 pit\xe4\xe4 yhdist\xe4\xe4.",mandatory:!0,order:8,dimension:"fact",theme:2,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueita on 21, ja lis\xe4ksi Helsinki hoitaa omat sote-palvelunsa. Alun perin alueiden m\xe4\xe4r\xe4ksi ehdotettiin esimerkiksi 5, 9 ja 12, mutta edellinen hallitus p\xe4\xe4tyi nykyiseen m\xe4\xe4r\xe4\xe4n. Hallitus voi p\xe4\xe4tt\xe4\xe4 yhdist\xe4\xe4 alueita, jos se katsoo, ett\xe4 ne eiv\xe4t selvi\xe4 velvoitteistaan.",relatedArticles:[]}},{id:9,text:"Eduskunnan pit\xe4\xe4 karsia hyvinvointialueiden teht\xe4vi\xe4, jotta kaikkein t\xe4rkeimpiin palveluihin on varaa.",mandatory:!0,order:9,dimension:"fact",theme:2,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueiden johtajat haluaisivat karsia julkisesti tarjottavia sote-palveluja, koska pulaa on sek\xe4 rahasta ett\xe4 ty\xf6ntekij\xf6ist\xe4. Kun l\xe4\xe4ketiede kehittyy, terveydenhuolto my\xf6s kallistuu. Suomen ik\xe4rakenne muuttuu niin, ett\xe4 hoivattavia vanhuksia tulee lis\xe4\xe4, ja ty\xf6ik\xe4isten m\xe4\xe4r\xe4 laskee.",relatedArticles:[]}},{id:10,text:"Eduskunnan pit\xe4isi s\xe4\xe4t\xe4\xe4 laki, jolla hyvinvointialueet saisivat verotusoikeuden.",mandatory:!0,order:10,dimension:"fact",theme:2,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointialueet eiv\xe4t saa p\xe4\xe4tt\xe4\xe4 budjettinsa koosta, vaan rahapotti tulee suoraan valtiolta. Verotusoikeus antaisi mahdollisuuden p\xe4\xe4tt\xe4\xe4, kuinka paljon rahaa asukkailta ker\xe4t\xe4\xe4n. Verotusoikeutta on kritisoitu siksi, ett\xe4 se saattaisi lis\xe4t\xe4 suomalaisten maksamien verojen m\xe4\xe4r\xe4\xe4.",relatedArticles:[]}},{id:11,text:"L\xe4nsi-Uudellamaalla perit\xe4\xe4n terveyskeskusmaksu. Siit\xe4 pit\xe4isi luopua.",mandatory:!0,order:11,dimension:"fact",theme:3,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"L\xe4nsi-Uusimaa nosti vuoden alussa terveyskeskusmaksun 28,20 euroon, mik\xe4 on suurin sallittu asiakasmaksu. Maksu perit\xe4\xe4n 18 vuotta k\xe4ytt\xe4neilt\xe4 kolmesti, ja k\xe4ynnit t\xe4m\xe4n j\xe4lkeen ovat maksuttomia.",relatedArticles:[]},location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:12,text:"Huumeiden k\xe4ytt\xf6huoneet pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n, jos laki sen mahdollistaa.",mandatory:!0,order:12,dimension:"fact",theme:3,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Nykylait eiv\xe4t salli huumeiden k\xe4ytt\xf6huoneiden kokeilua, eik\xe4 t\xe4t\xe4 koskeva aloite ole my\xf6t\xe4tuulessa nykyisess\xe4 eduskunnassa. Tutkimusten perusteella k\xe4ytt\xf6huoneet voisivat v\xe4hent\xe4\xe4 yliannostuskuolemia ja terveyshaittoja.",relatedArticles:[]},location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:13,text:"Alueeni pit\xe4isi rahoitaa HUSia nykyist\xe4 enemm\xe4n perusterveydenhuollon ja sosiaalipalveluiden kustannuksella.",mandatory:!0,order:13,dimension:"fact",theme:3,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Uudellamaalla nelj\xe4 hyvinvointialuetta ja Helsinki rahoittavat Husia. Viime vuonna alueet Helsinki\xe4 lukuunottamatta p\xe4\xe4ttiv\xe4t korottaa vuoden 2025 s\xe4\xe4st\xf6tavoitteen 99 miljoonaan euroon, jotta l\xe4hipalveluita ei tarvitsisi karsia niin paljon. Hus aloitti yt-neuvottelut, ja 280 ty\xf6ntekij\xe4\xe4 irtisanottiin.",relatedArticles:[]},location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:14,text:"L\xe4nsi-Uusimaa v\xe4hensi hammashuollon palveluseteleit\xe4, koska alueelle on tulossa omaa kapasiteettia. T\xe4m\xe4 on oikea suunta.",mandatory:!0,order:14,dimension:"fact",theme:3,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"L\xe4nsi-Uusimaa keskeytti palveluseteleiden j
9akamisen vuodelle 2025, koska hammashoito halutaan palauttaa enemm\xe4n omaksi toiminnaksi. Suun terveydenhuollon Niittykummun yksikk\xf6\xf6n on tulossa 20:n hoitohuoneen laajennus.",relatedArticles:[]},location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:15,text:"Alle 25-vuotiaille pit\xe4\xe4 tarjota maksuttomat kuukautistuotteet.",mandatory:!0,order:15,dimension:"fact",theme:3,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Helsinki kokeili syksyll\xe4 2022 kuukautistuotteiden maksutonta jakelua liki 800 oppilaan joukossa. Kyselyss\xe4 18 prosenttia kertoi, ettei voinut ostaa kuukautistuotteita, koska niihin ei ollut varaa. Kokeilun tuloksista huolimatta maksutonta jakelua ei ole jatkettu.",relatedArticles:[]},location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:16,text:"Vantaa-Keravan hyvinvointialueella perit\xe4\xe4n terveyskeskusmaksu. Siit\xe4 pit\xe4isi luopua.",mandatory:!0,order:16,dimension:"fact",theme:4,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Vantaa-Kerava korotti terveyskeskusmaksun vuoden alussa 25 euroon, mik\xe4 on 3,20 euroa v\xe4hemm\xe4n kuin suurin sallittu maksu. Maksu perit\xe4\xe4n 18 vuotta t\xe4ytt\xe4neilt\xe4 kolmesti, ja k\xe4ynnit t\xe4m\xe4n j\xe4lkeen ovat maksuttomia.",relatedArticles:[]},location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:17,text:"Huumeiden k\xe4ytt\xf6huoneet pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n, jos laki sen mahdollistaa.",mandatory:!0,order:17,dimension:"fact",theme:4,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Nykylait eiv\xe4t salli huumeiden k\xe4ytt\xf6huoneiden kokeilua, eik\xe4 t\xe4t\xe4 koskeva aloite ole my\xf6t\xe4tuulessa nykyisess\xe4 eduskunnassa. Tutkimusten perusteella k\xe4ytt\xf6huoneet voisivat v\xe4hent\xe4\xe4 yliannostuskuolemia ja terveyshaittoja.",relatedArticles:[]},location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:18,text:"Alueeni pit\xe4isi rahoittaa HUSia nykyist\xe4 enemm\xe4n perusterveydenhuollon ja sosiaalipalveluiden kustannuksella",mandatory:!0,order:18,dimension:"fact",theme:4,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Uudellamaalla nelj\xe4 hyvinvointialuetta ja Helsinki rahoittavat Husia. Viime vuonna alueet Helsinki\xe4 lukuunottamatta p\xe4\xe4ttiv\xe4t korottaa vuoden 2025 s\xe4\xe4st\xf6tavoitteen 99 miljoonaan euroon, jotta l\xe4hipalveluita ei tarvitsisi karsia niin paljon. Hus aloitti yt-neuvottelut, ja 280 ty\xf6ntekij\xe4\xe4 irtisanottiin.",relatedArticles:[]},location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:19,text:"Alle 25-vuotiaille pit\xe4\xe4 tarjota maksuttomat kuukautistuotteet.",mandatory:!0,order:19,dimension:"fact",theme:4,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Helsinki kokeili syksyll\xe4 2022 kuukautistuotteiden maksutonta jakelua liki 800:n oppilaan joukossa. Kyselyss\xe4 18 prosenttia kertoi, ettei voinut ostaa kuukautistuotteita, koska niihin ei ollut varaa. Vantaa-Kerava jakaa kuukautistuotteita asunnottomien sosiaality\xf6ss\xe4, ei muualla.",relatedArticles:[]},location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:20,text:"Sosiaality\xf6ntekij\xf6iden palkkoja pit\xe4\xe4 nostaa nopeammin kuin naapurikunnissa, koska Vantaalla on jo pitk\xe4\xe4n ollut puutteita lastensuojelussa.",mandatory:!0,order:20,dimension:"fact",theme:4,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Vantaa-Keravan alueella on ollut vaikeuksia t\xe4ytt\xe4\xe4 lastensuojelun avoimia ty\xf6paikkoja vakituisella v\xe4ell\xe4. Palkankorotukset ovat aiheuttaneet uusia palkankorotuksia esimerkiksi Helsingiss\xe4.",relatedArticles:[]},location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:21,text:"Palveluita pit\xe4isi keskitt\xe4\xe4 Askolaan ja Porvooseen, sill\xe4 rahat eiv\xe4t riit\xe4 pienimpien terveyskeskusten toimintaan.",mandatory:!0,order:21,dimension:"fact",theme:5,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Lapinj\xe4rven, Myrskyl\xe4n ja Pukkilan sosiaali- ja terveysasemille suunnitellaan kiert\xe4vi\xe4 terveyspalveluita ensi syksyksi. Siihen asti niiden toiminta jatkuu supistettuna.",relatedArticles:[]},location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:22,text:"It\xe4-Uudellamaalla on huonokuntoisia ymp\xe4rivuorokautisen hoivan yksik\xf6it\xe4. Niist\xe4 pit\xe4\xe4 taloussyist\xe4 luopua, vaikka se v\xe4hent\xe4isi hoivapaikkojen m\xe4\xe4r\xe4\xe4.",mandatory:!0,order:22,dimension:"fact",theme:5,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"It\xe4-Uudellamaalla on useita pieni\xe4 yksityisi\xe4 hoivayksik\xf6it\xe4, jotka toimivat vanhoissa, huonokuntoisissa taloissa.",relatedArticles:[]},location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:23,text:"Alueeni pit\xe4isi rahoittaa HUSia nykyist\xe4 enemm\xe4n perusterveydenhuollon ja sosiaalipalveluiden kustannuksella.",mandatory:!0,order:23,dimension:"fact",theme:5,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Uudellamaalla nelj\xe4 hyvinvointialuetta ja Helsinki rahoittavat Husia. Viime vuonna alueet Helsinki\xe4 lukuunottamatta p\xe4\xe4ttiv\xe4t korottaa vuoden 2025 s\xe4\xe4st\xf6tavoitteen 99 miljoonaan euroon, jotta l\xe4hipalveluita ei tarvitsisi karsia niin paljon. Hus aloitti yt-neuvottelut, ja 280 ty\xf6ntekij\xe4\xe4 irtisanottiin.",relatedArticles:[]},location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:24,text:"It\xe4-Uudellamaalla perit\xe4\xe4n terveyskeskusmaksu. Siit\xe4 pit\xe4isi luopua.",mandatory:!0,order:24,dimension:"fact",theme:5,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"It\xe4-Uusimaa nosti vuoden alussa terveyskeskusmaksun 28,20 euroon, mik\xe4 on suurin sallittu asiakasmaksu. Maksu perit\xe4\xe4n 18 vuotta t\xe4ytt\xe4neilt\xe4 kolmesti, ja k\xe4
9ynnit t\xe4m\xe4n j\xe4lkeen ovat maksuttomia.",relatedArticles:[]},location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:25,text:"Palvelusetelit ovat hyv\xe4 keino v\xe4hent\xe4\xe4 jonoja julkisella puolella.",mandatory:!0,order:25,dimension:"fact",theme:5,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Moni hyvinvointialue yritt\xe4\xe4 v\xe4hent\xe4\xe4 palveluseteleiden k\xe4ytt\xf6\xe4 esimerkiksi hammashoidossa, koska ne arvioivat sen olevan pitk\xe4ll\xe4 aikav\xe4lill\xe4 taloudellisempaa. It\xe4-Uudellamaalla palveluseteleit\xe4 on k\xe4yt\xf6ss\xe4 monissa palveluissa.",relatedArticles:[]},location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:26,text:"Keski-Uudellamaalla perit\xe4\xe4n terveyskeskusmaksu. Siit\xe4 pit\xe4isi luopua.",mandatory:!0,order:26,dimension:"fact",theme:6,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Keusote nosti vuoden alussa terveyskeskusmaksun 28,20 euroon, mik\xe4 on suurin sallittu asiakasmaksu. Maksu perit\xe4\xe4n 18 vuotta t\xe4ytt\xe4neilt\xe4 kolmesti, ja k\xe4ynnit t\xe4m\xe4n j\xe4lkeen ovat maksuttomia.",relatedArticles:[]},location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:27,text:"Sote-palvelut kannattaa taloudellisista syist\xe4 keskitt\xe4\xe4 J\xe4rvenp\xe4\xe4h\xe4n ja Hyvink\xe4\xe4lle, vaikka pienten kuntien terveyskeskuksista jouduttaisiin luopumaan.",mandatory:!0,order:27,dimension:"fact",theme:6,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Jokelan, Kellokosken, Pornaisten ja Rajam\xe4en terveysasemille on kaavailtu palveluita, jotka vaihtuisivat eri p\xe4ivin\xe4. Osa palveluista olisi pysyvi\xe4. Jokelassa alkoi t\xe4h\xe4n liittyv\xe4 liikkuvien palveluiden kokeilu viime syksyn\xe4.",relatedArticles:[]},location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:28,text:"Alueeni pit\xe4isi rahoittaa HUSia nykyist\xe4 enemm\xe4n perusterveydenhuollon ja sosiaalipalveluiden kustannuksella.",mandatory:!0,order:28,dimension:"fact",theme:6,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Uudellamaalla nelj\xe4 hyvinvointialuetta ja Helsinki rahoittavat Husia. Viime vuonna alueet Helsinki\xe4 lukuunottamatta p\xe4\xe4ttiv\xe4t korottaa vuoden 2025 s\xe4\xe4st\xf6tavoitteen 99 miljoonaan euroon, jotta l\xe4hipalveluita ei tarvitsisi karsia niin paljon. Hus aloitti yt-neuvottelut, ja 280 ty\xf6ntekij\xe4\xe4 irtisanottiin.",relatedArticles:[]},location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:29,text:"Palvelusetelit ovat hyv\xe4 keino v\xe4hent\xe4\xe4 jonoja julkisella puolella.",mandatory:!0,order:29,dimension:"fact",theme:6,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Moni hyvinvointialue yritt\xe4\xe4 v\xe4hent\xe4\xe4 palveluseteleiden k\xe4ytt\xf6\xe4 esimerkiksi hammashoidossa, koska ne arvioivat sen olevan pitk\xe4ll\xe4 aikav\xe4lill\xe4 taloudellisempaa. It\xe4-Uudellamaalla palveluseteleit\xe4 on k\xe4yt\xf6ss\xe4 monissa palveluissa.",relatedArticles:[]},location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:30,text:"Keusoten pit\xe4\xe4 satsata moderniin kuntoutuskeskukseen, ja luopua Kiljavan 
9sairaalasta.",mandatory:!0,order:30,dimension:"fact",theme:6,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Keusote on tehnyt selvityksi\xe4 Kiljavan sairaalan jatkosta, mutta p\xe4\xe4t\xf6st\xe4 sairaalan sulkemisesta ei tehty viime vuonna. Arkkitehti Jussi Paatelan suunnittelama sairaala avasi ovensa vuonna 1938.",relatedArticles:[]},location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:31,text:"Pirkanmaan hyvinvointialueella on otettava k\xe4ytt\xf6\xf6n omal\xe4\xe4k\xe4rimalli kaikille alueen asukkaille.",mandatory:!0,order:31,dimension:"fact",theme:7,themeName:"Pirkanmaan hyvinvointialue",brand:["hs","al","sk"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:32,text:"Jos pit\xe4\xe4 valita, rikon mieluummin lakia hyvinvointialueiden rahoituksesta kuin perustuslakia, jonka mukaan jokaisella on oikeus riitt\xe4viin sosiaali- ja terveyspalveluihin.",mandatory:!0,order:32,dimension:"fact",theme:7,themeName:"Pirkanmaan hyvinvointialue",brand:["hs","al","sk"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:33,text:"Huumeiden k\xe4ytt\xf6huoneet pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n, jos laki sen mahdollistaa.",mandatory:!0,order:33,dimension:"fact",theme:7,themeName:"Pirkanmaan hyvinvointialue",brand:["hs","al","sk"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:34,text:"Aluevaltuustolla on liian v\xe4h\xe4n valtaa asukkaiden palveluihin vaikuttavissa p\xe4\xe4t\xf6ksiss\xe4.",mandatory:!0,order:34,dimension:"fact",theme:7,themeName:"Pirkanmaan hyvinvointialue",brand:["hs","al","sk"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:35,text:"Omaisten on otettava nykyist\xe4 enemm\xe4n vastuuta ik\xe4ihmisten hoivasta.",mandatory:!0,order:35,dimension:"fact",theme:7,themeName:"Pirkanmaan hyvinvointialue",brand:["hs","al","sk"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:36,text:"Janakkala tarvitsee terveysaseman kumpaankin taajamaan, vaikka se tarkoittaisi muiden terveyspalveluiden karsimista.",mandatory:!0,order:36,dimension:"fact",theme:8,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["hs","al","sk"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:37,text:"Koulupsykologien m\xe4\xe4r\xe4\xe4 tulee lis\xe4t\xe4 nykyisest\xe4.",mandatory:!0,order:37,dimension:"fact",theme:8,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["hs","al","sk"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:38,text:"Terveyspalvelujen maksujen pit\xe4\xe4 pysy\xe4 samanlaisina kuin nyt, vaikka se tarkoittaisi, ett\xe4 palveluja keskitett\xe4isiin.",mandatory:!0,order:38,dimension:"fact",theme:8,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["hs","al","sk"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:39,text:"Suuressa osassa tapauksia digivastaanotto toimii yht\xe4 hyvin kuin l\xe4hivastaanotto.",mandatory:!0,order:39,dimension:"fact",theme:8,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["hs","al","sk"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:40,text:"Omaishoidon tuen m\xe4\xe4r\xe4 pit\xe4\xe4 nostaa takaisin entiselle tasolleen.",mandatory:!0,order:40,dimension:"fact",theme:8,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["hs","al","sk"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:41,text:"Ilta- ja viikonloppujen kiirevastaanotot on palautettava paikallisiksi.",mandatory:!0,order:41,dimension:"fact",theme:9,themeName:"Keski-Suomen hyvinvointialue",brand:["hs","al","sk"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:42,text:"Keski-Suomen hyvinvointialueen on varmistettava, ett\xe4 ik\xe4ihmisen palvelupaikka l\xf6ytyy h\xe4nen omasta kunnastaan.",mandatory:!0,order:42,dimension:"fact",theme:9,themeName:"Keski-Suomen hyvinvointialue",brand:["hs","al","sk"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:43,text:"Sairaala Novan ruuhkautumisen v\xe4ltt\xe4miseksi erikoissairaanhoitoa tulee hajauttaa muualle maakuntaan.",mandatory:!0,order:43,dimension:"fact",theme:9,themeName:"Keski-Suomen hyvinvointialue",brand:["hs","al","sk"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:44,text:"Nykyisess\xe4 taloustilanteessa Porin Tiilim\xe4elle suunniteltu kuumasairaalan hanke olisi j\xe4tett\xe4v\xe4 hautumaan.",mandatory:!0,order:44,dimension:"fact",theme:10,themeName:"Satakunnan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Porin Tiilim\xe4keen suunnitellaan muun muassa p\xe4ivystykselle, tehohoidolle ja leikkaussaleille uudisrakennuksen ja saneerauksen yhdistelm\xe4\xe4. Kolmikerroksinen kokonaisuus on neli\xf6ilt\xe4\xe4n samaa kokoluokkaa kuin upouusi Satapsykiatria. Hinta-arvio on noin 150 miljoonaa euroa.",relatedArticles:[]},location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:45,text:"Nykyisess\xe4 taloustilanteessa Rauman Steniuksenkadun sairaalahanke olisi j\xe4tett\xe4v\xe4 hautumaan.",mandatory:!0,order:45,dimension:"fact",theme:10,themeName:"Satakunnan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Iso osa Rauman Steniuksenkadun varrella olevasta nykyisest\xe4 rakennuskannasta purettaisiin. Tilalle rakennettaisiin kaksi uutta rakennusta 34 miljoonalla eurolla. Sen lis\xe4ksi nykyist\xe4 Sata-alueen omistamaa osaa remontoitaisiin 16 miljoonalla eurolla. Hanke on suunnitteluvaiheessa.",relatedArticles:[]},location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:46,text:"L\xe4\xe4k\xe4rin vastaanotto on taattava jokaiseen Satakunnan 16 kuntaan.",mandatory:!0,order:46,dimension:"fact",theme:10,themeName:"Satakunnan hyvinvointialue",brand:["hs","al","sk"],backgroundInformation:{text:"Satakunnassa on kahdeksan sote-keskusta: Porissa kaksi, Raumalla, Ulvilassa, Harjavallassa, Eurassa, Huittisissa ja Kankaanp\xe4\xe4ss\xe4. Sote-piste sijaitsee kaikissa niiss\xe4 kunnissa, joissa ei ole sote-keskusta. Kaikissa sote-pisteiss\xe4 ei ole l\xe4\xe4k\xe4rin vastaanottoa.",relatedArticles:[]},location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:47,text:"Puolueiden saama 5000 euron ryhm\xe4raha valtuutettua kohden on aivan liian suuri.",mandatory:!0,order:47,dimension:"fact",theme:10,themeName:"Satakunnan hyvinvointialue",brand:["hs","al","sk"],location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:48,text:"Hyvinvointialueen pit\xe4\xe4 parantaa vanhusten kotihoitoa vaikka se tapahtuisi ymp\xe4rivuorokautisen asumisen hoivapaikkoja v\xe4hent\xe4m\xe4ll\xe4.",mandatory:!0,order:48,dimension:"fact",theme:10,themeName:"Satakunnan hyvinvointialue",brand:["hs","al","sk"],location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:49,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia.",mandatory:!0,order:49,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:50,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:50,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:51,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu.",mandatory:!0,order:51,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:52,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:52,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:53,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:53,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:54,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:54,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:4,targetBound:"Kansainv\xe4linen"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:55,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:55,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:2,targetBound:"Arvokonservatiivi"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:56,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:56,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:2,targetBound:"Arvoliberaali"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:57,text:"Tottelevaisuus ja auktoriteettien kunnioittaminen ovat t\xe4rkeimm\xe4t arvot, jotka lapsen tulee oppia.",mandatory:!0,order:57,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:58,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:58,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:59,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:59,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:4,targetBound:"Kansallismielinen"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:60,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:60,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:61,text:"Vahva johtaja on Suomelle hyv\xe4ksi, vaikka h\xe4n toimisi s\xe4\xe4nt\xf6jen rajamailla saadakseen asioita tehty\xe4.",mandatory:!0,order:61,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:62,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:62,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Maaseutu"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:63,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:63,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Kaupunki"}],theme:11,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:64,text:"Jokaisessa kunnassa pit\xe4\xe4 olla v\xe4hint\xe4\xe4n yksi toimipiste, josta saa terveydenhuollon palveluita.",mandatory:!0,order:64,dimension:"fact",theme:12,themeName:"Palvelut",brand:["is"]},{id:65,text:"Kiireett\xf6m\xe4n perusterveydenhuollon hoitotakuu pit\xe4\xe4 lyhent\xe4\xe4 14 vuorokauteen nykyisest\xe4 kolmesta kuukaudesta.",mandatory:!0,order:65,dimension:"fact",theme:12,themeName:"Palvelut",brand:["is"]},{id:66,text:"Y\xf6p\xe4ivystyksist\xe4 p\xe4\xe4tt\xe4minen kuuluu omalle hyvinvointialueelleni - ei Suomen hallitukselle.",mandatory:!0,order:66,dimension:"fact",theme:12,themeName:"Palvelut",brand:["is"]}
9,{id:67,text:"Palveluseteleiden k\xe4ytt\xf6\xe4 t\xe4ytyy lis\xe4t\xe4, jotta hoitojonoja saadaan lyhyemmiksi.",mandatory:!0,order:67,dimension:"fact",theme:12,themeName:"Palvelut",brand:["is"]},{id:68,text:"Julkisia varoja ei pid\xe4 k\xe4ytt\xe4\xe4 yksityisiin terveyspalveluihin.",mandatory:!0,order:68,dimension:"fact",theme:12,themeName:"Palvelut",brand:["is"]},{id:69,text:"Alle 23-vuotiaan pit\xe4\xe4 p\xe4\xe4st\xe4 nopeammin mielenterveyspalveluiden piiriin kuin yli 23-vuotiaan.",mandatory:!0,order:69,dimension:"fact",theme:13,themeName:"Lapset ja nuoret",brand:["is"]},{id:70,text:"Pieni\xe4 neuvoloita ei saa lakkauttaa.",mandatory:!0,order:70,dimension:"fact",theme:13,themeName:"Lapset ja nuoret",brand:["is"]},{id:71,text:"Koululaisten hammastarkastuksia pit\xe4\xe4 lis\xe4t\xe4, vaikka se kasvattaisi hammashoidon jonoja.",mandatory:!0,order:71,dimension:"fact",theme:13,themeName:"Lapset ja nuoret",brand:["is"]},{id:72,text:"Alle 25-vuotiaille pit\xe4\xe4 tarjota maksuton ehk\xe4isy.",mandatory:!0,order:72,dimension:"fact",theme:13,themeName:"Lapset ja nuoret",brand:["is"]},{id:73,text:"Hyvinvointialueet pakenevat vastuutaan pit\xe4m\xe4ll\xe4 vanhukset liian pitk\xe4\xe4n kotihoidon piiriss\xe4.",mandatory:!0,order:73,dimension:"fact",theme:14,themeName:"I\xe4kk\xe4\xe4t",brand:["is"]},{id:74,text:"I\xe4kk\xe4iden ymp\xe4rivuorokautisen hoivan mitoituksen pit\xe4\xe4 olla v\xe4hint\xe4\xe4n seitsem\xe4n hoitajaa kymment\xe4 hoidettavaa kohden.",mandatory:!0,order:74,dimension:"fact",theme:14,themeName:"I\xe4kk\xe4\xe4t",brand:["is"]},{id:75,text:"Suomessa kokeillaan j\xe4rjestelm\xe4\xe4, jossa yli 65-vuotiaat p\xe4\xe4sev\xe4t yksityiselle yleisl\xe4\xe4k\xe4rille terveyskeskusmaksun hinnalla. K\xe4yt\xe4nt\xf6 pit\xe4\xe4 ottaa pysyv\xe4sti k\xe4ytt\xf6\xf6n.",mandatory:!0,order:75,dimension:"fact",theme:14,themeName:"I\xe4kk\xe4\xe4t",brand:["is"]},{id:76,text:"Vanhuksen oikeus ulkoiluun on kirjattava lakiin.",mandatory:!0,order:76,dimension:"fact",theme:14,themeName:"I\xe4kk\xe4\xe4t",brand:["is"]},{id:77,text:"Hoitajia on tuotava Suomeen ulkomailta.",mandatory:!0,order:77,dimension:"fact",theme:15,themeName:"Ty\xf6voima",brand:["is"]},{id:78,text:"L\xe4\xe4k\xe4rin ja hoitajan on osattava suomea tai ruotsia.",mandatory:!0,order:78,dimension:"fact",theme:15,themeName:"Ty\xf6voima",brand:["is"]},{id:79,text:"L\xe4\xe4k\xe4ri pit\xe4\xe4 velvoittaa ty\xf6skentelem\xe4\xe4n julkisella puolella kahden vuoden ajan valmistumisen j\xe4lkeen.",mandatory:!0,order:79,dimension:"fact",theme:15,themeName:"Ty\xf6voima",brand:["is"]},{id:80,text:"Terveydenhuollon vuokrahenkil\xf6st\xf6lle pit\xe4\xe4 asettaa maanlajuinen hintakatto, sill\xe4 keikkal\xe4\xe4k\xe4reiden palkat ovat karanneet k\xe4sist\xe4.",mandatory:!0,order:80,dimension:"fact",theme:15,themeName:"Ty\xf6voima",brand:["is"]},{id:81,text:"Pelastustoimi j\xe4\xe4 hyvinvointialueilla sote-palveluiden varjoon, joten pelastusala pit\xe4\xe4 siirt\xe4\xe4 valtion hoidettavaksi.",mandatory:!0,order:81,dimension:"fact",theme:16,themeName:"Pelastusala",brand:["is"]},{id:82,text:"Ep\xe4p\xe4tev\xe4n henkil\xf6st\xf6n k\xe4ytt\xf6 puhuttaa pelastusalalla. Kaikilta pelastajilta pit\xe4\xe4 vaatia pelastusalan tutkinto, vaikka se vaikeuttaisi ty\xf6voiman saantia.",mandatory:!0,order:82,dimension:"fact",theme:16,themeName:"Pelastusala",brand:["is"]},{id:83,text:"Hyvinvointialueiden pit\xe4\xe4 saada verotusoikeus (ns. maakuntavero) palveluiden turvaamiseksi.",mandatory:!0,order:83,dimension:"fact",theme:17,themeName:"Talous",brand:["is"]},{id:84,text:"Kokonaisveroaste saa nousta, jotta kansalaisten terveydenhuolto voidaan turvata.",mandatory:!0,order:84,dimension:"fact",theme:17,themeName:"Talous",brand:["is"]},{id:85,text:"Lihavuusl\xe4\xe4kkeit\xe4 ei tule maksaa julkisista varoista.",mandatory:!0,order:85,dimension:"fact",theme:17,themeName:"Talous",brand:["is"]},{id:86,text:"Julkisessa terveydenhuollossa pit\xe4\xe4 s\xe4\xe4st\xf6syist\xe4 priorisoida potilaita, joilla on parempi ennuste parantua.",mandatory:!0,order:86,dimension:"fact",theme:17,themeName:"Talous",brand:["is"]},{id:87,text:"IS:n selvityksen mukaan hyvinvointialueilla ty\xf6skenteli syksyll\xe4 2024 johtaja-nimikkeell\xe4 yli 650 henkil\xf6\xe4. Johtajien m\xe4\xe4r\xe4\xe4 pit\xe4\xe4 karsia.",mandatory:!0,order:87,dimension:"fact",theme:18,themeName:"Hallinto",brand:["is"]},{id:88,text:"Moni kansanedustaja osallistuu laiskasti aluevaltuustojen kokouksiin. Kansanedustajien ei pit\xe4isi olla ehdolla aluevaaleissa.",mandatory:!0,order:88,dimension:"fact",theme:18,themeName:"Hallinto",brand:["is"]},{id:89,text:"Kovapalkkaisimmat hyvinvointialueiden johtajat tienaavat enemm\xe4n kuin p\xe4\xe4ministeri, jopa yli 18000 euroa kuussa. Hyvinvointialueiden johtajien palkkoja pit\xe4\xe4 laskea.",mandatory:!0,order:89,dimension:"fact",theme:18,themeName:"Hallinto",brand:["is"]},{id:90,text:"Hyvinvointialueita on liikaa.",mandatory:!0,order:90,dimension:"fact",theme:18,themeName:"Hallinto",brand:["is"]},{id:92,text:"Lapin hyvinvointialueen on turvattava lopetusuhan alla olevan pelastushelikopteritoiminnan jatkuminen.",mandatory:!0,order:92,dimension:"fact",theme:19,themeName:"Lapin hyvinvointialue",brand:["is"],location:"Lapin hyvinvointialue",nominationAreaLevel:"county"},{id:93,text:"Lapin pit\xe4isi saada oikeus ker\xe4t\xe4 turistiveroa, jonka tuotosta osa k\xe4ytett\xe4isiin sote-palveluiden rahoittamiseen.",mandatory:!0,order:93,dimension:"fact",theme:19,themeName:"Lapin hyvinvointialue",brand:["is"],location:"Lapin hyvinvointialue",nominationAreaLevel:"county"},{id:94,text:"Oulaskankaan y\xf6p\xe4ivystyksen lakkauttaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:94,dimension:"fact",theme:20,themeName:"Pohjois-Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjois-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:95,text:"Raahen y\xf6p\xe4ivystyksen lakkauttaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:95,dimension:"fact",theme:20,themeName:"Pohjois-Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjois-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"}
9,{id:96,text:"Ouluun tarvitaan huumeiden k\xe4ytt\xf6huone, jos lains\xe4\xe4d\xe4nt\xf6 sen tulevaisuudessa mahdollistaa.",mandatory:!0,order:96,dimension:"fact",theme:20,themeName:"Pohjois-Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjois-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:97,text:"Kainuun hyvinvointialueen sote-palvelut ovat heikentyneet merkitt\xe4v\xe4sti p\xe4\xe4ttyv\xe4n aluevaltuustokauden aikana.",mandatory:!0,order:97,dimension:"fact",theme:21,themeName:"Kainuun hyvinvointialue",brand:["is"],location:"Kainuun hyvinvointialue",nominationAreaLevel:"county"},{id:98,text:"Kainuun keskussairaalan palvelutaso on pidett\xe4v\xe4 nykyisell\xe4\xe4n, vaikka se tarkoittaisi alueen muiden sote-palveluiden karsimista.",mandatory:!0,order:98,dimension:"fact",theme:21,themeName:"Kainuun hyvinvointialue",brand:["is"],location:"Kainuun hyvinvointialue",nominationAreaLevel:"county"},{id:99,text:"Kainuun hyvinvointialue ei kykene tulevaisuudessa suoriutumaan sote- ja pelastuspalveluiden j\xe4rjest\xe4misest\xe4 ja sen on liitytt\xe4v\xe4 Pohjois-Pohjanmaan hyvinvointialueeseen.",mandatory:!0,order:99,dimension:"fact",theme:21,themeName:"Kainuun hyvinvointialue",brand:["is"],location:"Kainuun hyvinvointialue",nominationAreaLevel:"county"},{id:100,text:"Sote-palveluita on keskitett\xe4v\xe4 entist\xe4 enemm\xe4n Kokkolaan, jotta palveluiden laadusta ja henkil\xf6st\xf6n riitt\xe4vyydest\xe4 voidaan pit\xe4\xe4 kiinni.",mandatory:!0,order:100,dimension:"fact",theme:22,themeName:"Keski-Pohjanmaan hyvinvointialue",brand:["is"],location:"Keski-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:101,text:"Keski-Pohjanmaan hyvinvointialueen pieniin kuntiin tulee houkutella l\xe4\xe4k\xe4reit\xe4 korkeammilla palkoilla.",mandatory:!0,order:101,dimension:"fact",theme:22,themeName:"Keski-Pohjanmaan hyvinvointialue",brand:["is"],location:"Keski-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:102,text:"Keski-Pohjanmaan, Pohjanmaan ja Etel\xe4-Pohjanmaan hyvinvointialueet tulee yhdist\xe4\xe4 sote-palveluiden laadun ja saatavuuden varmistamiseksi my\xf6s jatkossa.",mandatory:!0,order:102,dimension:"fact",theme:22,themeName:"Keski-Pohjanmaan hyvinvointialue",brand:["is"],location:"Keski-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:103,text:"J\xe4ms\xe4n y\xf6p\xe4ivystyksen lopettaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:103,dimension:"fact",theme:23,themeName:"Keski-Suomen hyvinvointialue",brand:["is"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:104,text:"Keski-Suomessa pit\xe4\xe4 karsia edelleen merkitt\xe4v\xe4sti palvelupisteit\xe4, jotta sote-palveluiden laatu voidaan turvata.",mandatory:!0,order:104,dimension:"fact",theme:23,themeName:"Keski-Suomen hyvinvointialue",brand:["is"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"}
9,{id:105,text:"Jyv\xe4skyl\xe4l\xe4isten sote-palvelut ovat aivan liian hyv\xe4t verrattuna alueen muiden asukkaiden palveluihin.",mandatory:!0,order:105,dimension:"fact",theme:23,themeName:"Keski-Suomen hyvinvointialue",brand:["is"],location:"Keski-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:106,text:"Iisalmen y\xf6p\xe4ivystyksen lopettaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:106,dimension:"fact",theme:24,themeName:"Pohjois-Savon hyvinvointialue",brand:["is"],location:"Pohjois-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:107,text:"Varkauden y\xf6p\xe4ivystyksen lopettaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:107,dimension:"fact",theme:24,themeName:"Pohjois-Savon hyvinvointialue",brand:["is"],location:"Pohjois-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:108,text:"Pohjois-Savon ja Pohjois-Karjalan on jatkossa muodostettava yksi yhteinen hyvinvointialue palveluiden saatavuuden ja laadun turvaamiseksi.",mandatory:!0,order:108,dimension:"fact",theme:24,themeName:"Pohjois-Savon hyvinvointialue",brand:["is"],location:"Pohjois-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:109,text:"Pohjois-Karjalassa pit\xe4\xe4 karsia edelleen merkitt\xe4v\xe4sti palvelupisteit\xe4, jotta sote-palveluiden laatu voidaan turvata.",mandatory:!0,order:109,dimension:"fact",theme:25,themeName:"Pohjois-Karjalan hyvinvointialue",brand:["is"],location:"Pohjois-Karjalan hyvinvointialue",nominationAreaLevel:"county"},{id:110,text:"Joensuulaisten sote-palvelut ovat liian hyv\xe4t verrattuna alueen muiden asukkaiden palveluihin.",mandatory:!0,order:110,dimension:"fact",theme:25,themeName:"Pohjois-Karjalan hyvinvointialue",brand:["is"],location:"Pohjois-Karjalan hyvinvointialue",nominationAreaLevel:"county"},{id:111,text:"Pohjois-Karjalan ja Pohjois-Savon on muodostettava jatkossa yksi yhteinen hyvinvointialue, jotta sote-palveluiden laatu ja saatavuus voidaan turvata.",mandatory:!0,order:111,dimension:"fact",theme:25,themeName:"Pohjois-Karjalan hyvinvointialue",brand:["is"],location:"Pohjois-Karjalan hyvinvointialue",nominationAreaLevel:"county"},{id:112,text:"Savonlinnan y\xf6p\xe4ivystyksen rajaaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:112,dimension:"fact",theme:26,themeName:"Etel\xe4-Savon hyvinvointialue",brand:["is"],location:"Etel\xe4-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:113,text:"Savonlinnan tulee voida erota Etel\xe4-Savon hyvinvointialueesta.",mandatory:!0,order:113,dimension:"fact",theme:26,themeName:"Etel\xe4-Savon hyvinvointialue",brand:["is"],location:"Etel\xe4-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:114,text:"Etel\xe4-Savon hyvinvointialue ei kykene tulevaisuudessa suoriutumaan sote-palveluiden j\xe4rjest\xe4misest\xe4 ja siksi sen on liitytt\xe4v\xe4 osaksi jotain toista hyvinvointialuetta.",mandatory:!0,order:114,dimension:"fact",theme:26,themeName:"Etel\xe4-Savon hyvinvointialue",brand:["is"],location:"Etel\xe4-Savon hyvinvointialue",nominationAreaLevel:"county"},{id:115,text:"Etel\xe4-Pohjanmaan hyvinvointialueen tulee pit\xe4yty\xe4 uusien sote-kiinteist\xf6jen rakentamisesta ja keskitty\xe4 nykyisten yll\xe4pit\xe4miseen.",mandatory:!0,order:115,dimension:"fact",theme:27,themeName:"Etel\xe4-Pohjanmaan hyvinvointialue",brand:["is"],location:"Etel\xe4-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:116,text:"Etel\xe4-Pohjanmaan hyvinvointialueen sote-keskusten m\xe4\xe4r\xe4\xe4 tulee v\xe4hent\xe4\xe4 merkitt\xe4v\xe4sti, jotta palveluiden laatu voidaan taata ja henkil\xf6st\xf6n riitt\xe4vyys jatkossakin.",mandatory:!0,order:116,dimension:"fact",theme:27,themeName:"Etel\xe4-Pohjanmaan hyvinvointialue",brand:["is"],location:"Etel\xe4-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:117,text:"Etel\xe4-Pohjanmaan hyvinvointialueen tulee pysy\xe4 itsen\xe4isen\xe4, vaikka se tarkoittaisi sote-palveluiden merkitt\xe4v\xe4\xe4 supistamista.",mandatory:!0,order:117,dimension:"fact",theme:27,themeName:"Etel\xe4-Pohjanmaan hyvinvointialue",brand:["is"],location:"Etel\xe4-Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:118,text:"Eduskunta p\xe4\xe4tti, ett\xe4 Valkeakoskella ei voida k\xe4
9ynnist\xe4\xe4 uudelleen y\xf6p\xe4ivystyst\xe4. P\xe4\xe4t\xf6s on oikea.",mandatory:!0,order:118,dimension:"fact",theme:28,themeName:"Pirkanmaan hyvinvointialue",brand:["is"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:119,text:"Tamperelaisilla on liian hyv\xe4t sote-palvelut verrattuna alueen muihin asukkaisiin.",mandatory:!0,order:119,dimension:"fact",theme:28,themeName:"Pirkanmaan hyvinvointialue",brand:["is"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:120,text:"Tampereelle tarvitaan huumeiden k\xe4ytt\xf6huone, jos lains\xe4\xe4d\xe4nt\xf6 sen tulevaisuudessa mahdollistaa.",mandatory:!0,order:120,dimension:"fact",theme:28,themeName:"Pirkanmaan hyvinvointialue",brand:["is"],location:"Pirkanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:121,text:"Sote-palveluiden keskitt\xe4minen H\xe4meenlinnaan on pys\xe4ytett\xe4v\xe4, vaikka kaupunkiin on valmistumassa Assi-sairaala.",mandatory:!0,order:121,dimension:"fact",theme:29,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["is"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:122,text:"Kanta-H\xe4meen ja P\xe4ij\xe4t-H\xe4meen hyvinvointialueiden tulee muodostaa jatkossa yksi yhteinen hyvinvointialue sote-palveluiden turvaamiseksi pitk\xe4ll\xe4 aikav\xe4lill\xe4.",mandatory:!0,order:122,dimension:"fact",theme:29,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["is"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:123,text:"Forssan seudun kuntien olisi parempi kuulua Varsinais-Suomen hyvinvointialueeseen.",mandatory:!0,order:123,dimension:"fact",theme:29,themeName:"Kanta-H\xe4meen hyvinvointialue",brand:["is"],location:"Kanta-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:124,text:"My\xf6s ruotsinkielisist\xe4 palveluista on tingitt\xe4v\xe4, jos palveluverkkoa supistetaan.",mandatory:!0,order:124,dimension:"fact",theme:30,themeName:"Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:125,text:"Pietarsaaren sairaalan y\xf6p\xe4ivystys on lakkautettava v\xe4h\xe4isen potilasm\xe4\xe4r\xe4n vuoksi.",mandatory:!0,order:125,dimension:"fact",theme:30,themeName:"Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:126,text:"Keski-Pohjanmaan, Pohjanmaan ja Etel\xe4-Pohjanmaan hyvinvointialueet tulee yhdist\xe4\xe4 sote-palveluiden laadun ja saatavuuden varmistamiseksi my\xf6s jatkossa.",mandatory:!0,order:126,dimension:"fact",theme:30,themeName:"Pohjanmaan hyvinvointialue",brand:["is"],location:"Pohjanmaan hyvinvointialue",nominationAreaLevel:"county"},{id:127,text:"Satakunnan hyvinvointialueen palvelupisteiden karsinta on ollut oikea suunta, jotta palveluiden laadusta ja henkil\xf6st\xf6n riitt\xe4vyydest\xe4 voidaan pit\xe4\xe4 huolta jatkossakin.",mandatory:!0,order:127,dimension:"fact",theme:31,themeName:"Satakunnan hyvinvointialue",brand:["is"],location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:128,text:"Rauman uuden sote-keskuksen rakentaminen on liian kallis hanke.",mandatory:!0,order:128,dimension:"fact",theme:31,themeName:"Satakunnan hyvinvointialue",brand:["is"],location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:129,text:"Satakunnan hyvinvointialueen tulee pysy\xe4 itsen\xe4isen\xe4, vaikka se tarkoittaisi sote-palveluiden merkitt\xe4v\xe4\xe4 supistamista.",mandatory:!0,order:129,dimension:"fact",theme:31,themeName:"Satakunnan hyvinvointialue",brand:["is"],location:"Satakunnan hyvinvointialue",nominationAreaLevel:"county"},{id:130,text:"Salon y\xf6p\xe4ivystyksen lakkauttaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:130,dimension:"fact",theme:32,themeName:"Varsinais-Suomen hyvinvointialue",brand:["is"],location:"Varsinais-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:131,text:"Varsinais-Suomen hyvinvointialueen tulee jatkaa palvelupisteiden sulkemisia, jotta sote-palveluiden laatu ja henkil\xf6st\xf6n riitt\xe4vyys voidaan turvata.",mandatory:!0,order:131,dimension:"fact",theme:32,themeName:"Varsinais-Suomen hyvinvointialue",brand:["is"],location:"Varsinais-Suomen hyvinvointialue",nominationAreaLevel:"county"}
9,{id:132,text:"Turkuun tarvitaan huumeiden k\xe4ytt\xf6huone, jos lains\xe4\xe4d\xe4nt\xf6 sen tulevaisuudessa mahdollistaa.",mandatory:!0,order:132,dimension:"fact",theme:32,themeName:"Varsinais-Suomen hyvinvointialue",brand:["is"],location:"Varsinais-Suomen hyvinvointialue",nominationAreaLevel:"county"},{id:133,text:"Lohjan sairaalan synnytystoiminnan lakkauttaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:133,dimension:"fact",theme:33,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["is"],location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:134,text:"Raaseporin y\xf6p\xe4ivystyksen lopettaminen oli oikea p\xe4\xe4t\xf6s.",mandatory:!0,order:134,dimension:"fact",theme:33,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["is"],location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:135,text:"Jatkossa Uudellamaalla tulisi olla vain yksi koko maakunnan kokoinen hyvinvointialue, johon kuuluisi my\xf6s Helsinki.",mandatory:!0,order:135,dimension:"fact",theme:33,themeName:"L\xe4nsi-Uudenmaan hyvinvointialue",brand:["is"],location:"L\xe4nsi-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:136,text:"Aluevaltuuston pit\xe4\xe4 varmistaa, ett\xe4 jatkossa jokaisessa Keski-Uudenmaan hyvinvointialueen kunnassa on ambulanssi ymp\xe4rivuorokautisesti, vaikka se tarkoittaisi HUS-yhtym\xe4n kanssa tehdyn sopimuksen purkamista.",mandatory:!0,order:136,dimension:"fact",theme:34,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["is"],location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:137,text:"Hyvink\xe4\xe4n sairaalan nykyisest\xe4 palvelutasosta on pidett\xe4v\xe4 kiinni, vaikka se tarkoittaisi leikkauksia muihin sote-palveluihin alueella.",mandatory:!0,order:137,dimension:"fact",theme:34,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["is"],location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:138,text:"Jatkossa Uudellamaalla tulisi olla vain yksi koko maakunnan kokoinen hyvinvointialue, johon kuuluisi my\xf6s Helsinki.",mandatory:!0,order:138,dimension:"fact",theme:34,themeName:"Keski-Uudenmaan hyvinvointialue",brand:["is"],location:"Keski-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:139,text:"My\xf6s ruotsinkielisist\xe4 palveluista on tingitt\xe4v\xe4, jos palveluverkkoa supistetaan.",mandatory:!0,order:139,dimension:"fact",theme:35,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["is"],location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:140,text:"Porvoon sairaalan nykyisest\xe4 palvelutasosta on pidett\xe4v\xe4 kiinni, vaikka se tarkoittaisi leikkauksia alueen muihin sote-palveluihin.",mandatory:!0,order:140,dimension:"fact",theme:35,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["is"],location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:141,text:"Jatkossa Uudellamaalla tulisi olla vain yksi koko maakunnan kokoinen hyvinvointialue, johon kuuluisi my\xf6s Helsinki.",mandatory:!0,order:141,dimension:"fact",theme:35,themeName:"It\xe4-Uudenmaan hyvinvointialue",brand:["is"],location:"It\xe4-Uudenmaan hyvinvointialue",nominationAreaLevel:"county"},{id:142,text:"P\xe4ij\xe4t-H\xe4meen hyvinvointialueen palvelupisteit\xe4 on v\xe4hennett\xe4v\xe4, jotta sote-palveluiden laatu voidaan turvata.",mandatory:!0,order:142,dimension:"fact",theme:36,themeName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",brand:["is"],location:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:143,text:"Lahtelaisten sote-palvelut ovat aivan liian hyv\xe4t verrattuna hyvinvointialueen muiden asukkaiden sote-palveluihin.",mandatory:!0,order:143,dimension:"fact",theme:36,themeName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",brand:["is"],location:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:144,text:"Lahteen tarvitaan huumeiden k\xe4ytt\xf6huone, jos lains\xe4\xe4d\xe4nt\xf6 sen tulevaisuudessa mahdollistaa.",mandatory:!0,order:144,dimension:"fact",theme:36,themeName:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",brand:["is"],location:"P\xe4ij\xe4t-H\xe4meen hyvinvointialue",nominationAreaLevel:"county"},{id:145,text:"Kouvolan Ratamon y\xf6p\xe4ivystys on s\xe4ilytett\xe4v\xe4, vaikka se tarkoittaisi muihin hyvinvointialueen sote-palveluihin merkitt\xe4vi\xe4 s\xe4\xe4st\xf6j\xe4.",mandatory:!0,order:145,dimension:"fact",theme:37,themeName:"Kymenlaakson hyvinvointialue",brand:["is"],location:"Kymenlaakson hyvinvointialue",nominationAreaLevel:"county"}
9,{id:146,text:"Kymenlaakson hyvinvointialueen sote-palveluiden taso on heikentynyt merkitt\xe4v\xe4sti p\xe4\xe4ttyv\xe4n aluevaalikauden aikana.",mandatory:!0,order:146,dimension:"fact",theme:37,themeName:"Kymenlaakson hyvinvointialue",brand:["is"],location:"Kymenlaakson hyvinvointialue",nominationAreaLevel:"county"},{id:147,text:"Kymenlaakson ja Etel\xe4-Karjalan hyvinvointialueet tulisi yhdist\xe4\xe4, jotta sote-palveluiden laatu voidaan turvata tulevaisuudessa.",mandatory:!0,order:147,dimension:"fact",theme:37,themeName:"Kymenlaakson hyvinvointialue",brand:["is"],location:"Kymenlaakson hyvinvointialue",nominationAreaLevel:"county"},{id:148,text:"Hyvinvointiasemien m\xe4\xe4r\xe4\xe4 on karsittava ja palveluita keskitett\xe4v\xe4 entist\xe4 enemm\xe4n Lappeenrantaan, jotta palveluiden laadusta ei tarvitse tinki\xe4.",mandatory:!0,order:148,dimension:"fact",theme:38,themeName:"Etel\xe4-Karjalan hyvinvointialue",brand:["is"],location:"Etel\xe4-Karjalan hyvinvointialue",nominationAreaLevel:"county"},{id:149,text:"Etel\xe4-Karjalan ja Kymenlaakson hyvinvointialueet tulisi yhdist\xe4\xe4, jotta sote-palveluiden laatu voidaan pit\xe4\xe4 riitt\xe4v\xe4n\xe4.",mandatory:!0,order:149,dimension:"fact",theme:38,themeName:"Etel\xe4-Karjalan hyvinvointialue",brand:["is"],location:"Etel\xe4-Karjalan hyvinvointialue",nominationAreaLevel:"county"},{id:151,text:"Vantaan ja Keravan hyvinvointialueelle riitt\xe4isi Myyrm\xe4en, Tikkurilan ja Keravan terveysasemat nykyisen yhdeks\xe4n terveysaseman sijaan.",mandatory:!0,order:151,dimension:"fact",theme:39,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["is"],location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:152,text:"Vantaalle tarvitaan huumeiden k\xe4ytt\xf6huone, jos lains\xe4\xe4d\xe4nt\xf6 sen tulevaisuudessa mahdollistaa.",mandatory:!0,order:152,dimension:"fact",theme:39,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["is"],location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"},{id:153,text:"Jatkossa Uudellamaalla tulisi olla vain yksi koko maakunnan kokoinen hyvinvointialue, johon kuuluisi my\xf6s Helsinki.",mandatory:!0,order:153,dimension:"fact",theme:39,themeName:"Vantaan ja Keravan hyvinvointialue",brand:["is"],location:"Vantaan ja Keravan hyvinvointialue",nominationAreaLevel:"county"}],metadata:{id:"alue2025",electionDate:"2025-04-13T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/alue2025/hs",is:"https://tulos.vaalikone.fi/alue2025/is",al:"https://tulos.vaalikone.fi/alue2025/al",sk:"https://tulos.vaalikone.fi/alue2025/sk"},combinedElectionId:"kunta-alue2025",curtainTime:{date:"2.4.2025",time:"20"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2025"},modificationDeadline:{time:"23.59",date:"10.03.2025"},finalDeadline:{time:"23.59",date:"10.04.2025"},year:2025,electionName:"Aluevaalit",electionType:"county",themeSelection:!1,useCandidateAggregates:!0,partyAnswerLevel:"nominationArea",electionLogo:{is:{title:"Aluevaalit 2025",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Aluevaalit 2025",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Aluevaalit 2025",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Aluevaalit 2025",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{"R-01":"It\xe4-Uudenmaan hyvinvointialue","R-02":"Keski-Uudenmaan hyvinvointialue","R-03":"L\xe4nsi-Uudenmaan hyvinvointialue","R-04":"Vantaan ja Keravan hyvinvointialue","R-05":"Varsinais-Suomen hyvinvointialue","R-06":"Satakunnan hyvinvointialue","R-07":"Kanta-H\xe4meen hyvinvointialue","R-08":"Pirkanmaan hyvinvointialue","R-09":"P\xe4ij\xe4t-H\xe4meen hyvinvointialue","R-10":"Kymenlaakson hyvinvointialue","R-11":"Etel\xe4-Karjalan hyvinvointialue","R-12":"Etel\xe4-Savon hyvinvointialue","R-13":"Pohjois-Savon hyvinvointialue","R-14":"Pohjois-Karjalan hyvinvointialue","R-15":"Keski-Suomen hyvinvointialue","R-16":"Etel\xe4-Pohjanmaan hyvinvointialue","R-17":"Pohjanmaan hyvinvointialue","R-18":"Keski-Pohjanmaan hyvinvointialue","R-19":"Pohjois-Pohjanmaan hyvinvointialue","R-20":"Kainuun hyvinvointialue","R-21":"Lapin hyvinvointialue"},municipalities:t1,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}}
9,texts:[{key:"import-info-text",text:"N\xe4ytt\xe4\xe4, ett\xe4 olet jo vastannut palvelussamme kuntavaalien kysymyksiin.\n\nJos haluat, voit tuoda sielt\xe4 automaattisesti ehdokastietosi ja arvokysymysten vastaukset. N\xe4in sinun ei tarvitse kirjoittaa noita vastauksia uudestaan.\n\nTuodaanko vastaukset?"},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien, sitten Ilta-Sanomien ja lopuksi aluemedioiden vaalikonekysymykset. Jotkut kysymykset ovat yhteisi\xe4 kaikille vaalikoneille. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, sukupuoli, koulutus ja ammatti \n - ehdokkaan puolue \n - kunta, jossa on ehdokkaana \n - postinumeroalue: erityisesti kaupungeissa \xe4\xe4nest\xe4ji\xe4 voi kiinnostaa, mist\xe4 p\xe4in kaupunkia ehdokas on \n - hyvinvointialue \n - onko ehdokas t\xe4ll\xe4 hetkell\xe4: kansanedustaja, aluevaltuutettu tai kunnanvaltuutettu \n - kielitaito \n - ehdokkaan oma vapaamuotoinen kuvausteksti\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:""},{key:"election-faq",text:"# T\xe4llainen on Sanoman vaalikone – hy\xf6dyllist\xe4 tietoa \xe4\xe4nest\xe4jille ja ehdokkaille\n\nT\xe4m\xe4 artikkeli kertoo perustiedot Sanoman vaalikoneista, eli Helsingin Sanomien, Ilta-Sanomien, Aamulehden, Satakunnan Kansan sek\xe4 paikallismedioiden sivuilla julkaistavista vaalikoneista.\n\n \n\n## Sivun sis\xe4lt\xf6\n\n- Mik\xe4 on vaalikone?\n- Miten vaalikone toimii?\n- Kuka vaalikoneesta hy\xf6tyy?\n- Paljonko vaalikonetta k\xe4ytet\xe4\xe4n?\n- Kuka tekee vaalikoneen kysymykset?\n- Tallentaako vaalikone vastaukseni?\n- Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n## Mik\xe4 on vaalikone?\n\nVaalikone on palvelu, jonka tarkoitus on auttaa \xe4\xe4nest\xe4j\xe4\xe4 valitsemaan ehdokas, jota \xe4\xe4nest\xe4\xe4. Vaalikoneessa ehdokkaat vastaavat v\xe4itteen muodossa oleviin kysymyksiin politiikan aiheista. Kun k\xe4ytt\xe4j\xe4 vastaa samoihin kysymyksiin, kone laskee, kuka ehdokkaista ja mik\xe4 puolueista on l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia. Vaalikone siis n\xe4ytt\xe4\xe4 ehdokkaita, jotka ovat mielipiteilt\xe4\xe4n ja arvoiltaan l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia.\n\nEhdokkaita voi my\xf6s etsi\xe4 ja tutkia vastaamatta vaalikoneen kysymyksiin. T\xe4t\xe4 varten vaalikoneessa on n\xe4kym\xe4, jossa ehdokkaita voi etsi\xe4 vaikkapa puolueen, nimen tai alueen perusteella.\n\nVaalikone sis\xe4lt\xe4\xe4 niiden ehdokkaiden vastaukset, jotka ovat itse vastanneet vaalikoneen kysymyksiin. Kaikilla ehdokkailla on mahdollisuus vastata koneen kysymyksiin, mutta kaikki eiv\xe4t vastaa.\n\n## Miten vaalikone toimii?\n\nVaalikone laskee et\xe4isyytt\xe4 k\xe4ytt\xe4j\xe4n vastausten ja ehdokkaiden vastausten v\xe4lill\xe4. Vaalikone tarjoaa tuloksissa ehdokkaita, joiden vastaukset ovat l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia. Vaalikone my\xf6s laskee ehdokkaiden vastauksista puolueille keskim\xe4\xe4r\xe4isen vastauksen ja esitt\xe4\xe4 puolueet l\xe4heisyysj\xe4rjestyksess\xe4.\n\nSuomen vaalij\xe4rjestelm\xe4ss\xe4 \xe4\xe4ni annetaan aina yksitt\xe4iselle ehdokkaalle, mutta moni \xe4\xe4nest\xe4j\xe4 haluaa ensin l\xf6yt\xe4\xe4 itselleen parhaan puolueen. Sanoman vaalikoneet mahdollistavat kummankin tavan etsi\xe4 ehdokasta: henkil\xf6 tai puolue edell\xe4.\n\nLaskentaan vaalikone k\xe4ytt\xe4\xe4 algoritmia, joka vertailee vastausten l\xe4heisyytt\xe4. [Sanoman vaalikoneen algoritmi on selostettu ja avattu kaikkien n\xe4ht\xe4v\xe4ksi Helsingin Sanomien artikkelissa](https://www.hs.fi/politiikka/art-2000009993697.html). Kunta- ja aluevaaleissa 2025 k\xe4yt\xe4mme samaa algoritmia kuin presidentinvaaleissa ja eurovaaleissa 2024.\n\nHelsingin Sanomien vaalikoneessa on arvokartta, joka sijoittaa k\xe4ytt\xe4j\xe4t ja ehdokkaat poliittiselle kartalle. [Arvokartan toiminnasta ja taustoista kerrotaan laajemmin t\xe4ss\xe4 artikkelissa](https://www.hs.fi/politiikka/art-2000010457779.html). \n\n## Kuka hy\xf6tyy vaalikoneesta?\n\nVaalikoneesta hy\xf6tyv\xe4t kaikki.K\xe4
9ytt\xe4jille eli \xe4\xe4nest\xe4jille kone on monipuolinen mahdollisuus vertailla ehdokkaita ja puolueita. Vaalikoneita my\xf6s k\xe4ytet\xe4\xe4n vaali vaalilta enemm\xe4n. Tutkimusten mukaan vaalikoneista on tullut erityisesti nuorille \xe4\xe4nest\xe4jille t\xe4rke\xe4 tiedonl\xe4hde. Tutkijat ovat my\xf6s esitt\xe4neet arvioita, ett\xe4 [vaalikoneet lis\xe4isiv\xe4t nuorten intoa \xe4\xe4nest\xe4\xe4](https://www.hs.fi/politiikka/art-2000007610098.html). Voi siis sanoa, ett\xe4 vaalikoneet palvelevat \xe4\xe4nest\xe4jien lis\xe4ksi koko suomalaista demokratiaa.\n\nEhdokkaille hy\xf6ty on se, ett\xe4 vaalikoneessa kaikki ovat tasa-arvoisessa asemassa, jossa esimerkiksi puolueella tai varallisuudella ei ole merkityst\xe4. Kone etsii k\xe4ytt\xe4j\xe4lle l\xe4heisint\xe4 ehdokasta kaikkien niiden ehdokkaiden joukosta, jotka ovat vastanneet vaalikoneen kysymyksiin ja joita k\xe4ytt\xe4j\xe4 voi \xe4\xe4nest\xe4\xe4 (esim. sama hyvinvointialue tai kunta).\n\n## Paljonko vaalikonetta k\xe4ytet\xe4\xe4n?\n\nSuurten tiedotusv\xe4lineiden (kuten Helsingin Sanomat, Ilta-Sanomat tai Yleisradio) vaalikoneita k\xe4ytet\xe4\xe4n paljon. Esimerkiksi eduskuntavaaleissa 2023 sek\xe4 Helsingin Sanomilla ett\xe4 Ilta-Sanomilla vaalikoneessa oli yli miljoona k\xe4ynti\xe4. Sanoman medioiden vaalikoneet tavoittavatkin vaalista riippuen l\xe4hemm\xe4s miljoona tai yli miljoona suomalaista. K\xe4ytt\xe4ji\xe4 on siis runsaasti, ja he my\xf6s viihtyv\xe4t palvelun parissa. Sanoman k\xe4ytt\xe4j\xe4tietojen mukaan valtaosa k\xe4ytt\xe4jist\xe4, jopa 90 prosenttia, tekee vaalikoneen loppuun asti – eli vastaa noin 30 kysymykseen ja p\xe4\xe4tyy tutkimaan ehdokkaita tulosn\xe4kym\xe4\xe4n.\n\n## Kuka tekee vaalikoneen kysymykset?\n\nSanoman vaalikoneiden kysymykset tekee kunkin lehden toimitus. Toimitukset k\xe4ytt\xe4v\xe4t kysymysten laatimiseen oman asiantuntemuksensa lis\xe4ksi laajalti erilaisia l\xe4hteit\xe4.\n\n Kysymyksi\xe4 tehdess\xe4 siis aluksi tutkitaan, mitk\xe4 ovat kunkin vaalin t\xe4rkeit\xe4 kysymyksi\xe4, jonka j\xe4lkeen toimitus itsen\xe4isesti p\xe4\xe4tt\xe4\xe4 kysymykset ja niiden muotoilun. T\xe4ss\xe4kin noudatetaan Journalistin ohjeita: ”Toimituksellista sis\xe4lt\xf6\xe4 koskevat ratkaisut on teht\xe4v\xe4 journalistisin perustein. T\xe4t\xe4 p\xe4\xe4t\xf6svaltaa ei saa miss\xe4\xe4n oloissa luovuttaa toimituksen ulkopuolisille.” Tekovaiheessa esimerkiksi Helsingin Sanomat tyypillisesti testaa kysymyksi\xe4 lukijoilla. Testien vastaukset ja palautteet tuovat toimitukselle arvokasta tietoa.\n\n Kysymyksi\xe4 tehdess\xe4 pyrit\xe4\xe4n noudattamaan tiettyj\xe4 kriteereit\xe4. Kysymysten tulisi olla selkeit\xe4 ja yksiselitteisi\xe4, sellaisia jotka kysyv\xe4t yhdess\xe4 kysymyksess\xe4 yht\xe4 asiaa. Niiden tulisi olla kiinnostavia, olennaisia kulloisenkin vaalin kannalta tai yleisempi\xe4 politiikan ideologisia suuntauksia valaisevia. Lis\xe4ksi kysymysten olisi hyv\xe4 keskitty\xe4 aiheisiin, joista tiedet\xe4\xe4n olevan erilaisia n\xe4kemyksi\xe4.\n\n## Tallentaako vaalikone vastaukseni?\n\nVaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas– tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. [Lis\xe4tietoja tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.vaalikone.fi/kunta2025/hs/tietosuoja).\n\n## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\nJos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4
9ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:"Aluevaalit ovat sunnuntaina 13.4.2025. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s entist\xe4 helpommin vertailla ehdokkaiden ja puolueiden n\xe4kemyksi\xe4 vaalien t\xe4rkeiss\xe4 kysymyksiss\xe4."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin aluevaaleihin 2022."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin aluevaaleihin 2022."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, hyvinvointialueen, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"candidate-list-selected-in-combined-election",text:"Merkint\xe4 (+K) kertoo, ett\xe4 ehdokas on valittu my\xf6s kunnanvaltuustoon."},{key:"result-area-candidates-title",text:"Alueen ehdokkaat"},{key:"how-to-vote",text:"# N\xe4in \xe4\xe4nest\xe4t kunta- ja aluevaaleissa\n\nKev\xe4\xe4ll\xe4 2025 \xe4\xe4nest\xe4j\xe4n on hyv\xe4 tiet\xe4\xe4 ainakin kolme asiaa:\n\n- Voitko \xe4\xe4nest\xe4\xe4 sek\xe4 kunta- ett\xe4 aluevaaleissa vai ainoastaan kuntavaaleissa.\n- \xc4\xe4nest\xe4tk\xf6 ennakkoon vai varsinaisena vaalip\xe4iv\xe4n\xe4.\n- Ket\xe4 \xe4\xe4nest\xe4t.\n\nHelsinkil\xe4iset voivat \xe4\xe4nest\xe4\xe4 ainoastaan kuntavaaleissa. Muualla Suomessa asuvat \xe4\xe4nest\xe4v\xe4t sek\xe4 kunta- ett\xe4 aluevaaleissa. Poikkeus on Ahvenanmaa, jossa vaaleja ei j\xe4rjestet\xe4 nyt.\n\nAikataulut molemmissa vaaleissa ovat samat.\n\nEnnakko\xe4\xe4nestys on k\xe4ynniss\xe4 Suomessa 2.–8.4.2025. Ennakkoon voi \xe4\xe4nest\xe4\xe4 miss\xe4 tahansa \xe4\xe4nestyspaikassa. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan.\n\nItse vaalip\xe4iv\xe4 on sunnuntaina 13.4.2025. Jos \xe4\xe4nest\xe4t silloin, sinun pit\xe4\xe4 menn\xe4 oman alueesi \xe4\xe4nestyspaikkaan. Se on kerrottu ilmoituskortissa, joka on postitettu kotiin. Vaalip\xe4iv\xe4n\xe4 \xe4\xe4nestyspaikat ovat auki klo 9-20. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan. Postissa tullutta \xe4\xe4nioikeusilmoitusta ei tarvita \xe4\xe4nestyspaikalla, mutta sen voi halutessaan ottaa mukaan.\n\n\xc4\xe4nestyspaikalla vaalit erotellaan toisistaan \xe4\xe4nestyslipun v\xe4rill\xe4. Aluevaalien ehdokasta \xe4\xe4nestet\xe4\xe4n violetilla lipulla, kuntavaalien lippu on valkoinen. Helsinkil\xe4iset saavat siis vain valkoisen \xe4\xe4nestyslipun. T\xe4m\xe4 koskee ennakko\xe4\xe4nestyst\xe4 ja vaalip\xe4iv\xe4\xe4.\n\nApua ja tietoa ehdokkaan valintaan voi etsi\xe4 esimerkiksi vaalikoneista.\n\nLis\xe4tietoa \xe4\xe4nest\xe4misest\xe4 l\xf6yd\xe4t [oikeusministeri\xf6n verkkosivuilta: Alue- ja kuntavaalit 2025](https://vaalit.fi/alue-ja-kuntavaalit)."}],public:{candidate:!0,election:!0,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!1,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Puolueiden mielipide",embedId:"party-mean-answers",embedPath:"/results/embeds/party-mean-answers",selections:{title:{inUse:!0,parameterName:"title"},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","R"],valueType:"nominationAreaName"},parties:{inUse:!0,allowMultiple:!0,parameterName:"party"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Haku",embedId:"resultSearch",embedPath:"/element/search",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"articleType",value:"regular"}]},{embedName:"Suurimmat puolueet etusivulle",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Hyvinvointialueen tulokset etusivulle",embedId:"areaFrontPageEmbed",embedPath:"/element/areaFrontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGra
9ph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurin puolue alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net kartalla",embedId:"voteHeatMap-candidate",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puolueen \xe4\xe4net kartalla",embedId:"voteHeatMap-party",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueen \xe4\xe4niosuuden muutos kartalla",embedId:"shareChangeMap-party",embedPath:"/element/shareChangeMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","R"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["K","A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen arvokartta",embedId:"valueBrowserChosenCouncil",embedPath:"/element/valueBrowserChosenCouncil",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["R"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},t8={legacy:!0,resultSearchRecommendations:t2,resultService:{},themes:[],values:[],scaleValues:!1,electionMachineQuestions:[],answerExplanationMaxLength:1,minimumAnswersWithExplanations:0,frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},ideologyDimensions:[],public:{candidate:!1,election:!1,result:!0},metadata:{id:"eduskunta2011",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://www.hs.fi",is:"https://www.is.fi",al:"https://www.aamulehti.fi",sk:"https://www.satakunnankansa.fi"},year:2011,electionName:"Eduskuntavaalit",electionType:"parliamentary",electionDate:"2011-04-17T17:00:00.000Z",ORKConfig:{url:"link"},themeSelection:!0,relatedArticles:[],answerOptions:[],finalDeadline:{time:"12.00",date:"31.03.2011"},notificationDate:{time:"12.00",date:"14.02.2011"},modificationDeadline:{time:"23.59",date:"22.02.2011"},nominationAreas:{"V-01":"Helsingin vaalipiiri","V-02":"Uudenmaan vaalipiiri","V-03":"Varsinais-Suomen vaalipiiri","V-04":"Satakunnan vaalipiiri","V-05":"Ahvenanmaan maakunnan vaalipiiri","V-06":"H\xe4meen vaalipiiri","V-07":"Pirkanmaan vaalipiiri","V-08":"Kymen vaalipiiri","V-09":"Etel\xe4-Savon vaalipiiri","V-10":"Pohjois-Savon vaalipiiri","V-11":"Pohjois-Karjalan vaalipiiri","V-12":"Vaasan vaalipiiri","V-13":"Keski-Suomen vaalipiiri","V-14":"Oulun vaalipiiri","V-15":"Lapin vaalipiiri"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},electionLogo:{is:{title:"Eduskuntavaalit 2011",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eduskuntavaalit 2011",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eduskuntavaalit 2011",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eduskuntavaalit 2011",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}}},frontendTemplates:{default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0}}}},useDarkMode:!0,texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1}
9,currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],listOfEmbeds:[{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}}]},t9={legacy:!0,resultSearchRecommendations:t2,resultService:{},themes:[],values:[],scaleValues:!1,electionMachineQuestions:[],answerExplanationMaxLength:1,minimumAnswersWithExplanations:0,frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},ideologyDimensions:[],public:{candidate:!1,election:!1,result:!0},metadata:{id:"eduskunta2015",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://www.hs.fi",is:"https://www.is.fi",al:"https://www.aamulehti.fi",sk:"https://www.satakunnankansa.fi"},year:2015,electionName:"Eduskuntavaalit",electionType:"parliamentary",electionDate:"2015-04-19T17:00:00.000Z",ORKConfig:{url:"link"},themeSelection:!0,relatedArticles:[],answerOptions:[],finalDeadline:{time:"12.00",date:"31.03.2015"},notificationDate:{time:"12.00",date:"14.02.2015"},modificationDeadline:{time:"23.59",date:"22.02.2015"},nominationAreas:{"V-01":"Helsingin vaalipiiri","V-02":"Uudenmaan vaalipiiri","V-03":"Varsinais-Suomen vaalipiiri","V-04":"Satakunnan vaalipiiri","V-05":"Ahvenanmaan maakunnan vaalipiiri","V-06":"H\xe4meen vaalipiiri","V-07":"Pirkanmaan vaalipiiri","V-08":"Kaakkois-Suomen vaalipiiri","V-09":"Savo-Karjalan vaalipiiri","V-10":"Vaasan vaalipiiri","V-11":"Keski-Suomen vaalipiiri","V-12":"Oulun vaalipiiri","V-13":"Lapin vaalipiiri"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},electionLogo:{is:{title:"Eduskuntavaalit 2015",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eduskuntavaalit 2015",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eduskuntavaalit 2015",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eduskuntavaalit 2015",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}}},frontendTemplates:{default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0}}}},useDarkMode:!0,texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1}
9,currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],listOfEmbeds:[{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}}]},t7={legacy:!0,resultSearchRecommendations:t3,resultService:{},themes:[],values:[],scaleValues:!1,electionMachineQuestions:[],answerExplanationMaxLength:1,minimumAnswersWithExplanations:0,frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},ideologyDimensions:[],public:{candidate:!1,election:!1,result:!0},metadata:{id:"eduskunta2019",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://www.hs.fi",is:"https://www.is.fi",al:"https://www.aamulehti.fi",sk:"https://www.satakunnankansa.fi"},year:2019,electionName:"Eduskuntavaalit",electionType:"parliamentary",electionDate:"2019-04-16T17:00:00.000Z",ORKConfig:{url:"link"},themeSelection:!0,relatedArticles:[],answerOptions:[],finalDeadline:{time:"12.00",date:"31.03.2019"},notificationDate:{time:"12.00",date:"14.02.2019"},modificationDeadline:{time:"23.59",date:"22.02.2019"},nominationAreas:{"V-01":"Helsingin vaalipiiri","V-02":"Uudenmaan vaalipiiri","V-03":"Varsinais-Suomen vaalipiiri","V-04":"Satakunnan vaalipiiri","V-05":"Ahvenanmaan maakunnan vaalipiiri","V-06":"H\xe4meen vaalipiiri","V-07":"Pirkanmaan vaalipiiri","V-08":"Kaakkois-Suomen vaalipiiri","V-09":"Savo-Karjalan vaalipiiri","V-10":"Vaasan vaalipiiri","V-11":"Keski-Suomen vaalipiiri","V-12":"Oulun vaalipiiri","V-13":"Lapin vaalipiiri"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},electionLogo:{is:{title:"Eduskuntavaalit 2019",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eduskuntavaalit 2019",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eduskuntavaalit 2019",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eduskuntavaalit 2019",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}}},frontendTemplates:{default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0}}}},useDarkMode:!0,texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1}
9,currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],listOfEmbeds:[{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K"]},title:{inUse:!0,parameterName:"title"}}}]},ae={legacy:!1,resultSearchRecommendations:t3,frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","ClosestParties","PartyValueBrowser","UniversityStudy","ElectionMachineInfo"],compareCandidates:["
9SelectCandidatesLong","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyValueBrowser","PartyMatchByThemes","PartyAnswerBrowser"],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","ValueBrowserCandidatesCountry","PopularPartyByRegion","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MostPopularPartiesArea","ValueBrowserChosenCandidate","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea","ValueBrowserSingleCandidate","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","ValueBrowserParty","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!0,valueBrowserParty:!0,valueBrowserSingleCandidate:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}},default:{electionMachine:{resultIndex:["MainResult","ClosestParties","UniversityStudy","ElectionMachineInfo"],compareCandidates:["SelectCandidatesLong","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyMatchByThemes","PartyAnswerBrowser"],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!1,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0},currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!0,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Turvallisuus\xadpolitiikka",description:"Nyt valittava eduskunta todenn\xe4k\xf6isesti osaltaan m\xe4\xe4rittelee, millainen Nato-maa Suomesta tulee. My\xf6s suhde Ven\xe4j\xe4\xe4n ja Ukrainaan leimaa tulevia vuosia: jos sota loppuu, edess\xe4 on j\xe4lleenrakennus. Ven\xe4j\xe4n n\xe4kym\xe4t ovat arvaamattomat.\xa0",id:1},{name:"Hyvinvointi\xadvaltio",description:"V\xe4est\xf6n ik\xe4\xe4ntyminen ja heikko talouskasvu vaikeuttavat hyvinvointivaltioon perinteisesti kuuluvien palveluiden j
9a sosiaaliturvan yll\xe4pit\xe4mist\xe4. Nyt valittavien kansanedustajien on etsitt\xe4v\xe4 vastauksia siihen, miten ongelmat ratkotaan.\xa0",id:2},{name:"Julkinen talous",description:"Suomi on monien muiden Euroopan maiden tavoin velkaantunut viime vuosina voimakkaasti. Talouskasvun ennustetaan l\xe4hivuosina olevan olematonta tai heikkoa, ja v\xe4est\xf6n ik\xe4\xe4ntyminen lis\xe4\xe4 valtion kuluja. N\xe4iss\xe4 vaaleissa valittavien kansanedustajien on ratkottava, miten valtion rahat saadaan riitt\xe4m\xe4\xe4n.\xa0",id:3},{name:"Omat rahat",description:"Kansalaisten ostovoima heikkenee energian ja muiden elinkustannusten kallistumisen takia. Suomen Pankin ja valtiovarainministeri\xf6n mukaan edess\xe4 on taantuma ja sen j\xe4lkeen heikon kasvun aika.\xa0",id:4},{name:"Ymp\xe4rist\xf6 ja ilmasto",description:"Suomen nettoilmastop\xe4\xe4st\xf6t eiv\xe4t ole tavoitteista huolimatta pienentyneet. YK:n luontokokous p\xe4\xe4tti joulukuussa, ett\xe4 maailman maa- ja merialueista suojellaan 30 prosenttia vuoteen 2030 menness\xe4. Energia on kallistunut, ja eri puolueet tekev\xe4t erilaisia johtop\xe4\xe4t\xf6ksi\xe4 siit\xe4, miten sen pit\xe4isi vaikuttaa ilmastotoimiin.\xa0",id:5},{name:"Arvot",description:"Seuraavassa esitet\xe4\xe4n kysymyksi\xe4, jotka eiv\xe4t suoraan liity eduskuntavaaleihin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:6},{name:"Turvallisuus\xadpolitiikka",description:"Ven\xe4j\xe4n aloittama sota Ukrainassa muutti Suomen turvallisuustilannetta dramaattisesti. Tuleva eduskunta tulee jatkamaan muutosta sek\xe4 ulkopolitiikassa ett\xe4 puolustuksessa ja saattaa my\xf6s joutua viem\xe4\xe4n loppuun Suomen Nato-j\xe4senyysprosessin.\xa0",id:7},{name:"Rahat",description:"Viime vuosien kriisien seurauksena valtion velkaantuminen on kiihtynyt huolestuttavasti. Seuraava eduskunta joutuu keksim\xe4\xe4n, kuinka talous saadaan j\xe4lleen tasapainoon leikkausten tai veronkorotusten kautta.\xa0",id:8},{name:"Energia\xadkriisi",description:"T\xe4n\xe4 talvena suomalaiset ovat kamppailleet pilviin nousseiden energian hintojen kanssa. Tulevat kansanedustajat ovat vastuussa pysyvist\xe4 keinoista, joilla vastaavien kriisien vaikutukset saadaan minimoitua.",id:9},{name:"Ilmasto ja liikenne",description:"Suomi on sitoutunut olemaan hiilineutraali maa vuoteen 2035 menness\xe4. Eduskunta tulee p\xe4\xe4tt\xe4m\xe4\xe4n esimerkiksi liikenteen s\xe4hk\xf6istymist\xe4 kiihdytt\xe4vist\xe4 toimista, jotta tavoite voidaan saavuttaa.",id:10},{name:"Terveys ja koulutus",description:"Esimerkiksi hoitoalalla ja varhaiskasvatuksessa k\xe4rsit\xe4\xe4n pahasta ty\xf6voimapulasta. Tulevat kansanedustajat p\xe4\xe4sev\xe4t ratkaisemaan, tartutaanko ongelmaan esimerkiksi koulutuspaikkoja lis\xe4\xe4m\xe4ll\xe4 tai maahanmuuttoa edist\xe4m\xe4ll\xe4.\xa0",id:11},{name:"Rikollisuus",description:"Erityisesti nuorten v\xe4kivalta ja katujengi-ilmi\xf6 ovat puhuttaneet viime aikoina. Tulevat lains\xe4\xe4t\xe4j\xe4t voivat halutessaan p\xe4\xe4tt\xe4\xe4 esimerkiksi rangaistusten koventamisesta, poliisien m\xe4\xe4r\xe4n lis\xe4\xe4misest\xe4 tai ennaltaehk\xe4isev\xe4n ty\xf6n tehostamisesta.",id:12},{name:"Muut",description:"Pit\xe4isik\xf6 viinien myynti ruokakaupassa sallia? Puuttuuko EU liikaa Suomen asioihin, esimerkiksi metsien hoitoon? Kansanedustajat p\xe4\xe4sev\xe4t ty\xf6ss\xe4\xe4n linjaamaan monenlaisista merkitt\xe4vist\xe4 asioista.\xa0",id:13},{name:"Pirkanmaa",description:"Seuraavat kysymykset koskettavat erityisesti Pirkanmaan vaalipiiri\xe4 ja pirkanmaalaisia \xe4\xe4nest\xe4ji\xe4.",id:14},{name:"Satakunta",description:"Seuraavat kysymykset koskettavat erityisesti Satakunnan vaalipiiri\xe4 ja satakuntalaisia \xe4\xe4nest\xe4ji\xe4.",id:15}],electionMachineQuestions:[{id:1,text:"Ukrainaa on tuettava sodassa ja j\xe4lleenrakennuksessa kustannuksista huolimatta.",mandatory:!0,order:1,dimension:"fact",theme:1,themeName:"Turvallisuuspolitiikka",brand:["hs","al","sk"],backgroundInformation:{text:"Ven\xe4j\xe4n hy\xf6k\xe4tty\xe4 Ukrainaan Suomi on l\xe4hett\xe4nyt Ukrainaan apua satojen miljoonien eurojen edest\xe4. Ukrainalle on annettu muun muassa puolustustarvikkeita ja humanitaarista apua.\xa0\xa0",relatedArticles:[]}},{id:2,text:"Suomen on k\xe4ytett\xe4v\xe4 puolustukseen rahaa v\xe4hint\xe4\xe4n Naton tavoitteen verran.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Turvallisuuspolitiikka",brand:["hs"],backgroundInformation:{text:"Nato-maat ovat sitoutuneet siihen, ett\xe4 kunkin maan puolustukseensa k\xe4ytt\xe4m\xe4t rahat ovat v\xe4hint\xe4\xe4n kaksi prosenttia suhteessa bruttokansantuotteeseen vuoteen 2024 menness\xe4. L\xe4hesk\xe4\xe4n kaikki Nato-maat eiv\xe4t nyt t\xe4yt\xe4 tavoitetta. Kalliiden hankintojen vuoksi Suomi ylitt\xe4\xe4 kahden prosentin rajan tulevina vuosina, mutta vuodesta 2026 alkaen puolustusmenojen osuus on laskemassa selv\xe4sti sen alle.\xa0",relatedArticles:[{title:"Hallituksen esitys HE 315/2022 vp",url:"https://www.eduskunta.fi/FI/vaski/Hallitu
9ksenEsitys/Sivut/HE_315+2022.aspx",date:"5.12.2022",showInCandidateMachine:!0}]}},{id:3,text:"Peruskoulussa pit\xe4\xe4 rajoittaa lailla oppilaiden m\xe4\xe4r\xe4\xe4 yht\xe4 opettajaa kohden, vaikka se tarkoittaisi s\xe4\xe4st\xf6j\xe4 muualta, veronkorotuksia tai lis\xe4\xe4 velkaa.",mandatory:!0,order:3,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs"],backgroundInformation:{text:"Opetusryhm\xe4n koko vaikuttaa ty\xf6rauhaan ja oppimistuloksiin, mutta opettajien lis\xe4\xe4minen tarkoittaa suurempia kustannuksia. Suomessa perusopetuksen kustannukset ovat olleet kasvussa. Samaan aikaan kansainv\xe4lisen Pisa-vertailun mukaan Suomessa koululaisten osaamistaso on heikentynyt.\xa0\xa0",relatedArticles:[{title:"Koulutuksen kustannukset jatkavat kasvuaan – kustannukset nousivat merkitt\xe4v\xe4sti vuonna 2021",url:"https://www.oph.fi/fi/uutiset/2022/koulutuksen-kustannukset-jatkavat-kasvuaan-kustannukset-nousivat-merkittavasti-vuonna",date:"24.11.2022",image:{alt:"Paraskoulu",src:"https://www.oph.fi/sites/default/files/styles/main_media/public/2019-03/viittaajat.jpg?h=2f85a574&itok=GSQwvilD"},showInCandidateMachine:!0},{title:"Education at a Glance 2022",url:"https://www.oecd.org/education/education-at-a-glance/",date:"3.10.2022",image:{alt:"book",src:"https://assets.oecdcode.org/covers/340/3197152b.jpg"},showInCandidateMachine:!0}]}},{id:4,text:"Suomeen on perustettava huumeiden k\xe4ytt\xf6huoneita.",mandatory:!0,order:4,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs","al","sk"],backgroundInformation:{text:"Huumeidenk\xe4ytt\xf6huoneissa voisi k\xe4ytt\xe4\xe4 laittomia p\xe4ihteit\xe4 terveydenhuollon ty\xf6ntekij\xe4n valvonnassa. Nykyinen laki ei salli k\xe4ytt\xf6huoneiden perustamista Suomeen. K\xe4ytt\xf6huoneiden hy\xf6tyin\xe4 on THL:n mukaan pidetty muun muassa huumeiden k\xe4ytt\xe4jien terveysriskien ja yliannostuskuolemien ehk\xe4isy\xe4. Huoneita on vastustettu siksi, ett\xe4 niiden on pel\xe4tty rohkaisevan huumeiden k\xe4ytt\xf6\xf6n ja viiv\xe4stytt\xe4v\xe4n hoitoon hakeutumista.\xa0",relatedArticles:[{title:"Huumeiden k\xe4ytt\xf6huoneet",url:"https://thl.fi/fi/web/alkoholi-tupakka-ja-riippuvuudet/huumeet/huumetutkimus/huumetyota-meilla-ja-maailmalla/huumeiden-kayttohuoneet",date:"4.11.2021",showInCandidateMachine:!0}]}},{id:5,text:"Valtion on annettava suunniteltua enemm\xe4n rahaa sosiaali- ja terveydenhuoltoon, vaikka se tarkoittaisi s\xe4\xe4st\xf6j\xe4 muualta, veronkorotuksia tai lis\xe4\xe4 velkaa.",mandatory:!0,order:5,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs"],backgroundInformation:{text:"Vastuu sosiaali- ja terveydenhuollon j\xe4rjest\xe4misest\xe4 on siirtynyt vuoden 2023 alusta kunnilta hyvinvointialueille Helsinki\xe4 lukuun ottamatta. Niiden rahoitus tulee p\xe4\xe4asiassa valtiolta, ja se kasvaa tietyn laskukaavan mukaan. Monien alueiden mukaan rahoitus ei riit\xe4. Osa alueista on sanonut joutuvansa karsimaan palveluita.\xa0",relatedArticles:[{title:"Sote-uudistus",url:"https://soteuudistus.fi/etusivu",date:"",image:{alt:"",src:"https://soteuudistus.fi/documents/16650278/20317753/SoteuudistusSivustoHeader-ei-teksti%C3%A4.jpg/7b0fe75e-a5a3-b270-7869-e73a4cdfe3e9?t=1671706088715"},showInCandidateMachine:!0}]}},{id:6,text:"Nuorisorikollisuutta on pyritt\xe4v\xe4 kitkem\xe4\xe4n ensisijaisesti muilla keinoilla kuin rangaistuksia koventamalla.",mandatory:!0,order:6,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs","al","sk"],backgroundInformation:{text:"Muut keinot voivat tarkoittaa esimerkiksi poliisin, koulun tai muiden tahojen tekem\xe4\xe4 ennalta ehk\xe4isev\xe4\xe4 ty\xf6t\xe4. Poliisin tilastojen mukaan alaik\xe4isten v\xe4kivaltarikollisuuden m\xe4\xe4r\xe4 on kasvanut merkitt\xe4v\xe4sti vuodesta 2011 vuoteen 2021. Kasvu on ollut erityisen voimakasta alle 15-vuotiaiden joukossa. Rikosoikeudelliseen vastuuseen voi joutua vasta 15-vuotiaana.\xa0",relatedArticles:[{title:"Nuorten v\xe4kivaltarikollisuuden m\xe4\xe4r\xe4 ja piirteet poliisin tietoon tulleen rikollisuuden valossa",url:"https://poliisi.fi/documents/25235045/0/raportti-nuorten-vakivaltarikollisuus-poliisi.pdf/5707ff63-fce5-b1a3-83ed-6ae62808adfa?t=1646715994222",date:"8.3.2022",showInCandidateMachine:!0}]}},{id:7,text:"Ty\xf6tt\xf6mi\xe4 pit\xe4\xe4 saada nykyist\xe4 enemm\xe4n t\xf6ihin heikent\xe4m\xe4ll\xe4 ansiosidonnaista ty\xf6tt\xf6myysturvaa.",mandatory:!0,order:7,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointivaltion rahoittaminen vaatii korkeaa ty\xf6llisyysastetta. Ty\xf6t\xf6n voi saada ansiosidonnaista p\xe4iv\xe4rahaa 300-500 p\xe4iv\xe4\xe4. Osa puolueista on ehdottanut ansiosidonnaisen leikkaamista. Sit\xe4 perustellaan julkisten menojen pienentymisell\xe4 ja ty\xf6llistymisen nopeutumisella. Toisaalta ty\xf6tt\xf6myysturvan heikent\xe4minen v\xe4hent\xe4\xe4 ostovoimaa ja voi saada ihmisi\xe4 ty\xf6llistym\xe4\xe4n v\xe4hemm\xe4n tuottaviin t\xf6ihin.\xa0\xa0",relatedArticles:[]}},{id:8,text:"Suomeen on houkuteltava aktiivisemmin ulkomaisia ty\xf6ntekij\xf6it\xe4.",mandatory:!0,order:8,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Suomessa on pulaa ty\xf6voimasta useilla aloilla, mutta er
9ityisen paha se on sosiaali- ja terveydenhuollossa. Osa ty\xf6nantajien edustajista ja poliitikoista on arvioinut, ett\xe4 Suomeen tarvittaisiin jopa kymmeni\xe4tuhansia maahanmuuttajia lis\xe4\xe4 t\xf6ihin. Osa poliitikoista katsoo, ett\xe4 t\xe4st\xe4 seuraa vain uusia ongelmia.\xa0",relatedArticles:[{title:"Ammattibarometri: Ty\xf6voimapulan kasvu on hidastunut – pulan k\xe4rjess\xe4 jatkavat sosiaali- ja terveysalan ammatit",url:"https://valtioneuvosto.fi/-/1410877/ammattibarometri-tyovoimapulan-kasvu-on-hidastunut-pulan-karjessa-jatkavat-sosiaali-ja-terveysalan-ammatit",date:"1.11.2022",image:{alt:"Ammattibarometri kertoo 5 ammattia, joissa on pulaa ty\xf6voimasta ja 5 ammattia, joihin on ylitarjontaa ty\xf6voimasta.",src:"https://valtioneuvosto.fi/documents/1410877/104583625/25102022_ammattibarometri.png/a143d28d-05e2-2757-42a5-063e2a0bf45d?t=1667283907516&width=1200"},showInCandidateMachine:!0}]}},{id:9,text:"Valtion velkaantumista tulee hillit\xe4, vaikka se merkitsisi leikkauksia etuuksiin tai palveluihin.",mandatory:!0,order:9,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Valtion velka on kasvanut pitk\xe4\xe4n. Valtiovarainministeri\xf6 on ehdottanut, ett\xe4 tulevat hallitukset sitoutuvat v\xe4hent\xe4m\xe4\xe4n velkaantumista vaikka leikkaamalla kansalaisten palveluista ja kirist\xe4m\xe4ll\xe4 verotusta. Virkamiesten mukaan alkavalla vaalikaudella julkista taloutta pit\xe4\xe4 vahvistaa kuudella miljardilla eurolla. P\xe4\xe4t\xf6kset tekev\xe4t kuitenkin poliitikot, ja heill\xe4 on asiasta erilaisia n\xe4kemyksi\xe4.\xa0",relatedArticles:[{title:"Uudistuva ja kest\xe4v\xe4 Suomi : Valtiovarainministeri\xf6n virkamiespuheenvuoro 2022",url:"https://julkaisut.valtioneuvosto.fi/handle/10024/164480",date:"8.12.2022",showInCandidateMachine:!0},{title:"Faktoja valtionvelasta",url:"https://www.valtionvelka.fi/valtion-velan-ja-kassan-hallinta/faktoja-valtionvelasta/",date:"29.3.2022",showInCandidateMachine:!0}]}},{id:10,text:"Palkkojen verotusta pit\xe4\xe4 alentaa, vaikka se johtaisi palveluiden leikkauksiin, muun verotuksen kirist\xe4miseen tai velan kasvuun.",mandatory:!0,order:10,dimension:"fact",theme:4,themeName:"Omat rahat",brand:["hs"],backgroundInformation:{text:"Verojen kevent\xe4mist\xe4 perustellaan usein sill\xe4, ett\xe4 ty\xf6nteosta tulisi kannattavampaa ja talouskasvu kohenisi. Suomen veroaste eli verojen suhde bruttokansantuotteeseen oli 42,8 prosenttia vuonna 2021. T\xe4m\xe4 on EU:n keskiarvoa korkeampi. Koska valtio rahoittaa menonsa verotuloilla ja vel
9kaa ottamalla, verotuksen kevent\xe4minen tarkoittaisi joko leikkauksia tai lis\xe4\xe4 velkaa, vaikka verotettava tulo lis\xe4\xe4ntyisikin.\xa0",relatedArticles:[]}},{id:11,text:"Valtion pit\xe4\xe4 tukea enemm\xe4n kansalaisia, jotka k\xe4rsiv\xe4t energian hinnan noususta, vaikka se kiihdytt\xe4isi inflaatiota tai heikent\xe4isi valtion taloutta.",mandatory:!0,order:11,dimension:"fact",theme:4,themeName:"Omat rahat",brand:["hs"],backgroundInformation:{text:"Kansalaisia ja yrityksi\xe4 on tuettu energian hinnannousun takia sek\xe4 Suomessa ett\xe4 muualla Euroopassa, etteiv\xe4t he joutuisi taloudelliseen ahdinkoon. Suurille ihmisjoukoille annettavat tuet ovat kuitenkin kalliita. Isot energiatuet voivat my\xf6s kiihdytt\xe4\xe4 inflaatiota, joka lis\xe4\xe4 Euroopan keskuspankin painetta nostaa korkoja.\xa0",relatedArticles:[{title:"Suomen talous luisuu taantumaan",url:"https://www.suomenpankki.fi/fi/media-ja-julkaisut/tiedotteet/2022/suomen-talous-luisuu-taantumaan/",date:"16.12.2022",showInCandidateMachine:!0}]}},{id:12,text:"Hakkuita pit\xe4\xe4 v\xe4hent\xe4\xe4 valtion metsiss\xe4 luontokadon ja ilmastonmuutoksen torjumiseksi.",mandatory:!0,order:12,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Maank\xe4ytt\xf6 on Suomessa muuttunut ilmastonmuutosta hillitsev\xe4st\xe4 hiilinielusta p\xe4\xe4st\xf6jen l\xe4hteeksi hakkuiden lis\xe4\xe4ntymisen ja puuston kasvun hidastumisen vuoksi. Mets\xe4lajeista yhdeks\xe4n prosenttia on uhanalaisia. Valtio omistaa Suomen metsist\xe4 noin nelj\xe4nneksen. Hakkuiden v\xe4hent\xe4minen v\xe4hent\xe4isi valtion tuloja, teollisuuden puunsaantia ja ty\xf6paikkoja.\xa0\xa0\xa0",relatedArticles:[{title:"Kasvihuonekaasuinventaarion ennakkotiedot vahvistavat: maank\xe4ytt\xf6sektori p\xe4\xe4st\xf6l\xe4hde vuonna 2021, mets\xe4t pysyiv\xe4t edelleen nettonieluna",url:"https://www.luke.fi/fi/seurannat/maatalous-ja-lulucfsektorin-kasvihuonekaasuinventaario/kasvihuonekaasuinventaarion-ennakkotiedot-vahvistavat-maankayttosektori-paastolahde-vuonna-2021-metsat-pysyivat-edelleen-nettonieluna",date:"14.12.2022",showInCandidateMachine:!0}]}},{id:13,text:"Suomen on lyk\xe4tt\xe4v\xe4 hiilineutraaliustavoitettaan kauemmaksi vuodesta 2035.",mandatory:!0,order:13,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Hiilineutraalius tarkoittaa, ett\xe4 ilmastoa l\xe4mmitt\xe4vi\xe4 p\xe4\xe4st\xf6j\xe4 tuotetaan korkeintaan sen verran kuin niit\xe4 voidaan sitoa ilmakeh\xe4st\xe4 esimerkiksi metsien avulla. Suomi tavoittelee hiilineutraaliutta viimeist\xe4\xe4n vuonna 2035. EU:n tavoite on vuodessa 2050. Hiilineutraaliustavoitteesta seuraa vaatimuksia useille yhteiskunnan aloille ruuantuotannosta ja rakentamisesta liikenteeseen ja teollisuuteen.\xa0",relatedArticles:[{title:"Hiilineutraali Suomi 2035 – kansallinen ilmasto- ja energiastrategia",url:"https://julkaisut.valtioneuvosto.fi/handle/10024/164321",date:"09.09.2022",showInCandidateMachine:!0}]}},{id:14,text:"Helsingiss\xe4 ja muissa suurissa kaupungeissa on otettava k\xe4ytt\xf6\xf6n ruuhkamaksu.",mandatory:!0,order:14,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs"],backgroundInformation:{text:"Ruuhkamaksu on teiden k\xe4yt\xf6st\xe4 peritt\xe4v\xe4 maksu, jonka tarkoituksena on hillit\xe4 ruuhkautumista ja liikenteen p\xe4\xe4st\xf6j\xe4. Nyt laki ei mahdollista ruuhkamaksujen ker\xe4\xe4mist\xe4. P\xe4\xe4kaupunkiseudun kehyskuntien tekem\xe4n selvityksen mukaan ruuhkamaksuista olisi haittaa t\xf6ihin tuleville pienituloisille autoilijoille, joilla ei ole mahdollisuutta vaihtoehtoiseen kulkumuotoon.\xa0\xa0",relatedArticles:[]}},{id:15,text:"Turkistarhaus on kiellett\xe4v\xe4 Suomessa.",mandatory:!0,order:15,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Suomi on Euroopan kolmanneksi suurin turkistentuottajamaa. Suomessa on noin 900 turkistarhaa, joista valtaosa sijaitsee Pohjanmaalla. Turkistarhaus on kielletty osassa Euroopan maista. Turkistarhauksen kielt\xe4mist\xe4 EU:ssa vaativa kansalaisaloite ylitti joulukuussa 2022 milj
9oonan allekirjoituksen rajan, ja se etenee EU:n komission k\xe4sittelyyn.\xa0\xa0",relatedArticles:[]}},{id:16,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia",mandatory:!0,order:16,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"vasemmisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:17,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:17,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:18,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu. ",mandatory:!0,order:18,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"vasemmisto"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:19,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:19,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:20,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:20,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:21,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:21,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"liberaali"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:22,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:22,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:23,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:23,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"liberaali"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:24,text:"Selkeit\xe4 rajoja ja kuria tarvitaan nykyist\xe4 enemm\xe4n lasten kasvattamisessa.",mandatory:!0,order:24,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:25,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:25,dimension:"ideology",valueDetails:[{valueId:3,targetBound:"vihre\xe4"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:26,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:26,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:27,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:27,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"vihre\xe4"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:28,text:"Maamme kaipaa vahvoja johtajia, jotka pystyv\xe4t tekem\xe4\xe4n vaikeitakin p\xe4\xe4t\xf6ksi\xe4 v\xe4litt\xe4m\xe4tt\xe4 liikaa muiden mielipiteist\xe4.",mandatory:!0,order:28,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:29,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:29,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"maaseutu"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:30,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:30,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"kapunki"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:31,text:"Vladimir Putinin Ven\xe4j\xe4 on Suomelle sotilaallinen uhka.",mandatory:!0,order:31,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:32,text:"Suomi voi alkaa rakentaa suhdettaan uudelleen Ven\xe4j\xe4\xe4n vasta, kun valta Ven\xe4j\xe4ll\xe4 vaihtuu ja Ven\xe4j\xe4 vet\xe4ytyy Ukrainasta.",mandatory:!0,order:32,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:33,text:"Suomeen tulee sijoittaa Naton tukikohta, kun Suomi on Naton j\xe4sen.",mandatory:!0,order:33,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:34,text:"Suomen pit\xe4\xe4 k\xe4ytt\xe4\xe4 puolustusmenoihin Naton vaatimat 2 prosenttia bkt:sta.",mandatory:!0,order:34,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:35,text:"Suomen tulee muuttaa ulkopolitiikkaansa Nato-kumppanien toiveiden mukaan.\xa0",mandatory:!0,order:35,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:36,text:"Valtion velkataakka on k\xe4\xe4nnett\xe4v\xe4 laskuun, vaikka se tarkoittaisi kipeit\xe4 leikkauksia.",mandatory:!0,order:36,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:37,text:"Ansiosidonnaista ty\xf6tt\xf6myysturvaa tulee leikata nykyisest\xe4 400 p\xe4iv\xe4st\xe4 200 p\xe4iv\xe4\xe4n.",mandatory:!0,order:37,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:38,text:"Lapsiperheit\xe4 pit\xe4\xe4 tukea ylim\xe4\xe4r\xe4isell\xe4 lapsilis\xe4ll\xe4 my\xf6s vuonna 2023.",mandatory:!0,order:38,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:39,text:"Kun julkista taloutta tasapainotetaan, on keinoksi valittava leikkausten sijaan ensisijaisesti verotuksen kirist\xe4minen.",mandatory:!0,order:39,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:40,text:"Ruoan arvonlis\xe4veroa ei pid\xe4 nostaa.",mandatory:!0,order:40,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:41,text:"Valtion pit\xe4\xe4 my\xf6s seuraavina vuosina tukea suomalaisia, jotka ovat vaikeuksissa suurien s\xe4hk\xf6laskujen kanssa.",mandatory:!0,order:41,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:42,text:"Ydinvoiman pit\xe4\xe4 jatkossakin olla yksi keskeisimmist\xe4 energiantuotannon muodoista Suomessa.",mandatory:!0,order:42,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:43,text:"Tuulivoiman rakentamista pit\xe4\xe4 tehostaa sujuvoittamalla lupak\xe4yt\xe4nt\xf6j\xe4 ja kevent\xe4m\xe4ll\xe4 byrokratiaa.",mandatory:!0,order:43,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:44,text:"Suomen ilmastotavoitteesta ei voi tinki\xe4 piiruakaan, vaikka talous sit\xe4 vaatisi.",mandatory:!0,order:44,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:45,text:"Bensiini ja diesel maksavat liikaa. Seuraavan hallituksen on laskettava polttoaineiden verotusta.",mandatory:!0,order:45,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:46,text:"Liikenteen s\xe4hk\xf6istymist\xe4 on edistett\xe4v\xe4 uusilla tuilla.",mandatory:!0,order:46,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:47,text:"Suomessa pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n tietullit.",mandatory:!0,order:47,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:48,text:"Hoitajamitoitusta (7 hoitajaa 10 vanhusta kohden) voidaan kevent\xe4\xe4, jotta kaikille vanhuksille riitt\xe4isi hoitopaikka.",mandatory:!0,order:48,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:49,text:"Maahanmuuttajat ovat hyv\xe4 ratkaisu ty\xf6voimapulaan muun muassa hoitoalalla.",mandatory:!0,order:49,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:50,text:"Koulutuksesta voidaan leikata, kun valtiontaloutta tasapainotetaan.",mandatory:!0,order:50,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:51,text:"Opettajien kurinpitokeinoja kouluissa pit\xe4\xe4 lis\xe4t\xe4.",mandatory:!0,order:51,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:52,text:"Pelk\xe4\xe4n liikkua kadulla yksin.",mandatory:!0,order:52,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:53,text:"Nuorten jengiv\xe4kivaltaan tulee puuttua rangaistuksia koventamalla.\xa0",mandatory:!0,order:53,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}}
9,{id:54,text:"Huumeiden k\xe4yt\xf6n tulee olla jatkossakin rangaistavaa.",mandatory:!0,order:54,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:55,text:"Yleisradion rahoitukseen tulee tehd\xe4 merkitt\xe4vi\xe4 leikkauksia.",mandatory:!0,order:55,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:56,text:"Viinien myynti ruokakaupoissa pit\xe4\xe4 sallia.",mandatory:!0,order:56,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:57,text:"Koko Suomi on pidett\xe4v\xe4 asutettuna.",mandatory:!0,order:57,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:58,text:"EU:lla on liikaa valtaa Suomen mets\xe4politiikkaan.",mandatory:!0,order:58,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:59,text:"Minua ei haittaa, jos lapseni menee naimisiin samaa sukupuolta olevan kanssa.",mandatory:!0,order:59,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:60,text:"Eutanasia tulee laillistaa.",mandatory:!0,order:60,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:61,text:"Pirkanmaalaisten kansanedustajien on ajettava ensisijaisesti koko maan, ei oman maakunnan etua eduskunnassa.",mandatory:!0,order:61,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:62,text:"Moottoritien oikaisu pit\xe4\xe4 rakentaa pikimmiten Lemp\xe4\xe4l\xe4n ja Pirkkalan v\xe4lille valtatielle 3.",mandatory:!0,order:62,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:63,text:"Tampereen ja Helsingin v\xe4lille on rakennettava junaliikenteelle t\xe4ysin uusi suurnopeusrata, pelkk\xe4 nykyisen radan parantaminen esimerkiksi lis\xe4raiteilla ja oikaisuilla ei riit\xe4.",mandatory:!0,order:63,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:64,text:"Valtion on rahoitettava raitiotien jatkamista Tampereelta naapurikuntiin Yl\xf6j\xe4rvelle, Pirkkalaan ja Kangasalle.",mandatory:!0,order:64,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:65,text:"Tampere-Pirkkalan kansainv\xe4listen lentoyhteyksien m\xe4\xe4r\xe4\xe4 pit\xe4\xe4 kasvattaa mahdollisimman paljon. ",mandatory:!0,order:65,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:66,text:"Pirkanmaalle j\xe4\xe4 sote-uudistuksen j\xe4lkeen liian monta kuntaa.",mandatory:!0,order:66,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:67,text:"Ydinvoiman pientuotantoa on rakennettava Suomessa eturintamassa Pirkanmaalle.",mandatory:!0,order:67,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:68,text:"Tampereella tarjottavaa korkeakoulutusta pit\xe4\xe4 keskitt\xe4\xe4 sellaisille aloille, joilla ty\xf6llisyysn\xe4kym\xe4t ovat varmimmat.",mandatory:!0,order:68,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:69,text:"Terveydenhuoltoon tarvitaan lis\xe4\xe4 yksityisen yrityksen kaltaisesti toimivia julkisomisteisia yhti\xf6it\xe4, esimerkkein\xe4 tekonivelsairaala Coxa ja Taysin Syd\xe4nsairaala.",mandatory:!0,order:69,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:70,text:"Pirkanmaan hyvinvointialueen pit\xe4\xe4 k\xe4ytt\xe4\xe4 my\xf6s yksityisi\xe4 palveluntarjoajia halunsa ja tarpeensa mukaan.",mandatory:!0,order:70,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:71,text:"Porin lentoliikenteen tukeminen on paitsi valtion my\xf6s Satakunnan kaikkien kuntien asia.",mandatory:!0,order:71,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"Porin kaupunki maksaa nykyisin suur
9imman osan lentoliikenteen kustannuksista itse. Valtio osallistuu miljoonalla eurolla, mik\xe4 on noin kolmannes rahoituksesta.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:72,text:"Satakunnan pit\xe4\xe4 panostaa liikenneyhteyksiss\xe4\xe4n ensisijaisesti raideliikenteen kehitt\xe4miseen.",mandatory:!0,order:72,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:73,text:"Porista Niinisalon kautta Parkanoon kulkeva rata pit\xe4isi remontoida huoltovarmuuden ja Naton tuomien tarpeiden vuoksi.",mandatory:!0,order:73,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"Satakuntaliiton vuonna 2020 tekem\xe4n selvityksen mukaan hankkeen kustannusarvio oli tuolloin 360-420 miljoonaa euroa.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:74,text:"Porin lentokentt\xe4, satama ja pelastusharjoitusalue muodostavat kokonaisuuden, johon pit\xe4\xe4 tavoitella Nato-tukikohtaa.",mandatory:!0,order:74,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:75,text:"Satakunnan susikantaa pit\xe4\xe4 v\xe4hent\xe4\xe4.",mandatory:!0,order:75,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:76,text:"Satakunnan oma yliopisto pit\xe4\xe4 saada hallitusohjelmaan.",mandatory:!0,order:76,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:77,text:"Valtiovallan on turvattava turvetuotannon toimintaedellytykset huoltovarmuuden varmistamiseksi.",mandatory:!0,order:77,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:78,text:"Satakuntaan voidaan rakentaa lis\xe4\xe4 ydinvoimaa.",mandatory:!0,order:78,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:79,text:"Kokem\xe4enjoen vesist\xf6n suojelun varmistaminen on t\xe4rke\xe4mp\xe4\xe4 kuin teollisuuden ty\xf6paikkojen luominen alueelle.",mandatory:!0,order:79,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:80,text:"Satakunnan vaalipiiri pit\xe4\xe4 yhdist\xe4\xe4 joko Pirkanmaan tai Varsinais-Suomen vaalipiiriin.",mandatory:!0,order:80,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"V\xe4est\xf6ennusteen mu
9kaan Satakunnan vaalipiirin kansanedustajapaikkojen m\xe4\xe4r\xe4 tippuu seitsem\xe4\xe4n vuoden 2027 eduskuntavaaleissa.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"}],metadata:{id:"eduskunta2023",electionDate:"2023-04-02T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://www.hs.fi/politiikka/art-2000009484684.html",is:"https://tulos.vaalikone.fi/eduskunta2023/is",al:"https://www.aamulehti.fi/pirkanmaa/art-2000009487835.html",sk:"https://www.satakunnankansa.fi/satakunta/art-2000009489348.html"},curtainTime:{date:"2.4.2023",time:"20"},universityStudyHref:"https://polscihelsinki.eu.qualtrics.com/jfe/form/SV_3q10nGkUpWCu7b0",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"combinedManhattanCfa",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"12.00",date:"14.02.2023"},modificationDeadline:{time:"23.59",date:"22.02.2023"},finalDeadline:{time:"12.00",date:"31.03.2023"},year:2023,electionName:"Eduskuntavaalit",electionType:"parliamentary",themeSelection:!0,electionLogo:{is:{title:"Eduskuntavaalit 2023",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eduskuntavaalit 2023",light:{src:"logo-hs-ballot.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-ballot-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eduskuntavaalit 2023",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eduskuntavaalit 2023",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[{title:"HS:n vaalikone on avattu – n\xe4in se toimii",url:"https://www.hs.fi/politiikka/art-2000009380289.html",brand:"hs",date:"14.2.2023",image:{alt:"HS:n vaalikone on avattu",src:"https://hs.mediadelivery.fi/img/1920/2e71f0acac61300a1a25513b8b620dca.jpg"}},{title:"Miten ehdokkaat sijoittuvat arvokartalle, ent\xe4 sin\xe4? HS:n vaalikoneen arvokysymykset uudistuivat",url:"https://www.hs.fi/politiikka/art-2000009332015.html",brand:"hs",date:"14.2.2023",image:{alt:"HS:n uudistunut vaalikone",src:"https://hs.mediadelivery.fi/img/1920/4493beb3d20b0ea8eaee81997336b9d7.jpg"}},{title:"HS avaa vaalikoneen algoritmin kaikkien n\xe4ht\xe4v\xe4ksi",url:"https://www.hs.fi/politiikka/art-2000009410993.html",brand:"hs",date:"23.2.2023",image:{alt:"HS avaa vaalikoneen algoritmin kaikkien n\xe4ht\xe4v\xe4ksi",src:"https://hs.mediadelivery.fi/img/658/2e71f0acac61300a1a25513b8b620dca.jpg"}},{title:"Kenelle \xe4\xe4ni? Ilta-Sanomien vaalikone on nyt auki – etsi itsellesi ehdokas",url:"https://www.is.fi/politiikka/art-2000009383528.html",brand:"is",date:"14.2.2023",image:{alt:"Ilta-Sanomien vaalikone",src:"https://is.mediadelivery.fi/img/1920/1b1d2f7658fb404a9969b1db693ad62e.gif"}},{title:"Aamulehden vaalikone on avattu – T\xe4st\xe4 siin\xe4 on kyse",url:"https://www.aamulehti.fi/uutiset/art-2000009364237.html",brand:"al",date:"14.2.2023",image:{alt:"Aamulehden vaalikone",src:"https://sndp.mediadelivery.fi/img/468/a893409a6079840a8a42ab55e7785842.jpg"}},{title:"Satakunnan Kansan eduskuntavaalikone aukesi",url:"https://www.satakunnankansa.fi/satakunta/art-2000009392532.html",brand:"sk",date:"14.2.2023"}],nominationAreas:{"V-01":"Helsingin vaalipiiri","V-02":"Uudenmaan vaalipiiri","V-03":"Varsinais-Suomen vaalipiiri","V-04":"Satakunnan vaalipiiri","V-05":"Ahvenanmaan maakunnan vaalipiiri","V-06":"H\xe4meen vaalipiiri","V-07":"Pirkanmaan vaalipiiri","V-08":"Kaakkois-Suomen vaalipiiri","V-09":"Savo-Karjalan vaalipiiri","V-10":"Vaasan vaalipiiri","V-11":"Keski-Suomen vaalipiiri","V-12":"Oulun vaalipiiri","V-13":"Lapin vaalipiiri"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien, sitten Ilta-Sanomien j
9a lopuksi aluemedioiden vaalikonekysymykset. Jotkut kysymykset ovat yhteisi\xe4 kaikille vaalikoneille. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, koulutus ja ammatti \n - ehdokkaan puolue \n - kunta, jossa on ehdokkaana \n - onko ehdokas t\xe4ll\xe4 hetkell\xe4: kansanedustaja, aluevaltuutettu tai kunnanvaltuutettu \n - ehdokkaan oma vapaamuotoinen kuvausteksti\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:"Puoluevertailussa tutkit oman vaalipiirisi sijaan ehdokkaita kaikkialta Suomesta."},{key:"election-faq",brandSpecific:!0,text:{hs:"# Tietoja Sanoman vaalikoneesta\n\n Sanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median versiossa. Toimintaperiaate on kuitenkin sama.\n\n ## Miten vaalikone toimii?\n\n Sanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan. Jokaisen vaalikoneen (Helsingin Sanomien, Ilta-Sanomien ja Aamulehden sek\xe4 Satakunnan Kansan) tarkemmasta laskutavasta ja taustatietoja kysymyksist\xe4 l\xf6yd\xe4t tulossivulta vastattuasi vaalikoneen kysymyksiin. \n\n ## Miten vastaan kysymyksiin?\n\n Kysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n ## Miten k\xe4yt\xe4n vaalikonetta?\n\n Aloita vaalikoneen kysymyksiin vastaaminen painamalla vaalikoneen etusivun “Aloitetaan”–painiketta ja valitse alasvetovalikosta kotikuntasi. Valitse t\xe4m\xe4n j\xe4lkeen kysymysteemat, joihin haluat vastata. Vastaat t\xe4m\xe4n j\xe4lkeen yhteen kysymykseen kerrallaan valitsemistasi kysymysteemoista. Etenemisen vaalikoneessa n\xe4et sivun yl\xe4laidassa n\xe4kyv\xe4st\xe4 etenemispalkista, sek\xe4 kysymysteeman nimen vieress\xe4 n\xe4kyv\xe4st\xe4 kysymysm\xe4\xe4r\xe4st\xe4. Valitse sinulle sopivin vaihtoehto viidest\xe4 vastauspainikkeesta. Kun olet vastannut kaikkiin kysymyksiin, siirryt tulossivulle, jossa sinulle esitell\xe4\xe4n ensin sinulle sopivimmat ehdokkaat, ehdokkaat eri arvoakseleilla sek\xe4 lis\xe4tietoja vaaleista ja vaalikoneesta. Voit my\xf6s vertailla puolueita ja ehdokkaita tulossivuilta l\xf6ytyvilt\xe4 sivuilta. \n\n ## Tallennetaanko vastauksiani?\n\n Vastauksiasi vaalikoneeseen ei tallenneta. Ker\xe4\xe4mme ev\xe4ste- ja laitetunnisteiden ja muiden vastaavien tekniikoiden, kuten selaimen paikallisen tietovaraston, avulla tietoja esimerkiksi sivuista, joilla k\xe4ytt\xe4j\xe4t vierailevat. K\xe4yt\xe4mme n\xe4it\xe4 tietoja muun muassa sivustojen ja sovellusten toiminnan, sis\xe4lt\xf6suositusten ja mainonnan osuvuuden parantamiseksi – mainostulot ovat t\xe4rke\xe4 osa median rahoitusta. [Lis\xe4tietoja Sanoman tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/evastekaytannot/). \n\n ## Kuka on minulle sopivin ehdokas?\n\n Vastaa ensin vaalikoneen kysymyksiin. T\xe4m\xe4n j\xe4lkeen n\xe4et “Yhteenveto”–sivun, jossa on lueteltu sinulle viisi parhainta ehdokasta. Jos haluat n\xe4hd\xe4 useampia ehdokkaita, paina “Vertaile ehdokkaita”, jossa voit vertailla ehdokkaita tarkemmin. Paina “Muokkaa ehdokaslistaa” ja n\xe4et kaikki ehdokkaat sopivuusj\xe4rjestyksess\xe4. Lis\xe4\xe4 ehdokkaita vertailuun ja paina “Siirry vertailuun” ja voit vertailla ehdokkaiden vastauksia. \n\n ## Tulossivut eiv\xe4t toimi ja n\xe4en virheviestin.\n\n Et ole vastannut mahdollisesti tarpeeksi useaan kysymykseen, jotta tuloksia voitaisiin laskea. Paina sivulta l\xf6ytyv\xe4\xe4 “Aloita alusta”–painiketta 
9ja vastaa useampaan kysymykseen. Jos n\xe4et virheviestin edelleen t\xe4m\xe4n j\xe4lkeen, ota yhteytt\xe4 tukeemme osoitteessa [[email protected]](mailto:[email protected]). \n\n ## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n Jos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]).\n\n ## Millaisia p\xe4ivityksi\xe4 HS:n vaalikoneen algoritmiin on tehty vaalikoneen julkaisun j\xe4lkeen? ## \n\n Helsingin Sanomien vaalikoneessa tuloslaskennan taustalla on tilastollinen analyysi, joka tehd\xe4\xe4n kaikkien ehdokkaiden vastauksille. Koska ehdokkaiden vastauksia on tullut lis\xe4\xe4 tai korjattu vaalikoneen julkaisun j\xe4lkeen, se tarkoittaa, ett\xe4 uusien vastausten my\xf6t\xe4 my\xf6s analyysi pit\xe4\xe4 tehd\xe4 uudestaan. \n\n T\xe4ss\xe4 tiedot p\xe4ivityksist\xe4:\n - 15.2.2023 vaalikoneen julkaisu, laskenta tehty 14.2.2023 iltap\xe4iv\xe4n ehdokasdatan perusteella.\n - 15.2.2023 laskentamallin p\xe4ivitys kaksi kertaa\n - 20.2.2023 aamulla korjattu virhe, jossa yksi kysymys laskett
9iin tulokseen kahdesti\n - 20.2.2023 laskentamallin p\xe4ivitys illalla\n - 23.2.2023 laskentamallin p\xe4ivitys aamulla",default:"# Tietoja Sanoman vaalikoneesta\n\n Sanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median versiossa. Toimintaperiaate on kuitenkin sama.\n\n ## Miten vaalikone toimii?\n\n Sanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan. Jokaisen vaalikoneen (Helsingin Sanomien, Ilta-Sanomien ja Aamulehden sek\xe4 Satakunnan Kansan) tarkemmasta laskutavasta ja taustatietoja kysymyksist\xe4 l\xf6yd\xe4t tulossivulta vastattuasi vaalikoneen kysymyksiin. \n\n ## Miten vastaan kysymyksiin?\n\n Kysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n ## Miten k\xe4yt\xe4n vaalikonetta?\n\n Aloita vaalikoneen kysymyksiin vastaaminen painamalla vaalikoneen etusivun “Aloitetaan”–painiketta ja valitse alasvetovalikosta kotikuntasi. Valitse t\xe4m\xe4n j\xe4lkeen kysymysteemat, joihin haluat vastata. Vastaat t\xe4m\xe4n j\xe4lkeen yhteen kysymykseen kerrallaan valitsemistasi kysymysteemoista. Etenemisen vaalikoneessa n\xe4et sivun yl\xe4laidassa n\xe4kyv\xe4st\xe4 etenemispalkista, sek\xe4 kysymysteeman nimen vieress\xe4 n\xe4kyv\xe4st\xe4 kysymysm\xe4\xe4r\xe4st\xe4. Valitse sinulle sopivin vaihtoehto viidest\xe4 vastauspainikkeesta. Kun olet vastannut kaikkiin kysymyksiin, siirryt tulossivulle, jossa sinulle esitell\xe4\xe4n ensin sinulle sopivimmat ehdokkaat, ehdokkaat eri arvoakseleilla sek\xe4 lis\xe4tietoja vaaleista ja vaalikoneesta. Voit my\xf6s vertailla puolueita ja ehdokkaita tulossivuilta l\xf6ytyvilt\xe4 sivuilta. \n\n ## Tallennetaanko vastauksiani?\n\n Vastauksiasi vaalikoneeseen ei tallenneta. Ker\xe4\xe4mme ev\xe4ste- ja laitetunnisteiden ja muiden vastaavien tekniikoiden, kuten selaimen paikallisen tietovaraston, avulla tietoja esimerkiksi sivuista, joilla k\xe4ytt\xe4j\xe4t vierailevat. K\xe4yt\xe4mme n\xe4it\xe4 tietoja muun muassa sivustojen ja sovellusten toiminnan, sis\xe4lt\xf6suositusten ja mainonnan osuvuuden parantamiseksi – mainostulot ovat t\xe4rke\xe4 osa median rahoitusta. [Lis\xe4tietoja Sanoman tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/evastekaytannot/). \n\n ## Kuka on minulle sopivin ehdokas?\n\n Vastaa ensin vaalikoneen kysymyksiin. T\xe4m\xe4n j\xe4lkeen n\xe4et “Yhteenveto”–sivun, jossa on lueteltu sinulle viisi parhainta ehdokasta. Jos haluat n\xe4hd\xe4 useampia ehdokkaita, paina “Vertaile ehdokkaita”, jossa voit vertailla ehdokkaita tarkemmin. Paina “Muokkaa ehdokaslistaa” ja n\xe4et kaikki ehdokkaat sopivuusj\xe4rjestyksess\xe4. Lis\xe4\xe4 ehdokkaita vertailuun ja paina “Siirry vertailuun” ja voit vertailla ehdokkaiden vastauksia. \n\n ## Tulossivut eiv\xe4t toimi ja n\xe4en virheviestin.\n\n Et ole vastannut mahdollisesti tarpeeksi useaan kysymykseen, jotta tuloksia voitaisiin laskea. Paina sivulta l\xf6ytyv\xe4\xe4 “Aloita alusta”–painiketta ja vastaa useampaan kysymykseen. Jos n\xe4et virheviestin edelleen t\xe4m\xe4n j\xe4lkeen, ota yhteytt\xe4 tukeemme osoitteessa [[email protected]](mailto:[email protected]). \n\n ## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n Jos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."}}
9,{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. K\xe4ytt\xf6kokemuksen parantamiseksi ja virhetilanteiden ennaltaehk\xe4isemiseksi vaalikoneeseen annetut vastaukset ja teemavalinnat tyhjentyv\xe4t kun v\xe4lilehti suljetaan. M\xe4\xe4r\xe4llist\xe4 tietoa valituista kysymyksist\xe4, teemoista tai tuloksista voidaan k\xe4ytt\xe4\xe4 journalistisen sis\xe4ll\xf6n tuottamiseen ja tutkimukseen sek\xe4 k\xe4ytt\xf6kokemuksen parantamiseen.\n\nVaalikoneen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/). \n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:"Eduskuntavaalit ovat sunnuntaina 2.4.2023. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s entist\xe4 helpommin vertailla ehdokkaiden ja puolueiden n\xe4kemyksi\xe4 vaalien t\xe4rkeiss\xe4 kysymyksiss\xe4."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on saanut. Sek\xe4 paikkam\xe4\xe4r\xe4n ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eduskuntavaaleihin 2019."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eduskuntavaaleihin 2019."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}],public:{candidate:!0,election:!0,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!1,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Aluekohtainen tulos (koko sivu)",embedId:"area",embedPath:"/area",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["A","K","M","R","V"]}}},{embedName:"Ehdokaskohtainen tulos (koko sivu)",embedId:"candidate",embedPath:"/candidate",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,showAll:!1,allowMultiple:!1,parameterName:"id"}}},{embedName:"Puoluekohtainen tulos (koko sivu)",embedId:"party",embedPath:"/party",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,allowMultiple:!1,parameterName:"id"}}},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGra
9ph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vaalikonevastaukset",embedId:"answersToElectionMachine",embedPath:"/element/answersToElectionMachine",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueinfo",embedId:"partyInfo",embedPath:"/element/partyInfo",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valittujen arvokartta",embedId:"valueBrowserChosenCandidates",embedPath:"/element/valueBrowserChosenCandidates",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan arvokartta",embedId:"valueBrowserSingleCandidate",embedPath:"/element/valueBrowserSingleCandidate",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},at={useDarkMode:!0,metadata:{notificationDate:{time:"12.00",date:"01.12.2025"},modificationDeadline:{time:"23.59",date:"15.12.2025"},finalDeadline:{time:"12.00",date:"30.12.2025"}},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]}
9,{embedName:"Aluekohtainen tulos (koko sivu)",embedId:"area",embedPath:"/area",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["A","K","M","R","V"]}}},{embedName:"Ehdokaskohtainen tulos (koko sivu)",embedId:"candidate",embedPath:"/candidate",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{inUse:!0,showAll:!1,allowMultiple:!1,parameterName:"id"}}},{embedName:"Puoluekohtainen tulos (koko sivu)",embedId:"party",embedPath:"/party",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,allowMultiple:!1,parameterName:"id"}}},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]}}},{embedName:"Ehdokkaan vaalikonevastaukset",embedId:"answersToElectionMachine",embedPath:"/element/answersToElectionMachine",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1}}},{embedName:"Puolueinfo",embedId:"partyInfo",embedPath:"/element/partyInfo",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1}}},{embedName:"Valittujen arvokartta",embedId:"valueBrowserChosenCandidates",embedPath:"/element/valueBrowserChosenCandidates",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]}}},{embedName:"Ehdokkaan arvokartta",embedId:"valueBrowserSingleCandidate",embedPath:"/element/valueBrowserSingleCandidate",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K"]}}}]},aa={legacy:!1,resultSearchRecommendations:t3,frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","ClosestParties","PartyValueBrowser","UniversityStudy","ElectionMachineInfo"],compareCandidates:["
9SelectCandidatesLong","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyValueBrowser","PartyMatchByThemes","PartyAnswerBrowser"],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","ValueBrowserCandidatesCountry","PopularPartyByRegion","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MostPopularPartiesArea","ValueBrowserChosenCandidate","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea","ValueBrowserSingleCandidate","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","ValueBrowserParty","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!0,valueBrowserParty:!0,valueBrowserSingleCandidate:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}},default:{electionMachine:{resultIndex:["MainResult","ClosestParties","UniversityStudy","ElectionMachineInfo"],compareCandidates:["SelectCandidatesLong","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyMatchByThemes","PartyAnswerBrowser"],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","CountStatus"],area:["PartyGraphArea","PartyGraphCountry","CandidateListArea","NewAndOldParliament","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesMunicipality","VotesArea","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!1,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0},currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!0}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],genderOptions:[{name:"Nainen",id:1},{name:"Mies",id:2},{name:"Muu",id:3},{name:"En halua kertoa",id:4}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Turvallisuus\xadpolitiikka",description:"Nyt valittava eduskunta todenn\xe4k\xf6isesti osaltaan m\xe4\xe4rittelee, millainen Nato-maa Suomesta tulee. My\xf6s suhde Ven\xe4j\xe4\xe4n ja Ukrainaan leimaa tulevia vuosia: jos sota loppuu, edess\xe4 on j\xe4lleenrakennus. Ven\xe4j\xe4n n\xe4kym\xe4t ovat arvaamattomat. ",id:1},{name:"Hyvinvointi\xadvaltio",description:"V\xe4est\xf6n ik\xe4\xe4ntyminen ja heikko talouskasvu vaikeuttavat hyvinvointivaltioon perinteisesti kuuluvien palveluiden ja sosiaaliturvan yll\xe4pit\xe4mist\xe4. Nyt valittavien kansanedustajien on etsitt\xe4v\xe4 vastauksia siihen, miten ongelmat ratkotaan. ",id:2},{name:"Julkinen talous",description:"Suomi on monien muiden Euroopan maiden tavoin velkaantunut viime vuosina voimakkaasti. Talouskasvun ennustetaan l\xe4hivuosina olevan olematonta tai heikkoa, ja v\xe4est\xf6n ik\xe4\xe4ntyminen lis\xe4\xe4 valtion kuluja. N\xe4iss\xe4 vaaleissa valittavien kansanedustajien on ratkottava, miten valtion rahat saadaan riitt\xe4m\xe4\xe4n. ",id:3},{name:"Omat rahat",description:"Kansalaisten ostovoima heikkenee energian ja muiden elinkustannusten kallistumisen takia. Suomen Pankin ja valtiovarainministeri\xf6n mukaan edess\xe4 on taantuma ja sen j\xe4lkeen heikon kasvun aika. ",id:4},{name:"Ymp\xe4rist\xf6 ja ilmasto",description:"Suomen nettoilmastop\xe4\xe4st\xf6t eiv\xe4t ole tavoitteista huolimatta pienentyneet. YK:n luontokokous p\xe4\xe4tti joulukuussa, ett\xe4 maailman maa- ja merialueista suojellaan 30 prosenttia vuoteen 2030 menness\xe4. Energia on kallistunut, ja eri puolueet tekev\xe4t erilaisia johtop\xe4\xe4t\xf6ksi\xe4 siit\xe4, miten sen pit\xe4isi vaikuttaa ilmastotoimiin. ",id:5},{name:"Arvot",description:"Seuraavassa esitet\xe4\xe4n kysymyksi\xe4, jotka eiv\xe4t suoraan liity eduskuntavaaleihin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:6},{name:"Turvallisuus\xadpolitiikka",description:"Ven\xe4j\xe4n aloittama sota Ukrainassa muutti Suomen turvallisuustilannetta dramaattisesti. Tuleva eduskunta tulee jatkamaan muutosta sek\xe4 ulkopolitiikassa ett\xe4 puolustuksessa ja saattaa my\xf6s joutua viem\xe4\xe4n loppuun Suomen Nato-j\xe4senyysprosessin. ",id:7},{name:"Rahat",description:"Viime vuosien kriisien seurauksena valtion velkaantuminen on kiihtynyt huolestuttavasti. Seuraava eduskunta joutuu keksim\xe4\xe4n, kuinka talous saadaan j\xe4lleen tasapainoon leikkausten tai veronkorotusten kautta. ",id:8},{name:"Energia\xadkriisi",description:"T\xe4n\xe4 talvena suomalaiset ovat kamppailleet pilviin nousseiden energian hintojen kanssa. Tulevat kansanedustajat ovat vastuussa pysyvist\xe4 keinoista, joilla vastaavien kriisien vaikutukset saadaan minimoitua.",id:9},{name:"Ilmasto ja liikenne",description:"Suomi on sitoutunut olemaan hiilineutraali maa vuoteen 2035 menness\xe4. Eduskunta tulee p\xe4\xe4tt\xe4m\xe4\xe4n esimerkiksi liikenteen s\xe4hk\xf6istymist\xe4 kiihdytt\xe4vist\xe4 toimista, jotta tavoite voidaan saavuttaa.",id:10},{name:"Terveys ja koulutus",description:"Esimerkiksi hoitoalalla ja varhaiskasvatuksessa k\xe4rsit\xe4\xe4n pahasta ty\xf6voimapulasta. Tulevat kansanedustajat p\xe4\xe4sev\xe4t ratkaisemaan, tartutaanko ongelmaan esimerkiksi koulutuspaikkoja lis\xe4\xe4m\xe4ll\xe4 tai maahanmuuttoa edist\xe4m\xe4ll\xe4. ",id:11},{name:"Rikollisuus",description:"Erityisesti nuorten v\xe4kivalta ja katujengi-ilmi\xf6 ovat puhuttaneet viime aikoina. Tulevat lains\xe4\xe4t\xe4j\xe4t voivat halutessaan p\xe4\xe4tt\xe4\xe4 esimerkiksi rangaistusten koventamisesta, poliisien m\xe4\xe4r\xe4n lis\xe4\xe4misest\xe4 tai ennaltaehk\xe4isev\xe4n ty\xf6n tehostamisesta.",id:12},{name:"Muut",description:"Pit\xe4isik\xf6 viinien myynti ruokakaupassa sallia? Puuttuuko EU liikaa Suomen asioihin, esimerkiksi metsien hoitoon? Kansanedustajat p\xe4\xe4sev\xe4t ty\xf6ss\xe4\xe4n linjaamaan monenlaisista merkitt\xe4vist\xe4 asioista. ",id:13},{name:"Pirkanmaa",description:"Seuraavat kysymykset koskettavat erityisesti Pirkanmaan vaalipiiri\xe4 ja pirkanmaalaisia \xe4\xe4nest\xe4ji\xe4.",id:14},{name:"Satakunta",description:"Seuraavat kysymykset koskettavat erityisesti Satakunnan vaalipiiri\xe4 ja satakuntalaisia \xe4\xe4nest\xe4ji\xe4.",id:15}],electionMachineQuestions:[{id:1,text:"Ukrainaa on tuettava sodassa ja j\xe4lleenrakennuksessa kustannuksista huolimatta.",mandatory:!0,order:1,dimension:"fact",theme:1,themeName:"Turvallisuuspolitiikka",brand:["hs","al","sk"],backgroundInformation:{text:"Ven\xe4j\xe4n hy\xf6k\xe4tty\xe4 Ukrainaan Suomi on l\xe4hett\xe4nyt Ukrainaan apua satojen miljoonien eurojen edest\xe4. Ukrainalle on annettu muun muassa puolustustarvikkeita ja humanitaarista apua.\xa0\xa0",relatedArticles:[]}},{id:2,text:"Suomen on k\xe4ytett\xe4v\xe4 puolustukseen rahaa v\xe4hint\xe4\xe4n Naton tavoitteen verran.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Turvallisuuspolitiikka",brand:["hs"],backgroundInformation:{text:"Nato-maat ovat sitoutuneet siihen, ett\xe4 kunkin maan puolustukseensa k\xe4ytt\xe4m\xe4t rahat ovat v\xe4hint\xe4\xe4n kaksi prosenttia suhteessa bruttokansantuotteeseen vuoteen 2024 menness\xe4. L\xe4hesk\xe4\xe4n kaikki Nato-maat eiv\xe4t nyt t\xe4yt\xe4 tavoitetta. Kalliiden hankintojen vuoksi Suomi ylitt\xe4\xe4 kahden prosentin rajan tulevina vuosina, mutta vuodesta 2026 alkaen puolustusmenojen osuus on laskemassa selv\xe4sti sen alle.\xa0",relatedArticles:[{title:"Hallituksen esitys HE 315/2022 vp",url:"https://www.eduskunta.fi/FI/vaski/Hallitu
9ksenEsitys/Sivut/HE_315+2022.aspx",date:"5.12.2022",showInCandidateMachine:!0}]}},{id:3,text:"Peruskoulussa pit\xe4\xe4 rajoittaa lailla oppilaiden m\xe4\xe4r\xe4\xe4 yht\xe4 opettajaa kohden, vaikka se tarkoittaisi s\xe4\xe4st\xf6j\xe4 muualta, veronkorotuksia tai lis\xe4\xe4 velkaa.",mandatory:!0,order:3,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs"],backgroundInformation:{text:"Opetusryhm\xe4n koko vaikuttaa ty\xf6rauhaan ja oppimistuloksiin, mutta opettajien lis\xe4\xe4minen tarkoittaa suurempia kustannuksia. Suomessa perusopetuksen kustannukset ovat olleet kasvussa. Samaan aikaan kansainv\xe4lisen Pisa-vertailun mukaan Suomessa koululaisten osaamistaso on heikentynyt.\xa0\xa0",relatedArticles:[{title:"Koulutuksen kustannukset jatkavat kasvuaan – kustannukset nousivat merkitt\xe4v\xe4sti vuonna 2021",url:"https://www.oph.fi/fi/uutiset/2022/koulutuksen-kustannukset-jatkavat-kasvuaan-kustannukset-nousivat-merkittavasti-vuonna",date:"24.11.2022",image:{alt:"Paraskoulu",src:"https://www.oph.fi/sites/default/files/styles/main_media/public/2019-03/viittaajat.jpg?h=2f85a574&itok=GSQwvilD"},showInCandidateMachine:!0},{title:"Education at a Glance 2022",url:"https://www.oecd.org/education/education-at-a-glance/",date:"3.10.2022",image:{alt:"book",src:"https://assets.oecdcode.org/covers/340/3197152b.jpg"},showInCandidateMachine:!0}]}},{id:4,text:"Suomeen on perustettava huumeiden k\xe4ytt\xf6huoneita.",mandatory:!0,order:4,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs","al","sk"],backgroundInformation:{text:"Huumeidenk\xe4ytt\xf6huoneissa voisi k\xe4ytt\xe4\xe4 laittomia p\xe4ihteit\xe4 terveydenhuollon ty\xf6ntekij\xe4n valvonnassa. Nykyinen laki ei salli k\xe4ytt\xf6huoneiden perustamista Suomeen. K\xe4ytt\xf6huoneiden hy\xf6tyin\xe4 on THL:n mukaan pidetty muun muassa huumeiden k\xe4ytt\xe4jien terveysriskien ja yliannostuskuolemien ehk\xe4isy\xe4. Huoneita on vastustettu siksi, ett\xe4 niiden on pel\xe4tty rohkaisevan huumeiden k\xe4ytt\xf6\xf6n ja viiv\xe4stytt\xe4v\xe4n hoitoon hakeutumista.\xa0",relatedArticles:[{title:"Huumeiden k\xe4ytt\xf6huoneet",url:"https://thl.fi/fi/web/alkoholi-tupakka-ja-riippuvuudet/huumeet/huumetutkimus/huumetyota-meilla-ja-maailmalla/huumeiden-kayttohuoneet",date:"4.11.2021",showInCandidateMachine:!0}]}},{id:5,text:"Valtion on annettava suunniteltua enemm\xe4n rahaa sosiaali- ja terveydenhuoltoon, vaikka se tarkoittaisi s\xe4\xe4st\xf6j\xe4 muualta, veronkorotuksia tai lis\xe4\xe4 velkaa.",mandatory:!0,order:5,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs"],backgroundInformation:{text:"Vastuu sosiaali- ja terveydenhuollon j\xe4rjest\xe4misest\xe4 on siirtynyt vuoden 2023 alusta kunnilta hyvinvointialueille Helsinki\xe4 lukuun ottamatta. Niiden rahoitus tulee p\xe4\xe4asiassa valtiolta, ja se kasvaa tietyn laskukaavan mukaan. Monien alueiden mukaan rahoitus ei riit\xe4. Osa alueista on sanonut joutuvansa karsimaan palveluita.\xa0",relatedArticles:[{title:"Sote-uudistus",url:"https://soteuudistus.fi/etusivu",date:"",image:{alt:"",src:"https://soteuudistus.fi/documents/16650278/20317753/SoteuudistusSivustoHeader-ei-teksti%C3%A4.jpg/7b0fe75e-a5a3-b270-7869-e73a4cdfe3e9?t=1671706088715"},showInCandidateMachine:!0}]}},{id:6,text:"Nuorisorikollisuutta on pyritt\xe4v\xe4 kitkem\xe4\xe4n ensisijaisesti muilla keinoilla kuin rangaistuksia koventamalla.",mandatory:!0,order:6,dimension:"fact",theme:2,themeName:"Hyvinvointivaltio",brand:["hs","al","sk"],backgroundInformation:{text:"Muut keinot voivat tarkoittaa esimerkiksi poliisin, koulun tai muiden tahojen tekem\xe4\xe4 ennalta ehk\xe4isev\xe4\xe4 ty\xf6t\xe4. Poliisin tilastojen mukaan alaik\xe4isten v\xe4kivaltarikollisuuden m\xe4\xe4r\xe4 on kasvanut merkitt\xe4v\xe4sti vuodesta 2011 vuoteen 2021. Kasvu on ollut erityisen voimakasta alle 15-vuotiaiden joukossa. Rikosoikeudelliseen vastuuseen voi joutua vasta 15-vuotiaana.\xa0",relatedArticles:[{title:"Nuorten v\xe4kivaltarikollisuuden m\xe4\xe4r\xe4 ja piirteet poliisin tietoon tulleen rikollisuuden valossa",url:"https://poliisi.fi/documents/25235045/0/raportti-nuorten-vakivaltarikollisuus-poliisi.pdf/5707ff63-fce5-b1a3-83ed-6ae62808adfa?t=1646715994222",date:"8.3.2022",showInCandidateMachine:!0}]}},{id:7,text:"Ty\xf6tt\xf6mi\xe4 pit\xe4\xe4 saada nykyist\xe4 enemm\xe4n t\xf6ihin heikent\xe4m\xe4ll\xe4 ansiosidonnaista ty\xf6tt\xf6myysturvaa.",mandatory:!0,order:7,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Hyvinvointivaltion rahoittaminen vaatii korkeaa ty\xf6llisyysastetta. Ty\xf6t\xf6n voi saada ansiosidonnaista p\xe4iv\xe4rahaa 300-500 p\xe4iv\xe4\xe4. Osa puolueista on ehdottanut ansiosidonnaisen leikkaamista. Sit\xe4 perustellaan julkisten menojen pienentymisell\xe4 ja ty\xf6llistymisen nopeutumisella. Toisaalta ty\xf6tt\xf6myysturvan heikent\xe4minen v\xe4hent\xe4\xe4 ostovoimaa ja voi saada ihmisi\xe4 ty\xf6llistym\xe4\xe4n v\xe4hemm\xe4n tuottaviin t\xf6ihin.\xa0\xa0",relatedArticles:[]}},{id:8,text:"Suomeen on houkuteltava aktiivisemmin ulkomaisia ty\xf6ntekij\xf6it\xe4.",mandatory:!0,order:8,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Suomessa on pulaa ty\xf6voimasta useilla aloilla, mutta er
9ityisen paha se on sosiaali- ja terveydenhuollossa. Osa ty\xf6nantajien edustajista ja poliitikoista on arvioinut, ett\xe4 Suomeen tarvittaisiin jopa kymmeni\xe4tuhansia maahanmuuttajia lis\xe4\xe4 t\xf6ihin. Osa poliitikoista katsoo, ett\xe4 t\xe4st\xe4 seuraa vain uusia ongelmia.\xa0",relatedArticles:[{title:"Ammattibarometri: Ty\xf6voimapulan kasvu on hidastunut – pulan k\xe4rjess\xe4 jatkavat sosiaali- ja terveysalan ammatit",url:"https://valtioneuvosto.fi/-/1410877/ammattibarometri-tyovoimapulan-kasvu-on-hidastunut-pulan-karjessa-jatkavat-sosiaali-ja-terveysalan-ammatit",date:"1.11.2022",image:{alt:"Ammattibarometri kertoo 5 ammattia, joissa on pulaa ty\xf6voimasta ja 5 ammattia, joihin on ylitarjontaa ty\xf6voimasta.",src:"https://valtioneuvosto.fi/documents/1410877/104583625/25102022_ammattibarometri.png/a143d28d-05e2-2757-42a5-063e2a0bf45d?t=1667283907516&width=1200"},showInCandidateMachine:!0}]}},{id:9,text:"Valtion velkaantumista tulee hillit\xe4, vaikka se merkitsisi leikkauksia etuuksiin tai palveluihin.",mandatory:!0,order:9,dimension:"fact",theme:3,themeName:"Julkinen talous",brand:["hs","al","sk"],backgroundInformation:{text:"Valtion velka on kasvanut pitk\xe4\xe4n. Valtiovarainministeri\xf6 on ehdottanut, ett\xe4 tulevat hallitukset sitoutuvat v\xe4hent\xe4m\xe4\xe4n velkaantumista vaikka leikkaamalla kansalaisten palveluista ja kirist\xe4m\xe4ll\xe4 verotusta. Virkamiesten mukaan alkavalla vaalikaudella julkista taloutta pit\xe4\xe4 vahvistaa kuudella miljardilla eurolla. P\xe4\xe4t\xf6kset tekev\xe4t kuitenkin poliitikot, ja heill\xe4 on asiasta erilaisia n\xe4kemyksi\xe4.\xa0",relatedArticles:[{title:"Uudistuva ja kest\xe4v\xe4 Suomi : Valtiovarainministeri\xf6n virkamiespuheenvuoro 2022",url:"https://julkaisut.valtioneuvosto.fi/handle/10024/164480",date:"8.12.2022",showInCandidateMachine:!0},{title:"Faktoja valtionvelasta",url:"https://www.valtionvelka.fi/valtion-velan-ja-kassan-hallinta/faktoja-valtionvelasta/",date:"29.3.2022",showInCandidateMachine:!0}]}},{id:10,text:"Palkkojen verotusta pit\xe4\xe4 alentaa, vaikka se johtaisi palveluiden leikkauksiin, muun verotuksen kirist\xe4miseen tai velan kasvuun.",mandatory:!0,order:10,dimension:"fact",theme:4,themeName:"Omat rahat",brand:["hs"],backgroundInformation:{text:"Verojen kevent\xe4mist\xe4 perustellaan usein sill\xe4, ett\xe4 ty\xf6nteosta tulisi kannattavampaa ja talouskasvu kohenisi. Suomen veroaste eli verojen suhde bruttokansantuotteeseen oli 42,8 prosenttia vuonna 2021. T\xe4m\xe4 on EU:n keskiarvoa korkeampi. Koska valtio rahoittaa menonsa verotuloilla ja vel
9kaa ottamalla, verotuksen kevent\xe4minen tarkoittaisi joko leikkauksia tai lis\xe4\xe4 velkaa, vaikka verotettava tulo lis\xe4\xe4ntyisikin.\xa0",relatedArticles:[]}},{id:11,text:"Valtion pit\xe4\xe4 tukea enemm\xe4n kansalaisia, jotka k\xe4rsiv\xe4t energian hinnan noususta, vaikka se kiihdytt\xe4isi inflaatiota tai heikent\xe4isi valtion taloutta.",mandatory:!0,order:11,dimension:"fact",theme:4,themeName:"Omat rahat",brand:["hs"],backgroundInformation:{text:"Kansalaisia ja yrityksi\xe4 on tuettu energian hinnannousun takia sek\xe4 Suomessa ett\xe4 muualla Euroopassa, etteiv\xe4t he joutuisi taloudelliseen ahdinkoon. Suurille ihmisjoukoille annettavat tuet ovat kuitenkin kalliita. Isot energiatuet voivat my\xf6s kiihdytt\xe4\xe4 inflaatiota, joka lis\xe4\xe4 Euroopan keskuspankin painetta nostaa korkoja.\xa0",relatedArticles:[{title:"Suomen talous luisuu taantumaan",url:"https://www.suomenpankki.fi/fi/media-ja-julkaisut/tiedotteet/2022/suomen-talous-luisuu-taantumaan/",date:"16.12.2022",showInCandidateMachine:!0}]}},{id:12,text:"Hakkuita pit\xe4\xe4 v\xe4hent\xe4\xe4 valtion metsiss\xe4 luontokadon ja ilmastonmuutoksen torjumiseksi.",mandatory:!0,order:12,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Maank\xe4ytt\xf6 on Suomessa muuttunut ilmastonmuutosta hillitsev\xe4st\xe4 hiilinielusta p\xe4\xe4st\xf6jen l\xe4hteeksi hakkuiden lis\xe4\xe4ntymisen ja puuston kasvun hidastumisen vuoksi. Mets\xe4lajeista yhdeks\xe4n prosenttia on uhanalaisia. Valtio omistaa Suomen metsist\xe4 noin nelj\xe4nneksen. Hakkuiden v\xe4hent\xe4minen v\xe4hent\xe4isi valtion tuloja, teollisuuden puunsaantia ja ty\xf6paikkoja.\xa0\xa0\xa0",relatedArticles:[{title:"Kasvihuonekaasuinventaarion ennakkotiedot vahvistavat: maank\xe4ytt\xf6sektori p\xe4\xe4st\xf6l\xe4hde vuonna 2021, mets\xe4t pysyiv\xe4t edelleen nettonieluna",url:"https://www.luke.fi/fi/seurannat/maatalous-ja-lulucfsektorin-kasvihuonekaasuinventaario/kasvihuonekaasuinventaarion-ennakkotiedot-vahvistavat-maankayttosektori-paastolahde-vuonna-2021-metsat-pysyivat-edelleen-nettonieluna",date:"14.12.2022",showInCandidateMachine:!0}]}},{id:13,text:"Suomen on lyk\xe4tt\xe4v\xe4 hiilineutraaliustavoitettaan kauemmaksi vuodesta 2035.",mandatory:!0,order:13,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Hiilineutraalius tarkoittaa, ett\xe4 ilmastoa l\xe4mmitt\xe4vi\xe4 p\xe4\xe4st\xf6j\xe4 tuotetaan korkeintaan sen verran kuin niit\xe4 voidaan sitoa ilmakeh\xe4st\xe4 esimerkiksi metsien avulla. Suomi tavoittelee hiilineutraaliutta viimeist\xe4\xe4n vuonna 2035. EU:n tavoite on vuodessa 2050. Hiilineutraaliustavoitteesta seuraa vaatimuksia useille yhteiskunnan aloille ruuantuotannosta ja rakentamisesta liikenteeseen ja teollisuuteen.\xa0",relatedArticles:[{title:"Hiilineutraali Suomi 2035 – kansallinen ilmasto- ja energiastrategia",url:"https://julkaisut.valtioneuvosto.fi/handle/10024/164321",date:"09.09.2022",showInCandidateMachine:!0}]}},{id:14,text:"Helsingiss\xe4 ja muissa suurissa kaupungeissa on otettava k\xe4ytt\xf6\xf6n ruuhkamaksu.",mandatory:!0,order:14,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs"],backgroundInformation:{text:"Ruuhkamaksu on teiden k\xe4yt\xf6st\xe4 peritt\xe4v\xe4 maksu, jonka tarkoituksena on hillit\xe4 ruuhkautumista ja liikenteen p\xe4\xe4st\xf6j\xe4. Nyt laki ei mahdollista ruuhkamaksujen ker\xe4\xe4mist\xe4. P\xe4\xe4kaupunkiseudun kehyskuntien tekem\xe4n selvityksen mukaan ruuhkamaksuista olisi haittaa t\xf6ihin tuleville pienituloisille autoilijoille, joilla ei ole mahdollisuutta vaihtoehtoiseen kulkumuotoon.\xa0\xa0",relatedArticles:[]}},{id:15,text:"Turkistarhaus on kiellett\xe4v\xe4 Suomessa.",mandatory:!0,order:15,dimension:"fact",theme:5,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Suomi on Euroopan kolmanneksi suurin turkistentuottajamaa. Suomessa on noin 900 turkistarhaa, joista valtaosa sijaitsee Pohjanmaalla. Turkistarhaus on kielletty osassa Euroopan maista. Turkistarhauksen kielt\xe4mist\xe4 EU:ssa vaativa kansalaisaloite ylitti joulukuussa 2022 milj
9oonan allekirjoituksen rajan, ja se etenee EU:n komission k\xe4sittelyyn.\xa0\xa0",relatedArticles:[]}},{id:16,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia",mandatory:!0,order:16,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"vasemmisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:17,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:17,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:18,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu. ",mandatory:!0,order:18,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"vasemmisto"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:19,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:19,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:20,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:20,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"oikeisto"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:21,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:21,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"liberaali"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:22,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:22,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:23,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:23,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"liberaali"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:24,text:"Selkeit\xe4 rajoja ja kuria tarvitaan nykyist\xe4 enemm\xe4n lasten kasvattamisessa.",mandatory:!0,order:24,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:25,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:25,dimension:"ideology",valueDetails:[{valueId:3,targetBound:"vihre\xe4"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:26,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:26,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:27,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:27,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"vihre\xe4"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:28,text:"Maamme kaipaa vahvoja johtajia, jotka pystyv\xe4t tekem\xe4\xe4n vaikeitakin p\xe4\xe4t\xf6ksi\xe4 v\xe4litt\xe4m\xe4tt\xe4 liikaa muiden mielipiteist\xe4.",mandatory:!0,order:28,dimension:"ideology",valueDetails:[{valueId:2,targetBound:"konservatiivi"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:29,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:29,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"maaseutu"}],theme:6,themeName:"Arvot",brand:["hs"],backgroundInformation:{text:"",relatedArticles:[]}},{id:30,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:30,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"kapunki"}],theme:6,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[]}},{id:31,text:"Vladimir Putinin Ven\xe4j\xe4 on Suomelle sotilaallinen uhka.",mandatory:!0,order:31,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:32,text:"Suomi voi alkaa rakentaa suhdettaan uudelleen Ven\xe4j\xe4\xe4n vasta, kun valta Ven\xe4j\xe4ll\xe4 vaihtuu ja Ven\xe4j\xe4 vet\xe4ytyy Ukrainasta.",mandatory:!0,order:32,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:33,text:"Suomeen tulee sijoittaa Naton tukikohta, kun Suomi on Naton j\xe4sen.",mandatory:!0,order:33,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:34,text:"Suomen pit\xe4\xe4 k\xe4ytt\xe4\xe4 puolustusmenoihin Naton vaatimat 2 prosenttia bkt:sta.",mandatory:!0,order:34,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:35,text:"Suomen tulee muuttaa ulkopolitiikkaansa Nato-kumppanien toiveiden mukaan.\xa0",mandatory:!0,order:35,dimension:"fact",theme:7,themeName:"Turvallisuuspolitiikka",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:36,text:"Valtion velkataakka on k\xe4\xe4nnett\xe4v\xe4 laskuun, vaikka se tarkoittaisi kipeit\xe4 leikkauksia.",mandatory:!0,order:36,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:37,text:"Ansiosidonnaista ty\xf6tt\xf6myysturvaa tulee leikata nykyisest\xe4 400 p\xe4iv\xe4st\xe4 200 p\xe4iv\xe4\xe4n.",mandatory:!0,order:37,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:38,text:"Lapsiperheit\xe4 pit\xe4\xe4 tukea ylim\xe4\xe4r\xe4isell\xe4 lapsilis\xe4ll\xe4 my\xf6s vuonna 2023.",mandatory:!0,order:38,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:39,text:"Kun julkista taloutta tasapainotetaan, on keinoksi valittava leikkausten sijaan ensisijaisesti verotuksen kirist\xe4minen.",mandatory:!0,order:39,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:40,text:"Ruoan arvonlis\xe4veroa ei pid\xe4 nostaa.",mandatory:!0,order:40,dimension:"fact",theme:8,themeName:"Rahat",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:41,text:"Valtion pit\xe4\xe4 my\xf6s seuraavina vuosina tukea suomalaisia, jotka ovat vaikeuksissa suurien s\xe4hk\xf6laskujen kanssa.",mandatory:!0,order:41,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:42,text:"Ydinvoiman pit\xe4\xe4 jatkossakin olla yksi keskeisimmist\xe4 energiantuotannon muodoista Suomessa.",mandatory:!0,order:42,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:43,text:"Tuulivoiman rakentamista pit\xe4\xe4 tehostaa sujuvoittamalla lupak\xe4yt\xe4nt\xf6j\xe4 ja kevent\xe4m\xe4ll\xe4 byrokratiaa.",mandatory:!0,order:43,dimension:"fact",theme:9,themeName:"Energiakriisi",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:44,text:"Suomen ilmastotavoitteesta ei voi tinki\xe4 piiruakaan, vaikka talous sit\xe4 vaatisi.",mandatory:!0,order:44,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:45,text:"Bensiini ja diesel maksavat liikaa. Seuraavan hallituksen on laskettava polttoaineiden verotusta.",mandatory:!0,order:45,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:46,text:"Liikenteen s\xe4hk\xf6istymist\xe4 on edistett\xe4v\xe4 uusilla tuilla.",mandatory:!0,order:46,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:47,text:"Suomessa pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n tietullit.",mandatory:!0,order:47,dimension:"fact",theme:10,themeName:"Ilmasto ja liikenne",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:48,text:"Hoitajamitoitusta (7 hoitajaa 10 vanhusta kohden) voidaan kevent\xe4\xe4, jotta kaikille vanhuksille riitt\xe4isi hoitopaikka.",mandatory:!0,order:48,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:49,text:"Maahanmuuttajat ovat hyv\xe4 ratkaisu ty\xf6voimapulaan muun muassa hoitoalalla.",mandatory:!0,order:49,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:50,text:"Koulutuksesta voidaan leikata, kun valtiontaloutta tasapainotetaan.",mandatory:!0,order:50,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:51,text:"Opettajien kurinpitokeinoja kouluissa pit\xe4\xe4 lis\xe4t\xe4.",mandatory:!0,order:51,dimension:"fact",theme:11,themeName:"Terveys ja koulutus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:52,text:"Pelk\xe4\xe4n liikkua kadulla yksin.",mandatory:!0,order:52,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:53,text:"Nuorten jengiv\xe4kivaltaan tulee puuttua rangaistuksia koventamalla.\xa0",mandatory:!0,order:53,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}}
9,{id:54,text:"Huumeiden k\xe4yt\xf6n tulee olla jatkossakin rangaistavaa.",mandatory:!0,order:54,dimension:"fact",theme:12,themeName:"Rikollisuus",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:55,text:"Yleisradion rahoitukseen tulee tehd\xe4 merkitt\xe4vi\xe4 leikkauksia.",mandatory:!0,order:55,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:56,text:"Viinien myynti ruokakaupoissa pit\xe4\xe4 sallia.",mandatory:!0,order:56,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:57,text:"Koko Suomi on pidett\xe4v\xe4 asutettuna.",mandatory:!0,order:57,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:58,text:"EU:lla on liikaa valtaa Suomen mets\xe4politiikkaan.",mandatory:!0,order:58,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:59,text:"Minua ei haittaa, jos lapseni menee naimisiin samaa sukupuolta olevan kanssa.",mandatory:!0,order:59,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:60,text:"Eutanasia tulee laillistaa.",mandatory:!0,order:60,dimension:"fact",theme:13,themeName:"Muut",brand:["is"],backgroundInformation:{text:"",relatedArticles:[]}},{id:61,text:"Pirkanmaalaisten kansanedustajien on ajettava ensisijaisesti koko maan, ei oman maakunnan etua eduskunnassa.",mandatory:!0,order:61,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:62,text:"Moottoritien oikaisu pit\xe4\xe4 rakentaa pikimmiten Lemp\xe4\xe4l\xe4n ja Pirkkalan v\xe4lille valtatielle 3.",mandatory:!0,order:62,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:63,text:"Tampereen ja Helsingin v\xe4lille on rakennettava junaliikenteelle t\xe4ysin uusi suurnopeusrata, pelkk\xe4 nykyisen radan parantaminen esimerkiksi lis\xe4raiteilla ja oikaisuilla ei riit\xe4.",mandatory:!0,order:63,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:64,text:"Valtion on rahoitettava raitiotien jatkamista Tampereelta naapurikuntiin Yl\xf6j\xe4rvelle, Pirkkalaan ja Kangasalle.",mandatory:!0,order:64,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:65,text:"Tampere-Pirkkalan kansainv\xe4listen lentoyhteyksien m\xe4\xe4r\xe4\xe4 pit\xe4\xe4 kasvattaa mahdollisimman paljon. ",mandatory:!0,order:65,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:66,text:"Pirkanmaalle j\xe4\xe4 sote-uudistuksen j\xe4lkeen liian monta kuntaa.",mandatory:!0,order:66,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:67,text:"Ydinvoiman pientuotantoa on rakennettava Suomessa eturintamassa Pirkanmaalle.",mandatory:!0,order:67,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:68,text:"Tampereella tarjottavaa korkeakoulutusta pit\xe4\xe4 keskitt\xe4\xe4 sellaisille aloille, joilla ty\xf6llisyysn\xe4kym\xe4t ovat varmimmat.",mandatory:!0,order:68,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:69,text:"Terveydenhuoltoon tarvitaan lis\xe4\xe4 yksityisen yrityksen kaltaisesti toimivia julkisomisteisia yhti\xf6it\xe4, esimerkkein\xe4 tekonivelsairaala Coxa ja Taysin Syd\xe4nsairaala.",mandatory:!0,order:69,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:70,text:"Pirkanmaan hyvinvointialueen pit\xe4\xe4 k\xe4ytt\xe4\xe4 my\xf6s yksityisi\xe4 palveluntarjoajia halunsa ja tarpeensa mukaan.",mandatory:!0,order:70,dimension:"fact",theme:14,themeName:"Pirkanmaa",brand:["al"],backgroundInformation:{text:"",relatedArticles:[]},location:"Pirkanmaan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:71,text:"Porin lentoliikenteen tukeminen on paitsi valtion my\xf6s Satakunnan kaikkien kuntien asia.",mandatory:!0,order:71,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"Porin kaupunki maksaa nykyisin suur
9imman osan lentoliikenteen kustannuksista itse. Valtio osallistuu miljoonalla eurolla, mik\xe4 on noin kolmannes rahoituksesta.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:72,text:"Satakunnan pit\xe4\xe4 panostaa liikenneyhteyksiss\xe4\xe4n ensisijaisesti raideliikenteen kehitt\xe4miseen.",mandatory:!0,order:72,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:73,text:"Porista Niinisalon kautta Parkanoon kulkeva rata pit\xe4isi remontoida huoltovarmuuden ja Naton tuomien tarpeiden vuoksi.",mandatory:!0,order:73,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"Satakuntaliiton vuonna 2020 tekem\xe4n selvityksen mukaan hankkeen kustannusarvio oli tuolloin 360-420 miljoonaa euroa.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:74,text:"Porin lentokentt\xe4, satama ja pelastusharjoitusalue muodostavat kokonaisuuden, johon pit\xe4\xe4 tavoitella Nato-tukikohtaa.",mandatory:!0,order:74,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:75,text:"Satakunnan susikantaa pit\xe4\xe4 v\xe4hent\xe4\xe4.",mandatory:!0,order:75,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:76,text:"Satakunnan oma yliopisto pit\xe4\xe4 saada hallitusohjelmaan.",mandatory:!0,order:76,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:77,text:"Valtiovallan on turvattava turvetuotannon toimintaedellytykset huoltovarmuuden varmistamiseksi.",mandatory:!0,order:77,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:78,text:"Satakuntaan voidaan rakentaa lis\xe4\xe4 ydinvoimaa.",mandatory:!0,order:78,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:79,text:"Kokem\xe4enjoen vesist\xf6n suojelun varmistaminen on t\xe4rke\xe4mp\xe4\xe4 kuin teollisuuden ty\xf6paikkojen luominen alueelle.",mandatory:!0,order:79,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"},{id:80,text:"Satakunnan vaalipiiri pit\xe4\xe4 yhdist\xe4\xe4 joko Pirkanmaan tai Varsinais-Suomen vaalipiiriin.",mandatory:!0,order:80,dimension:"fact",theme:15,themeName:"Satakunta",brand:["sk"],backgroundInformation:{text:"V\xe4est\xf6ennusteen mu
9kaan Satakunnan vaalipiirin kansanedustajapaikkojen m\xe4\xe4r\xe4 tippuu seitsem\xe4\xe4n vuoden 2027 eduskuntavaaleissa.",relatedArticles:[]},location:"Satakunnan vaalipiiri",nominationAreaLevel:"parliamentary"}],metadata:{id:"eduskunta2027",electionDate:"2027-04-18T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://www.hs.fi/politiikka/",is:"https://tulos.vaalikone.fi/eduskunta2027/is",al:"https://www.aamulehti.fi/pirkanmaa/",sk:"https://www.satakunnankansa.fi/satakunta/"},curtainTime:{date:"18.4.2027",time:"20"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"20.00",date:"18.04.2027"},modificationDeadline:{time:"20.00",date:"18.04.2027"},finalDeadline:{time:"20.00",date:"18.04.2027"},year:2027,electionName:"Eduskuntavaalit",electionType:"parliamentary",themeSelection:!1,electionLogo:{is:{title:"Eduskuntavaalit 2027",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eduskuntavaalit 2027",light:{src:"logo-hs-ballot.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-ballot-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eduskuntavaalit 2027",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eduskuntavaalit 2027",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{"V-01":"Helsingin vaalipiiri","V-02":"Uudenmaan vaalipiiri","V-03":"Varsinais-Suomen vaalipiiri","V-04":"Satakunnan vaalipiiri","V-05":"Ahvenanmaan maakunnan vaalipiiri","V-06":"H\xe4meen vaalipiiri","V-07":"Pirkanmaan vaalipiiri","V-08":"Kaakkois-Suomen vaalipiiri","V-09":"Savo-Karjalan vaalipiiri","V-10":"Vaasan vaalipiiri","V-11":"Keski-Suomen vaalipiiri","V-12":"Oulun vaalipiiri","V-13":"Lapin vaalipiiri"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},useCandidateAggregates:!0,partyAnswerLevel:"nominationArea"},texts:[{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien, sitten Ilta-Sanomien ja lopuksi aluemedioiden vaalikonekysymykset. Jotkut kysymykset ovat yhteisi\xe4 kaikille vaalikoneille. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, koulutus ja ammatti \n - ehdokkaan puolue \n - kunta, jossa on ehdokkaana \n - onko ehdokas t\xe4ll\xe4 hetkell\xe4: kansanedustaja, aluevaltuutettu tai kunnanvaltuutettu \n - ehdokkaan oma vapaamuotoinen kuvausteksti\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:"Puoluevertailussa tutkit oman vaalipiirisi sijaan ehdokkaita kaikkialta Suomesta."},{key:"election-faq",brandSpecific:!0,text:{hs:"# Tietoja Sanoman vaalikoneesta\n\n Sanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median ver
9siossa. Toimintaperiaate on kuitenkin sama.\n\n ## Miten vaalikone toimii?\n\n Sanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan. Jokaisen vaalikoneen (Helsingin Sanomien, Ilta-Sanomien ja Aamulehden sek\xe4 Satakunnan Kansan) tarkemmasta laskutavasta ja taustatietoja kysymyksist\xe4 l\xf6yd\xe4t tulossivulta vastattuasi vaalikoneen kysymyksiin. \n\n ## Miten vastaan kysymyksiin?\n\n Kysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n ## Miten k\xe4yt\xe4n vaalikonetta?\n\n Aloita vaalikoneen kysymyksiin vastaaminen painamalla vaalikoneen etusivun “Aloitetaan”–painiketta ja valitse alasvetovalikosta kotikuntasi. Valitse t\xe4m\xe4n j\xe4lkeen kysymysteemat, joihin haluat vastata. Vastaat t\xe4m\xe4n j\xe4lkeen yhteen kysymykseen kerrallaan valitsemistasi kysymysteemoista. Etenemisen vaalikoneessa n\xe4et sivun yl\xe4laidassa n\xe4kyv\xe4st\xe4 etenemispalkista, sek\xe4 kysymysteeman nimen vieress\xe4 n\xe4kyv\xe4st\xe4 kysymysm\xe4\xe4r\xe4st\xe4. Valitse sinulle sopivin vaihtoehto viidest\xe4 vastauspainikkeesta. Kun olet vastannut kaikkiin kysymyksiin, siirryt tulossivulle, jossa sinulle esitell\xe4\xe4n ensin sinulle sopivimmat ehdokkaat, ehdokkaat eri arvoakseleilla sek\xe4 lis\xe4tietoja vaaleista ja vaalikoneesta. Voit my\xf6s vertailla puolueita ja ehdokkaita tulossivuilta l\xf6ytyvilt\xe4 sivuilta. \n\n ## Tallennetaanko vastauksiani?\n\n Vastauksiasi vaalikoneeseen ei tallenneta. Ker\xe4\xe4mme ev\xe4ste- ja laitetunnisteiden ja muiden vastaavien tekniikoiden, kuten selaimen paikallisen tietovaraston, avulla tietoja esimerkiksi sivuista, joilla k\xe4ytt\xe4j\xe4t vierailevat. K\xe4yt\xe4mme n\xe4it\xe4 tietoja muun muassa sivustojen ja sovellusten toiminnan, sis\xe4lt\xf6suositusten ja mainonnan osuvuuden parantamiseksi – mainostulot ovat t\xe4rke\xe4 osa median rahoitusta. [Lis\xe4tietoja Sanoman tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/evastekaytannot/). \n\n ## Kuka on minulle sopivin ehdokas?\n\n Vastaa ensin vaalikoneen kysymyksiin. T\xe4m\xe4n j\xe4lkeen n\xe4et “Yhteenveto”–sivun, jossa on lueteltu sinulle viisi parhainta ehdokasta. Jos haluat n\xe4hd\xe4 useampia ehdokkaita, paina “Vertaile ehdokkaita”, jossa voit vertailla ehdokkaita tarkemmin. Paina “Muokkaa ehdokaslistaa” ja n\xe4et kaikki ehdokkaat sopivuusj\xe4rjestyksess\xe4. Lis\xe4\xe4 ehdokkaita vertailuun ja paina “Siirry vertailuun” ja voit vertailla ehdokkaiden vastauksia. \n\n ## Tulossivut eiv\xe4t toimi ja n\xe4en virheviestin.\n\n Et ole vastannut mahdollisesti tarpeeksi useaan kysymykseen, jotta tuloksia voitaisiin laskea. Paina sivulta l\xf6ytyv\xe4\xe4 “Aloita alusta”–painiketta ja vastaa useampaan kysymykseen. Jos n\xe4et virheviestin edelleen t\xe4m\xe4n j\xe4lkeen, ota yhteytt\xe4 tukeemme osoitteessa [[email protected]](mailto:[email protected]). \n\n ## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n Jos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]).\n\n ## Millaisia p\xe4ivityksi\xe4 HS:n vaalikoneen algoritmiin on tehty vaalikoneen julkaisun j\xe4lkeen? ## \n\n Helsingin Sanomien vaalikoneessa tuloslaskennan taustalla on tilastollinen analyysi, joka tehd\xe4\xe4n kaikkien ehdokkaiden vastauksille. Koska ehdokkaiden vastauksia on tullut lis\xe4\xe4 tai korjattu vaalikoneen julkaisun j\xe4lkeen, se tarkoittaa, ett\xe4 uusien vastausten my\xf6t\xe4 my\xf6s analyysi pit\xe4\xe4 tehd\xe4 uudestaan. \n\n T\xe4ss\xe4 tiedot p\xe4ivityksist\xe4:\n - 15.2.2023 vaalikoneen julkaisu, laskenta tehty 14.2.2023 iltap\xe4iv\xe4n ehdokasdatan perusteella.\n - 15.2.2023 laskentamallin p\xe4ivitys kaksi kertaa\n - 20.2.2023 aamulla korjattu virhe, jossa yksi kysymys laskett
9iin tulokseen kahdesti\n - 20.2.2023 laskentamallin p\xe4ivitys illalla\n - 23.2.2023 laskentamallin p\xe4ivitys aamulla",default:"# Tietoja Sanoman vaalikoneesta\n\n Sanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median versiossa. Toimintaperiaate on kuitenkin sama.\n\n ## Miten vaalikone toimii?\n\n Sanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan. Jokaisen vaalikoneen (Helsingin Sanomien, Ilta-Sanomien ja Aamulehden sek\xe4 Satakunnan Kansan) tarkemmasta laskutavasta ja taustatietoja kysymyksist\xe4 l\xf6yd\xe4t tulossivulta vastattuasi vaalikoneen kysymyksiin. \n\n ## Miten vastaan kysymyksiin?\n\n Kysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n ## Miten k\xe4yt\xe4n vaalikonetta?\n\n Aloita vaalikoneen kysymyksiin vastaaminen painamalla vaalikoneen etusivun “Aloitetaan”–painiketta ja valitse alasvetovalikosta kotikuntasi. Valitse t\xe4m\xe4n j\xe4lkeen kysymysteemat, joihin haluat vastata. Vastaat t\xe4m\xe4n j\xe4lkeen yhteen kysymykseen kerrallaan valitsemistasi kysymysteemoista. Etenemisen vaalikoneessa n\xe4et sivun yl\xe4laidassa n\xe4kyv\xe4st\xe4 etenemispalkista, sek\xe4 kysymysteeman nimen vieress\xe4 n\xe4kyv\xe4st\xe4 kysymysm\xe4\xe4r\xe4st\xe4. Valitse sinulle sopivin vaihtoehto viidest\xe4 vastauspainikkeesta. Kun olet vastannut kaikkiin kysymyksiin, siirryt tulossivulle, jossa sinulle esitell\xe4\xe4n ensin sinulle sopivimmat ehdokkaat, ehdokkaat eri arvoakseleilla sek\xe4 lis\xe4tietoja vaaleista ja vaalikoneesta. Voit my\xf6s vertailla puolueita ja ehdokkaita tulossivuilta l\xf6ytyvilt\xe4 sivuilta. \n\n ## Tallennetaanko vastauksiani?\n\n Vastauksiasi vaalikoneeseen ei tallenneta. Ker\xe4\xe4mme ev\xe4ste- ja laitetunnisteiden ja muiden vastaavien tekniikoiden, kuten selaimen paikallisen tietovaraston, avulla tietoja esimerkiksi sivuista, joilla k\xe4ytt\xe4j\xe4t vierailevat. K\xe4yt\xe4mme n\xe4it\xe4 tietoja muun muassa sivustojen ja sovellusten toiminnan, sis\xe4lt\xf6suositusten ja mainonnan osuvuuden parantamiseksi – mainostulot ovat t\xe4rke\xe4 osa median rahoitusta. [Lis\xe4tietoja Sanoman tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/evastekaytannot/). \n\n ## Kuka on minulle sopivin ehdokas?\n\n Vastaa ensin vaalikoneen kysymyksiin. T\xe4m\xe4n j\xe4lkeen n\xe4et “Yhteenveto”–sivun, jossa on lueteltu sinulle viisi parhainta ehdokasta. Jos haluat n\xe4hd\xe4 useampia ehdokkaita, paina “Vertaile ehdokkaita”, jossa voit vertailla ehdokkaita tarkemmin. Paina “Muokkaa ehdokaslistaa” ja n\xe4et kaikki ehdokkaat sopivuusj\xe4rjestyksess\xe4. Lis\xe4\xe4 ehdokkaita vertailuun ja paina “Siirry vertailuun” ja voit vertailla ehdokkaiden vastauksia. \n\n ## Tulossivut eiv\xe4t toimi ja n\xe4en virheviestin.\n\n Et ole vastannut mahdollisesti tarpeeksi useaan kysymykseen, jotta tuloksia voitaisiin laskea. Paina sivulta l\xf6ytyv\xe4\xe4 “Aloita alusta”–painiketta ja vastaa useampaan kysymykseen. Jos n\xe4et virheviestin edelleen t\xe4m\xe4n j\xe4lkeen, ota yhteytt\xe4 tukeemme osoitteessa [[email protected]](mailto:[email protected]). \n\n ## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n Jos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."}}
9,{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. K\xe4ytt\xf6kokemuksen parantamiseksi ja virhetilanteiden ennaltaehk\xe4isemiseksi vaalikoneeseen annetut vastaukset ja teemavalinnat tyhjentyv\xe4t kun v\xe4lilehti suljetaan. M\xe4\xe4r\xe4llist\xe4 tietoa valituista kysymyksist\xe4, teemoista tai tuloksista voidaan k\xe4ytt\xe4\xe4 journalistisen sis\xe4ll\xf6n tuottamiseen ja tutkimukseen sek\xe4 k\xe4ytt\xf6kokemuksen parantamiseen.\n\nVaalikoneen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/). \n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:"Eduskuntavaalit ovat sunnuntaina 2.4.2023. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s entist\xe4 helpommin vertailla ehdokkaiden ja puolueiden n\xe4kemyksi\xe4 vaalien t\xe4rkeiss\xe4 kysymyksiss\xe4."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on saanut. Sek\xe4 paikkam\xe4\xe4r\xe4n ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eduskuntavaaleihin 2019."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eduskuntavaaleihin 2019."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!1},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!1,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Aluekohtainen tulos (koko sivu)",embedId:"area",embedPath:"/area",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["A","K","M","R","V"]}}},{embedName:"Ehdokaskohtainen tulos (koko sivu)",embedId:"candidate",embedPath:"/candidate",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,showAll:!1,allowMultiple:!1,parameterName:"id"}}},{embedName:"Puoluekohtainen tulos (koko sivu)",embedId:"party",embedPath:"/party",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,allowMultiple:!1,parameterName:"id"}}},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Viimeiset l\xe4pimenij\xe4t ja putoajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","A","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen ehdokaslista",embedId:"partyCandidateList",embedPath:"/element/partyCandidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGra
9ph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vaalikonevastaukset",embedId:"answersToElectionMachine",embedPath:"/element/answersToElectionMachine",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueinfo",embedId:"partyInfo",embedPath:"/element/partyInfo",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valitut ehdokkaat kunnittain",embedId:"municipalityList",embedPath:"/element/municipalityList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],embedDescription:"Listassa n\xe4ytet\xe4\xe4n kaikki kunnat, jotka ovat hyvinvointi/vaalipiirin sis\xe4ll\xe4 ja ehdokkaiden kotikunnat, jotka ovat ehdolla alueella.",selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","R","V","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},ai={legacy:!0,resultSearchRecommendations:t2,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","AgeAndGender","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,liveBiggestWinner:!0,livePartyGraph:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,timeSeries:!1}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","AgeAndGender","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"V\xe4hemm\xe4n EU:ta - Enemm\xe4n EU:ta",bounds:["V\xe4hemm\xe4n EU:ta","Enemm\xe4n EU:ta"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"euro2014",electionName:"Euro\xadparlamentti\xadvaalit",electionDate:"2014-05-25T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/euro2014/hs",is:"https://tulos.vaalikone.fi/euro2014/hs",al:"https://tulos.vaalikone.fi/euro2014/hs",sk:"https://tulos.vaalikone.fi/euro2014/hs"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[4,3,2,6],hasValues:!0},is:{algorithmType:"manhattan",hasValues:!1},al:{algorithmType:"manhattan",hasValues:!1},sk:{algorithmType:"manhattan",hasValues:!1}},notificationDate:{time:"12.00",date:"6.5.2014"},modificationDeadline:{time:"12.00",date:"10.5.2014"},finalDeadline:{time:"12.00",date:"7.6.2014"},year:2014,electionType:"eu",themeSelection:!1,electionLogo:{is:{title:"Eurovaalit 2014",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eurovaalit 2014",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eurovaalit 2014",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eurovaalit 2014",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on saanut. Sek\xe4 paikkam\xe4\xe4r\xe4n ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eurovaaleihin 2019."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"euro-parties-text",text:"Euroedustajat kuuluvat puolueensa kautta johonkin parlamentin poliittisista ryhmist\xe4. Ryhm\xe4t eiv\xe4t perustu kansallisuuteen vaan edustavat eri poliittisia suuntia."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Puolueiden mielipide",embedId:"party-mean-answers",embedPath:"/results/embeds/party-mean-answers",selections:{title:{inUse:!0,parameterName:"title"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},parties:{inUse:!0,allowMultiple:!0,parameterName:"party"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGra
9ph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","A","K"]}}},{embedName:"\xc4\xe4niharavat",embedId:"mostVotes",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}},additionalQueryParameters:[{key:"sort",value:"votes"}]},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Uudet ja putoavat edustajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueet europarlamentissa",embedId:"euroPartiesInfo",embedPath:"/element/euroPartiesInfo",serviceSide:"resultService",availableForBrands:["hs"],selections:{}}],resultService:{}},an={legacy:!0,resultSearchRecommendations:t2,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,liveBiggestWinner:!0,livePartyGraph:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,timeSeries:!1}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VotesArea"],municipality:["PartyShareGraphMunicipality","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"V\xe4hemm\xe4n EU:ta - Enemm\xe4n EU:ta",bounds:["V\xe4hemm\xe4n EU:ta","Enemm\xe4n EU:ta"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"euro2019",electionName:"Euro\xadparlamentti\xadvaalit",electionDate:"2019-05-26T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/euro2019/hs",is:"https://tulos.vaalikone.fi/euro2019/hs",al:"https://tulos.vaalikone.fi/euro2019/hs",sk:"https://tulos.vaalikone.fi/euro2019/hs"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[4,3,2,6],hasValues:!0},is:{algorithmType:"manhattan",hasValues:!1},al:{algorithmType:"manhattan",hasValues:!1},sk:{algorithmType:"manhattan",hasValues:!1}},notificationDate:{time:"12.00",date:"6.5.2019"},modificationDeadline:{time:"12.00",date:"10.5.2019"},finalDeadline:{time:"12.00",date:"7.6.2019"},year:2019,electionType:"eu",themeSelection:!1,electionLogo:{is:{title:"Eurovaalit 2019",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eurovaalit 2019",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eurovaalit 2019",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eurovaalit 2019",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"euro-parties-text",text:"Euroedustajat kuuluvat puolueensa kautta johonkin parlamentin poliittisista ryhmist\xe4. Ryhm\xe4t eiv\xe4t perustu kansallisuuteen vaan edustavat eri poliittisia suuntia."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Puolueiden mielipide",embedId:"party-mean-answers",embedPath:"/results/embeds/party-mean-answers",selections:{title:{inUse:!0,parameterName:"title"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},parties:{inUse:!0,allowMultiple:!0,parameterName:"party"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGra
9ph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","A","K"]}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K"]}}},{embedName:"\xc4\xe4niharavat",embedId:"mostVotes",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}},additionalQueryParameters:[{key:"sort",value:"votes"}]},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Uudet ja putoavat edustajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueet europarlamentissa",embedId:"euroPartiesInfo",embedPath:"/element/euroPartiesInfo",serviceSide:"resultService",availableForBrands:["hs"],selections:{}}],resultService:{}},as={legacy:!1,resultSearchRecommendations:t2,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInEuropeanParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","ClosestParties","PartyValueBrowser","EuroPartiesInfo","NPS","UniversityStudy","ElectionMachineInfo"],compareCandidates:["SelectCandidatesLong","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyValueBrowser","PartyMatchByThemes","EuroPartiesInfo","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","ValueBrowserCandidatesCountry","PopularPartyByRegion","AgeAndGender","PartyTimeseries","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea","ValueBrowserSingleCandidate","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","ValueBrowserParty","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,liveBiggestWinner:!0,livePartyGraph:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!0,valueBrowserParty:!0,valueBrowserSingleCandidate:!0,voteList:!0,timeSeries:!0}}},default:{electionMachine:{resultIndex:["MainResult","ClosestParties","EuroPartiesInfo","NPS","ElectionMachineInfo"],compareCandidates:["
9SelectCandidatesLong","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyMatchByThemes","EuroPartiesInfo","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyGraphCountry","CandidateListCountry","NewAndOldCountry","PopularPartyByRegion","AgeAndGender","PartyTimeseries","EuroPartiesInfo","CountStatus"],area:["PartyShareGraphArea","CandidateListArea","MostPopularPartiesArea","CountStatus"],candidate:["VotesMunicipality","VoteMunicipalityMap","VotesArea","ElectionMachineAnswers"],municipality:["PartyShareGraphMunicipality","MostPopularPartyArea","CandidateListMunicipality","CountStatus"],party:["PartyInfo","PartyCandidateList","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"PartyGraph",municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},npsPakkiUrl:{hs:"https://pakki-delivery.datadesk.hs.fi/?appId=45db5df5-86f6-4575-b5cc-03646e3ab4a8&brand=hs",is:"https://pakki-delivery.datadesk.hs.fi/?appId=ebe8933e-ae75-4755-965c-28385df43a48&brand=is",al:"https://pakki-delivery.datadesk.hs.fi/?appId=d92e3a29-6faf-4f6c-9dce-01fcd38d1699&brand=al",sk:"https://pakki-delivery.datadesk.hs.fi/?appId=342b4dcb-5d3d-42c1-a9fb-d0c27ea50efa&brand=al"},useDarkMode:!0,ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"V\xe4hemm\xe4n EU:ta - Enemm\xe4n EU:ta",bounds:["V\xe4hemm\xe4n EU:ta","Enemm\xe4n EU:ta"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Talous",description:"EU:n juuret ovat taloudellisessa yhdentymisess\xe4 ja yhteisiss\xe4 sis\xe4markkinoissa. EU-maat ovat luovuttaneet unionille lains\xe4\xe4d\xe4nt\xf6vallan useilla talouteen liittyvill\xe4 aloilla. Tulevina vuosina murroksessa on ainakin teknologia, EU:n kilpailukyky ja suhtautuminen valtiontukiin.",id:1},{name:"Turvallisuus ja ulkosuhteet",description:"Ven\xe4j\xe4n hy\xf6kk\xe4ys Ukrainaan on nostanut turvallisuuden aiempaa korkeammalle unionin t\xe4rkeysj\xe4rjestyksess\xe4. Rauhanprojektiksi syntynyt EU on uuden tilanteen edess\xe4, kun konfliktit tai niiden uhka ovat lis\xe4\xe4ntyneet maailmassa. Samalla Kiina, Intia ja muut nousevat taloudet vahvistuvat ja maailma muuttuu entist\xe4 arvaamattomammaksi.",id:2},{name:"Unionin suunta",description:"EU:n kehitykseen vaikuttavat l\xe4hivuosina useat osittain ristiriitaiset voimat: EU:hun kriittisesti suhtautuvat puolueet kasvattavat suosiotaan monessa maassa, mutta esimerkiksi turvallisuuteen liittyv\xe4t haasteet voivat johtaa yhteisty\xf6n tiivist\xe4miseen uusilla alueilla. Lis\xe4ksi laajentuminen on iso kysymys, joka toteutuessaan todenn\xe4k\xf6isesti muuttaa EU:ta.",id:3},{name:"Ymp\xe4rist\xf6 ja ilmasto",description:"Ilmastonmuutos vaikuttaa jo nyt Suomen ja muiden Euroopan maiden luontoon, s\xe4\xe4oloihin ja ihmisten el\xe4m\xe4\xe4n. Kuumuusjaksot, mets\xe4palot ja tulvat ovat lis\xe4\xe4ntyneet. Ilmaston l\xe4mpeneminen my\xf6s pahentaa luontokatoa. P\xe4\xe4ttyv\xe4ll\xe4 parlamenttikaudella EU on tehnyt paljon ilmastoon ja ymp\xe4rist\xf6\xf6n liittyv\xe4\xe4 s\xe4\xe4ntely\xe4.",id:4},{name:"Arvot",description:"Seuraavat v\xe4itteet eiv\xe4t liity suoraan europarlamentin teht\xe4viin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:5},{name:"Ulko- ja turvallisuuspolitiikka",description:"",id:6},{name:"Ilmasto ja luonto",description:"",id:7},{name:"Talous",description:"",id:8},{name:"P\xe4\xe4t\xf6ksenteko",description:"",id:9}],electionMachineQuestions:[{id:1,text:"EU:lla pit\xe4\xe4 olla mahdollisuus ottaa jatkossakin yhteist\xe4 velkaa.",mandatory:!0,order:1,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"Enemm\xe4n EU:ta"}],theme:1,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"EU otti ensi kertaa yhteist\xe4 velkaa koronapandemialla perusteltuun elvytykseen.  Suomi hyv\xe4ksyi sen sill\xe4 ehdolla, ett\xe4 kyseess\xe4 on viimeinen kerta. Nyt eri suunnista on kuitenkin v\xe4l\xe4ytetty yhteist\xe4 velkaa esimerkiksi Ukrainan tai eurooppalaisen puolustusteollisuuden tukemiseen.",relatedArticles:[]}},{id:2,text:"EU:n s\xe4\xe4ntely\xe4 on kevennett\xe4v\xe4 yritysten kilpailukyvyn parantamiseksi.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"EU:n vallank\xe4ytt\xf6 perustuu pitk\xe4lti s\xe4\xe4ntelyyn. EU tuottaa j\xe4senmaita suoraan sitovia asetuksia, j\xe4senmaiden omalle lains\xe4\xe4d\xe4nn\xf6lle raamit asettavia direktiivej\xe4 sek\xe4 p\xe4\xe4t\xf6ksi\xe4, jotka koskevat esimerkiksi tiettyj\xe4 j\xe4senmaita tai yrityksi\xe4. Tavoitteena on muun muassa helpottaa kaupank\xe4ynti\xe4 ja parantaa kuluttajien oikeuksia kaikkialla EU:ssa. Toisaalta s\xe4\xe4ntely voi kuormittaa erityisesti pieni\xe4 yrityksi\xe4 ja tuoda niille kustannuksia.",relatedArticles:[]}},{id:3,text:"EU:n tulisi s\xe4\xe4dell\xe4 tiukemmin teko\xe4lyn kehityst\xe4 ja k\xe4
9ytt\xf6\xe4, jotta sen riskej\xe4 voidaan hallita paremmin.",mandatory:!0,order:3,dimension:"fact",theme:1,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"EU:ssa hyv\xe4ksyttiin teko\xe4lys\xe4\xe4nn\xf6t alkuvuodesta 2024. Niiden mukaan teko\xe4lyn jatkos\xe4\xe4ntelyss\xe4 l\xe4ht\xf6kohdaksi on otettava kansalaisten suojelu haitallisilta k\xe4ytt\xf6tarkoituksilta teknologian edelleen kehittyess\xe4. Jos s\xe4\xe4ntelyst\xe4 tulee liian tiukkaa, sen on pel\xe4tty vahingoittavan eurooppalaisia yrityksi\xe4.",relatedArticles:[]}},{id:4,text:"Maatalouden tukemista EU:n varoin pit\xe4\xe4 v\xe4hent\xe4\xe4.",mandatory:!0,order:4,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Kaupunki"}],theme:1,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Noin kolmannes EU:n monivuotisesta budjetista menee nyt maataloustukiin. Maatalouspolitiikkaa hallinnoidaan EU:n tasolla, ja kansallisia maataloustukia saa my\xf6nt\xe4\xe4 vain rajoitetusti.",relatedArticles:[]}},{id:5,text:"Ukraina pit\xe4\xe4 ottaa EU:n j\xe4seneksi, vaikka sota ei olisikaan loppunut.",mandatory:!0,order:5,dimension:"fact",theme:2,themeName:"Turvallisuus ja ulkosuhteet",brand:["hs","al","sk"],backgroundInformation:{text:"EU-maat p\xe4\xe4ttiv\xe4t joulukuussa 2023 avata Ukrainan kanssa neuvottelut sen liittymisest\xe4 unionin j\xe4seneksi. Ukraina on EU-maihin verrattuna k\xf6yh\xe4, iso ja maatalousvaltainen. Lis\xe4ksi se k\xe4y Ven\xe4j\xe4\xe4 vastaan puolustussotaa, jonka loppua ei ole n\xe4k\xf6piiriss\xe4. Ukrainan lis\xe4ksi EU:lla on kahdeksan muuta ehdokasmaata.",relatedArticles:[]}},{id:6,text:"EU-maiden pit\xe4\xe4 yhdess\xe4 pyrki\xe4 keskitt\xe4m\xe4\xe4n turvapaikanhaku unionin ulkopuolelle.",mandatory:!0,order:6,dimension:"fact",theme:2,themeName:"Turvallisuus ja ulkosuhteet",brand:["hs","al","sk"],backgroundInformation:{text:"Turvapaikanhaun siirt\xe4minen EU:n ulkopuolelle on noussut esiin keinona v\xe4hent\xe4\xe4 siirtolaisuutta Eurooppaan. Se on my\xf6s Suomen tavoite. Oikeus hakea turvapaikkaa kuuluu EU:n perusoikeuksiin. Ihmisoikeusj\xe4rjest\xf6t ovat esitt\xe4neet huolia, ett\xe4 unionin ulkopuolella EU ei voi valvoa turvapaikanhakijoiden oikeuksien toteutumista eik\xe4 oloja, joissa hakijoita pidet\xe4\xe4n. ",relatedArticles:[]}},{id:7,text:"EU:n on ryhdytt\xe4v\xe4 j\xe4rjestelm\xe4llisesti v\xe4hent\xe4m\xe4\xe4n kauppaa Kiinan kanssa.",mandatory:!0,order:7,dimension:"fact",theme:2,themeName:"Turvallisuus ja ulkosuhteet",brand:["hs","al","sk"],backgroundInformation:{text:"Kiina on tuonnilla mitattuna EU:n suurin kauppakumppani. EU-maat ovat useissa kriittisiss\xe4 raaka-aineissa Kiinasta riippuvaisia. Ukrainan sodan seurauksena EU on ryhtynyt v\xe4hent\xe4m\xe4\xe4n t\xe4h\xe4n riippuvuuteen liittyvi\xe4 riskej\xe4. Unionin sis\xe4ll\xe4 on paljon n\xe4kemyseroja siit\xe4, millaiset kauppasuhteet Kiinan kanssa voidaan pit\xe4\xe4.",relatedArticles:[]}},{id:8,text:"Aiempaa suurempi osa EU:n budjetista pit\xe4\xe4 ohjata puolustusteollisuuden vahvistamiseen.",mandatory:!0,order:8,dimension:"fact",theme:2,themeName:"Turvallisuus ja ulkosuhteet",brand:["hs","al","sk"],backgroundInformation:{text:"Ven\xe4j\xe4n hy\xf6kk\xe4ys Ukrainaan on osoittanut, ett\xe4 Euroopan puolustusteollisuuden tuotantokyky on riitt\xe4m\xe4t\xf6n kysynn\xe4n nopeasti kasvaessa. Esimerkiksi ammuksia ei ole pystytty tuottamaan tarpeeksi nopeasti.  EU:n komissio ehdotti maaliskuussa 1,5 miljardin euron rahoitusta puolustusteollisuusohjelmaan.",relatedArticles:[]}},{id:9,text:"EU:n on v\xe4hennett\xe4v\xe4 tulonsiirtoja j\xe4senmaiden v\xe4lill\xe4.",mandatory:!0,order:9,dimension:"fact",theme:3,themeName:"Unionin suunta",brand:["hs","al","sk"],backgroundInformation:{text:"EU-alueiden kehityseroja tasoittava koheesiopolitiikka vie noin kolmanneksen EU:n budjetista. Se tarkoittaa huomattavia tulonsiirtoja k\xf6yhimmille EU-maille. Tavoitteena on vahvistaa EU:n taloudellista, sosiaalista ja alueellista yhteenkuuluvuutta.",relatedArticles:[]}},{id:10,text:"EU:n toimivaltaa on laajennettava sosiaalipolitiikkaan liittyviss\xe4 asioissa.",mandatory:!0,order:10,dimension:"fact",theme:3,themeName:"Unionin suunta",brand:["hs","al","sk"],backgroundInformation:{text:"Ty\xf6llisyys- ja sosiaalipolitiikat ovat suureksi osaksi j\xe4senvaltioiden vastuulla, ja EU:n rooli n\xe4iss\xe4 asioissa on nyt melko v\xe4h\xe4inen. Sosiaaliturvalains\xe4\xe4d\xe4nt\xf6\xe4 on kuitenkin pyritty yhdenmukaistamaan muun muassa sellaisissa tilanteissa, joissa ihmiset liikkuvat EU-maasta toiseen.",relatedArticles:[]}},{id:11,text:"EU:n on tavoiteltava muuttumista liittovaltioksi pitk\xe4ll\xe4 aikav\xe4lill\xe4.",mandatory:!0,order:11,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"Enemm\xe4n EU:ta"}],theme:3,themeName:"Unionin suunta",brand:["hs","al","sk"],backgroundInformation:{text:"EU:n j\xe4senvaltiot ovat antaneet unionille tiettyj\xe4 teht\xe4vi\xe4 ja luovuttaneet samalla sille toimivaltaa itselt\xe4\xe4n. Toimivallan antaminen EU:lle yh\xe4 useammilla aloilla veisi kehityst\xe4 liittovaltion suuntaan. P\xe4\xe4t\xf6svaltaa yksitt\xe4isilt\xe4 j\xe4senmailta v\xe4hent\xe4\xe4 my\xf6s se, jos entist\xe4 useammat p\xe4\xe4t\xf6kset voidaan tehd\xe4 ilman niiden yksimielisyytt\xe4.",relatedArticles:[]}},{id:12,text:"Suomen j\xe4senyys EU:ssa on hyv\xe4 asia.",mandatory:!0,order:12,dimension:"ideology",valueDetails:[{valueId:4,targetBound:"Enemm\xe4n EU:ta"}],theme:3,themeName:"Unionin suunta",brand:["hs","al","sk"],backgroundInformation:{text:"Suomi liittyi 
9EU:n j\xe4seneksi 1. tammikuuta 1995 neuvoa-antavan kansan\xe4\xe4nestyksen j\xe4lkeen.",relatedArticles:[]}},{id:13,text:"Lihan, munien ja maidon tuotantoon suunnattuja tukia on v\xe4hennett\xe4v\xe4 maatalouden p\xe4\xe4st\xf6jen v\xe4hent\xe4miseksi.",mandatory:!0,order:13,dimension:"ideology",valueDetails:[{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:4,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"EU:n maataloustuista yli 80 prosenttia menee el\xe4inper\xe4isten elintarvikkeiden tuottamiseen. Samalla n\xe4iden elintarvikkeiden tuotannosta syntyy yli 80 prosenttia kaikista ruuantuotannon kasvihuonep\xe4\xe4st\xf6ist\xe4 EU:ssa, todetaan Nature Food -nimisess\xe4 tieteellisess\xe4 julkaisussa huhtikuussa ilmestyneess\xe4 tutkimuksessa. Maatalouden p\xe4\xe4st\xf6t eiv\xe4t ole k\xe4yt\xe4nn\xf6ss\xe4 v\xe4hentyneet vuoden 2005 j\xe4lkeen.",relatedArticles:[]}},{id:14,text:"J\xe4senmaiden pit\xe4\xe4 saada p\xe4\xe4tt\xe4\xe4 itse, kuinka paljon ne hakkaavat metsi\xe4\xe4n.",mandatory:!0,order:14,dimension:"fact",theme:4,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"Mets\xe4politiikka ei kuulu EU:n toimivaltaan. Ymp\xe4rist\xf6- ja ilmastopolitiikka kuitenkin kuuluu. Suomessa siihen liittyv\xe4t tavoitteet helposti vaikuttavat metsiin, koska Suomi on niin mets\xe4inen maa.",relatedArticles:[]}},{id:15,text:"EU:n on teht\xe4v\xe4 sitovat suunnitelmat, joilla luovutaan fossiilisista polttoaineista kokonaan.",mandatory:!0,order:15,dimension:"ideology",valueDetails:[{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:4,themeName:"Ymp\xe4rist\xf6 ja ilmasto",brand:["hs","al","sk"],backgroundInformation:{text:"YK:n ilmastohuippukokouksessa viime vuonna kirjattiin valtioille historiallinen kehotus siirty\xe4 pois fossiilisista polttoaineista. Tarkat, sitovat suunnitelmat sen toteuttamiseksi kuitenkin puuttuvat viel\xe4. Komissio ehdotti helmikuussa, ett\xe4 EU asettaisi tavoitteeksi v\xe4hent\xe4\xe4 vuoteen 2040 menness\xe4 p\xe4\xe4st\xf6j\xe4 90 prosenttia vuoden 1990 tasoon verrattuna.",relatedArticles:[]}},{id:16,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia.",mandatory:!0,order:16,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:17,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:17,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:18,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu.",mandatory:!0,order:18,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:19,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:19,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:20,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:20,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:21,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:21,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:22,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:22,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:2,targetBound:"Arvokonservatiivi"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:23,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:23,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:2,targetBound:"Arvoliberaali"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:24,text:"Tottelevaisuus ja auktoriteettien kunnioittaminen ovat t\xe4rkeimm\xe4t arvot, jotka lapsen tulee oppia.",mandatory:!0,order:24,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:25,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:25,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:26,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:26,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:27,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:27,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:28,text:"Vahva johtaja on Suomelle hyv\xe4ksi, vaikka h\xe4n toimisi s\xe4\xe4nt\xf6jen rajamailla saadakseen asioita tehty\xe4.",mandatory:!0,order:28,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:29,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:29,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Maaseutu"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:30,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:30,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Kaupunki"}],theme:5,themeName:"Arvot",brand:["hs","al","sk"]},{id:31,text:"Ven\xe4j\xe4lt\xe4 takavarikoitu omaisuus tulisi k\xe4ytt\xe4\xe4 Ukrainan tukemiseen.",mandatory:!0,order:31,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:32,text:"EU:n Ven\xe4j\xe4n vastaiset pakotteet eiv\xe4t toimi.",mandatory:!0,order:32,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:33,text:"EU:n on otettava yhteist\xe4 velkaa Ukrainan tukemiseksi.",mandatory:!0,order:33,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:34,text:"\xc4\xe4rioikeiston nousu on turvallisuusuhka Euroopalle.",mandatory:!0,order:34,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:35,text:"EU:n pit\xe4\xe4 maksaa Suomen ja Ven\xe4j\xe4n v\xe4linen raja-aita.",mandatory:!0,order:35,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:36,text:"Nato riitt\xe4\xe4 takaamaan EU:n turvallisuuden.",mandatory:!0,order:36,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:37,text:"Donald Trumpin valinta presidentiksi heikent\xe4isi Euroopan ja Suomen turvallisuutta.",mandatory:!0,order:37,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:38,text:"Sota EU-maan ja Ven\xe4j\xe4n v\xe4lill\xe4 on todenn\xe4k\xf6inen seuraavan viiden vuoden aikana.",mandatory:!0,order:38,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:39,text:"EU:n pit\xe4\xe4 l\xf6yt\xe4\xe4 ratkaisu, jolla torjutaan j\xe4senmaiden rajoilla tapahtuva v\xe4lineellistetty maahanmuutto.",mandatory:!0,order:39,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:40,text:"Ukraina pit\xe4\xe4 ottaa EU:hun, vaikka sota olisi edelleen k\xe4ynniss\xe4, eik\xe4 maa t\xe4ytt\xe4isi kaikkia j\xe4senyyskriteerej\xe4.",mandatory:!0,order:40,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:41,text:"EU on riitt\xe4v\xe4n uskottava ja yhten\xe4inen vastavoima aggressiiviselle Putinin Ven\xe4j\xe4lle.",mandatory:!0,order:41,dimension:"fact",theme:6,themeName:"Ulko- ja turvallisuuspolitiikka",brand:["is"]},{id:42,text:"J\xe4senmaiden pit\xe4\xe4 saada itse p\xe4\xe4tt\xe4\xe4 omista mets\xe4hakkuistaan.",mandatory:!0,order:42,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:43,text:"Uusien bensiini- ja dieselautojen myynti EU:ssa p\xe4\xe4ttyy 2035. Se on liian aikaisin. ",mandatory:!0,order:43,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:44,text:"EU tavoittelee hiilineutraaliutta vuoteen 2050 menness\xe4, mutta tavoite on karkaamassa. EU:n pit\xe4\xe4 ajaa kunnianhimoisempaa ilmastopolitiikkaa, jotta tavoitteeseen p\xe4\xe4st\xe4\xe4n.",mandatory:!0,order:45,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:45,text:"Suomea kohdellaan EU:n ilmasto- ja ymp\xe4rist\xf6politiikassa ep\xe4oikeudenmukaisesti.",mandatory:!0,order:45,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:46,text:"Ydinvoiman merkityst\xe4 energiantuotannossa pit\xe4\xe4 edist\xe4\xe4 koko EU:n tasolla.",mandatory:!0,order:46,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:47,text:"EU:n pit\xe4\xe4 v\xe4hent\xe4\xe4 lihantuotannon tukemista.",mandatory:!0,order:47,dimension:"fact",theme:7,themeName:"Ilmasto ja luonto",brand:["is"]},{id:48,text:"Suomi toimii liian kiltisti ja tunnollisesti EU:n talouskysymyksiss\xe4.",mandatory:!0,order:48,dimension:"fact",theme:8,themeName:"Talous",brand:["is"]},{id:49,text:"EU:n taloudellista riippuvuutta Kiinasta pit\xe4\xe4 v\xe4hent\xe4\xe4, sill\xe4 Kiina on Euroopalle turvallisuusuhka.",mandatory:!0,order:49,dimension:"fact",theme:8,themeName:"Talous",brand:["is"]},{id:50,text:"Suomen pit\xe4\xe4 luopua eurosta ja palata omaan markkaan.",mandatory:!0,order:50,dimension:"fact",theme:8,themeName:"Talous",brand:["is"]},{id:51,text:"Suuri osa j\xe4senmaista - Suomi mukaan lukien - rikkoo EU:n finanssipoliittisia s\xe4\xe4nt\xf6j\xe4. S\xe4\xe4nt\xf6j\xe4 pit\xe4\xe4 h\xf6llent\xe4\xe4, jotta muun muassa Suomen ei tarvitse s\xe4\xe4st\xe4\xe4 niin paljon.",mandatory:!0,order:51,dimension:"fact",theme:8,themeName:"Talous",brand:["is"]},{id:52,text:"Euroopan per\xe4ll\xe4 sijaitseva Suomi on ep\xe4onnistunut EU-rahan hankkimisessa julkisiin hankke
9isiin.",mandatory:!0,order:52,dimension:"fact",theme:8,themeName:"Talous",brand:["is"]},{id:53,text:"Ven\xe4j\xe4\xe4n my\xf6nteisesti suhtautuvat EU-maat on suljettava EU:n p\xe4\xe4t\xf6ksenteon ulkopuolelle.",mandatory:!0,order:53,dimension:"fact",theme:9,themeName:"P\xe4\xe4t\xf6ksenteko",brand:["is"]},{id:54,text:"EU:n pit\xe4isi pysty\xe4 tekem\xe4\xe4n p\xe4\xe4t\xf6ksi\xe4, joista j\xe4senmaat eiv\xe4t ole yksimielisi\xe4.",mandatory:!0,order:54,dimension:"fact",theme:9,themeName:"P\xe4\xe4t\xf6ksenteko",brand:["is"]},{id:55,text:"EU:n ei pid\xe4 s\xe4\xe4t\xe4\xe4, millaisia pullonkorkkeja j\xe4senmaissa k\xe4ytet\xe4\xe4n.",mandatory:!0,order:55,dimension:"fact",theme:9,themeName:"P\xe4\xe4t\xf6ksenteko",brand:["is"]},{id:56,text:"EU:n yhteist\xe4 p\xe4\xe4t\xf6ksentekoa ja kehittymist\xe4 liittovaltioksi on edistett\xe4v\xe4.",mandatory:!0,order:56,dimension:"fact",theme:9,themeName:"P\xe4\xe4t\xf6ksenteko",brand:["is"]},{id:57,text:"EU-j\xe4senyys maksoi Suomelle 144 euroa asukasta kohden (vuoden 2022 nettomaksu). Se on hinta, joka j\xe4senyydest\xe4 kannattaa maksaa.",mandatory:!0,order:57,dimension:"fact",theme:9,themeName:"P\xe4\xe4t\xf6ksenteko",brand:["is"]}],metadata:{id:"euro2024",electionName:"Euro\xadparlamentti\xadvaalit",electionDate:"2024-01-28T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/euro2024/hs",is:"https://tulos.vaalikone.fi/euro2024/is",al:"https://tulos.vaalikone.fi/euro2024/al",sk:"https://tulos.vaalikone.fi/euro2024/sk"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[4,3,2,6],hasValues:!0},is:{algorithmType:"manhattan",hasValues:!1},al:{algorithmType:"manhattan",hasValues:!1},sk:{algorithmType:"manhattan",hasValues:!1}},notificationDate:{time:"12.00",date:"6.5.2024"},modificationDeadline:{time:"12.00",date:"10.5.2024"},finalDeadline:{time:"12.00",date:"7.6.2024"},year:2024,electionType:"eu",themeSelection:!1,electionLogo:{is:{title:"Eurovaalit 2024",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Eurovaalit 2024",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Eurovaalit 2024",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Eurovaalit 2024",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[{title:"N\xe4in HS sijoittaa puolueet ja ehdokkaat arvokartalle",url:"https://www.hs.fi/politiikka/art-2000010457779.html",brand:"hs",date:"6.6.2024",image:{alt:"Artikkelin N\xe4in HS sijoittaa puolueet ja ehdokkaat arvokartalle artikkelikuva",src:"https://hs.mediadelivery.fi/img/658/ea6defde4d91e805fd4af8299ea5cedc.jpg.webp"}}],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"result-wait-text",text:"Tulospalvelu seuraa \xe4\xe4ntenlaskentaa klo 20 alkaen."},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien, sitten Ilta-Sanomien ja lopuksi aluemedioiden vaalikonekysymykset. Jotkut kysymykset ovat yhteisi\xe4 kaikille vaalikoneille. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, koulutus, kielitaito ja ammatti \n - ehdokkaan puolue \n - kunta, jossa ehdokas asuu \n - onko ehdokas t\xe4ll\xe4 hetkell\xe4: kansanedustaja tai Euroopan parlamentin j\xe4sen \n - ehdokkaan oma vapaamuotoinen kuvausteksti\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:""},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on saanut. Sek\xe4 paikkam\xe4\xe4r\xe4n ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin eurovaaleihin 2019."},{key:"election-faq",text:"# Tietoja Sanoman vaalikoneesta\n\nSanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median ver
9siossa. Toimintaperiaate on kuitenkin sama.\n\n## Miten vaalikone toimii?\n\nSanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan.\nKysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n## Tallennetaanko vastauksiani?\n\nVaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas-, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. K\xe4ytt\xf6kokemuksen parantamiseksi ja virhetilanteiden ennaltaehk\xe4isemiseksi vaalikoneeseen annetut vastaukset ja teemavalinnat tyhjentyv\xe4t kun v\xe4lilehti suljetaan. [Lis\xe4tietoja tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.vaalikone.fi/euro2024/hs/tietosuoja).\n\n## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\nJos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:'Eurovaalit ovat sunnuntaina 9.6.2024. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s tutkia ehdokkaiden n\xe4kemyksi\xe4 suoraan valitsemalla "Tutustu ehdokkaisiin".'},{key:"how-to-vote",text:"# N\xe4in \xe4\xe4nest\xe4t eurovaaleissa\n\nVaaleissa on kaksi p\xe4\xe4asiallista tapaa \xe4\xe4nest\xe4\xe4: ennakkoon tai vaalip\xe4iv\xe4n\xe4.\n\nEnnakko\xe4\xe4nestys on k\xe4ynniss\xe4 29.5.–4.6.2024. Ennakkoon voi \xe4\xe4nest\xe4\xe4 miss\xe4 tahansa \xe4\xe4nestyspaikassa. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan.\n\n
9Itse vaalip\xe4iv\xe4 on sunnuntaina 9.6.2024. Jos \xe4\xe4nest\xe4t silloin, sinun pit\xe4\xe4 menn\xe4 oman alueesi \xe4\xe4nestyspaikkaan. Se on kerrottu ilmoituskortissa, joka on postitettu kotiin. Vaalip\xe4iv\xe4n\xe4 \xe4\xe4nestyspaikat ovat auki klo 9-20. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan. Postissa tullutta \xe4\xe4nioikeusilmoitusta ei tarvita \xe4\xe4nestyspaikalla, mutta sen voi halutessaan ottaa mukaan.\n\nLis\xe4tietoa \xe4\xe4nest\xe4misest\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4: [https://vaalit.fi/nain-aanestat-europarlamenttivaaleissa](https://vaalit.fi/nain-aanestat-europarlamenttivaaleissa)"},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."},{key:"euro-parties-text",text:"Euroedustajat kuuluvat puolueensa kautta johonkin parlamentin poliittisista ryhmist\xe4. Ryhm\xe4t eiv\xe4t perustu kansallisuuteen vaan edustavat eri poliittisia suuntia."},{key:"result-area-candidates-title",text:"Alueelta \xe4\xe4ni\xe4 saaneet ehdokkaat"},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko puolueet l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla nime\xe4 saat tiedot esiin tai piiloon."}],public:{candidate:!0,election:!0,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Puolueiden mielipide",embedId:"party-mean-answers",embedPath:"/results/embeds/party-mean-answers",selections:{title:{inUse:!0,parameterName:"title"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},parties:{inUse:!0,allowMultiple:!0,parameterName:"party"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Puoluetulos",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Alueen ehdokaslista",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","A","K"]}}},{embedName:"Valittujen arvokartta",embedId:"valueBrowserChosenCandidates",embedPath:"/element/valueBrowserChosenCandidates",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Puolueet alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K"]}}},{embedName:"\xc4\xe4niharavat",embedId:"mostVotes",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}},additionalQueryParameters:[{key:"sort",value:"votes"}]},{embedName:"Ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Uudet ja putoavat edustajat",embedId:"newAndOld",embedPath:"/element/newAndOld",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen \xe4\xe4net alueittain",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueet europarlamentissa",embedId:"euroPartiesInfo",embedPath:"/element/euroPartiesInfo",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{}},{embedName:"Puolueiden \xe4\xe4niosuudet laskennan aikana",embedId:"partyTimeSeriesShare",embedPath:"/element/timeSeriesParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!0},title:{inUse:!0,parameterName:"title"},customBoolean:{inUse:!0,selections:[{parameterName:"hideLeadParagraph",label:"Piilota ingressi"},{parameterName:"hideLinkToResultService",label:"Piilota linkki tulospalveluun"}]}},additionalQueryParameters:[{key:"mode",value:"share"}]},{embedName:"Puolueiden \xe4\xe4nim\xe4\xe4r\xe4t laskennan aikana",embedId:"partyTimeSeriesVotes",embedPath:"/element/timeSeriesParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!0},title:{inUse:!0,parameterName:"title"},customBoolean:{inUse:!0,selections:[{parameterName:"hideLeadParagraph",label:"Piilota ingressi"},{parameterName:"hideLinkToResultService",label:"Piilota linkki tulospalveluun"}]}},additionalQueryParameters:[{key:"mode",value:"votes"}]}],resultService:{}},ao={legacy:!0,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!1,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!1,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0}
9,currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"kunta2012",electionDate:"2025-06-13T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/kunta2012/hs",is:"https://tulos.vaalikone.fi/kunta2012/is",al
9:"https://tulos.vaalikone.fi/kunta2012/al",sk:"https://tulos.vaalikone.fi/kunta2012/sk"},curtainTime:{date:"2.4.2012",time:"20"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2012"},modificationDeadline:{time:"23.59",date:"10.03.2012"},finalDeadline:{time:"23.59",date:"10.04.2012"},year:2012,electionName:"Kunnallisvaalit",electionType:"municipal",themeSelection:!1,electionLogo:{is:{title:"Kunnallisvaalit 2012",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Kunnallisvaalit 2012",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Kunnallisvaalit 2012",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Kunnallisvaalit 2012",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:t0,municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},useCandidateAggregates:!0,partyAnswerLevel:"nominationArea"},texts:[{key:"election-select-parties",text:""},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin."}
9,{key:"party-graph-explainer-municipality-page",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on t\xe4ss\xe4 kunnassa saanut. Sek\xe4 paikkojen ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueen \xe4\xe4niosuuden muutos kartalla",embedId:"shareChangeMap-party",embedPath:"/element/shareChangeMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueiden voittamat kunnat",embedId:"municipalitiesWonByParty",embedPath:"/element/municipalitiesWonByParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},ar={legacy:!0,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!1,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteListMunicipality","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!1,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0}
9,currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"kunta2017",electionDate:"2025-06-13T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/kunta2017/hs",is:"https://tulos.vaalikone.fi/kunta2017/is",al:"https://tulos.vaalikone.fi/kunta2017/al",sk:"https://tulos.vaalikone.fi/kunta2017/sk"},curtainTime:{date:"2.4.2017",time:"20"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2017"},modificationDeadline:{time:"23.59",date:"10.03.2017"},finalDeadline:{time:"23.59",date:"10.04.2017"},year:2017,electionName:"Kuntavaalit",electionType:"municipal",themeSelection:!1,electionLogo:{is:{title:"Kuntavaalit 2017",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Kuntavaalit 2017",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Kuntavaalit 2017",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Kuntavaalit 2017",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:t0,municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},useCandidateAggregates:!0,partyAnswerLevel:"nominationArea"},texts:[{key:"election-select-parties",text:""},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4
9ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2012."},{key:"party-graph-explainer-municipality-page",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on t\xe4ss\xe4 kunnassa saanut. Sek\xe4 paikkojen ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2012."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2012."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueiden voittamat kunnat",embedId:"municipalitiesWonByParty",embedPath:"/element/municipalitiesWonByParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},al={legacy:!0,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteMunicipalityMap","VoteListMunicipality","ShareChangeMunicipalityMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!1,valueBrowserParty:!1,valueBrowserSingleCandidate:!1,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!0,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],compareParties:[],candidateListLayoutAll:[],howToVote:[]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteMunicipalityMap","VoteListMunicipality","ShareChangeMunicipalityMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!1,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!1,voteHeatMap:!0,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0}
9,currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!1},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"kunta2021",electionDate:"2025-06-13T17:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/kunta2021/hs",is:"https://tulos.vaalikone.fi/kunta2021/is",al:"https://tulos.vaalikone.fi/kunta2021/al",sk:"https://tulos.vaalikone.fi/kunta2021/sk"},curtainTime:{date:"2.4.2021",time:"20"},answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2021"},modificationDeadline:{time:"23.59",date:"10.03.2021"},finalDeadline:{time:"23.59",date:"10.04.2021"},year:2021,electionName:"Kuntavaalit",electionType:"municipal",themeSelection:!1,electionLogo:{is:{title:"Kuntavaalit 2021",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Kuntavaalit 2021",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Kuntavaalit 2021",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Kuntavaalit 2021",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:t0,municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},useCandidateAggregates:!0,partyAnswerLevel:"nominationArea"},texts:[{key:"election-select-parties",text:""},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4
9ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2017."},{key:"party-graph-explainer-municipality-page",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on t\xe4ss\xe4 kunnassa saanut. Sek\xe4 paikkojen ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2017."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2017."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurin puolue alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net kartalla",embedId:"voteHeatMap-candidate",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["K"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puolueen \xe4\xe4net kartalla",embedId:"voteHeatMap-party",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","K"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueen \xe4\xe4niosuuden muutos kartalla",embedId:"shareChangeMap-party",embedPath:"/element/shareChangeMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueiden voittamat kunnat",embedId:"municipalitiesWonByParty",embedPath:"/element/municipalitiesWonByParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},au={legacy:!1,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","ClosestParties","PartyValueBrowser","CombinedElectionLink","NPS"],compareCandidates:["
9SelectCandidatesLong","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyValueBrowser","PartyMatchByThemes","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap","ValueBrowserSingleCandidate","ElectionMachineAnswers"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","PersonsOfInterest","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","ValueBrowserChosenCandidate","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteMunicipalityMap","VoteListMunicipality","ShareChangeMunicipalityMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,valueBrowserChosenCandidates:!0,valueBrowserParty:!0,valueBrowserSingleCandidate:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}},default:{electionMachine:{resultIndex:["MainResult","ClosestParties","CombinedElectionLink","NPS"],compareCandidates:["SelectCandidatesLong","CandidateMatchByThemes","CandidateAnswerBrowser"],compareParties:["SelectParties","PartyMatchByThemes","PartyMeanAnswers"],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PartyShareGraphCountry","PartyGraphBrandArea","CandidateListCountryMostVotes","PopularPartyByRegion","MunicipalitiesWonPerParty","AgeAndGenderDemographics","CountStatus"],area:["PartyShareGraphArea","PartyShareGraphCountry","CandidateListArea","MostPopularPartiesArea","MunicipalityList","CountStatus"],candidate:["VotesArea","VoteAreaMap","ElectionMachineAnswers"],municipality:["PartyGraphMunicipalityElection","CandidateListMunicipalityElection","PersonsOfInterest","NewAndOldCouncil","MostPopularPartyArea","AgeAndGender","CountStatus"],party:["PartyInfo","PartyCandidateListByVote","VoteMunicipalityMap","VoteListMunicipality","ShareChangeMunicipalityMap","VoteListArea"],voteArea:["PartyGraph","CandidateListArea","CountStatus"],element:{ageAndGender:!0,answersToElectionMachine:!0,biggestWinner:!0,candidateList:!0,frontPageEmbed:"CombinedPartyShareGraph",areaFrontPageEmbed:!0,municipalityList:!0,newAndOld:!0,partyCandidateList:!0,partyGraph:!0,partyInfo:!0,popularPartyByRegionMap:!0,voteList:!0,liveBiggestWinner:!0,livePartyGraph:!0,personsOfInterest:!0,voteHeatMap:!0,shareChangeMap:!0,search:!0}}}},frontendDefaults:{selectedCandidatesAmount:5,mainResultShowAllCandidates:!1},npsPakkiUrl:{hs:"https://pakki-delivery.datadesk.hs.fi?appId=7ab78001-d5ec-452b-8110-9628c06d7caa&brand=hs",is:"https://pakki-delivery.datadesk.hs.fi?appId=bd6cf56a-1f35-4676-a25e-a4a9f7f15d12&brand=is",al:"https://pakki-delivery.datadesk.hs.fi?appId=6c03bbba-ea26-4dcc-a25b-8d8b1ab33a1e&brand=al",sk:"https://pakki-delivery.datadesk.hs.fi?appId=318f63b8-b2a8-460c-b411-93c620f99d92&brand=al"},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!0},currentlyInMunicipalCouncil:{inUse:!0},currentlyInCountyCouncil:{inUse:!0},currentlyInEuropeanParliament:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!0},languages:{inUse:!0},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1},personalValues:{inUse:!1},goodQualities:{inUse:!1},description:{inUse:!0},educationLevel:{inUse:!0},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!0},gender:{inUse:!0}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],genderOptions:[{name:"Nainen",id:1},{name:"Mies",id:2},{name:"Muu",id:3},{name:"En halua kertoa",id:4}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Kasvatus ja koulutus",description:"Kuntien varoista 60 prosenttia menee p\xe4iv\xe4koteihin ja koulutukseen. Kuntien t\xe4ytyy j\xe4rjest\xe4\xe4 perusopetus, mutta monet kunnat yll\xe4pit\xe4v\xe4t my\xf6s lukiota ja ammatillisia oppilaitoksia.",id:1},{name:"Kulttuuri",description:"Kunnat tukevat kulttuuria monin tavoin. Ne maksavat tukea teattereille ja orkestereille, j\xe4rjest\xe4v\xe4t vapaata sivistysty\xf6t\xe4 ja yll\xe4pit\xe4v\xe4t kirjastoja.",id:2},{name:"Talous",description:"Kuntien rahoitus koostuu valtionosuuksista ja kuntien saamista verotuotoista. Kunnat voivat vaikuttaa saamiensa verovarojen m\xe4\xe4r\xe4\xe4n esimerkiksi nostamalla veroprosenttia ja houkuttelemalla alueelleen kiinteist\xf6veroa maksavia yrityksi\xe4.",id:3},{name:"V\xe4est\xf6 ja asuminen",description:"Kunnat vaikuttavat asumiseen ennen kaikkea kaavoittamisen kautta. Esimerkiksi uusista asuinalueista ja t\xe4ydennysrakentamisen m\xe4\xe4r\xe4st\xe4 p\xe4\xe4tet\xe4\xe4n kunnan- ja kaupunginvaltuustoissa. Suomen kunnat ovat hyvin eriytyneet v\xe4est\xf6lt\xe4\xe4n: Helsinki ja my\xf6s esimerkiksi Tampere kasvavat voimakkaasti, mutta suur
9in osa kunnista menett\xe4\xe4 v\xe4est\xf6\xe4\xe4n.",id:4},{name:"Espoo",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:5},{name:"Helsinki",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:6},{name:"Vantaa",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:7},{name:"Tampere",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:8},{name:"Akaa",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:9},{name:"H\xe4meenkyr\xf6",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:10},{name:"Ikaalinen",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:11},{name:"Juupajoki",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:12},{name:"Kangasala",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:13},{name:"Kihni\xf6",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:14},{name:"Kuhmoinen",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:15},{name:"Lemp\xe4\xe4l\xe4",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:16},{name:"M\xe4ntt\xe4-Vilppula",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:17},{name:"Nokia",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:18},{name:"Orivesi",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:19},{name:"Parkano",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:20},{name:"Pirkkala",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:21},{name:"Punkalaidun",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:22},{name:"P\xe4lk\xe4ne",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:23},{name:"Ruovesi",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:24},{name:"Sastamala",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:25},{name:"Urjala",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:26},{name:"Valkeakoski",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:27},{name:"Vesilahti",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:28},{name:"Virrat",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:29},{name:"Yl\xf6j\xe4rvi",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:30},{name:"J\xe4ms\xe4",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:31},{name:"Janakkala",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:32},{name:"Keuruu",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:33},{name:"Multia",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:34},{name:"Ulvila",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:35},{name:"Eura",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:36},{name:"S\xe4kyl\xe4",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:37},{name:"Huittinen",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:38},{name:"Kankaanp\xe4\xe4",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:39},{name:"Pomarkku",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:40},{name:"Pori",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:41},{name:"Nakkila",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:42},{name:"Harjavalta",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:43},{name:"Kokem\xe4ki",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:44},{name:"Karvia",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:45},{name:"Merikarvia",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:46},{name:"Siikainen",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:47},{name:"J\xe4mij\xe4rvi",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:48},{name:"Eurajoki",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:49},{name:"Rauma",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:50},{name:"Pyh\xe4ranta",description:"Oman kuntasi paikallisia kysymyksi\xe4.",id:51},{name:"Arvot",description:"Seuraavat v\xe4itteet eiv\xe4t liity suoraan kunnan teht\xe4viin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:52},{name:"Liikenne",uniqueCandidateMachineName:"Liikenne (IS)",description:"",id:53},{name:"Koulut",uniqueCandidateMachineName:"Koulut (IS)",description:"",id:54},{name:"Talous",uniqueCandidateMachineName:"Talous (IS)",description:"",id:55},{name:"Asuminen",uniqueCandidateMachineName:"Asuminen (IS)",description:"",id:56},{name:"Ymp\xe4rist\xf6",uniqueCandidateMachineName:"Ymp\xe4rist\xf6 (IS)",description:"",id:57},{name:"Maahanmuutto",uniqueCandidateMachineName:"Maahanmuutto (IS)",description:"",id:58},{name:"Helsinki",uniqueCandidateMachineName:"Helsinki (IS)",description:"",id:59},{name:"Espoo",uniqueCandidateMachineName:"Espoo (IS)",description:"",id:60},{name:"Vantaa",uniqueCandidateMachineName:"Vantaa (IS)",description:"",id:61},{name:"Oulu",uniqueCandidateMachineName:"Oulu (IS)",description:"",id:62},{name:"Turku",uniqueCandidateMachineName:"Turku (IS)",description:"",id:63},{name:"Tampere",uniqueCandidateMachineName:"Tampere (IS)",description:"",id:64},{name:"Jyv\xe4skyl\xe4",uniqueCandidateMachineName:"Jyv\xe4skyl\xe4 (IS)",description:"",id:65}],electionMachineQuestions:[{id:1,text:"K\xe4nnyk\xe4t pit\xe4isi kielt\xe4\xe4 kouluissa my\xf6s v\xe4litunneilla.",mandatory:!0,order:1,dimension:"fact",theme:1,themeName:"Kasvatus ja koulutus",brand:["hs","al","sk"],backgroundInformation:{text:"Hallitus on s\xe4\xe4t\xe4m\xe4ss\xe4 lakia, jonka mukaan puhelimen k\xe4ytt\xf6 on jatk
9ossa l\xe4ht\xf6kohtaisesti kielletty\xe4 oppitunnilla. Puhelimen k\xe4ytt\xf6\xe4 v\xe4litunnilla ja ruokailun aikana ei kiellet\xe4 laissa, mutta koulujen pit\xe4\xe4 tehd\xe4 asiasta linjaukset j\xe4rjestyss\xe4\xe4nn\xf6iss\xe4\xe4n.",relatedArticles:[]}},{id:2,text:"Varhaiskasvatuksen ty\xf6ntekij\xf6it\xe4 pit\xe4\xe4 houkutella kuntaani palkankorotuksilla.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Kasvatus ja koulutus",brand:["hs","al","sk"],backgroundInformation:{text:"Varhaiskasvatuksen opettajista on pulaa koko maassa. Monet kunnat ja kaupungit ovat p\xe4\xe4tyneet nostamaan opettajien palkkoja houkutellakseen heit\xe4 itselleen.",relatedArticles:[]}},{id:3,text:"Erityisopettajia ja koulunk\xe4yntiavustajia pit\xe4\xe4 palkata kouluihin lis\xe4\xe4, vaikka se tarkoittaisi kuntaveron korotusta.",mandatory:!0,order:3,dimension:"fact",theme:1,themeName:"Kasvatus ja koulutus",brand:["hs","al","sk"],backgroundInformation:{text:"Tukea tarvitsevien oppilaiden m\xe4\xe4r\xe4 on kasvanut voimakkaasti 2000-luvulla. Mit\xe4 enemm\xe4n aikuisia luokassa on, sit\xe4 enemm\xe4n lapsen on mahdollista saada tukea.",relatedArticles:[]}},{id:4,text:"Jos kunnan taloustilanne on heikko, teattereiden ja orkestereiden tuesta voi karsia.",mandatory:!0,order:4,dimension:"fact",theme:2,themeName:"Kulttuuri",brand:["hs","al"],backgroundInformation:{text:"Kunnat ovat teattereiden ja orkestereiden merkitt\xe4vi\xe4 rahoittajia. Kuntien rahoitus taas kostuu p\xe4\xe4asiassa valtionosuuksista ja asukkaiden ja yritysten maksamista veroista.",relatedArticles:[]}},{id:5,text:"L\xe4hikirjastojen rahoitus on pidett\xe4v\xe4 nykytasolla, vaikka kunnassani etsitt\xe4isiin s\xe4\xe4st\xf6kohteita",mandatory:!0,order:5,dimension:"fact",theme:2,themeName:"Kulttuuri",brand:["hs","al","sk"],backgroundInformation:{text:"Kirjastot ovat yksi kuntien k\xe4ytetyimmist\xe4 palveluista. Jos kunnan rahatilanne on heikko, se voi joko karsia palveluitaan tai korottaa kuntaveroa.",relatedArticles:[]}},{id:6,text:"Kuntani veroprosentin on pysytt\xe4v\xe4 ennallaan, vaikka olisi paineita menojen kasvattamiseksi.",mandatory:!0,order:6,dimension:"fact",theme:3,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Kunnat saavat rahansa p\xe4\xe4asiassa valtionosuuksista ja veroista. Kunta voi p\xe4\xe4tt\xe4\xe4, ker\xe4\xe4k\xf6 se enemm\xe4n tuloja veroina, vai leikkaako se joitain palveluita.",relatedArticles:[]}},{id:7,text:"Kuntaani pit\xe4\xe4 houkutella vihre\xe4n siirtym\xe4n investointeja, kuten tuulivoimaa, aurinkovoimaa tai v\xe4h\xe4p\xe4\xe4st\xf6isi\xe4 tehtaita.",mandatory:!0,order:7,dimension:"fact",theme:3,themeName:"Talous",brand:["hs","al","sk"],backgroundInformation:{text:"Energiaa tuotetaan Suomessa jatkuvasti enemm\xe4n uusiutuvilla energiamuodoilla. Investoinnit tuovat kuntiin muun muassa lis\xe4\xe4 kiinteist\xf6veroja, mutta esimerkiksi tuulivoimaa on my\xf6s vastustettu muun muassa sen aiheuttaman melun vuoksi.",relatedArticles:[]}},{id:8,text:"Kunnassani pit\xe4\xe4 toimia niin, ett\xe4 asuinalueet eiv\xe4t eriydy liikaa toisistaan asukkaiden varallisuuden tai etnisen taustan mukaan.",mandatory:!0,order:8,dimension:"fact",theme:4,themeName:"V\xe4est\xf6 ja asuminen",brand:["hs","al"],backgroundInformation:{text:"Kaupungit voivat kaavoittaa uusia asuntoja niin, ett\xe4 kaikille alueille tulee sek\xe4 tavallisia omistusasuntoja ett\xe4 tuettua asumista. T\xe4ll\xe4 pyrit\xe4\xe4n siihen, ett\xe4 sosiaaliset ongelmat eiv\xe4t kasaantuisi tietyille alueille, ja ett\xe4 ei syntyisi alueita, joilla asuu vain maahanmuuttajia.",relatedArticles:[]}},{id:9,text:"Kuntani on pyritt\xe4v\xe4 saamaan muuttovoittoa ulkomailta v\xe4est\xf6n v\xe4henemisen est\xe4miseksi.",mandatory:!0,order:9,dimension:"fact",theme:4,themeName:"V\xe4est\xf6 ja asuminen",brand:["hs","al","sk"],backgroundInformation:{text:"Valtaosa Suomen kunnista menett\xe4\xe4 ennusteiden mukaan v\xe4est\xf6\xe4\xe4n tulevien vuosien kuluessa.",relatedArticles:[]}},{id:10,text:"Rakentaminen on sallittava luontoalueille, jotta asuntojen hinnat pysyv\xe4t kohtuullisina.",mandatory:!0,order:10,dimension:"fact",theme:4,themeName:"V\xe4est\xf6 ja asuminen",brand:["hs","al"],backgroundInformation:{text:"Kun kaupunki kasvaa, asuntojen kysynt\xe4 kasvaa. Jos asuntoja ei rakenneta lis\xe4\xe4, niiden hinnat kallistuvat. Luontoalueet taas ovat t\xe4rkeit\xe4 muun muassa virkistyksen ja luonnon monimuotoisuuden takia.",relatedArticles:[]}},{id:11,text:"Espoon pit\xe4isi painottaa pientalorakentamista korkean ja tiiviin rakentamisen sijaan.",mandatory:!0,order:11,dimension:"fact",theme:5,themeName:"Espoo",brand:["hs","al","sk"],backgroundInformation:{text:"Espoon v\xe4est\xf6nkasvu on viime vuosina suuntautunut metroradan ja pikaraitiotien varteen. Metron varteen on rakennettu kymmeni\xe4tuhansia asuntoja, l\xe4hinn\xe4 kerrostaloihin.",relatedArticles:[]},location:"Espoo",nominationAreaLevel:"municipal"},{id:12,text:"Pys\xe4k\xf6innin on oltava maksutonta Espoossa",mandatory:!0,order:12,dimension:"fact",theme:5,themeName:"Espoo",brand:["hs","al","sk"],backgroundInformation:{text:"Espoo on lis\xe4nnyt kadunvarsipys\xe4k\xf6innin maksullisuutta viime vuosina. Pys\xe4k\xf6inti on maksullista tietyill\xe4 kaupu
9ngin omistamilla kadunvarsipaikoilla sek\xe4 pys\xe4k\xf6intialueilla Matinkyl\xe4ss\xe4, Lepp\xe4vaarassa ja Tapiolassa.",relatedArticles:[]},location:"Espoo",nominationAreaLevel:"municipal"},{id:13,text:"Espoon bussiliikennett\xe4 on karsittu liikaa metron takia",mandatory:!0,order:13,dimension:"fact",theme:5,themeName:"Espoo",brand:["hs","al","sk"],backgroundInformation:{text:"Suorat bussilinjat Helsinkiin lopetettiin, kun metroliikenne Matinkyl\xe4st\xe4 alkoi vuonna 2017 ja sitten Kivenlahdesta vuonna 2022.",relatedArticles:[]},location:"Espoo",nominationAreaLevel:"municipal"},{id:14,text:"Espoo on velkainen kaupunki, ja siksi menoja pit\xe4isi karsia",mandatory:!0,order:14,dimension:"fact",theme:5,themeName:"Espoo",brand:["hs","al","sk"],backgroundInformation:{text:"Espoon velka ylitt\xe4\xe4 t\xe4n\xe4 vuonna 800 miljoonan euron rajan. Emokunnan ja kaupungin yhti\xf6itten yhteinen lainakanta on supistunut jonkin verran, mutta se on viel\xe4 yhteens\xe4 3,8 miljardia euroa, mik\xe4 on liki 12 000 euroa asukasta kohden. Koko Suomessa vastaava luku on noin 8
9000 euroa per asukas.",relatedArticles:[]},location:"Espoo",nominationAreaLevel:"municipal"},{id:15,text:"Kunnan tulee rajoittaa yksityisten palveluntarjoajien osuutta varhaiskasvatuksessa.",mandatory:!0,order:15,dimension:"fact",theme:5,themeName:"Espoo",brand:["hs","al","sk"],backgroundInformation:{text:"Espoossa toimii useita kymmeni\xe4 yksityisi\xe4 ostopalvelu- ja palvelusetelip\xe4iv\xe4koteja sek\xe4 yksityisen hoidon tuella toimivia p\xe4iv\xe4koteja, ryhm\xe4perhep\xe4iv\xe4koteja ja perhep\xe4iv\xe4hoitajia. Kaupunki on nimenomaan pyrkinyt yksityisen varhaiskasvatuksen lis\xe4\xe4miseen.",relatedArticles:[]},location:"Espoo",nominationAreaLevel:"municipal"},{id:16,text:"Helsinki kasvaa liian nopeasti.",mandatory:!0,order:16,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Helsingin asukasluku ylitt\xe4\xe4 700 000 asukkaan rajan vuonna 2027, ja vuonna 2060 v\xe4est\xf6\xe4 on l\xe4hes 910  000 henke\xe4. V\xe4kiluku kasvaa noin 8 000 asukkaalla vuosittain, ja siksi kaupunkiin rakennetaan uusia asuntoja ja palveluita.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:17,text:"Helsinkiin pit\xe4\xe4 rakentaa enemm\xe4n uusvanhan arkkitehtuurin mukaisia asuintaloja harjakattoineen.",mandatory:!0,order:17,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Kruunuvuorenrantaan suunnitellut jugendtyyli\xe4 j\xe4ljittelev\xe4t kerrostalot ovat viritt\xe4neet keskustelua uusvanhasta arkkitehtuurista.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:18,text:"Nastarenkaat pit\xe4\xe4 kielt\xe4\xe4 ydinkeskustassa ilmanlaadun vuoksi.",mandatory:!0,order:18,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"L\xf6nnrotinkadulla alkoi vuonna 2022 kokeilu nastarenkaiden kiellosta. Kokeilu jatkuu t\xe4m\xe4n vuoden loppuun. Tutkimusten mukaan nastarenkaat aiheuttavat jopa puolet katup\xf6lyst\xe4.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:19,text:"Polttomoottoriautoilua pit\xe4\xe4 rajoittaa tulevalla valtuustokaudella Helsingiss\xe4 ilmastop\xe4\xe4st\xf6jen v\xe4hent\xe4miseksi.",mandatory:!0,order:19,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Liikenteest\xe4 tulee t\xe4n\xe4 vuonna suurin kasvihuonekaasujen aiheuttaja Helsingiss\xe4. Liikenteen p\xe4\xe4st\xf6ihin vaikuttavat muun muassa verotus ja polttoaineen jakeluvelvoite, mutta niist\xe4 kaupunki ei pysty p\xe4\xe4tt\xe4m\xe4\xe4n. Helsinki voi perustaa ymp\xe4rist\xf6vy\xf6hykkeen, miss\xe4 polttomoottoriautoilua rajoitetaan.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:20,text:"Helsingiss\xe4 pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n huumeiden k\xe4ytt\xf6huoneet, jos laki sen mahdollistaa.",mandatory:!0,order:20,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Nykylait eiv\xe4t salli huumeiden k\xe4ytt\xf6huoneiden kokeilua, eik\xe4 t\xe4t\xe4 koskeva aloite ole my\xf6t\xe4tuulessa nykyisess\xe4 eduskunnassa. Tutkimusten perusteella k\xe4ytt\xf6huoneet voisivat v\xe4hent\xe4\xe4 yliannostuskuolemia ja terveyshaittoja.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:21,text:"Helsingin pit\xe4isi peri\xe4 terveyskeskusmaksu.",mandatory:!0,order:21,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Helsinki korottaa helmikuun alussa monien terveydenhuollon palveluiden mm. hammashoidon asiakasmaksuja. Terveyskeskusmaksua Helsinki ei peri, vaikka se olisi mahdollista.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:22,text:"Husin erikoissairaanhoidosta pit\xe4\xe4 s\xe4\xe4st\xe4\xe4 enemm\xe4n, jotta peruspalvelut pysyv\xe4t elossa.",mandatory:!0,order:22,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Uudellamaalla nelj\xe4 hyvinvointialuetta ja Helsinki rahoittavat Husia. Viime vuonna alueet Helsinki\xe4 lukuunottamatta p\xe4\xe4ttiv\xe4t korottaa vuoden 2025 s\xe4\xe4st\xf6tavoitteen 99 miljoonaan euroon, jotta l\xe4hipalveluita ei tarvitsisi karsia niin paljon. Hus aloitti yt-neuvottelut, ja 280 ty\xf6ntekij\xe4\xe4 irtisanottiin.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:23,text:"Helsingin pit\xe4\xe4 tarjota ilmaisia kuukautistuotteita alle 25-vuotiaille.",mandatory:!0,order:23,dimension:"fact",theme:6,themeName:"Helsinki",brand:["hs","al","sk"],backgroundInformation:{text:"Helsinki kokeili syksyll\xe4 2022 kuuk
9autistuotteiden maksutonta jakelua liki 800 oppilaan joukossa. Kyselyss\xe4 18 prosenttia kertoi, ettei voinut ostaa kuukautistuotteita, koska niihin ei ollut varaa. Kokeilun tuloksista huolimatta maksutonta jakelua ei ole jatkettu.",relatedArticles:[]},location:"Helsinki",nominationAreaLevel:"municipal"},{id:24,text:"Vantaan uusien pientaloalueiden tielt\xe4 saa kaataa mets\xe4\xe4.",mandatory:!0,order:24,dimension:"fact",theme:7,themeName:"Vantaa",brand:["hs","al","sk"],backgroundInformation:{text:"Vantaa ei ole aloittanut uusien pientaloalueiden rakentamista vuosiin. Yleiskaava antaisi mahdollisuuden laajentaa nykyisi\xe4 pientaloalueita, mutta se tarkoittaisi monin paikoin rakentamista vanhojen pientaloalueiden l\xe4himetsiin.",relatedArticles:[]},location:"Vantaa",nominationAreaLevel:"municipal"},{id:25,text:"Vantaan ratikkaa pit\xe4\xe4 jatkaa L\xe4nsi-Vantaalle.",mandatory:!0,order:25,dimension:"fact",theme:7,themeName:"Vantaa",brand:["hs","al","sk"],backgroundInformation:{text:"Vantaan ratikka ulottuu lentoasemalle. Yleiskaava antaisi mahdollisuuden suunnitella jatkoa Pakkalasta l\xe4nteen p\xe4in kohti Martinlaaksoa ja Myyrm\xe4ke\xe4.",relatedArticles:[]},location:"Vantaa",nominationAreaLevel:"municipal"},{id:26,text:"Vantaan vanhojen asuinalueiden rapistuneet kadut pit\xe4\xe4 laittaa vihdoin kuntoon seuraavalla valtuustokaudella.",mandatory:!0,order:26,dimension:"fact",theme:7,themeName:"Vantaa",brand:["hs","al","sk"],backgroundInformation:{text:"Vantaan katu-urakat ovat painottuneet uusien katujen rakentamiseen. Monella vanhalla pientaloalueella liikenne on kasvanut, mutta kadut odottavat peruskorjausta.",relatedArticles:[]},location:"Vantaa",nominationAreaLevel:"municipal"},{id:27,text:"Vantaalla on runsaasti graffititaidetta ulkona, mutta sit\xe4 pit\xe4isi verovaroin tilata my\xf6s sis\xe4tiloihin.",mandatory:!0,order:27,dimension:"fact",theme:7,themeName:"Vantaa",brand:["hs","al","sk"],backgroundInformation:{text:"Julkista taidetta on erityisest\xe4 Myyrm\xe4ess\xe4, mutta sein\xe4maalauksia on jo tehty moniin kaupunginosiin. Kaupungintalolla ja monissa virastoissa kuvataide painottuu perinteiseen ilmaisuun.",relatedArticles:[]},location:"Vantaa",nominationAreaLevel:"municipal"},{id:28,text:"Yksityisille p\xe4iv\xe4kodeille tulisi antaa nykyist\xe4 suurempi rooli varhaiskasvatuksen palveluntarjoajina.",mandatory:!0,order:28,dimension:"fact",theme:7,themeName:"Vantaa",brand:["hs","al","sk"],backgroundInformation:{text:"Espoo on m\xe4\xe4r\xe4tietoisesti kasvattanut yksityisen varhaiskasvatuksen m\xe4\xe4r\xe4\xe4 eri tukimuodoilla. Vantaan naapurikaupungissa yksityinen varhaiskasvatus lis\xe4\xe4 monimuotoisuutta ja t\xe4ydent\xe4\xe4 julkisia palveluita.",relatedArticles:[]},location:"Vantaa",nominationAreaLevel:"municipal"},{id:29,text:"Yksityisautoilun rajoittaminen H\xe4meenkadulla on ollut toimiva ratkaisu.",mandatory:!0,order:29,dimension:"fact",theme:8,themeName:"Tampere",brand:["hs","al","sk"],location:"Tampere",nominationAreaLevel:"municipal"},{id:30,text:"Jos hyvinvointialue heikent\xe4\xe4 tamperelaisille t\xe4rke\xe4\xe4 palvelua olennaisesti, kaupungin on turvattava palvelut, kuten se teki pali-bussien avustajien poistamisen j\xe4lkeen.",mandatory:!0,order:30,dimension:"fact",theme:8,themeName:"Tampere",brand:["hs","al","sk"],location:"Tampere",nominationAreaLevel:"municipal"},{id:31,text:"Ruskon j\xe4tteenk\xe4sittelykeskus on siirrett\xe4v\xe4 nykypaikastaan.",mandatory:!0,order:31,dimension:"fact",theme:8,themeName:"Tampere",brand:["hs","al","sk"],location:"Tampere",nominationAreaLevel:"municipal"},{id:32,text:"Kaupungin tiivist\xe4minen on mennyt Tampereella liian pitk\xe4lle.",mandatory:!0,order:32,dimension:"fact",theme:8,themeName:"Tampere",brand:["hs","al","sk"],location:"Tampere",nominationAreaLevel:"municipal"},{id:33,text:"Tampereen kaupungin tavoite on olla hiilineutraali vuoteen 2030 menness\xe4. Tavoitteesta on joustettava, jos kaupungin talous sit\xe4 vaatii.",mandatory:!0,order:33,dimension:"fact",theme:8,themeName:"Tampere",brand:["hs","al","sk"],location:"Tampere",nominationAreaLevel:"municipal"},{id:34,text:"Kaupungin pit\xe4\xe4 tukea nykyist\xe4 enemm\xe4n teatterin tekemist\xe4, tapahtumia j
9a muuta kulttuuritoimintaa.",mandatory:!0,order:34,dimension:"fact",theme:9,themeName:"Akaa",brand:["hs","al","sk"],location:"Akaa",nominationAreaLevel:"municipal"},{id:35,text:"Kaupungin taloutta pit\xe4isi uusien yt-neuvotteluiden sijaan tasapainottaa nostamalla tuloveroprosenttia.",mandatory:!0,order:35,dimension:"fact",theme:9,themeName:"Akaa",brand:["hs","al","sk"],location:"Akaa",nominationAreaLevel:"municipal"},{id:36,text:"Kaikki sis\xe4ilmaongelmien takia k\xe4yt\xf6st\xe4 poistetut koulurakennukset pit\xe4isi purkaa.",mandatory:!0,order:36,dimension:"fact",theme:9,themeName:"Akaa",brand:["hs","al","sk"],location:"Akaa",nominationAreaLevel:"municipal"},{id:37,text:"Akaanporttia varten tehdyt maanhankinnat pit\xe4\xe4 lopettaa ja k\xe4ytt\xe4\xe4 t\xe4st\xe4 j\xe4\xe4v\xe4t varat Toijalaan tekem\xe4tt\xe4 j\xe4\xe4neisiin kiertoliittymiin.",mandatory:!0,order:37,dimension:"fact",theme:9,themeName:"Akaa",brand:["hs","al","sk"],location:"Akaa",nominationAreaLevel:"municipal"},{id:38,text:"My\xf6nnetyst\xe4 valtionavusta huolimatta Toijala-tieviittoja ei pid\xe4 korvata Akaa-viitoilla, koska kaupungin taloustilanne ei kest\xe4 Akaan oman osuuden rahoittamista.",mandatory:!0,order:38,dimension:"fact",theme:9,themeName:"Akaa",brand:["hs","al","sk"],location:"Akaa",nominationAreaLevel:"municipal"},{id:39,text:"H\xe4meenkyr\xf6\xf6n tarvitaan reilusti lis\xe4\xe4 kerros- ja rivitaloja uusien asukkaiden houkuttelemiseksi.",mandatory:!0,order:39,dimension:"fact",theme:10,themeName:"H\xe4meenkyr\xf6",brand:["hs","al","sk"],location:"H\xe4meenkyr\xf6",nominationAreaLevel:"municipal"},{id:40,text:"Kannatan tuulivoimaloiden rakentamista H\xe4meenkyr\xf6\xf6n.",mandatory:!0,order:40,dimension:"fact",theme:10,themeName:"H\xe4meenkyr\xf6",brand:["hs","al","sk"],location:"H\xe4meenkyr\xf6",nominationAreaLevel:"municipal"},{id:41,text:"H\xe4meenkyr\xf6talo on kunnalle liian kallis investointi.",mandatory:!0,order:41,dimension:"fact",theme:10,themeName:"H\xe4meenkyr\xf6",brand:["hs","al","sk"],location:"H\xe4meenkyr\xf6",nominationAreaLevel:"municipal"},{id:42,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:42,dimension:"fact",theme:10,themeName:"H\xe4meenkyr\xf6",brand:["hs","al","sk"],location:"H\xe4meenkyr\xf6",nominationAreaLevel:"municipal"},{id:43,text:"Hanhij\xe4rven teollisuusalueelle on saatava yrityksi\xe4, vaikka sitten tonttien hinnoista tinkim\xe4ll\xe4.",mandatory:!0,order:43,dimension:"fact",theme:10,themeName:"H\xe4meenkyr\xf6",brand:["hs","al","sk"],location:"H\xe4meenkyr\xf6",nominationAreaLevel:"municipal"},{id:44,text:"Kannatan Ikaalisissa vireill\xe4 olevien tuulivoimahankkeiden toteuttamista.",mandatory:!0,order:44,dimension:"fact",theme:11,themeName:"Ikaalinen",brand:["hs","al","sk"],location:"Ikaalinen",nominationAreaLevel:"municipal"},{id:45,text:"Ikaalisten tuloveroprosentti 9,9 prosenttia on niin korkea, ett\xe4 se vaikuttaa ihmisten halukkuuteen muuttaa kaupunkiin.",mandatory:!0,order:45,dimension:"fact",theme:11,themeName:"Ikaalinen",brand:["hs","al","sk"],location:"Ikaalinen",nominationAreaLevel:"municipal"},{id:46,text:"Ikaalisten kaupungin on vauhditettava kaikin keinoin Ikaalisten kylpyl\xe4alueen kehityshankkeita.",mandatory:!0,order:46,dimension:"fact",theme:11,themeName:"Ikaalinen",brand:["hs","al","sk"],location:"Ikaalinen",nominationAreaLevel:"municipal"},{id:47,text:"Ikaalisten on haettava kasvua ennen kaikkea keskustaa ja Kolmostien ymp\xe4rist\xf6\xe4 kehitt\xe4m\xe4ll\xe4.",mandatory:!0,order:47,dimension:"fact",theme:11,themeName:"Ikaalinen",brand:["hs","al","sk"],location:"Ikaalinen",nominationAreaLevel:"municipal"},{id:48,text:"Ikaalisten on tuettava paikallista kulttuuritoimintaa nykyist\xe4 paremmin.",mandatory:!0,order:48,dimension:"fact",theme:11,themeName:"Ikaalinen",brand:["hs","al","sk"],location:"Ikaalinen",nominationAreaLevel:"municipal"},{id:49,text:"Vesivahingosta k\xe4rsinyt alakoulu pit\xe4\xe4 peruskorjata eik\xe4 rakentaa uutta koulua.",mandatory:!0,order:49,dimension:"fact",theme:12,themeName:"Juupajoki",brand:["hs","al","sk"],location:"Juupajoki",nominationAreaLevel:"municipal"},{id:50,text:"Kunnan on nostettava kuntaveroa nykyisest\xe4 8,4 prosentista investointien turvaamiseksi.",mandatory:!0,order:50,dimension:"fact",theme:12,themeName:"Juupajoki",brand:["hs","al","sk"],location:"Juupajoki",nominationAreaLevel:"municipal"},{id:51,text:"Salokuntaan suunnitellun aurinkovoimalan toteuttamista tulee edist\xe4\xe4.",mandatory:!0,order:51,dimension:"fact",theme:12,themeName:"Juupajoki",brand:["hs","al","sk"],location:"Juupajoki",nominationAreaLevel:"municipal"},{id:52,text:"Tulevalla valtuustokaudella on aloitettava kuntaliitosneuvottelut Oriveden kanssa.",mandatory:!0,order:52,dimension:"fact",theme:12,themeName:"Juupajoki",brand:["hs","al","sk"],location:"Juupajoki",nominationAreaLevel:"municipal"},{id:53,text:"Raitiotie on ulotettava Kangasalle heti, kun se on mahdollista.",mandatory:!0,order:53,dimension:"fact",theme:13,themeName:"Kangasala",brand:["hs","al","sk"],location:"Kangasala",nominationAreaLevel:"municipal"},{id:54,text:"Kangasalan tuloveroprosentti 9,4 prosenttia on muuhun kaupunkiseutuun verrattuna liian korkea.",mandatory:!0,order:54,dimension:"fact",theme:13,themeName:"Kangasala",brand:["hs","al","sk"],location:"Kangasala",nominationAreaLevel:"municipal"},{id:55,text:"Kannatan tuulivoimaloiden rakentamista Kangasalle.",mandatory:!0,order:55,dimension:"fact",theme:13,themeName:"Kangasala",brand:["hs","al","sk"],location:"Kangasala",nominationAreaLevel:"municipal"},{id:56,text:"Kangasalan on jatkettava tiukkaa talouskuria, jotta talous saadaan ylij\xe4\xe4m\xe4iseksi.",mandatory:!0,order:56,dimension:"fact",theme:13,themeName:"Kangasala",brand:["hs","al","sk"],location:"Kangasala",nominationAreaLevel:"municipal"},{id:57,text:"Kangasalle tarvitaan lis\xe4\xe4 vuokra-asuntoja kerros- ja rivitaloihin.",mandatory:!0,order:57,dimension:"fact",theme:13,themeName:"Kangasala",brand:["hs","al","sk"],location:"Kangasala",nominationAreaLevel:"municipal"},{id:58,text:"Jos Kihni\xf6n v\xe4kim\xe4\xe4r\xe4\xe4 ei saada kasvuun, on mietitt\xe4v\xe4 kuntaliitosta.",mandatory:!0,order:58,dimension:"fact",theme:14,themeName:"Kihni\xf6",brand:["hs","al","sk"],location:"Kihni\xf6",nominationAreaLevel:"municipal"},{id:59,text:"Kannatan tuulivoimaloiden rakentamista Kihni\xf6\xf6n.",mandatory:!0,order:59,dimension:"fact",theme:14,themeName:"Kihni\xf6",brand:["hs","al","sk"],location:"Kihni\xf6",nominationAreaLevel:"municipal"},{id:60,text:"Kihni\xf6n tuloveroprosentti on niin korkea, ett\xe4 se vaikuttaa kunnan vetovoimaan.",mandatory:!0,order:60,dimension:"fact",theme:14,themeName:"Kihni\xf6",brand:["hs","al","sk"],location:"Kihni\xf6",nominationAreaLevel:"municipal"},{id:61,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:61,dimension:"fact",theme:14,themeName:"Kihni\xf6",brand:["hs","al","sk"],location:"Kihni\xf6",nominationAreaLevel:"municipal"},{id:62,text:"Kihni\xf6 teki oikein luopuessaan maksuttomasta varhaiskasvatuksesta.",mandatory:!0,order:62,dimension:"fact",theme:14,themeName:"Kihni\xf6",brand:["hs","al","sk"],location:"Kihni\xf6",nominationAreaLevel:"municipal"},{id:63,text:"Jos Kuhmoisten v\xe4kim\xe4\xe4r\xe4\xe4 ei saada kasvuun, on mietitt\xe4v\xe4 kuntaliitosta.",mandatory:!0,order:63,dimension:"fact",theme:15,themeName:"Kuhmoinen",brand:["hs","al","sk"],location:"Kuhmoinen",nominationAreaLevel:"municipal"},{id:64,text:"Kannatan tuulivoimaloiden rakentamista Kuhmoisiin.",mandatory:!0,order:64,dimension:"fact",theme:15,themeName:"Kuhmoinen",brand:["hs","al","sk"],location:"Kuhmoinen",nominationAreaLevel:"municipal"},{id:65,text:"Kuhmoisten kunnan on edistett\xe4v\xe4 sit\xe4, ett\xe4 kunnassa sijaitseviin tyhjiin taloihin saadaan asukkaita.",mandatory:!0,order:65,dimension:"fact",theme:15,themeName:"Kuhmoinen",brand:["hs","al","sk"],location:"Kuhmoinen",nominationAreaLevel:"municipal"},{id:66,text:"Kuhmoisten on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:66,dimension:"fact",theme:15,themeName:"Kuhmoinen",brand:["hs","al","sk"],location:"Kuhmoinen",nominationAreaLevel:"municipal"},{id:67,text:"Lemp\xe4\xe4l\xe4n pit\xe4\xe4 kasvattaa asukasm\xe4\xe4r\xe4\xe4ns\xe4, jotta ik\xe4luokkien pienentyess\xe4 kouluihin riitt\xe4\xe4 oppilaita.",mandatory:!0,order:67,dimension:"fact",theme:16,themeName:"Lemp\xe4\xe4l\xe4",brand:["hs","al","sk"],location:"Lemp\xe4\xe4l\xe4",nominationAreaLevel:"municipal"},{id:68,text:"Valtatie 3:n niin sanotun Puskiaisten oikaisun rakentaminen on Lemp\xe4\xe4l\xe4n kunnan kannalta hyv\xe4 asia.",mandatory:!0,order:68,dimension:"fact",theme:16,themeName:"Lemp\xe4\xe4l\xe4",brand:["hs","al","sk"],location:"Lemp\xe4\xe4l\xe4",nominationAreaLevel:"municipal"},{id:69,text:"Lemp\xe4\xe4l\xe4ss\xe4 on t\xe4rke\xe4mp\xe4\xe4 rakentaa asuntoja ja uusia palveluja vanhan ydinkeskustan ymp\xe4rist\xf6\xf6n kuin muiden alueiden pelloille ja metsiin.",mandatory:!0,order:69,dimension:"fact",theme:16,themeName:"Lemp\xe4\xe4l\xe4",brand:["hs","al","sk"],location:"Lemp\xe4\xe4l\xe4",nominationAreaLevel:"municipal"},{id:70,text:"Lemp\xe4\xe4l\xe4n pit\xe4\xe4 maksaa kotihoidontuen kuntalis\xe4\xe4 perheiden valinnanmahdollisuuden turvaamiseksi.",mandatory:!0,order:70,dimension:"fact",theme:16,themeName:"Lemp\xe4\xe4l\xe4",brand:["hs","al","sk"],location:"Lemp\xe4\xe4l\xe4",nominationAreaLevel:"municipal"},{id:71,text:"Lemp\xe4\xe4l\xe4\xe4n osallistuminen Vesimaailma Louheen oli virhe, kylpyl\xe4 ei palvele tavallisia kuntalaisia.",mandatory:!0,order:71,dimension:"fact",theme:16,themeName:"Lemp\xe4\xe4l\xe4",brand:["hs","al","sk"],location:"Lemp\xe4\xe4l\xe4",nominationAreaLevel:"municipal"},{id:72,text:"Kaupungin pit\xe4\xe4 hyv\xe4ksy\xe4 Metsom\xe4en tuulivoimalan kaava ja rakennuslupa Kolhoon.",mandatory:!0,order:72,dimension:"fact",theme:17,themeName:"M\xe4ntt\xe4-Vilppula",brand:["hs","al","sk"],location:"M\xe4ntt\xe4-Vilppula",nominationAreaLevel:"municipal"},{id:73,text:"M\xe4ntt\xe4-Vilppulan tulee rakennuttaa uusi yl\xe4koulu.",mandatory:!0,order:73,dimension:"fact",theme:17,themeName:"M\xe4ntt\xe4-Vilppula",brand:["hs","al","sk"],location:"M\xe4ntt\xe4-Vilppula",nominationAreaLevel:"municipal"},{id:74,text:"Kehitysyhti\xf6t voidaan lakkauttaa ja siirt\xe4\xe4 niiden toiminnot kaupungille.",mandatory:!0,order:74,dimension:"fact",theme:17,themeName:"M\xe4ntt\xe4-Vilppula",brand:["hs","al","sk"],location:"M\xe4ntt\xe4-Vilppula",nominationAreaLevel:"municipal"},{id:75,text:"M\xe4ntt\xe4-Vilppulan veroprosenttia ei saa korottaa nykyisest\xe4 9,9 prosentista, vaikka olisi paineita menojen kasvattamiseksi.",mandatory:!0,order:75,dimension:"fact",theme:17,themeName:"M\xe4ntt\xe4-Vilppula",brand:["hs","al","sk"],location:"M\xe4ntt\xe4-Vilppula",nominationAreaLevel:"municipal"},{id:77,text:"Jokaisella lapsella pit\xe4isi olla Nokian kaupungin tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:77,dimension:"fact",theme:18,themeName:"Nokia",brand:["hs","al","sk"],location:"Nokia",nominationAreaLevel:"municipal"},{id:78,text:"Ranta-alueet tulee suunnitella kaikkien nokialaisten virkistysk\xe4ytt\xf6\xf6n esimerkiksi kevyen liikenteen v\xe4ylien j
9a ulkoilureittien avulla eik\xe4 yksityist\xe4\xe4 kovan rahan asumiseen.",mandatory:!0,order:78,dimension:"fact",theme:18,themeName:"Nokia",brand:["hs","al","sk"],location:"Nokia",nominationAreaLevel:"municipal"},{id:79,text:"Opetukseen ja varhaiskasvatukseen pit\xe4\xe4 lis\xe4t\xe4 Nokialla resursseja, vaikka se tarkoittaisi kuntalaisille lis\xe4\xe4 kustannuksia.",mandatory:!0,order:79,dimension:"fact",theme:18,themeName:"Nokia",brand:["hs","al","sk"],location:"Nokia",nominationAreaLevel:"municipal"},{id:80,text:"Tulevissa investoinneissa pit\xe4\xe4 priorisoida teiden kunnossapito ja infra ennen koulujen ja p\xe4iv\xe4kotien rakennus- ja korjaushankkeita.",mandatory:!0,order:80,dimension:"fact",theme:18,themeName:"Nokia",brand:["hs","al","sk"],location:"Nokia",nominationAreaLevel:"municipal"},{id:81,text:"Nokialla osa palveluista voi olla saavutettavissa vain omalla autolla.",mandatory:!0,order:81,dimension:"fact",theme:18,themeName:"Nokia",brand:["hs","al","sk"],location:"Nokia",nominationAreaLevel:"municipal"},{id:82,text:"Oriveden tuloveroprosentti 9,4 prosenttia on jo nyt liian korkea, eik\xe4 sit\xe4 pid\xe4 en\xe4\xe4 korottaa.",mandatory:!0,order:82,dimension:"fact",theme:19,themeName:"Orivesi",brand:["hs","al","sk"],location:"Orivesi",nominationAreaLevel:"municipal"},{id:83,text:"Oriveden tulee jatkaa tiukkaa talouden tasapainotusta, vaikka se tarkoittaisi henkil\xf6st\xf6n v\xe4hennyksi\xe4 tai lomautuksia.",mandatory:!0,order:83,dimension:"fact",theme:19,themeName:"Orivesi",brand:["hs","al","sk"],location:"Orivesi",nominationAreaLevel:"municipal"},{id:84,text:"Er\xe4j\xe4rven koulun lakkautusp\xe4\xe4t\xf6s on teht\xe4v\xe4, jos oppilasm\xe4\xe4r\xe4\xe4 ei saada nousuun.",mandatory:!0,order:84,dimension:"fact",theme:19,themeName:"Orivesi",brand:["hs","al","sk"],location:"Orivesi",nominationAreaLevel:"municipal"},{id:85,text:"Oriveden on laitettava lis\xe4\xe4 rahaa haja-asutusalueiden elinvoimaan niiden vetovoimaisuuden parantamiseksi.",mandatory:!0,order:85,dimension:"fact",theme:19,themeName:"Orivesi",brand:["hs","al","sk"],location:"Orivesi",nominationAreaLevel:"municipal"},{id:86,text:"Oriveden on houkuteltava kaupunkiin teollisen kokoluokan aurinkoenergiahankkeita.",mandatory:!0,order:86,dimension:"fact",theme:19,themeName:"Orivesi",brand:["hs","al","sk"],location:"Orivesi",nominationAreaLevel:"municipal"},{id:87,text:"Kaupungin on edistett\xe4v\xe4 Parkanoon suunniteltujen tuuli- ja aurinkovoimahankkeiden toteutumista.",mandatory:!0,order:87,dimension:"fact",theme:20,themeName:"Parkano",brand:["hs","al","sk"],location:"Parkano",nominationAreaLevel:"municipal"},{id:88,text:"Parkanon on tiukennettava talouskuria, jotta talous saadaan ylij\xe4\xe4m\xe4iseksi.",mandatory:!0,order:88,dimension:"fact",theme:20,themeName:"Parkano",brand:["hs","al","sk"],location:"Parkano",nominationAreaLevel:"municipal"},{id:89,text:"Kaupungin on tiukkenevassakin taloustilanteessa pidett\xe4v\xe4 kiinni vauvarahan maksamisesta.",mandatory:!0,order:89,dimension:"fact",theme:20,themeName:"Parkano",brand:["hs","al","sk"],location:"Parkano",nominationAreaLevel:"municipal"},{id:90,text:"Parkanoon on rakennettava uusi p\xe4iv\xe4koti.",mandatory:!0,order:90,dimension:"fact",theme:20,themeName:"Parkano",brand:["hs","al","sk"],location:"Parkano",nominationAreaLevel:"municipal"},{id:91,text:"Junaliikenne on Parkanolle elinehto ja aseman alueen vetovoimaan kannattaa k\xe4ytt\xe4\xe4 rahaa.",mandatory:!0,order:91,dimension:"fact",theme:20,themeName:"Parkano",brand:["hs","al","sk"],location:"Parkano",nominationAreaLevel:"municipal"},{id:92,text:"Pirkkalan kunnan pit\xe4\xe4 kiihdytt\xe4\xe4 liike- ja ty\xf6paikka-alueiden kaavoittamista ty\xf6paikkojen lis\xe4\xe4miseksi.",mandatory:!0,order:92,dimension:"fact",theme:21,themeName:"Pirkkala",brand:["hs","al","sk"],location:"Pirkkala",nominationAreaLevel:"municipal"},{id:93,text:"Pirkkalan pit\xe4\xe4 kasvattaa asukasm\xe4\xe4r\xe4\xe4ns\xe4, jotta ik\xe4luokkien pienentyess\xe4 kouluihin riitt\xe4\xe4 oppilaita.",mandatory:!0,order:93,dimension:"fact",theme:21,themeName:"Pirkkala",brand:["hs","al","sk"],location:"Pirkkala",nominationAreaLevel:"municipal"},{id:94,text:"Raitiotielinja on rakennettava Suupalle saakka mahdollisimman pian.",mandatory:!0,order:94,dimension:"fact",theme:21,themeName:"Pirkkala",brand:["hs","al","sk"],location:"Pirkkala",nominationAreaLevel:"municipal"},{id:95,text:"Valtatie 3:n niin sanotun Puskiaisten oikaisun rakentaminen on Pirkkalan kannalta hyv\xe4 asia.",mandatory:!0,order:95,dimension:"fact",theme:21,themeName:"Pirkkala",brand:["hs","al","sk"],location:"Pirkkala",nominationAreaLevel:"municipal"},{id:96,text:"Pormestarimalli on osoittanut toimivuutensa Pirkkalassa, eik\xe4 siit\xe4 pid\xe4 luopua.",mandatory:!0,order:96,dimension:"fact",theme:21,themeName:"Pirkkala",brand:["hs","al","sk"],location:"Pirkkala",nominationAreaLevel:"municipal"},{id:97,text:"Jos kunnan v\xe4kim\xe4\xe4r\xe4\xe4 ei saada kasvuun, on mietitt\xe4v\xe4 kuntaliitosta.",mandatory:!0,order:97,dimension:"fact",theme:22,themeName:"Punkalaidun",brand:["hs","al","sk"],location:"Punkalaidun",nominationAreaLevel:"municipal"},{id:98,text:"Kannatan tuuli- ja aurinkovoimaloiden rakentamista Punkalaitumelle.",mandatory:!0,order:98,dimension:"fact",theme:22,themeName:"Punkalaidun",brand:["hs","al","sk"],location:"Punkalaidun",nominationAreaLevel:"municipal"},{id:99,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:99,dimension:"fact",theme:22,themeName:"Punkalaidun",brand:["hs","al","sk"],location:"Punkalaidun",nominationAreaLevel:"municipal"},{id:100,text:"Maksuton varhaiskasvatus on hyv\xe4 p\xe4\xe4t\xf6s, josta pit\xe4\xe4 pit\xe4\xe4 kiinni.",mandatory:!0,order:100,dimension:"fact",theme:22,themeName:"Punkalaidun",brand:["hs","al","sk"],location:"Punkalaidun",nominationAreaLevel:"municipal"},{id:101,text:"Vesihuoltolaitoksen talous on saatava tasapainoon maksuja korottamalla.",mandatory:!0,order:101,dimension:"fact",theme:22,themeName:"Punkalaidun",brand:["hs","al","sk"],location:"Punkalaidun",nominationAreaLevel:"municipal"},{id:102,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:102,dimension:"fact",theme:23,themeName:"P\xe4lk\xe4ne",brand:["hs","al","sk"],location:"P\xe4lk\xe4ne",nominationAreaLevel:"municipal"},{id:103,text:"P\xe4lk\xe4neen pit\xe4\xe4 houkutella kuntaan lis\xe4\xe4 ison kokoluokan aurinkovoimahankkeita.",mandatory:!0,order:103,dimension:"fact",theme:23,themeName:"P\xe4lk\xe4ne",brand:["hs","al","sk"],location:"P\xe4lk\xe4ne",nominationAreaLevel:"municipal"},{id:104,text:"P\xe4lk\xe4neelle on rakennettava lis\xe4\xe4 vuokra-asuntoja kerros- ja rivitaloihin perheiden houkuttelemiseksi.",mandatory:!0,order:104,dimension:"fact",theme:23,themeName:"P\xe4lk\xe4ne",brand:["hs","al","sk"],location:"P\xe4lk\xe4ne",nominationAreaLevel:"municipal"},{id:105,text:"Onkkaalan uusi yhten\xe4iskoulu on v\xe4ltt\xe4m\xe4t\xf6nt\xe4 rakentaa niin pian kuin mahdollista.",mandatory:!0,order:105,dimension:"fact",theme:23,themeName:"P\xe4lk\xe4ne",brand:["hs","al","sk"],location:"P\xe4lk\xe4ne",nominationAreaLevel:"municipal"},{id:106,text:"Vajoavan rivitalon tapaus on vahingoittanut kunnan mainetta ja olisi pit\xe4nyt hoitaa toisin.",mandatory:!0,order:106,dimension:"fact",theme:23,themeName:"P\xe4lk\xe4ne",brand:["hs","al","sk"],location:"P\xe4lk\xe4ne",nominationAreaLevel:"municipal"},{id:107,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:107,dimension:"fact",theme:24,themeName:"Ruovesi",brand:["hs","al","sk"],location:"Ruovesi",nominationAreaLevel:"municipal"},{id:108,text:"Kannatan tuulivoimaloiden rakentamista Ruovedelle.",mandatory:!0,order:108,dimension:"fact",theme:24,themeName:"Ruovesi",brand:["hs","al","sk"],location:"Ruovesi",nominationAreaLevel:"municipal"},{id:109,text:"Ruovedell\xe4 on edistett\xe4v\xe4 sit\xe4, ett\xe4 l\xe4hialueen oppilaitosten koulutus palvelee alueen yritysten tarpeita.",mandatory:!0,order:109,dimension:"fact",theme:24,themeName:"Ruovesi",brand:["hs","al","sk"],location:"Ruovesi",nominationAreaLevel:"municipal"},{id:110,text:"\xc4\xe4rioikeiston tapahtumien pit\xe4minen Tuuhosen leirikeskuksessa on aiheuttanut vahinkoa kunnan maineelle.",mandatory:!0,order:110,dimension:"fact",theme:24,themeName:"Ruovesi",brand:["hs","al","sk"],location:"Ruovesi",nominationAreaLevel:"municipal"},{id:111,text:"Ruoveden on parannettava lapsiperheiden etuja perheiden houkuttelemikseksi kuntaan.",mandatory:!0,order:111,dimension:"fact",theme:24,themeName:"Ruovesi",brand:["hs","al","sk"],location:"Ruovesi",nominationAreaLevel:"municipal"},{id:112,text:"Sastamalan pit\xe4\xe4 alkaa markkinoida tonttejaan ale-kampanjalla muuttovoiton kasvattamiseksi.",mandatory:!0,order:112,dimension:"fact",theme:25,themeName:"Sastamala",brand:["hs","al","sk"],backgroundInformation:{text:"Sastamalan asukasluku laskee ja t\xe4rke\xe4\xe4 olisi saada lis\xe4\xe4 asukkaita kaupunkiin. Kaupungilla on myynniss\xe4 runsaasti rakennusvalmiita pientalotontteja.",relatedArticles:[]},location:"Sastamala",nominationAreaLevel:"municipal"},{id:113,text:"Sastamalan kaupungin pit\xe4\xe4 jatkaa kouluinvestointeja, vaikka oppilasm\xe4\xe4r\xe4 v\xe4henee.",mandatory:!0,order:113,dimension:"fact",theme:25,themeName:"Sastamala",brand:["hs","al","sk"],backgroundInformation:{text:"Sastamalan kaupunki on investoinut viime vuosina runsaasti sivistyspalveluihinsa. On rakennettu Vareliuksen koulu, Suodenniemen liikuntahalli, Mouhij\xe4rven yhteiskoulu, ja parhaillaan valmistumassa ovat Pehulan koulu ja Sylv\xe4\xe4n taitotalo. Kiikan koulu ja Muistolan koulu tarvitsevat remonttia tai uudisrakentamista.",relatedArticles:[]},location:"Sastamala",nominationAreaLevel:"municipal"}
9,{id:114,text:"Sastamalan pit\xe4\xe4 korottaa kunnallisveroprosenttia, jotta tulevien vuosien investoinneista selvit\xe4\xe4n.",mandatory:!0,order:114,dimension:"fact",theme:25,themeName:"Sastamala",brand:["hs","al","sk"],backgroundInformation:{text:"Sastamalalla on edess\xe4\xe4n isot investointivuodet. Uima- ja liikuntahallin hankesuunnitelma on hyv\xe4ksytty ja etenee kilpailutukseen t\xe4n\xe4 vuonna. Velanotto lis\xe4\xe4ntyy l\xe4hivuosina.",relatedArticles:[]},location:"Sastamala",nominationAreaLevel:"municipal"},{id:115,text:"Sastamalan kaupungin tulee aktiivisesti etsi\xe4 mahdollisuuksia lis\xe4t\xe4 aurinko- ja tuulivoimalahankkeita kaupungin alueilla.",mandatory:!0,order:115,dimension:"fact",theme:25,themeName:"Sastamala",brand:["hs","al","sk"],backgroundInformation:{text:"Sastamalan talousarviossa 2025 todetaan, ett\xe4 suunnitelmakauden aikana kaupungin tuloperustaa vahvistetaan tuuli- ja aurinkovoimahankkeita hy\xf6dynt\xe4m\xe4ll\xe4.",relatedArticles:[]},location:"Sastamala",nominationAreaLevel:"municipal"},{id:116,text:"Sastamalan pit\xe4\xe4 yhten\xe4 s\xe4\xe4st\xf6keinona v\xe4hent\xe4\xe4 luottamushenkil\xf6iden m\xe4\xe4r\xe4\xe4.",mandatory:!0,order:116,dimension:"fact",theme:25,themeName:"Sastamala",brand:["hs","al","sk"],backgroundInformation:{text:"Kaupunki aikoo kuluvan vuoden talousarvion mukaan arvioida uudelleen luottamushenkil\xf6organisaationsa rakennetta ja kokoa.",relatedArticles:[]},location:"Sastamala",nominationAreaLevel:"municipal"},{id:117,text:"Urjalan tuloveroprosentti 10,3 prosenttia on niin korkea, ett\xe4 se vaikuttaa ihmisten haluun muuttaa kuntaan.",mandatory:!0,order:117,dimension:"fact",theme:26,themeName:"Urjala",brand:["hs","al","sk"],location:"Urjala",nominationAreaLevel:"municipal"},{id:118,text:"Urjalan pit\xe4\xe4 houkutella kuntaan ison kokoluokan aurinkoenergiahankkeita.",mandatory:!0,order:118,dimension:"fact",theme:26,themeName:"Urjala",brand:["hs","al","sk"],location:"Urjala",nominationAreaLevel:"municipal"},{id:119,text:"Jos Urjalan v\xe4kim\xe4\xe4r\xe4\xe4 ei saada kasvuun, on mietitt\xe4v\xe4 kuntaliitosta.",mandatory:!0,order:119,dimension:"fact",theme:26,themeName:"Urjala",brand:["hs","al","sk"],location:"Urjala",nominationAreaLevel:"municipal"},{id:120,text:"Urjalan aseman palauttaminen henkil\xf6liikenteen seisakkeeksi on kohtalonkysymys kunnalle.",mandatory:!0,order:120,dimension:"fact",theme:26,themeName:"Urjala",brand:["hs","al","sk"],location:"Urjala",nominationAreaLevel:"municipal"},{id:121,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:121,dimension:"fact",theme:26,themeName:"Urjala",brand:["hs","al","sk"],location:"Urjala",nominationAreaLevel:"municipal"},{id:122,text:"Valkeakosken pit\xe4\xe4 lopettaa omakotialueiden kaavoittaminen ja keskitty\xe4 teollisuustonttien myymiseen.",mandatory:!0,order:122,dimension:"fact",theme:27,themeName:"Valkeakoski",brand:["hs","al","sk"],location:"Valkeakoski",nominationAreaLevel:"municipal"},{id:123,text:"Heritynniemen kaavoitus pit\xe4\xe4 keskeytt\xe4\xe4 ja s\xe4ilytt\xe4\xe4 alue nykyisess\xe4 l\xe4hes luonnontilaisessa muodossaan.",mandatory:!0,order:123,dimension:"fact",theme:27,themeName:"Valkeakoski",brand:["hs","al","sk"],location:"Valkeakoski",nominationAreaLevel:"municipal"}
9,{id:124,text:"Sointulaan tarvitaan toimiva p\xe4iv\xe4koti Valkeakosken isoimman l\xe4hi\xf6n kehityksen veturiksi.",mandatory:!0,order:124,dimension:"fact",theme:27,themeName:"Valkeakoski",brand:["hs","al","sk"],location:"Valkeakoski",nominationAreaLevel:"municipal"},{id:125,text:"Valkeakosken kunnallisveroprosentti 8,9 prosenttia on alle Pirkanmaan keskiarvon, ja sit\xe4 on siksi syyt\xe4 nostaa kaupungin talouden tasapainottamiseksi.",mandatory:!0,order:125,dimension:"fact",theme:27,themeName:"Valkeakoski",brand:["hs","al","sk"],location:"Valkeakoski",nominationAreaLevel:"municipal"},{id:126,text:"Kaupungin pit\xe4\xe4 tukea nykyist\xe4 enemm\xe4n teatterin tekemist\xe4, tapahtumia ja muuta kulttuuritoimintaa.",mandatory:!0,order:126,dimension:"fact",theme:27,themeName:"Valkeakoski",brand:["hs","al","sk"],location:"Valkeakoski",nominationAreaLevel:"municipal"},{id:127,text:"Vesilahden pit\xe4isi maksaa kotihoidontuen kuntalis\xe4\xe4 perheiden valinnanmahdollisuuden turvaamiseksi.",mandatory:!0,order:127,dimension:"fact",theme:28,themeName:"Vesilahti",brand:["hs","al","sk"],location:"Vesilahti",nominationAreaLevel:"municipal"},{id:128,text:"Vesilahden pit\xe4\xe4 ohjata uutta asutusta ennen kaikkea keskustan l\xe4heisyyteen.",mandatory:!0,order:128,dimension:"fact",theme:28,themeName:"Vesilahti",brand:["hs","al","sk"],location:"Vesilahti",nominationAreaLevel:"municipal"},{id:129,text:"Kunnan on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:129,dimension:"fact",theme:28,themeName:"Vesilahti",brand:["hs","al","sk"],location:"Vesilahti",nominationAreaLevel:"municipal"},{id:130,text:"Vesilahden on teht\xe4v\xe4 tiukkoja toimia talouden tasapainon eteen ja velkaantumisen hillitsemiseksi.",mandatory:!0,order:130,dimension:"fact",theme:28,themeName:"Vesilahti",brand:["hs","al","sk"],location:"Vesilahti",nominationAreaLevel:"municipal"},{id:131,text:"Vesilahden pit\xe4\xe4 houkutella kuntaan teollisen kokoluokan aurinkoenergiahankkeita.",mandatory:!0,order:131,dimension:"fact",theme:28,themeName:"Vesilahti",brand:["hs","al","sk"],location:"Vesilahti",nominationAreaLevel:"municipal"},{id:132,text:"Virroille on rakennettava uimahalli.",mandatory:!0,order:132,dimension:"fact",theme:29,themeName:"Virrat",brand:["hs","al","sk"],location:"Virrat",nominationAreaLevel:"municipal"},{id:133,text:"Kannatan tuulivoimaloiden rakentamista Virroille.",mandatory:!0,order:133,dimension:"fact",theme:29,themeName:"Virrat",brand:["hs","al","sk"],location:"Virrat",nominationAreaLevel:"municipal"},{id:134,text:"Kaupungin on laitettava lis\xe4\xe4 rahaa ik\xe4ihmisten hyvinvoinnin edist\xe4miseen, kun hyvinvointialue s\xe4\xe4st\xe4\xe4 omista palveluistaan.",mandatory:!0,order:134,dimension:"fact",theme:29,themeName:"Virrat",brand:["hs","al","sk"],location:"Virrat",nominationAreaLevel:"municipal"},{id:135,text:"Virroilla on edistett\xe4v\xe4 sit\xe4, ett\xe4 ett\xe4 l\xe4hialueen oppilaitosten koulutus palvelee alueen yritysten tarpeita.",mandatory:!0,order:135,dimension:"fact",theme:29,themeName:"Virrat",brand:["hs","al","sk"],location:"Virrat",nominationAreaLevel:"municipal"},{id:136,text:"Virtain lapsiperheille kohdistamat edut kuten vauvaraha ja maksuton varhaiskasvatus ovat liian mittavat.",mandatory:!0,order:136,dimension:"fact",theme:29,themeName:"Virrat",brand:["hs","al","sk"],location:"Virrat",nominationAreaLevel:"municipal"},{id:137,text:"Yl\xf6j\xe4rven pit\xe4\xe4 tiivist\xe4\xe4 halutuimpia asuinalueita uusien asukkaiden houkuttelemiseksi.",mandatory:!0,order:137,dimension:"fact",theme:30,themeName:"Yl\xf6j\xe4rvi",brand:["hs","al","sk"],location:"Yl\xf6j\xe4rvi",nominationAreaLevel:"municipal"},{id:138,text:"Raitiotie on ulotettava Yl\xf6j\xe4rvelle heti, kun se on mahdollista.",mandatory:!0,order:138,dimension:"fact",theme:30,themeName:"Yl\xf6j\xe4rvi",brand:["hs","al","sk"],location:"Yl\xf6j\xe4rvi",nominationAreaLevel:"municipal"},{id:139,text:"Yl\xf6j\xe4rven pit\xe4\xe4 ottaa k\xe4ytt\xf6\xf6n pormestarimalli.",mandatory:!0,order:139,dimension:"fact",theme:30,themeName:"Yl\xf6j\xe4rvi",brand:["hs","al","sk"],location:"Yl\xf6j\xe4rvi",nominationAreaLevel:"municipal"},{id:140,text:"Yl\xf6j\xe4rven on laitettava nykyist\xe4 enemm\xe4n rahaa kylien elinvoimaan.",mandatory:!0,order:140,dimension:"fact",theme:30,themeName:"Yl\xf6j\xe4rvi",brand:["hs","al","sk"],location:"Yl\xf6j\xe4rvi",nominationAreaLevel:"municipal"},{id:141,text:"Kannatan tuulivoimaloiden rakentamista Yl\xf6j\xe4rvelle.",mandatory:!0,order:141,dimension:"fact",theme:30,themeName:"Yl\xf6j\xe4rvi",brand:["hs","al","sk"],location:"Yl\xf6j\xe4rvi",nominationAreaLevel:"municipal"},{id:142,text:"J\xe4ms\xe4n t\xe4ytyy huomioida ik\xe4luokkien jyrkk\xe4 pieneneminen karsimalla koulujen m\xe4\xe4r\xe4\xe4.",mandatory:!0,order:142,dimension:"fact",theme:31,themeName:"J\xe4ms\xe4",brand:["hs","al","sk"],location:"J\xe4ms\xe4",nominationAreaLevel:"municipal"},{id:143,text:"J\xe4ms\xe4n kaupungin tulee pysy\xe4 Jyv\xe4skyl\xe4n koulutuskuntayhtym\xe4 Gradian j\xe4senen\xe4.",mandatory:!0,order:143,dimension:"fact",theme:31,themeName:"J\xe4ms\xe4",brand:["hs","al","sk"],location:"J\xe4ms\xe4",nominationAreaLevel:"municipal"},{id:144,text:"J\xe4ms\xe4n pit\xe4\xe4 profiloitua voimakkaammin uusiutuvan energiatuotannon kuntana.",mandatory:!0,order:144,dimension:"fact",theme:31,themeName:"J\xe4ms\xe4",brand:["hs","al","sk"],location:"J\xe4ms\xe4",nominationAreaLevel:"municipal"},{id:145,text:"J\xe4ms\xe4n on teht\xe4v\xe4 p\xe4\xe4t\xf6s uuden kulttuuritilan rakentamisesta.",mandatory:!0,order:145,dimension:"fact",theme:31,themeName:"J\xe4ms\xe4",brand:["hs","al","sk"],location:"J\xe4ms\xe4",nominationAreaLevel:"municipal"}
9,{id:146,text:"J\xe4ms\xe4n kaupungin tulee tukea vain yht\xe4 j\xe4\xe4hallia.",mandatory:!0,order:146,dimension:"fact",theme:31,themeName:"J\xe4ms\xe4",brand:["hs","al","sk"],location:"J\xe4ms\xe4",nominationAreaLevel:"municipal"},{id:147,text:"Kyl\xe4koulut pit\xe4\xe4 s\xe4ilytt\xe4\xe4 Janakkalassa, vaikka se tarkoittaisi veroprosentin nostamista.",mandatory:!0,order:147,dimension:"fact",theme:32,themeName:"Janakkala",brand:["hs","al","sk"],location:"Janakkala",nominationAreaLevel:"municipal"},{id:148,text:"Janakkalan tulisi kuntana osallistua Pride-liputukseen.",mandatory:!0,order:148,dimension:"fact",theme:32,themeName:"Janakkala",brand:["hs","al","sk"],location:"Janakkala",nominationAreaLevel:"municipal"},{id:149,text:"Kun nykyisen ruoka- ja ateriapalveluiden tuottajan Compass Groupin sopimuskausi p\xe4\xe4ttyy, pit\xe4\xe4 palvelut siirt\xe4\xe4 taas kunnan omaksi tuotannoksi.",mandatory:!0,order:149,dimension:"fact",theme:32,themeName:"Janakkala",brand:["hs","al","sk"],location:"Janakkala",nominationAreaLevel:"municipal"},{id:150,text:"Janakkalan pit\xe4isi tarjota tontteja ilmaiseksi uusien asukkaiden houkuttelemiseksi.",mandatory:!0,order:150,dimension:"fact",theme:32,themeName:"Janakkala",brand:["hs","al","sk"],location:"Janakkala",nominationAreaLevel:"municipal"},{id:151,text:"Janakkalassa pit\xe4\xe4 s\xe4ilytt\xe4\xe4 oma uimahalli, vaikka se tarkoittaisi jonkin muun liikunnan korjaus- tai rakennushankkeen siirtymist\xe4.",mandatory:!0,order:151,dimension:"fact",theme:32,themeName:"Janakkala",brand:["hs","al","sk"],location:"Janakkala",nominationAreaLevel:"municipal"},{id:152,text:"Keuruulle on rakennettava tuulivoimaa.",mandatory:!0,order:152,dimension:"fact",theme:33,themeName:"Keuruu",brand:["hs","al","sk"],location:"Keuruu",nominationAreaLevel:"municipal"},{id:153,text:"Keuruulla on s\xe4ilytett\xe4v\xe4 oma museo.",mandatory:!0,order:153,dimension:"fact",theme:33,themeName:"Keuruu",brand:["hs","al","sk"],location:"Keuruu",nominationAreaLevel:"municipal"},{id:154,text:"Keuruun on teht\xe4v\xe4 kuntaliitos Multian kanssa.",mandatory:!0,order:154,dimension:"fact",theme:33,themeName:"Keuruu",brand:["hs","al","sk"],location:"Keuruu",nominationAreaLevel:"municipal"},{id:155,text:"Keuruulle on rakennettava sis\xe4liikuntahalli.",mandatory:!0,order:155,dimension:"fact",theme:33,themeName:"Keuruu",brand:["hs","al","sk"],location:"Keuruu",nominationAreaLevel:"municipal"},{id:156,text:"Keuruuta pit\xe4\xe4 markkinoida retkeilykaupunkina.",mandatory:!0,order:156,dimension:"fact",theme:33,themeName:"Keuruu",brand:["hs","al","sk"],location:"Keuruu",nominationAreaLevel:"municipal"},{id:157,text:"Multian on teht\xe4v\xe4 kuntaliitos Keuruun kanssa.",mandatory:!0,order:157,dimension:"fact",theme:34,themeName:"Multia",brand:["hs","al","sk"],location:"Multia",nominationAreaLevel:"municipal"},{id:158,text:"Multialle on rakennettava tuulivoimaa.",mandatory:!0,order:158,dimension:"fact",theme:34,themeName:"Multia",brand:["hs","al","sk"],location:"Multia",nominationAreaLevel:"municipal"},{id:159,text:"Ruoanvalmistus on s\xe4ilytett\xe4v\xe4 Poukaman keitti\xf6ss\xe4.",mandatory:!0,order:159,dimension:"fact",theme:34,themeName:"Multia",brand:["hs","al","sk"],location:"Multia",nominationAreaLevel:"municipal"},{id:160,text:"Multialla pit\xe4\xe4 ryhty\xe4 maksamaan 1000 euron vauvarahaa.",mandatory:!0,order:160,dimension:"fact",theme:34,themeName:"Multia",brand:["hs","al","sk"],location:"Multia",nominationAreaLevel:"municipal"},{id:161,text:"Ulvilan pit\xe4\xe4 tehd\xe4 rakentamisp\xe4\xe4t\xf6s 12-14 miljoonaa euroa maksavasta tekonurmipohjaisesta jalkapallo- ja pes\xe4pallohallista.",mandatory:!0,order:161,dimension:"fact",theme:35,themeName:"Ulvila",brand:["hs","al","sk"],location:"Ulvila",nominationAreaLevel:"municipal"},{id:162,text:"Ulvilan pit\xe4\xe4 tukea Harjunp\xe4\xe4h\xe4n ja Kaasmarkkuun suunniteltujen j\xe4ttim\xe4isten aurinkovoimala-alueiden rakentamista.",mandatory:!0,order:162,dimension:"fact",theme:35,themeName:"Ulvila",brand:["hs","al","sk"],location:"Ulvila",nominationAreaLevel:"municipal"},{id:163,text:"Kaasmarkun koulu pit\xe4\xe4 lakkauttaa ja kouluverkkoa tiivist\xe4\xe4, koska oppilasm\xe4\xe4r\xe4t v\xe4henev\xe4t",mandatory:!0,order:163,dimension:"fact",theme:35,themeName:"Ulvila",brand:["hs","al","sk"],location:"Ulvila",nominationAreaLevel:"municipal"},{id:164,text:"Yleiskaavassa olevaa Pirunkynnen suurteollisuusaluetta pit\xe4\xe4 kaikin tavoin edist\xe4\xe4.",mandatory:!0,order:164,dimension:"fact",theme:35,themeName:"Ulvila",brand:["hs","al","sk"],location:"Ulvila",nominationAreaLevel:"municipal"},{id:165,text:"Ulvilan Naparantaan pit\xe4\xe4 tehd\xe4 aiempaa huomattavasti suurempia\xa0 matkailu- ja virkistyspanostuksia.",mandatory:!0,order:165,dimension:"fact",theme:35,themeName:"Ulvila",brand:["hs","al","sk"],location:"Ulvila",nominationAreaLevel:"municipal"},{id:166,text:"Euran lukio ja S\xe4kyl\xe4n seudun lukio pit\xe4\xe4 yhdist\xe4\xe4, jotta Pyh\xe4j\xe4rviseudulla on tulevaisuudessa edes yksi lukio.",mandatory:!0,order:166,dimension:"fact",theme:36,themeName:"Eura",brand:["hs","al","sk"],location:"Eura",nominationAreaLevel:"municipal"},{id:167,text:"Alakouluverkkoa on supistettava, koska Euran kokoisella kunnalla ei ole varaa yll\xe4pit\xe4\xe4 kuutta alakoulua.",mandatory:!0,order:167,dimension:"fact",theme:36,themeName:"Eura",brand:["hs","al","sk"],location:"Eura",nominationAreaLevel:"municipal"},{id:168,text:"Matkailu on nostettava Euran ykk\xf6sprioriteetiksi. Tapahtumien j\xe4rjest\xe4miseen, kuntamarkkinointiin ja matkailupanostuksiin suunniteltujen s\xe4\xe4st\xf6jen sijasta niihin on satsattava aiempaa enemm\xe4n.",mandatory:!0,order:168,dimension:"fact",theme:36,themeName:"Eura",brand:["hs","al","sk"],location:"Eura",nominationAreaLevel:"municipal"},{id:169,text:"Kunnan pit\xe4\xe4 tarjota koulukuljetus kaikille oppilaille, joiden koulumatkan varrella on tehty susihavaintoja.",mandatory:!0,order:169,dimension:"fact",theme:36,themeName:"Eura",brand:["hs","al","sk"],location:"Eura",nominationAreaLevel:"municipal"},{id:170,text:"Uuden liikuntasalin tai monitoimitilan, miksi sit\xe4 sitten haluaakin kutsua, rakentaminen  Euran koulukeskukseen on viimeinkin aloitettava.",mandatory:!0,order:170,dimension:"fact",theme:36,themeName:"Eura",brand:["hs","al","sk"],location:"Eura",nominationAreaLevel:"municipal"},{id:171,text:"S\xe4kyl\xe4n seudun lukio ja Euran lukio pit\xe4\xe4 yhdist\xe4\xe4, jotta Pyh\xe4j\xe4rviseudulla on tulevaisuudessa edes yksi lukio.",mandatory:!0,order:171,dimension:"fact",theme:37,themeName:"S\xe4kyl\xe4",brand:["hs","al","sk"],location:"S\xe4kyl\xe4",nominationAreaLevel:"municipal"},{id:172,text:"Valtuuston p\xe4\xe4t\xf6s Kepolan koulun lakkauttamisesta kes\xe4ll\xe4 2025 pit\xe4\xe4 perua.",mandatory:!0,order:172,dimension:"fact",theme:37,themeName:"S\xe4kyl\xe4",brand:["hs","al","sk"],location:"S\xe4kyl\xe4",nominationAreaLevel:"municipal"},{id:173,text:"Kunnan pit\xe4\xe4 tarjota koulukuljetus kaikille oppilaille, joiden koulumatkan varrella on tehty susihavaintoja.",mandatory:!0,order:173,dimension:"fact",theme:37,themeName:"S\xe4kyl\xe4",brand:["hs","al","sk"],location:"S\xe4kyl\xe4",nominationAreaLevel:"municipal"},{id:174,text:"S\xe4kyl\xe4n on oltava aktiivinen Elyn suuntaan, jotta linja-autoyhteydet saadaan kuntoon ostoliikennesopimuksella.",mandatory:!0,order:174,dimension:"fact",theme:37,themeName:"S\xe4kyl\xe4",brand:["hs","al","sk"],location:"S\xe4kyl\xe4",nominationAreaLevel:"municipal"},{id:175,text:"S\xe4kyl\xe4n yhteisk\xe4ytt\xf6autot ovat olleet t\xe4rke\xe4 palvelu niille kuntalaisille, joilla ei ole omaa autoa. Palvelua pit\xe4\xe4 jatkaa.",mandatory:!0,order:175,dimension:"fact",theme:37,themeName:"S\xe4kyl\xe4",brand:["hs","al","sk"],location:"S\xe4kyl\xe4",nominationAreaLevel:"municipal"},{id:176,text:"Kahden alakoulun mallissa pit\xe4\xe4 pysy\xe4, eik\xe4 kouluverkkokysymyst\xe4 pid\xe4 avata uudestaan p\xe4\xe4t\xf6ksentekoon.",mandatory:!0,order:176,dimension:"fact",theme:38,themeName:"Huittinen",brand:["hs","al","sk"],location:"Huittinen",nominationAreaLevel:"municipal"},{id:177,text:"Uusi paloasema on rakennettava Huittisiin ja hyvinvointialueen kanssa on p\xe4\xe4st\xe4v\xe4 pitk\xe4\xe4n vuokrasopimukseen.",mandatory:!0,order:177,dimension:"fact",theme:38,themeName:"Huittinen",brand:["hs","al","sk"],location:"Huittinen",nominationAreaLevel:"municipal"},{id:178,text:"Kaupungin pit\xe4\xe4 panostaa tulvasuojeluun, jotta vuoden 2024 marraskuun kaltaiset tapahtumat toistu.",mandatory:!0,order:178,dimension:"fact",theme:38,themeName:"Huittinen",brand:["hs","al","sk"],location:"Huittinen",nominationAreaLevel:"municipal"},{id:179,text:"Keskustan el\xe4v\xf6itt\xe4miseen pit\xe4\xe4 panostaa entist\xe4 enemm\xe4n muun muassa jouluvalaistuksessa.",mandatory:!0,order:179,dimension:"fact",theme:38,themeName:"Huittinen",brand:["hs","al","sk"],location:"Huittinen",nominationAreaLevel:"municipal"},{id:180,text:"Kaupungin pit\xe4\xe4 hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan.",mandatory:!0,order:180,dimension:"fact",theme:38,themeName:"Huittinen",brand:["hs","al","sk"],location:"Huittinen",nominationAreaLevel:"municipal"},{id:181,text:"Venesj\xe4rvelle ei pid\xe4 rakentaa uutta koulua.",mandatory:!0,order:181,dimension:"fact",theme:39,themeName:"Kankaanp\xe4\xe4",brand:["hs","al","sk"],location:"Kankaanp\xe4\xe4",nominationAreaLevel:"municipal"},{id:182,text:"Kaupungin pit\xe4\xe4 sitoutua pes\xe4pallostadionin katsomon uusimiseen ja investoida alue Superpesis-valmiuteen.",mandatory:!0,order:182,dimension:"fact",theme:39,themeName:"Kankaanp\xe4\xe4",brand:["hs","al","sk"],location:"Kankaanp\xe4\xe4",nominationAreaLevel:"municipal"},{id:183,text:"Tulevissa investoinneissa pit\xe4\xe4 priorisoida katujen kunnossapito ja infra ennen koulujen ja p\xe4iv\xe4kotien rakennus- ja korjaushankkeita.",mandatory:!0,order:183,dimension:"fact",theme:39,themeName:"Kankaanp\xe4\xe4",brand:["hs","al","sk"],location:"Kankaanp\xe4\xe4",nominationAreaLevel:"municipal"},{id:184,text:"Kaupungin pit\xe4\xe4 ottaa johtava rooli sek\xe4 neuvotteluissa ett\xe4 rahoituksessa, jotta rautatie Porin suuntaan saa
9daan Naton vaatimaan kuntoon.",mandatory:!0,order:184,dimension:"fact",theme:39,themeName:"Kankaanp\xe4\xe4",brand:["hs","al","sk"],location:"Kankaanp\xe4\xe4",nominationAreaLevel:"municipal"},{id:185,text:"Jokaisella lapsella pit\xe4isi olla Kankaanp\xe4\xe4n kaupungin tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:185,dimension:"fact",theme:39,themeName:"Kankaanp\xe4\xe4",brand:["hs","al","sk"],location:"Kankaanp\xe4\xe4",nominationAreaLevel:"municipal"},{id:186,text:"Kunnan pit\xe4\xe4 olla tukemassa taloudellisesti, jotta rautatie Porin suuntaan saadaan Naton vaatimaan liikenn\xf6it\xe4v\xe4\xe4n kuntoon.",mandatory:!0,order:186,dimension:"fact",theme:40,themeName:"Pomarkku",brand:["hs","al","sk"],location:"Pomarkku",nominationAreaLevel:"municipal"},{id:187,text:"Lukiolaisten kannustestipendi\xe4 on nostettava, jotta Pomarkun lukio pysyy houkuttelevana ja elinvoimaisena.",mandatory:!0,order:187,dimension:"fact",theme:40,themeName:"Pomarkku",brand:["hs","al","sk"],location:"Pomarkku",nominationAreaLevel:"municipal"},{id:188,text:"Manner-Suomen suurinta veroprosenttia on entisest\xe4\xe4n nostettava, jotta kunta pysyy itsen\xe4isen\xe4.",mandatory:!0,order:188,dimension:"fact",theme:40,themeName:"Pomarkku",brand:["hs","al","sk"],location:"Pomarkku",nominationAreaLevel:"municipal"},{id:189,text:"Kunnan pit\xe4\xe4 hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan.",mandatory:!0,order:189,dimension:"fact",theme:40,themeName:"Pomarkku",brand:["hs","al","sk"],location:"Pomarkku",nominationAreaLevel:"municipal"},{id:190,text:"Uusia kuntalaisia pit\xe4\xe4 houkutella edullisella tonttikampanjalla, vaikka sen aiheuttama talouspaine pakottaisi veroprosentin korotukseen.",mandatory:!0,order:190,dimension:"fact",theme:40,themeName:"Pomarkku",brand:["hs","al","sk"],location:"Pomarkku",nominationAreaLevel:"municipal"},{id:191,text:"Pori Energia -kaupan voitoilla perustetun rahaston p\xe4\xe4omaa pit\xe4\xe4 k\xe4ytt\xe4\xe4 investointeihin.",mandatory:!0,order:191,dimension:"fact",theme:41,themeName:"Pori",brand:["hs","al","sk"],backgroundInformation:{text:"Kaupan yhteydess\xe4 valtuusto p\xe4\xe4tti, ett\xe4 arvioitu l\xe4hes 360 miljoonan euron kauppasumma on tarkoitus sijoittaa rahastoon, josta ainoastaan voittoja voidaan k\xe4ytt\xe4\xe4 kaupungin talouteen. Rahaston tuotto-odottama on keskim\xe4\xe4rin 4,5 prosenttia vuodessa.",relatedArticles:[]},location:"Pori",nominationAreaLevel:"municipal"},{id:192,text:"Porin p\xe4\xe4kirjaston peruskorjaus on v\xe4ltt\xe4m\xe4t\xf6n ja pit\xe4\xe4 aloittaa mahdollisimman nopeasti.",mandatory:!0,order:192,dimension:"fact",theme:41,themeName:"Pori",brand:["hs","al","sk"],backgroundInformation:{text:"P\xe4\xe4kirjaston peruskorjaushankkeessa otettiin aikalis\xe4 vuoden 2024 lopussa, mutta hankesuunnitelman pit\xe4isi valmistua kev\xe4\xe4ll\xe4 2025. Hankkeen kustannusarvio on noin 25-35 miljoonaa euroa.",relatedArticles:[]},location:"Pori",nominationAreaLevel:"municipal"},{id:193,text:"Porin pit\xe4\xe4 ottaa n\xe4kyv\xe4 rooli, jotta raideyhteys Porista Niinisaloon saadaan Nato-j\xe4senyyden vaatimaan kuntoon.",mandatory:!0,order:193,dimension:"fact",theme:41,themeName:"Pori",brand:["hs","al","sk"],location:"Pori",nominationAreaLevel:"municipal"},{id:194,text:"Porin ei pid\xe4 jatkossa tukea miljoonilla maakuntalentoja tai ottaa lentoasemaa kontolleen, vaikka valtio niin vaatisi.",mandatory:!0,order:194,dimension:"fact",theme:41,themeName:"Pori",brand:["hs","al","sk"],backgroundInformation:{text:"Pori on sitoutunut yhdess\xe4 valtion kanssa maakuntalentojen tukemiseen 1,9 miljoonan euron suuruisella m\xe4\xe4r\xe4rahalla vuosille 2025 ja 2026 sek\xe4 500 000 euron suuruisella m\xe4\xe4r\xe4rahalla vuodelle 2027.",relatedArticles:[]},location:"Pori",nominationAreaLevel:"municipal"},{id:195,text:"Porin liikuntapaikkaolosuhteet ovat riitt\xe4v\xe4t, eik\xe4 niihin ole syyt\xe4 panna enemp\xe4\xe4 euroja.",mandatory:!0,order:195,dimension:"fact",theme:41,themeName:"Pori",brand:["hs","al","sk"],location:"Pori",nominationAreaLevel:"municipal"},{id:196,text:"Kunnan pit\xe4\xe4 rakentaa uudet opiskelutilat kaikille Nakkilan alakoululaisille.",mandatory:!0,order:196,dimension:"fact",theme:42,themeName:"Nakkila",brand:["hs","al","sk"],location:"Nakkila",nominationAreaLevel:"municipal"},{id:197,text:"Tattaran koulu pit\xe4\xe4 sulkea.",mandatory:!0,order:197,dimension:"fact",theme:42,themeName:"Nakkila",brand:["hs","al","sk"],location:"Nakkila",nominationAreaLevel:"municipal"},{id:198,text:"Kunnan pit\xe4\xe4 neuvotella hyvinvointialueen kanssa sellainen sopimus, ett\xe4 Nakkilassa s\xe4ilyy sote-piste hinnalla mill\xe4 hyv\xe4ns\xe4.",mandatory:!0,order:198,dimension:"fact",theme:42,themeName:"Nakkila",brand:["hs","al","sk"],location:"Nakkila",nominationAreaLevel:"municipal"},{id:199,text:"Kunnan pit\xe4\xe4 osallistua kustannuksiin, jotta Nakkilassa s\xe4ilyy oma vanhainkoti.",mandatory:!0,order:199,dimension:"fact",theme:42,themeName:"Nakkila",brand:["hs","al","sk"],location:"Nakkila",nominationAreaLevel:"municipal"},{id:200,text:"Nakkilan, Harjavallan ja Kokem\xe4en lukiot pit\xe4\xe4 yhdist\xe4\xe4, jotta alueella olisi tulevaisuudessa edes yksi lukio.",mandatory:!0,order:200,dimension:"fact",theme:42,themeName:"Nakkila",brand:["hs","al","sk"],location:"Nakkila",nominationAreaLevel:"municipal"},{id:201,text:"Kaupungin pit\xe4\xe4 jatkaa aktiivista maanhankintaa teollisuuden tarpeisiin.",mandatory:!0,order:201,dimension:"fact",theme:43,themeName:"Harjavalta",brand:["hs","al","sk"],location:"Harjavalta",nominationAreaLevel:"municipal"},{id:202,text:"Kaupungin pit\xe4\xe4 tehd\xe4 kaikkensa, ett\xe4 Koirakorven alueelle voidaan rakentaa tuulivoimaa.",mandatory:!0,order:202,dimension:"fact",theme:43,themeName:"Harjavalta",brand:["hs","al","sk"],location:"Harjavalta",nominationAreaLevel:"municipal"},{id:203,text:"Kaupungin pit\xe4\xe4 rakentaa liikekeskukseen uusi tasokas vuokratalo, jotta paikkakunnalle t\xf6ihin tulevien on helpompi muuttaa Harjavaltaan.",mandatory:!0,order:203,dimension:"fact",theme:43,themeName:"Harjavalta",brand:["hs","al","sk"],location:"Harjavalta",nominationAreaLevel:"municipal"},{id:204,text:"Nakkilan, Harjavallan ja Kokem\xe4en lukiot pit\xe4\xe4 yhdist\xe4\xe4, jotta alueella olisi tulevaisuudessa edes yksi lukio.",mandatory:!0,order:204,dimension:"fact",theme:43,themeName:"Harjavalta",brand:["hs","al","sk"],location:"Harjavalta",nominationAreaLevel:"municipal"},{id:205,text:"Kaupungin pit\xe4\xe4 hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan.",mandatory:!0,order:205,dimension:"fact",theme:43,themeName:"Harjavalta",brand:["hs","al","sk"],location:"Harjavalta",nominationAreaLevel:"municipal"},{id:206,text:"Kaupungin on huolehdittava siit\xe4, ett\xe4 Kokem\xe4ell\xe4 s\xe4ilyy sote-piste hinnalla mill\xe4 hyv\xe4ns\xe4 my\xf6s viiden vuoden sopimuskauden j\xe4lkeen.",mandatory:!0,order:206,dimension:"fact",theme:44,themeName:"Kokem\xe4ki",brand:["hs","al","sk"],location:"Kokem\xe4ki",nominationAreaLevel:"municipal"},{id:207,text:"Kokem\xe4en vanha terveyskeskus pit\xe4\xe4 purkaa.",mandatory:!0,order:207,dimension:"fact",theme:44,themeName:"Kokem\xe4ki",brand:["hs","al","sk"],location:"Kokem\xe4ki",nominationAreaLevel:"municipal"},{id:208,text:"Kaupungin pit\xe4\xe4 osallistua kustannuksiin, jotta Kokem\xe4ell\xe4 s\xe4ilyy oma vanhainkoti.",mandatory:!0,order:208,dimension:"fact",theme:44,themeName:"Kokem\xe4ki",brand:["hs","al","sk"],location:"Kokem\xe4ki",nominationAreaLevel:"municipal"},{id:209,text:"Kaupungin pit\xe4\xe4 osallistua Rauman radan henkil\xf6liikenteen kustannuksiin.",mandatory:!0,order:209,dimension:"fact",theme:44,themeName:"Kokem\xe4ki",brand:["hs","al","sk"],location:"Kokem\xe4ki",nominationAreaLevel:"municipal"},{id:210,text:"Nakkilan, Harjavallan ja Kokem\xe4en lukiot pit\xe4\xe4 yhdist\xe4\xe4, jotta alueella olisi tulevaisuudessa edes yksi lukio.",mandatory:!0,order:210,dimension:"fact",theme:44,themeName:"Kokem\xe4ki",brand:["hs","al","sk"],location:"Kokem\xe4ki",nominationAreaLevel:"municipal"},{id:211,text:"Jokaisella lapsella pit\xe4isi olla Karvian kunnan tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:211,dimension:"fact",theme:45,themeName:"Karvia",brand:["hs","al","sk"],location:"Karvia",nominationAreaLevel:"municipal"},{id:212,text:"Kunnan pit\xe4\xe4 hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan.",mandatory:!0,order:212,dimension:"fact",theme:45,themeName:"Karvia",brand:["hs","al","sk"],location:"Karvia",nominationAreaLevel:"municipal"},{id:213,text:"Opetukseen ja varhaiskasvatukseen pit\xe4\xe4 lis\xe4t\xe4 resursseja, vaikka se tarkoittaisi kuntalaisille lis\xe4\xe4 kustannuksia.",mandatory:!0,order:213,dimension:"fact",theme:45,themeName:"Karvia",brand:["hs","al","sk"],location:"Karvia",nominationAreaLevel:"municipal"},{id:214,text:"Kunnan pit\xe4\xe4 neuvotella hyvinvointialueen kanssa sellainen sopimus, ett\xe4 Karviassa s\xe4ilyy sote-piste ja jokaviikkoinen l\xe4\xe4k\xe4rin vastaanotto hinnalla mill\xe4 hyv\xe4ns\xe4.",mandatory:!0,order:214,dimension:"fact",theme:45,themeName:"Karvia",brand:["hs","al","sk"],location:"Karvia",nominationAreaLevel:"municipal"},{id:215,text:"Kunnan pit\xe4\xe4 osallistua kustannuksiin, jotta Karviassa s\xe4ilyy oma vanhainkoti.",mandatory:!0,order:215,dimension:"fact",theme:45,themeName:"Karvia",brand:["hs","al","sk"],location:"Karvia",nominationAreaLevel:"municipal"},{id:216,text:"Kunnan pit\xe4\xe4 jatkaa sahan alueen ostamisen j\xe4lkeenkin aktiivista maanhankintaa teollisuuden tarpeisiin.",mandatory:!0,order:216,dimension:"fact",theme:46,themeName:"Merikarvia",brand:["hs","al","sk"],location:"Merikarvia",nominationAreaLevel:"municipal"},{id:217,text:"Jokaisella lapsella pit\xe4isi olla Merikarvian kunnan tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:217,dimension:"fact",theme:46,themeName:"Merikarvia",brand:["hs","al","sk"],location:"Merikarvia",nominationAreaLevel:"municipal"},{id:218,text:"Tuorilan kiertoliittym\xe4n rakentaminen on t\xe4rke\xe4mp\xe4\xe4 kuin alikulun rakentaminen jalankulkijoille risteyksen kohdalle.",mandatory:!0,order:218,dimension:"fact",theme:46,themeName:"Merikarvia",brand:["hs","al","sk"],location:"Merikarvia",nominationAreaLevel:"municipal"},{id:219,text:"Kunnan on hinnalla mill\xe4 hyv\xe4ns\xe4 huolehdittava siit\xe4, ett\xe4 Merikarvialla s\xe4ilyv\xe4t l\xe4\xe4k\xe4ripalvelut my\xf6s jatkossa.",mandatory:!0,order:219,dimension:"fact",theme:46,themeName:"Merikarvia",brand:["hs","al","sk"],location:"Merikarvia",nominationAreaLevel:"municipal"},{id:220,text:"Lukion on edelleen toimittava aktiivisesti kansainv\xe4listen opiskelijoiden saamiseksi oppilaitokseen.",mandatory:!0,order:220,dimension:"fact",theme:46,themeName:"Merikarvia",brand:["hs","al","sk"],location:"Merikarvia",nominationAreaLevel:"municipal"},{id:221,text:"Kunnan pit\xe4\xe4 neuvotella hyvinvointialueen kanssa sellainen sopimus, ett\xe4 Siikaisissa on jatk
9ossakin vanhusten ymp\xe4rivuotisen asumisen yksikk\xf6.",mandatory:!0,order:221,dimension:"fact",theme:47,themeName:"Siikainen",brand:["hs","al","sk"],location:"Siikainen",nominationAreaLevel:"municipal"},{id:222,text:"Jokaisella lapsella pit\xe4isi olla Siikaisten kunnan tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:222,dimension:"fact",theme:47,themeName:"Siikainen",brand:["hs","al","sk"],location:"Siikainen",nominationAreaLevel:"municipal"},{id:223,text:"Opetukseen ja varhaiskasvatukseen pit\xe4\xe4 lis\xe4t\xe4 resursseja, vaikka se tarkoittaisi kuntalaisille lis\xe4\xe4 kustannuksia.",mandatory:!0,order:223,dimension:"fact",theme:47,themeName:"Siikainen",brand:["hs","al","sk"],location:"Siikainen",nominationAreaLevel:"municipal"},{id:224,text:"Kunnan pit\xe4\xe4 hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan.",mandatory:!0,order:224,dimension:"fact",theme:47,themeName:"Siikainen",brand:["hs","al","sk"],location:"Siikainen",nominationAreaLevel:"municipal"},{id:225,text:"Kunnan on huolehdittava siit\xe4, ett\xe4 J\xe4mij\xe4rvell\xe4 s\xe4ilyy sote-piste hinnalla mill\xe4 hyv\xe4ns\xe4 my\xf6s viiden vuoden sopimuskauden j\xe4lkeen.",mandatory:!0,order:225,dimension:"fact",theme:48,themeName:"J\xe4mij\xe4rvi",brand:["hs","al","sk"],location:"J\xe4mij\xe4rvi",nominationAreaLevel:"municipal"},{id:226,text:"Kunnan t\xe4ytyy hankkiutua eroon tarpeettomista kiinteist\xf6ist\xe4, vaikka ne jouduttaisiin myym\xe4\xe4n alle markkinahinnan",mandatory:!0,order:226,dimension:"fact",theme:48,themeName:"J\xe4mij\xe4rvi",brand:["hs","al","sk"],location:"J\xe4mij\xe4rvi",nominationAreaLevel:"municipal"},{id:227,text:"Kunnan pit\xe4\xe4 matkailun ja elinvoiman nimiss\xe4 edist\xe4\xe4 J\xe4min hiihtotunnelin avaamista uudelleen, vaikka toimintaa on vaikea saada taloudellisesti kannattavaksi.",mandatory:!0,order:227,dimension:"fact",theme:48,themeName:"J\xe4mij\xe4rvi",brand:["hs","al","sk"],location:"J\xe4mij\xe4rvi",nominationAreaLevel:"municipal"},{id:228,text:"Jokaisella lapsella pit\xe4isi olla J\xe4mij\xe4rven kunnan tarjoama ilmainen harrastusmahdollisuus.",mandatory:!0,order:228,dimension:"fact",theme:48,themeName:"J\xe4mij\xe4rvi",brand:["hs","al","sk"],location:"J\xe4mij\xe4rvi",nominationAreaLevel:"municipal"},{id:229,text:"Kunnan on aloitettava liitosneuvottelut Kankaanp\xe4\xe4n kanssa.",mandatory:!0,order:229,dimension:"fact",theme:48,themeName:"J\xe4mij\xe4rvi",brand:["hs","al","sk"],location:"J\xe4mij\xe4rvi",nominationAreaLevel:"municipal"},{id:230,text:"Eurajoen kunnan pit\xe4\xe4 julistautua kaupungiksi.",mandatory:!0,order:230,dimension:"fact",theme:49,themeName:"Eurajoki",brand:["hs","al","sk"],backgroundInformation:{text:"Aiheesta on Eurajoella j\xe4tetty valtuustoaloite. Satakunnassa on seitsem\xe4n kaupunkia, joista Eurajokea (noin 9 100 asukasta) pienempi\xe4 tai samankokoisia ovat Harjavalta, Huittinen ja Kokem\xe4ki.",relatedArticles:[]},location:"Eurajoki",nominationAreaLevel:"municipal"},{id:231,text:"Nelj\xe4n kyl\xe4koulun lakkauttaminen oli vasta alkua ja kouluverkkoa pit\xe4\xe4 supistaa l\xe4hivuosina.",mandatory:!0,order:231,dimension:"fact",theme:49,themeName:"Eurajoki",brand:["hs","al","sk"],backgroundInformation:{text:"Rikantilan koulu p\xe4\xe4tettiin lakkauttaa 31.12.2024 alkaen ja Kuivalahden, Linnamaan ja Syd\xe4nmaan koulut 21.7.2026 alkaen laskevien oppilasm\xe4\xe4rien vuoksi.",relatedArticles:[]},location:"Eurajoki",nominationAreaLevel:"municipal"},{id:232,text:"Eurajoen tulee palauttaa vuorohoitomahdollisuus kouluik\xe4isille.",mandatory:!0,order:232,dimension:"fact",theme:49,themeName:"Eurajoki",brand:["hs","al","sk"],backgroundInformation:{text:"Eurajoki lakkautti pienten koululaisten vuorohoidon tammikuusta 2025 alkaen varhaiskasvatuksen paikkapulan vuoksi. Koululaisten vuorohoito ei ole lakis\xe4\xe4teist\xe4.",relatedArticles:[]},location:"Eurajoki",nominationAreaLevel:"municipal"},{id:233,text:"Eurajoen tuloveroprosenttia ei saa nostaa, vaikka se tarkoittaisi palveluista karsimista.",mandatory:!0,order:233,dimension:"fact",theme:49,themeName:"Eurajoki",brand:["hs","al","sk"],backgroundInformation:{text:"Eurajoen tuloveroprosenttia nostettiin vuodeksi 2025 yhdell\xe4 prosenttiyksik\xf6ll\xe4 6,4 prosenttiin. Tulovero
9prosentti on Manner-Suomen kolmanneksi alhaisin.",relatedArticles:[]},location:"Eurajoki",nominationAreaLevel:"municipal"},{id:234,text:"Olkiluotoon pit\xe4\xe4 voida sijoittaa kaikki kotimaiset ydinj\xe4tteet.",mandatory:!0,order:234,dimension:"fact",theme:49,themeName:"Eurajoki",brand:["hs","al","sk"],backgroundInformation:{text:"Nykyisen luvituksen l\xe4ht\xf6kohtana on, ett\xe4 Olkiluotoon sijoitetaan Olkiluodon ja Loviisan ydinvoimaloiden k\xe4ytetty ydinpolttoaine. Suomeen valmistellaan kuitenkin my\xf6s niin sanottuja SMR-reaktoreja ja viime aikoina on alettu puhua lis\xe4ksi uudesta, isosta ydinvoimalasta.",relatedArticles:[]},location:"Eurajoki",nominationAreaLevel:"municipal"},{id:235,text:"Autoilu Vanhan Rauman p\xe4\xe4kaduilla tulee kielt\xe4\xe4 ymp\xe4rivuotisesti.",mandatory:!0,order:235,dimension:"fact",theme:50,themeName:"Rauma",brand:["hs","al","sk"],backgroundInformation:{text:"Kauppakatu ja Kauppakatu palvelevat k\xe4velykatuina vain kes\xe4sesongin ajan, muina aikoina l\xe4piajo on sallittu.",relatedArticles:[]},location:"Rauma",nominationAreaLevel:"municipal"},{id:236,text:"Henkil\xf6junaliikenteen palauttamisen pit\xe4\xe4 olla Rauman t\xe4rkein liikennetavoite.",mandatory:!0,order:236,dimension:"fact",theme:50,themeName:"Rauma",brand:["hs","al","sk"],backgroundInformation:{text:"Rauma on asettanut tavoitteekseen henkil\xf6junaliikenteen palauttamisen ostoliikenteen\xe4 v\xe4lill\xe4 Rauma–Tampere vuoden 2027 elokuussa.",relatedArticles:[]},location:"Rauma",nominationAreaLevel:"municipal"},{id:237,text:"Rauman saariston saavutettavuutta pit\xe4\xe4 parantaa rakentamalla k\xe4velysilta Omenapuumaasta Reksaareen.",mandatory:!0,order:237,dimension:"fact",theme:50,themeName:"Rauma",brand:["hs","al","sk"],backgroundInformation:{text:"Reksaaren matkailusaareen ei ole reittiliikennett\xe4. Saareen suunnitellaan Omenapuumaasuntin yli kulkevaa k\xe4velysiltaa. Sillan alituskorkeudeksi tulisi 3 metri\xe4.",relatedArticles:[]},location:"Rauma",nominationAreaLevel:"municipal"},{id:238,text:"Rauman pit\xe4\xe4 j\xe4rjest\xe4\xe4 kaupunkiin pysyv\xe4 linja-autoasema v\xe4litt\xf6m\xe4sti vaikka irrallaan kauppakeskuksen tontin kaavoituksesta.",mandatory:!0,order:238,dimension:"fact",theme:50,themeName:"Rauma",brand:["hs","al","sk"],backgroundInformation:{text:"Rauman linja-autoasema on toiminut v\xe4liaikaisesti Harmaiden veljesten pys\xe4k\xf6intialueella kirkon kupeessa vuodesta 2019. Paikalla ei ole palveluita eik\xe4 rakennusta.",relatedArticles:[]},location:"Rauma",nominationAreaLevel:"municipal"},{id:239,text:"Rauman kauppatori tarvitsee toripaviljongin.",mandatory:!0,order:239,dimension:"fact",theme:50,themeName:"Rauma",brand:["hs","al","sk"],backgroundInformation:{text:"Torille on  suunniteltu noin 400 neli\xf6metrin uudisrakennusta, joka palvelisi ymp\xe4rivuotisesti torimyynti\xe4, tapahtumia ja kokoontumisia. Toripaviljonki on mukana Vanhan Rauman asemakaavauudistuksessa.",relatedArticles:[]},location:"Rauma",nominationAreaLevel:"municipal"},{id:240,text:"Kunnan pit\xe4\xe4 s\xe4ilytt\xe4\xe4 kaikki kolme alakoulua vaikka oppilasm\xe4\xe4r\xe4t laskevat",mandatory:!0,order:240,dimension:"fact",theme:51,themeName:"Pyh\xe4ranta",brand:["hs","al","sk"],backgroundInformation:{text:"Pyh\xe4rannassa on alakoulut Ihodessa, Reilassa ja Rohdaisissa.",relatedArticles:[]},location:"Pyh\xe4ranta",nominationAreaLevel:"municipal"},{id:241,text:"Pyh\xe4rannan pit\xe4\xe4 perustaa uusi pysyv\xe4 kunnanvirasto Rohdaisiin.",mandatory:!0,order:241,dimension:"fact",theme:51,themeName:"Pyh\xe4ranta",brand:["hs","al","sk"],backgroundInformation:{text:"Uuden kunnanviraston suunnitteluun on varattu 50\xa0000 euroa. Esill\xe4 on ollut moduulirakentaminen Rohdaisten Hemminm\xe4keen sek\xe4 terveysaseman kiinteist\xf6 Ankkurin tilat Rohdaisissa. Kunnanvirasto on nyt vuokralla Ihoden Lasikujalla.",relatedArticles:[]},location:"Pyh\xe4ranta",nominationAreaLevel:"municipal"},{id:242,text:"Paras keino Pyh\xe4rannan vetovoiman kohentamiseksi on mahdollistaa pysyv\xe4 asuminen meren rannalla.",mandatory:!0,order:242,dimension:"fact",theme:51,themeName:"Pyh\xe4ranta",brand:["hs","al","sk"],backgroundInformation:{text:"Kunta voi kaavoittaa merenrantatontteja tai 
9sallia entist\xe4 enemm\xe4n loma-asuntojen muuttamista vakituisiksi asunnoiksi.",relatedArticles:[]},location:"Pyh\xe4ranta",nominationAreaLevel:"municipal"},{id:243,text:"Pyh\xe4rannan pit\xe4\xe4 hakeutua kuntaliitokseen tai kuntaliitoksiin naapureidensa kanssa.",mandatory:!0,order:243,dimension:"fact",theme:51,themeName:"Pyh\xe4ranta",brand:["hs","al","sk"],backgroundInformation:{text:"Pyh\xe4rannan asukasluku on pudonnut alle 2\xa0000 asukkaan. Naapurikunnat ovat Laitila, Rauma ja Uusikaupunki.",relatedArticles:[]},location:"Pyh\xe4ranta",nominationAreaLevel:"municipal"},{id:244,text:"Pyh\xe4rannassa ei ole kehitetty kaikki alueita tasapuolisesti.",mandatory:!0,order:244,dimension:"fact",theme:51,themeName:"Pyh\xe4ranta",brand:["hs","al","sk"],location:"Pyh\xe4ranta",nominationAreaLevel:"municipal"},{id:245,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia.",mandatory:!0,order:245,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:246,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:246,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:247,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu.",mandatory:!0,order:247,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:248,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:248,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:249,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:249,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:250,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:250,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:4,targetBound:"Kansainv\xe4linen"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:251,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:251,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:2,targetBound:"Arvokonservatiivi"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:252,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:252,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:2,targetBound:"Arvoliberaali"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:253,text:"Tottelevaisuus ja auktoriteettien kunnioittaminen ovat t\xe4rkeimm\xe4t arvot, jotka lapsen tulee oppia.",mandatory:!0,order:253,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:254,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:254,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:255,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:255,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:4,targetBound:"Kansallismielinen"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:256,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:256,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:257,text:"Vahva johtaja on Suomelle hyv\xe4ksi, vaikka h\xe4n toimisi s\xe4\xe4nt\xf6jen rajamailla saadakseen asioita tehty\xe4.",mandatory:!0,order:257,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:258,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:258,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Maaseutu"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:259,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:259,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Kaupunki"}],theme:52,themeName:"Arvot",brand:["hs","al","sk"],backgroundInformation:{text:"",relatedArticles:[{title:"Arvokysymysten taustatiedot",url:"https://www.hs.fi/politiikka/art-2000010457779.html",date:"6.6.2024",showInCandidateMachine:!0}]}},{id:260,text:"Valtion pit\xe4\xe4 tukea yksityisautoilua harvaan asutuilla alueilla, joilla julkinen liikenne ei toimi.",mandatory:!0,order:260,dimension:"fact",theme:53,themeName:"Liikenne",brand:["is"]}
9,{id:261,text:"Polttomoottoriautojen k\xe4ytt\xf6\xe4 kaupunkien keskustoissa pit\xe4\xe4 rajoittaa.",mandatory:!0,order:261,dimension:"fact",theme:53,themeName:"Liikenne",brand:["is"]},{id:262,text:"Ilmastotoimet eiv\xe4t saa johtaa autoilun hinnan nousuun.",mandatory:!0,order:262,dimension:"fact",theme:53,themeName:"Liikenne",brand:["is"]},{id:263,text:"Kotikunnassani pit\xe4\xe4 kielt\xe4\xe4 nastarenkaiden k\xe4ytt\xf6.",mandatory:!0,order:263,dimension:"fact",theme:53,themeName:"Liikenne",brand:["is"]},{id:264,text:"Koulujen inkluusio on mennyt liian pitk\xe4lle. Erityisoppilaita pit\xe4isi opettaa nykyist\xe4 enemm\xe4n erityisluokilla.",mandatory:!0,order:264,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:265,text:"Kotikuntani pit\xe4\xe4 k\xe4ytt\xe4\xe4 nykyist\xe4 enemm\xe4n rahaa kouluruokaan.",mandatory:!0,order:265,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:266,text:"Koulunuorisoty\xf6t\xe4 pit\xe4\xe4 lis\xe4t\xe4 kiusaamisen v\xe4hent\xe4miseksi.",mandatory:!0,order:266,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:267,text:"Afrikan t\xe4hti -peli kuuluu p\xe4iv\xe4koteihin ja esikouluihin.",mandatory:!0,order:267,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:268,text:"Painotettua opetusta pit\xe4\xe4 v\xe4hent\xe4\xe4, jotta koulushoppailu ja koulujen eriytyminen saadaan kuriin.",mandatory:!0,order:268,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:269,text:"Kouluissa ja p\xe4iv\xe4kodeissa pit\xe4\xe4 tarjota v\xe4hemm\xe4n liharuokaa.",mandatory:!0,order:269,dimension:"fact",theme:54,themeName:"Koulut",brand:["is"]},{id:270,text:"Kotikuntani pit\xe4\xe4 maksaa syntyneest\xe4 lapsesta kertaluonteinen vauvaraha, jotta kuntaan saadaan lis\xe4\xe4 lapsiperheit\xe4.",mandatory:!0,order:270,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:271,text:"Ty\xf6voimapalveluiden siirto TE-keskuksilta kunnille parantaa kotikuntani elinvoimaa.",mandatory:!0,order:271,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:272,text:"It\xe4-Suomea pit\xe4\xe4 tukea muiden alueiden kustannuksella Ven\xe4j\xe4n hy\xf6kk\xe4yssodan seurausten vuoksi.",mandatory:!0,order:272,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:273,text:"Kuntien tuulivoimasta saamat kiinteist\xf6verotuotot pit\xe4\xe4 tasata muiden kuntien kesken.",mandatory:!0,order:273,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:274,text:"Kotikunnassani on leikattava ennemmin menoja kuin kiristett\xe4v\xe4 veroja talouden vakauttamiseksi.",mandatory:!0,order:274,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:275,text:"Uskon, ett\xe4 kuntani on elinkelpoinen itsen\xe4isen\xe4 jatkossakin.",mandatory:!0,order:275,dimension:"fact",theme:55,themeName:"Talous",brand:["is"]},{id:276,text:"Kotikuntani tulee paikata kassaansa kiinteist\xf6veroluokkien nostolla.",mandatory:!0,order:276,dimension:"fact",theme:56,themeName:"Asuminen",brand:["is"]},{id:277,text:"Vanhojen asuntojen purkamisesta pit\xe4\xe4 maksaa romutuspalkkio.",mandatory:!0,order:277,dimension:"fact",theme:56,themeName:"Asuminen",brand:["is"]},{id:278,text:"Paras keino est\xe4\xe4 slummiutumista on kaavoittaa samalle alueelle omistus- ja vuokra-asuntoja.",mandatory:!0,order:278,dimension:"fact",theme:56,themeName:"Asuminen",brand:["is"]},{id:279,text:"Ymp\xe4rist\xf6 pit\xe4\xe4 asettaa kotikunnassani talouskasvun ja ty\xf6paikkojen edelle.",mandatory:!0,order:279,dimension:"fact",theme:57,themeName:"Ymp\xe4rist\xf6",brand:["is"]},{id:280,text:"Kuntaani ei pid\xe4 rakentaa tuulivoimaa, sill\xe4 se rasittaa luontoa ja tuhoaa m\xf6kkimaiseman.",mandatory:!0,order:280,dimension:"fact",theme:57,themeName:"Ymp\xe4rist\xf6",brand:["is"]},{id:281,text:"Susien kaatoluvista pit\xe4isi p\xe4\xe4tt\xe4\xe4 kunnissa ja kantaa harventaa alueilla, joilla sudet liikkuvat asutuksen l\xe4hell\xe4.",mandatory:!0,order:281,dimension:"fact",theme:57,themeName:"Ymp\xe4rist\xf6",brand:["is"]},{id:282,text:"Kotikuntani pit\xe4\xe4 houkutella maahanmuuttajia aktiivisesti.",mandatory:!0,order:282,dimension:"fact",theme:58,themeName:"Maahanmuutto",brand:["is"]},{id:283,text:"Maahanmuuttajien kotouttaminen on ep\xe4onnistunut kotikunnassani.",mandatory:!0,order:283,dimension:"fact",theme:58,themeName:"Maahanmuutto",brand:["is"]},{id:284,text:"Englannin kielen k\xe4ytt\xf6\xe4 kuntapalveluissa ja kouluissa on lis\xe4tt\xe4v\xe4.",mandatory:!0,order:284,dimension:"fact",theme:58,themeName:"Maahanmuutto",brand:["is"]},{id:285,text:"Py\xf6r\xe4teihin on k\xe4ytetty liikaa veronmaksajien rahaa Helsingiss\xe4.",mandatory:!0,order:285,dimension:"fact",theme:59,themeName:"Helsinki",brand:["is"],location:"Helsinki",nominationAreaLevel:"municipal"},{id:286,text:"Helsingin terveyskeskuksia pit\xe4isi antaa entist\xe4 enemm\xe4n yksityisten terveysfirmojen py\xf6ritett\xe4viksi.",mandatory:!0,order:286,dimension:"fact",theme:59,themeName:"Helsinki",brand:["is"],location:"Helsinki",nominationAreaLevel:"municipal"},{id:287,text:"Poliisihallituksen h\xe4iri\xf6indeksin mukaan Helsinki on Suomen suurista kaupungeista kolmanneksi turvattomin. Varon liikkumista kaupungilla yksin iltaisin entist\xe4 enemm\xe4n.",mandatory:!0,order:287,dimension:"fact",theme:59,themeName:"Helsinki",brand:["is"],location:"Helsinki",nominationAreaLevel:"municipal"},{id:288,text:"Liitynt\xe4liikennett\xe4 metroasemille pit\xe4\xe4 lis\xe4t\xe4 Espoossa kaupungin tuella.",mandatory:!0,order:288,dimension:"fact",theme:60,themeName:"Espoo",brand:["is"],location:"Espoo",nominationAreaLevel:"municipal"},{id:289,text:"Kauklahdenmets\xe4 on hyv\xe4 paikka l\xe4hijunien varikolle.",mandatory:!0,order:289,dimension:"fact",theme:60,themeName:"Espoo",brand:["is"],location:"Espoo",nominationAreaLevel:"municipal"},{id:290,text:"Ensi kes\xe4n\xe4 Espooseen palaavassa puistoruokailussa pit\xe4\xe4 tarjota lapsille kasvisruokavaihtoehto joka p\xe4iv\xe4.",mandatory:!0,order:290,dimension:"fact",theme:60,themeName:"Espoo",brand:["is"],location:"Espoo",nominationAreaLevel:"municipal"},{id:291,text:"Poliisihallituksen h\xe4iri\xf6indeksin mukaan Vantaa on Suomen suurista kaupungeista turvattomin. Varon liikkumista kaupungilla yksin iltaisin entist\xe4 enemm\xe4n.",mandatory:!0,order:291,dimension:"fact",theme:61,themeName:"Vantaa",brand:["is"],location:"Vantaa",nominationAreaLevel:"municipal"},{id:292,text:"Vantaa tukee 1,5 miljoonan euron rahastolla v\xe4h\xe4varaisten vantaalaislasten harrastuksia. V\xe4h\xe4varaisten lasten harrastusmahdollisuuksien turvaaminen kuuluu kaupungille.",mandatory:!0,order:292,dimension:"fact",theme:61,themeName:"Vantaa",brand:["is"],location:"Vantaa",nominationAreaLevel:"municipal"},{id:293,text:"Vantaan asukkaista jo 25 prosenttia puhuu \xe4idinkielen\xe4\xe4n muuta kuin suomea tai ruotsia. Maahanmuutto on hyv\xe4ksi Vantaan elinvoimaisuudelle.",mandatory:!0,order:293,dimension:"fact",theme:61,themeName:"Vantaa",brand:["is"],location:"Vantaa",nominationAreaLevel:"municipal"},{id:294,text:"Poliisihallituksen h\xe4iri\xf6indeksin mukaan Oulu on Suomen suurista kaupungeista nelj\xe4nneksi turvattomin. Varon liikkumista kaupungilla yksin iltaisin enemm\xe4n kuin aikaisemmin.",mandatory:!0,order:294,dimension:"fact",theme:62,themeName:"Oulu",brand:["is"],location:"Oulu",nominationAreaLevel:"municipal"},{id:295,text:"Oulun valtuustossa on 67 valtuutettua. Koska hyvinvointi- ja sotepalvelut on siirretty hyvinvointialue Pohteelle, valtuuston kokoa tulisi pienent\xe4\xe4.",mandatory:!0,order:295,dimension:"fact",theme:62,themeName:"Oulu",brand:["is"],location:"Oulu",nominationAreaLevel:"municipal"},{id:296,text:"Oulun kaupungin johdossa on n\xe4hty viime vuosina skandaalink\xe4ryisi\xe4 eroja. Kaupungin virka- ja luottamusjohto on pilannut t\xe4ss\xe4 yhteydess\xe4 Oulun mainetta muihin kaupunkeihin verrattuna.",mandatory:!0,order:296,dimension:"fact",theme:62,themeName:"Oulu",brand:["is"],location:"Oulu",nominationAreaLevel:"municipal"},{id:297,text:"Turku tarvitsee raitiotien.",mandatory:!0,order:297,dimension:"fact",theme:63,themeName:"Turku",brand:["is"],location:"Turku",nominationAreaLevel:"municipal"},{id:298,text:"Poliisihallituksen h\xe4iri\xf6indeksin mukaan Turku on Suomen suurista kaupungeista toiseksi turvattomin. Varon liikkumista kaupungilla yksin iltaisin enemm\xe4n kuin aikaisemmin.",mandatory:!0,order:298,dimension:"fact",theme:63,themeName:"Turku",brand:["is"],location:"Turku",nominationAreaLevel:"municipal"},{id:299,text:"Logomo on riitt\xe4v\xe4 v\xe4liaikainen ratkaisu asemapalveluiden tarjoamiseen uuden asemarakennuksen valmistumiseen asti kes\xe4ll\xe4 2026.",mandatory:!0,order:299,dimension:"fact",theme:63,themeName:"Turku",brand:["is"],location:"Turku",nominationAreaLevel:"municipal"},{id:300,text:"Poliisihallituksen h\xe4iri\xf6indeksin mukaan Tampere on Suomen suurista kaupungeista viidenneksi turvattomin. Varon liikkumista kaupungilla yksin iltaisin entist\xe4 enemm\xe4n.",mandatory:!0,order:300,dimension:"fact",theme:64,themeName:"Tampere",brand:["is"],location:"Tampere",nominationAreaLevel:"municipal"},{id:301,text:"Huumekauppa ja muu h\xe4iri\xf6k\xe4ytt\xe4ytyminen on heikent\xe4nyt turvallisuuden tunnetta Tampereen keskustassa. Asiaan on puututtava nykyist\xe4 selv\xe4sti tehokkaammin.",mandatory:!0,order:301,dimension:"fact",theme:64,themeName:"Tampere",brand:["is"],location:"Tampere",nominationAreaLevel:"municipal"},{id:302,text:"Raitiotieverkon rakentamista on jatkettava Tampereen seudulla yleissuunnitelman mukaisesti Pirkkalaan, Yl\xf6j\xe4rvelle ja 
9Kangasalle.",mandatory:!0,order:302,dimension:"fact",theme:64,themeName:"Tampere",brand:["is"],location:"Tampere",nominationAreaLevel:"municipal"},{id:303,text:"Jyv\xe4skyl\xe4n k\xe4velykatu pit\xe4\xe4 kattaa keskustan el\xe4v\xf6itt\xe4miseksi.",mandatory:!0,order:303,dimension:"fact",theme:65,themeName:"Jyv\xe4skyl\xe4",brand:["is"],location:"Jyv\xe4skyl\xe4",nominationAreaLevel:"municipal"},{id:304,text:"Jyv\xe4skyl\xe4\xe4n on vuosikymmenten jahkailun j\xe4lkeen rakennettava vihdoin musiikkitalo.",mandatory:!0,order:304,dimension:"fact",theme:65,themeName:"Jyv\xe4skyl\xe4",brand:["is"],location:"Jyv\xe4skyl\xe4",nominationAreaLevel:"municipal"},{id:305,text:"Tulevalla valtuustokaudella Jyv\xe4skyl\xe4st\xe4 ei saa lopettaa yht\xe4\xe4n pient\xe4 koulua.",mandatory:!0,order:305,dimension:"fact",theme:65,themeName:"Jyv\xe4skyl\xe4",brand:["is"],location:"Jyv\xe4skyl\xe4",nominationAreaLevel:"municipal"}],metadata:{id:"kunta2025",electionDate:"2025-04-13T17:00:00.000Z",emailAddress:"[email protected]",combinedElectionId:"kunta-alue2025",resultServiceUrl:{hs:"https://www.hs.fi/politiikka/art-2000011152399.html",is:"https://www.is.fi/politiikka/art-2000011153919.html",al:"https://www.aamulehti.fi/pirkanmaa/art-2000011152140.html",sk:"https://www.satakunnankansa.fi/satakunta/art-2000011119965.html"},curtainTime:{date:"2.4.2025",time:"20"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"09.00",date:"05.03.2025"},modificationDeadline:{time:"23.59",date:"10.03.2025"},finalDeadline:{time:"23.59",date:"10.04.2025"},year:2025,electionName:"Kuntavaalit",electionType:"municipal",themeSelection:!1,electionLogo:{is:{title:"Kuntavaalit 2025",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Kuntavaalit 2025",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Kuntavaalit 2025",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Kuntavaalit 2025",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:t0,municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Espoo","Vantaa"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]},useCandidateAggregates:!0,partyAnswerLevel:"nominationArea"},texts:[{key:"import-info-text",text:"N\xe4ytt\xe4\xe4, ett\xe4 olet jo vastannut palvelussamme aluevaalien kysymyksiin.\n\nJos haluat, voit tuoda sielt\xe4 automaattisesti ehdokastietosi ja arvokysymysten vastaukset. N\xe4in sinun ei tarvitse kirjoittaa noita vastauksia uudestaan.\n\nTuodaanko vastaukset?"},{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien, sitten Ilta-Sanomien ja lopuksi aluemedioiden vaalikonekysymykset. Jotkut kysymykset ovat yhteisi\xe4 kaikille vaalikoneille. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, sukupuoli, koulutus ja ammatti \n - ehdokkaan puolue \n - kunta, jossa on ehdokkaana \n - postinumeroalue: erityisesti kaupungeissa \xe4\xe4nest\xe4ji\xe4 voi kiinnostaa, mist\xe4 p\xe4in kaupunkia ehdokas on \n - onko ehdokas t\xe4ll\xe4 hetkell\xe4: kansanedustaja, aluevaltuutettu tai kunnanvaltuutettu \n - kielitaito \n - ehdokkaan oma vapaamuotoinen kuvausteksti\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:""},{key:"election-faq",text:"# T\xe4llainen on Sanoman vaalikone – hy\xf6dyllist\xe4 tietoa \xe4\xe4nest\xe4jille ja ehdokkaille\n\nT\xe4m\xe4 artikkeli kertoo perustiedot Sanoman vaalikoneista, eli Helsingin Sanomien, Ilta-Sanomien, Aamulehden, Satakunnan Kansan sek\xe4 paikallismedioiden sivuilla julkaistavista vaalikoneista.\n\n \n\n## Sivun sis\xe4lt\xf6\n\n- Mik\xe4 on vaalikone?\n- Miten vaalikone toimii?\n- Kuka vaalikoneesta hy\xf6tyy?\n- Paljonko vaalikonetta k\xe4ytet\xe4\xe4n?\n- Kuka tekee vaalikoneen kysymykset?\n- Tallentaako vaalikone vastaukseni?\n- Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\n## Mik\xe4 on vaalikone?\n\nVaalikone on palvelu, jonka tarkoitus on auttaa \xe4\xe4nest\xe4j\xe4\xe4 valitsemaan ehdokas, jota \xe4\xe4nest\xe4\xe4. Vaalikoneessa ehdokkaat vastaavat v\xe4itteen muodossa oleviin kysymyksiin politiikan aiheista. Kun k\xe4
9ytt\xe4j\xe4 vastaa samoihin kysymyksiin, kone laskee, kuka ehdokkaista ja mik\xe4 puolueista on l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia. Vaalikone siis n\xe4ytt\xe4\xe4 ehdokkaita, jotka ovat mielipiteilt\xe4\xe4n ja arvoiltaan l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia.\n\nEhdokkaita voi my\xf6s etsi\xe4 ja tutkia vastaamatta vaalikoneen kysymyksiin. T\xe4t\xe4 varten vaalikoneessa on n\xe4kym\xe4, jossa ehdokkaita voi etsi\xe4 vaikkapa puolueen, nimen tai alueen perusteella.\n\nVaalikone sis\xe4lt\xe4\xe4 niiden ehdokkaiden vastaukset, jotka ovat itse vastanneet vaalikoneen kysymyksiin. Kaikilla ehdokkailla on mahdollisuus vastata koneen kysymyksiin, mutta kaikki eiv\xe4t vastaa.\n\n## Miten vaalikone toimii?\n\nVaalikone laskee et\xe4isyytt\xe4 k\xe4ytt\xe4j\xe4n vastausten ja ehdokkaiden vastausten v\xe4lill\xe4. Vaalikone tarjoaa tuloksissa ehdokkaita, joiden vastaukset ovat l\xe4hinn\xe4 k\xe4ytt\xe4j\xe4n vastauksia. Vaalikone my\xf6s laskee ehdokkaiden vastauksista puolueille keskim\xe4\xe4r\xe4isen vastauksen ja esitt\xe4\xe4 puolueet l\xe4heisyysj\xe4rjestyksess\xe4.\n\nSuomen vaalij\xe4rjestelm\xe4ss\xe4 \xe4\xe4ni annetaan aina yksitt\xe4iselle ehdokkaalle, mutta moni \xe4\xe4nest\xe4j\xe4 haluaa ensin l\xf6yt\xe4\xe4 itselleen parhaan puolueen. Sanoman vaalikoneet mahdollistavat kummankin tavan etsi\xe4 ehdokasta: henkil\xf6 tai puolue edell\xe4.\n\nLaskentaan vaalikone k\xe4ytt\xe4\xe4 algoritmia, joka vertailee vastausten l\xe4heisyytt\xe4. [Sanoman vaalikoneen algoritmi on selostettu ja avattu kaikkien n\xe4ht\xe4v\xe4ksi Helsingin Sanomien artikkelissa](https://www.hs.fi/politiikka/art-2000009993697.html). Kunta- ja aluevaaleissa 2025 k\xe4yt\xe4mme samaa algoritmia kuin presidentinvaaleissa ja eurovaaleissa 2024.\n\nHelsingin Sanomien vaalikoneessa on arvokartta, joka sijoittaa k\xe4ytt\xe4j\xe4t ja ehdokkaat poliittiselle kartalle. [Arvokartan toiminnasta ja taustoista kerrotaan laajemmin t\xe4ss\xe4 artikkelissa](https://www.hs.fi/politiikka/art-2000010457779.html). \n\n## Kuka hy\xf6tyy vaalikoneesta?\n\nVaalikoneesta hy\xf6tyv\xe4t kaikki.K\xe4ytt\xe4jille eli \xe4\xe4nest\xe4jille kone on monipuolinen mahdollisuus vertailla ehdokkaita ja puolueita. Vaalikoneita my\xf6s k\xe4ytet\xe4\xe4n vaali vaalilta enemm\xe4n. Tutkimusten mukaan vaalikoneista on tullut erityisesti nuorille \xe4\xe4nest\xe4jille t\xe4rke\xe4 tiedonl\xe4hde. Tutkijat ovat my\xf6s esitt\xe4neet arvioita, ett\xe4 [vaalikoneet lis\xe4isiv\xe4t nuorten intoa \xe4\xe4nest\xe4\xe4](https://www.hs.fi/politiikka/art-2000007610098.html). Voi siis sanoa, ett\xe4 vaalikoneet palvelevat \xe4\xe4nest\xe4jien lis\xe4ksi koko suomalaista demokratiaa.\n\nEhdokkaille hy\xf6ty on se, ett\xe4 vaalikoneessa kaikki ovat tasa-arvoisessa asemassa, jossa esimerkiksi puolueella tai varallisuudella ei ole merkityst\xe4. Kone etsii k\xe4ytt\xe4j\xe4lle l\xe4heisint\xe4 ehdokasta kaikkien niiden ehdokkaiden joukosta, jotka ovat vastanneet vaalikoneen kysymyksiin ja joita k\xe4ytt\xe4j\xe4 voi \xe4\xe4nest\xe4\xe4 (esim. sama vaalipiiri tai kunta).\n\n## Paljonko vaalikonetta k\xe4ytet\xe4\xe4n?\n\nSuurten tiedotusv\xe4lineiden (kuten Helsingin Sanomat, Ilta-Sanomat tai Yleisradio) vaalikoneita k\xe4ytet\xe4\xe4n paljon. Esimerkiksi eduskuntavaaleissa 2023 sek\xe4 Helsingin Sanomilla ett\xe4 Ilta-Sanomilla vaalikoneessa oli yli miljoona k\xe4ynti\xe4. Sanoman medioiden vaalikoneet tavoittavatkin vaalista riippuen l\xe4hemm\xe4s miljoona tai yli miljoona suomalaista. K\xe4ytt\xe4ji\xe4 on siis runsaasti, ja he my\xf6s viihtyv\xe4t palvelun parissa. Sanoman k\xe4ytt\xe4j\xe4tietojen mukaan valtaosa k\xe4ytt\xe4jist\xe4, jopa 90 prosenttia, tekee vaalikoneen loppuun asti – eli vastaa noin 30 kysymykseen ja p\xe4\xe4tyy tutkimaan ehdokkaita tulosn\xe4kym\xe4\xe4n.\n\n## Kuka tekee vaalikoneen kysymykset?\n\nSanoman vaalikoneiden kysymykset tekee kunkin lehden toimitus. Toimitukset k\xe4ytt\xe4v\xe4t kysymysten laatimiseen oman asiantuntemuksensa lis\xe4ksi laajalti erilaisia l\xe4hteit\xe4.\n\n Kysymyksi\xe4 tehdess\xe4 siis aluksi tutkitaan, mitk\xe4 ovat kunkin vaalin t\xe4rkeit\xe4 kysymyksi\xe4, jonka j\xe4lkeen toimitus itsen\xe4isesti p\xe4\xe4tt\xe4\xe4 kysymykset ja niiden muotoilun. T\xe4ss\xe4kin noudatetaan Journalistin ohjeita: ”Toimituksellista sis\xe4lt\xf6\xe4 koskevat ratkaisut on teht\xe4v\xe4 journalistisin perustein. T\xe4t\xe4 p\xe4\xe4t\xf6svaltaa ei saa miss\xe4\xe4n oloissa luovuttaa toimituksen ulkopuolisille.” Tekovaiheessa esimerkiksi Helsingin Sanomat tyypillisesti testaa kysymyksi\xe4 lukijoilla. Testien vastaukset ja palautteet tuovat toimitukselle arvokasta tietoa.\n\n Kysymyksi\xe4 tehdess\xe4 pyrit\xe4\xe4n noudattamaan t
9iettyj\xe4 kriteereit\xe4. Kysymysten tulisi olla selkeit\xe4 ja yksiselitteisi\xe4, sellaisia jotka kysyv\xe4t yhdess\xe4 kysymyksess\xe4 yht\xe4 asiaa. Niiden tulisi olla kiinnostavia, olennaisia kulloisenkin vaalin kannalta tai yleisempi\xe4 politiikan ideologisia suuntauksia valaisevia. Lis\xe4ksi kysymysten olisi hyv\xe4 keskitty\xe4 aiheisiin, joista tiedet\xe4\xe4n olevan erilaisia n\xe4kemyksi\xe4.\n\n## Tallentaako vaalikone vastaukseni?\n\nVaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas– tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. [Lis\xe4tietoja tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.vaalikone.fi/kunta2025/hs/tietosuoja).\n\n## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\nJos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:"Kuntavaalit ovat sunnuntaina 13.4.2025. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s entist\xe4 helpommin vertailla ehdokkaiden ja puolueiden n\xe4kemyksi\xe4 vaalien t\xe4rkeiss\xe4 kysymyksiss\xe4."},{key:"party-graph-explainer-with-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden ja kuinka monta paikkaa kukin puolue on saanut. Sek\xe4 \xe4\xe4niosuuden ett\xe4 paikkojen yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2021."},{key:"party-graph-explainer-municipality-page",text:"T\xe4ss\xe4 n\xe4et, kuinka monta paikkaa ja millaisen \xe4\xe4niosuuden kukin puolue on t\xe4ss\xe4 kunnassa saanut. Sek\xe4 paikkojen ett\xe4 \xe4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2021."},{key:"party-graph-explainer-no-seats",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut. \xc4\xe4niosuuden yhteydess\xe4 oleva numero kertoo muutoksesta edellisiin kuntavaaleihin 2021."},{key:"party-graph-explainer-no-seats-no-comparison",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin puolue on saanut."},{key:"candidate-list-selected-in-combined-election",text:"Merkint\xe4 (+A) kertoo, ett\xe4 ehdokas on valittu my\xf6s aluevaltuustoon."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, kunnan, \xe4\xe4nestysalueen tai puolueen nimell\xe4."}
9,{key:"how-to-vote",text:"# N\xe4in \xe4\xe4nest\xe4t kunta- ja aluevaaleissa\n\nKev\xe4\xe4ll\xe4 2025 \xe4\xe4nest\xe4j\xe4n on hyv\xe4 tiet\xe4\xe4 ainakin kolme asiaa:\n\n- Voitko \xe4\xe4nest\xe4\xe4 sek\xe4 kunta- ett\xe4 aluevaaleissa vai ainoastaan kuntavaaleissa.\n- \xc4\xe4nest\xe4tk\xf6 ennakkoon vai varsinaisena vaalip\xe4iv\xe4n\xe4.\n- Ket\xe4 \xe4\xe4nest\xe4t.\n\nHelsinkil\xe4iset voivat \xe4\xe4nest\xe4\xe4 ainoastaan kuntavaaleissa. Muualla Suomessa asuvat \xe4\xe4nest\xe4v\xe4t sek\xe4 kunta- ett\xe4 aluevaaleissa. Poikkeus on Ahvenanmaa, jossa vaaleja ei j\xe4rjestet\xe4 nyt.\n\nAikataulut molemmissa vaaleissa ovat samat.\n\nEnnakko\xe4\xe4nestys on k\xe4ynniss\xe4 Suomessa 2.–8.4.2025. Ennakkoon voi \xe4\xe4nest\xe4\xe4 miss\xe4 tahansa \xe4\xe4nestyspaikassa. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan.\n\nItse vaalip\xe4iv\xe4 on sunnuntaina 13.4.2025. Jos \xe4\xe4nest\xe4t silloin, sinun pit\xe4\xe4 menn\xe4 oman alueesi \xe4\xe4nestyspaikkaan. Se on kerrottu ilmoituskortissa, joka on postitettu kotiin. Vaalip\xe4iv\xe4n\xe4 \xe4\xe4nestyspaikat ovat auki klo 9-20. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan. Postissa tullutta \xe4\xe4nioikeusilmoitusta ei tarvita \xe4\xe4nestyspaikalla, mutta sen voi halutessaan ottaa mukaan.\n\n\xc4\xe4nestyspaikalla vaalit erotellaan toisistaan \xe4\xe4nestyslipun v\xe4rill\xe4. Aluevaalien ehdokasta \xe4\xe4nestet\xe4\xe4n violetilla lipulla, kuntavaalien lippu on valkoinen. Helsinkil\xe4iset saavat siis vain valkoisen \xe4\xe4nestyslipun. T\xe4m\xe4 koskee ennakko\xe4\xe4nestyst\xe4 ja vaalip\xe4iv\xe4\xe4.\n\nApua ja tietoa ehdokkaan valintaan voi etsi\xe4 esimerkiksi vaalikoneista.\n\nLis\xe4tietoa \xe4\xe4nest\xe4misest\xe4 l\xf6yd\xe4t [oikeusministeri\xf6n verkkosivuilta: Alue- ja kuntavaalit 2025](https://vaalit.fi/alue-ja-kuntavaalit)."}],public:{candidate:!0,election:!0,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!1,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Puolueiden mielipide",embedId:"party-mean-answers",embedPath:"/results/embeds/party-mean-answers",selections:{title:{inUse:!0,parameterName:"title"},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","K"],valueType:"nominationAreaName"},parties:{inUse:!0,allowMultiple:!0,parameterName:"party"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Haku",embedId:"resultSearch",embedPath:"/element/search",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"articleType",value:"regular"}]},{embedName:"Suurimmat puolueet etusivulle",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Kunnan tulokset etusivulle",embedId:"areaFrontPageEmbed",embedPath:"/element/areaFrontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurimmat puolueet valitulla alueella",embedId:"partyGraph",embedPath:"/element/partyGraph",embedDescription:"Upotus n\xe4ytt\xe4\xe4 \xe4\xe4nestyksen tasolla ja sit\xe4 korkeammilla tasoilla paikkoja ja prosenttiosuuksia. Alemmilla tasoilla vain prosenttiosuuksia. Esim. \xc4\xe4nestysalueiden tasolla paikkoja ei n\xe4ytet\xe4.",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"\xc4\xe4niharavat valitulla alueella",embedId:"biggestWinner",embedPath:"/element/biggestWinner",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K","A"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Valtuustoon valitut alueella",embedId:"candidateList",embedPath:"/element/candidateList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Suurin puolue alueittain kartalla",embedId:"popularPartyByRegionMap",embedPath:"/element/popularPartyByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net kartalla",embedId:"voteHeatMap-candidate",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["K"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puolueen \xe4\xe4net kartalla",embedId:"voteHeatMap-party",embedPath:"/element/voteHeatMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M","K"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Puolueen \xe4\xe4niosuuden muutos kartalla",embedId:"shareChangeMap-party",embedPath:"/element/shareChangeMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"area",acceptedLevels:["M"],onlyAreaLevel:!1},title:{inUse:!0,parameterName:"title"}}},{embedName:"Puolueiden voittamat kunnat",embedId:"municipalitiesWonByParty",embedPath:"/element/municipalitiesWonByParty",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan vahvin kannatus listana",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Puoleen vahvin kannatus listana",embedId:"voteList-party",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{parties:{inUse:!0,parameterName:"id",allowMultiple:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"party"}]},{embedName:"Valittujen arvokartta",embedId:"valueBrowserChosenCouncil",embedPath:"/element/valueBrowserChosenCouncil",embedDescription:"Kaikki ehdokkaat eiv\xe4t v\xe4ltt\xe4m\xe4tt\xe4 ole t\xe4ytt\xe4neet vaalikonetta",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Pormestariehdokkaat",embedDescription:"Pormestariehdokkaat on m\xe4\xe4ritelty vain Helsingin ja Tampereen kuntavaaleihin.",embedId:"personsOfInterest",embedPath:"/element/personsOfInterest",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{title:{inUse:!0,parameterName:"title"},area:{inUse:!0,parameterName:"id",acceptedLevels:["K"]}}},{embedName:"Valittujen ik\xe4- ja sukupuolijakauma",embedId:"ageAndGender",embedPath:"/element/ageAndGender",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{personsOfInterest:[{title:"Helsingin pormestariehdokkaat",areaId:"K-091",candidates:["K-091-0216","K-091-0851","K-091-0723","K-091-0440","K-091-0526","K-091-0003","K-091-0095","K-091-0659"]},{title:"Tampereen pormestariehdokkaat",areaId:"K-837",candidates:["K-837-0066","K-837-0234","K-837-0342","K-837-0452","K-837-0463","K-837-0177","K-837-0145"]}],frontPageBrandAreas:{hs:{name:"Helsinki",id:"K-091"},al:{name:"Tampere",id:"K-837"},sk:{name:"Pori",id:"K-609"}}}},am={legacy:!0,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","PopularPresidentialCandidatePerRegion","CountStatus"],candidate:["VotesMunicipality","VotesArea"],element:{valueBrowserPresidentialCandidates:!1,valueBrowserSingleCandidate:!1}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","PopularPresidentialCandidatePerRegion","CountStatus"],candidate:["VotesMunicipality","VotesArea"],area:["PresidentialCandidateGraph"],municipality:["PresidentialCandidateGraph","CountStatus"],voteArea:["PresidentialCandidateGraph","CountStatus"],element:{answersToElectionMachine:!0,candidateList:!0,frontPageEmbed:"PresidentialCandidateGraph",municipalityList:!0,popularCandidateByReg
9ionMap:!0,voteList:!0,presidentialCandidateGraph:!0,timeSeries:!1}}}},frontendDefaults:{selectedCandidatesAmount:20,mainResultShowAllCandidates:!0},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1,label:"Presidentin teht\xe4v\xe4n kannalta merkitt\xe4vin aiempi ty\xf6kokemus"},personalValues:{inUse:!1,label:"Mitk\xe4 ovat t\xe4rkeimm\xe4t arvosi, nime\xe4 kolme"},goodQualities:{inUse:!1,label:"Ominaisuudet jotka tekev\xe4t sinusta hyv\xe4n presidentin"},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"presidentti2012",electionName:"Presidentinvaalit",electionDate:"2012-01-22T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2012/hs",is:"https://tulos.vaalikone.fi/presidentti2012/hs",al:"https://tulos.vaalikone.fi/presidentti2012/hs",sk:"https://tulos.vaalikone.fi/presidentti2012/hs"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"12.00",date:"14.11.2012"},modificationDeadline:{time:"12.00",date:"20.11.2012"},finalDeadline:{time:"12.00",date:"26.1.2012"},year:2012,electionType:"presidential",themeSelection:!0,electionLogo:{is:{title:"Presidentinvaalit 2012",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Presidentinvaalit 2012",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Presidentinvaalit 2012",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Presidentinvaalit 2012",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"presidential-graph-explainer",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin ehdokas on saanut."},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko ehdokkaat l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla ehdokkaan nime\xe4 saat ehdokkaan esiin tai piiloon."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan tai \xe4\xe4nestysalueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!1},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Ehdokaskortti",embedId:"candidate-card",embedPath:"/candidates/card",selections:{candidates:{type:"path",inUse:!0,allowMultiple:!1,showAll:!0}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Vaalien tulos",embedId:"presidentialCandidateGraph",embedPath:"/element/presidentialCandidateGraph",serviceSide:"resultService",availableForBrands:["hs"],selections:{title:{inUse:!1,parameterName:"title"},area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Ehdokkaat alueittain kartalla",embedId:"popularCandidateByReg
9ionMap",embedPath:"/element/popularCandidateByRegionMap",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},ad={resultService:{electionRound:"first"},public:{candidate:!1,election:!1,result:!1},texts:[{key:"result-wait-text",text:"Ei tuloksia."}],metadata:{resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2012A/hs",is:"https://tulos.vaalikone.fi/presidentti2012A/hs",al:"https://tulos.vaalikone.fi/presidentti2012A/hs",sk:"https://tulos.vaalikone.fi/presidentti2012A/hs"}}},ac={resultServiceOnly:!0,resultService:{electionRound:"second"},public:{candidate:!1,election:!1,result:!1},texts:[{key:"result-wait-text",text:"Ei tuloksia."}],metadata:{resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2012B/hs",is:"https://tulos.vaalikone.fi/presidentti2012B/is",al:"https://tulos.vaalikone.fi/presidentti2012B/al",sk:"https://tulos.vaalikone.fi/presidentti2012B/sk"}}},ah={legacy:!0,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:[],compareCandidates:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","PopularPresidentialCandidatePerRegion","CountStatus"],candidate:["VotesMunicipality","VotesArea"],element:{valueBrowserPresidentialCandidates:!1,valueBrowserSingleCandidate:!1}}},default:{electionMachine:{resultIndex:[],compareCandidates:[],candidateListLayoutAll:[],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","PopularPresidentialCandidatePerRegion","CountStatus"],candidate:["VotesMunicipality","VotesArea"],area:["PresidentialCandidateGraph"],municipality:["PresidentialCandidateGraph","CountStatus"],voteArea:["PresidentialCandidateGraph","CountStatus"],element:{answersToElectionMachine:!0,candidateList:!0,frontPageEmbed:"PresidentialCandidateGraph",municipalityList:!0,popularCandidateByRegionMap:!0,voteList:!0,presidentialCandidateGraph:!0,timeSeries:!1}}}},frontendDefaults:{selectedCandidatesAmount:20,mainResultShowAllCandidates:!0},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!1},independentCandidate:{inUse:!1},languages:{inUse:!1},candidateFamily:{inUse:!1},earlierWorkExperience:{inUse:!1,label:"Presidentin teht\xe4v\xe4n kannalta merkitt\xe4vin aiempi ty\xf6kokemus"},personalValues:{inUse:!1,label:"Mitk\xe4 ovat t\xe4rkeimm\xe4t arvosi, nime\xe4 kolme"},goodQualities:{inUse:!1,label:"Ominaisuudet jotka tekev\xe4t sinusta hyv\xe4n presidentin"},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!1},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]},{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[],electionMachineQuestions:[],metadata:{id:"presidentti2018",electionName:"Presidentinvaalit",electionDate:"2018-01-28T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2018/hs",is:"https://tulos.vaalikone.fi/presidentti2018/hs",al:"https://tulos.vaalikone.fi/presidentti2018/hs",sk:"https://tulos.vaalikone.fi/presidentti2018/hs"},universityStudyHref:"",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"12.00",date:"14.11.2018"},modificationDeadline:{time:"12.00",date:"20.11.2018"},finalDeadline:{time:"12.00",date:"26.1.2018"},year:2018,electionType:"presidential",themeSelection:!0,electionLogo:{is:{title:"Presidentinvaalit 2018",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Presidentinvaalit 2018",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Presidentinvaalit 2018",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Presidentinvaalit 2018",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"presidential-graph-explainer",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin ehdokas on saanut."},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko ehdokkaat l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla ehdokkaan nime\xe4 saat ehdokkaan esiin tai piiloon."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan tai \xe4\xe4nestysalueen nimell\xe4."}],public:{candidate:!1,election:!1,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Ehdokaskortti",embedId:"candidate-card",embedPath:"/candidates/card",selections:{candidates:{type:"path",inUse:!0,allowMultiple:!1,showAll:!0}},serviceSide:"electionMachine",availableForBrands:["hs"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Vaalien tulos",embedId:"presidentialCandidateGraph",embedPath:"/element/presidentialCandidateGraph",serviceSide:"resultService",availableForBrands:["hs"],selections:{title:{inUse:!1,parameterName:"title"},area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Ehdokkaat alueittain kartalla",embedId:"popularCandidateByReg
9ionMap",embedPath:"/element/popularCandidateByRegionMap",serviceSide:"resultService",availableForBrands:["hs"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K"]},title:{inUse:!0,parameterName:"title"}}}],resultService:{}},ap={resultService:{electionRound:"first"},public:{candidate:!1,election:!1,result:!0},texts:[{key:"result-wait-text",text:"Odotetaan \xe4\xe4ntenlaskennan tuloksia. T\xe4m\xe4 sivu n\xe4ytt\xe4\xe4 vaalien tulostietoja 28.1.2018 klo 20 j\xe4lkeen."}],metadata:{resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2018A/hs",is:"https://tulos.vaalikone.fi/presidentti2018A/hs",al:"https://tulos.vaalikone.fi/presidentti2018A/hs",sk:"https://tulos.vaalikone.fi/presidentti2018A/hs"}}},av={legacy:!1,resultSearchRecommendations:t2,frontendTemplates:{hs:{electionMachine:{resultIndex:["MainResult","CandidateValueBrowser","NPS","UniversityStudy","ElectionMachineInfo"],compareCandidates:["SelectCandidatesShort","CandidateValueBrowser","CandidateMatchByThemes","CandidateAnswerBrowser"],candidateListLayoutAll:["CandidateList","CandidateSelector","CandidateValueBrowser","CandidateAnswerBrowser"],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","CandidateTimeseries","PopularPresidentialCandidatePerRegion","ValueBrowserPresidentialCandidates","CountStatus"],candidate:["VotesMunicipality","VotesArea","ValueBrowserSingleCandidate","ElectionMachineAnswers"],element:{valueBrowserPresidentialCandidates:!0,valueBrowserSingleCandidate:!0}}},default:{electionMachine:{resultIndex:["MainResult","ElectionMachineInfo"],compareCandidates:["SelectCandidatesShort","CandidateMatchByThemes","CandidateAnswerBrowser"],candidateListLayoutAll:["CandidateList","CandidateSelector","CandidateAnswerBrowser"],howToVote:["Text"]},resultService:{root:["PresidentialCandidateGraphCountry","CandidateTimeseries","PopularPresidentialCandidatePerRegion","CountStatus"],candidate:["VotesMunicipality","VotesArea","ElectionMachineAnswers"],area:["PresidentialCandidateGraph"],municipality:["PresidentialCandidateGraph","PopularPresidentialCandidateMunicipality","CountStatus"],voteArea:["PresidentialCandidateGraph","CountStatus"],element:{answersToElectionMachine:!0,candidateList:!0,frontPageEmbed:"PresidentialCandidateGraph",municipalityList:!0,popularCandidateByRegionMap:!0,voteList:!0,presidentialCandidateGraph:!0,timeSeries:!0}}}},frontendDefaults:{selectedCandidatesAmount:20,mainResultShowAllCandidates:!0},npsPakkiUrl:{hs:"https://pakki-delivery.datadesk.hs.fi?appId=ac813f61-0bb3-45fb-a75d-c05468fe9253&brand=hs"},useDarkMode:!0,electionSpecificFields:{residentialArea:{inUse:!1},currentlyInParliament:{inUse:!1},currentlyInEuropeanParliament:{inUse:!1},currentlyInMunicipalCouncil:{inUse:!1},currentlyInCountyCouncil:{inUse:!1},excluded:{inUse:!0},independentCandidate:{inUse:!1},languages:{inUse:!0},candidateFamily:{inUse:!0},earlierWorkExperience:{inUse:!0,label:"Presidentin teht\xe4v\xe4n kannalta merkitt\xe4vin aiempi ty\xf6kokemus"},personalValues:{inUse:!0,label:"Mitk\xe4 ovat t\xe4rkeimm\xe4t arvosi, nime\xe4 kolme"},goodQualities:{inUse:!0,label:"Ominaisuudet jotka tekev\xe4t sinusta hyv\xe4n presidentin"},description:{inUse:!1},educationLevel:{inUse:!1},educationOpenText:{inUse:!0},postalCodeArea:{inUse:!1},gender:{inUse:!1}},ideologyDimensions:["Konservatiivi-Liberaali","Vasemmisto-Oikeisto","Maaseutu-Kaupunki"],educationLevels:[{id:1,name:"Kansakoulu/alle"},{id:2,name:"Perus/keskikoulu"},{id:3,name:"Lukio/ammattikoulu"},{id:4,name:"Opistoaste"},{id:5,name:"Alempi korkea-aste"},{id:6,name:"Ylempi korkea-aste"},{id:7,name:"Tutkijakoulutus"}],answerExplanationMaxLength:800,minimumAnswers:3,minimumAnswersWithExplanations:10,scaleValues:!1,values:[{id:1,name:"Vasemmisto-Oikeisto",bounds:["Vasemmisto","Oikeisto"]},{id:2,name:"Arvokonservatiivi - Arvoliberaali",bounds:["Arvokonservatiivi","Arvoliberaali"]},{id:3,name:"V\xe4hemm\xe4n vihre\xe4 - Enemm\xe4n vihre\xe4",bounds:["V\xe4hemm\xe4n vihre\xe4","Enemm\xe4n vihre\xe4"]},{id:4,name:"Kansallismielinen - Kansainv\xe4linen",bounds:["Kansallismielinen","Kansainv\xe4linen"]},{id:5,name:"Liberaalivihre\xe4-Kansalliskonservatiivi",bounds:["Kansalliskonservatiivi","Liberaalivihre\xe4"]}
9,{id:6,name:"Maaseutu - Kaupunki",bounds:["Maaseutu","Kaupunki"]}],themes:[{name:"Presidentti ja maailma",description:"Presidentin keskeinen teht\xe4v\xe4 on johtaa Suomen ulkopolitiikkaa yhteistoiminnassa valtioneuvoston kanssa. Seuraavassa esitet\xe4\xe4n v\xe4itteit\xe4, jotka koskevat presidentin teht\xe4viin liittyvi\xe4 asiakysymyksi\xe4.",id:1},{name:"Presidentti ja Suomi",description:"Sis\xe4politiikassa presidentin virallinen rooli on pieni, mutta h\xe4nell\xe4 on ep\xe4muodollista vaikutusvaltaa. Lis\xe4ksi h\xe4n esimerkiksi vahvistaa lait ja nimitt\xe4\xe4 muun muassa upseerit, oikeuskanslerin ja tuomarit. ",id:2},{name:"Puolustus",description:"Presidentti on puolustusvoimien ylip\xe4\xe4llikk\xf6. H\xe4n voi luovuttaa ylip\xe4\xe4llikkyyden poikkeusoloissa toiselle Suomen kansalaiselle. Presidentti p\xe4\xe4tt\xe4\xe4 sodasta ja rauhasta eduskunnan suostumuksella. ",id:3},{name:"Arvot",description:"Seuraavat v\xe4itteet eiv\xe4t suoraan liity presidentin teht\xe4viin vaan arvoihin, jotka vaikuttavat p\xe4\xe4t\xf6sten taustalla. Kysymykset on laadittu yhteisty\xf6ss\xe4 tutkijoiden kanssa.",id:4},{name:"Puolustus",description:"",id:5},{name:"Ulkopolitiikka",description:"",id:6},{name:"Valtaoikeudet",description:"",id:7},{name:"Arvot",description:"",id:8},{name:"Toinen kierros",description:"Seuraavassa esitet\xe4\xe4n joukko uusia, toista kierrosta varten tehtyj\xe4 kysymyksi\xe4 presidentin teht\xe4viin liittyvist\xe4 ajankohtaisista asioista ja arvoista.",id:9}],electionMachineQuestions:[{id:1,text:"Suomen on jatkettava Ukrainan aseellista tukemista, vaikka tuki muista EU-maista hiipuisi.",mandatory:!0,order:1,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Suomi oli syyskuuhun 2023 menness\xe4 antanut Ukrainalle noin 1,3 miljardin euron arvosta puolustusmateriaalitukea. My\xf6s muut l\xe4nsimaat ovat tukeneet Ukrainan puolustustaistelua suurilla summilla.",relatedArticles:[]}},{id:2,text:"Tasavallan presidentin on pyritt\xe4v\xe4 keskusteluyhteyteen Ven\xe4j\xe4n kanssa, vaikka Ukrainan sota jatkuisi.",mandatory:!0,order:2,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Ven\xe4j\xe4n hy\xf6k\xe4tty\xe4 Ukrainaan vuonna 2022 Suomen ja Ven\xe4j\xe4n suhteet ovat heikentyneet l\xe4hes olemattomiin. Nykyinen presidentti Sauli Niinist\xf6 ei ole keskustellut Ven\xe4j\xe4n presidentin Vladimir Putinin kanssa toukokuun 2022 j\xe4lkeen. My\xf6s l\xe4nsi laajemmin on pyrkinyt erist\xe4m\xe4\xe4n Ven\xe4j\xe4\xe4.",relatedArticles:[]}},{id:3,text:"Suomen t\xe4ytyy tiivist\xe4\xe4 suhteita Yhdysvaltoihin entisest\xe4\xe4n.",mandatory:!0,order:3,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Ven\xe4j\xe4n hy\xf6k\xe4tty\xe4 Ukrainaan Suomi on tiivist\xe4nyt suhteitaan Yhdysvaltoihin. Yhdysvallat on my\xf6s Naton sotilaallisesti voimakkain j\xe4senvaltio.",relatedArticles:[]}},{id:4,text:"Ilmastonmuutoksen ja luontokadon torjumisen pit\xe4\xe4 olla Suomen ulkopolitiikan keskeinen tavoite.",mandatory:!0,order:4,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Presidentti johtaa Suomen ulkopolitiikkaa yhteistoiminnassa valtioneuvoston kanssa. Ilmastonmuutoksella ja luontokadolla on laajoja vaikutuksia maailmaan.",relatedArticles:[]}},{id:5,text:"Suomen on pyritt\xe4v\xe4 lis\xe4\xe4m\xe4\xe4n taloudellisia suhteita Afrikan maiden kanssa.",mandatory:!0,order:5,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Useassa Afrikan maassa sek\xe4 talouden ett\xe4 v\xe4est\xf6n kasvu on huomattavasti Eurooppaa nopeampaa. Suomi on laatinut Afrikka-strategian, jonka tarkoituksena on kehitt\xe4\xe4 suhteita Afrikan maiden kanssa.",relatedArticles:[]}},{id:6,text:"Suomen pit\xe4\xe4 pyrki\xe4 irrottautumaan taloudellisesta riippuvuudestaan Kiinaan.",mandatory:!0,order:6,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"Kiinasta tuotiin kaikista maailman maista kolmanneksi eniten tuotteita Suomeen vuonna 2022. Suomi on riippuvaine
9n monista kriittisist\xe4 raaka-aineista, joita tuodaan Kiinasta. Kiina ei ole demokraattinen maa ja sen suhteet Yhdysvaltoihin ovat j\xe4nnittyneet.",relatedArticles:[]}},{id:7,text:"S\xe4\xe4nt\xf6pohjaiseen maailmanj\xe4rjestelm\xe4\xe4n voi yh\xe4 luottaa.",mandatory:!0,order:7,dimension:"fact",theme:1,themeName:"Presidentti ja maailma",brand:["hs","al","sk"],backgroundInformation:{text:"S\xe4\xe4nt\xf6pohjaisessa maailmanj\xe4rjestyksess\xe4 valtiot sitoutuvat noudattamaan yhteisi\xe4 pelis\xe4\xe4nt\xf6j\xe4 ja sopimuksia. Keskeisess\xe4 osassa ovat kansainv\xe4liset j\xe4rjest\xf6t kuten YK. ",relatedArticles:[]}},{id:8,text:"Presidentin on kyett\xe4v\xe4 yhdist\xe4m\xe4\xe4n Suomea ja lievent\xe4m\xe4\xe4n vastakkainasetteluja.",mandatory:!0,order:8,dimension:"fact",theme:2,themeName:"Presidentti ja Suomi",brand:["hs","al","sk"],backgroundInformation:{text:"Perustuslain mukaan presidentin toimivalta sis\xe4politiikassa on v\xe4h\xe4inen. Presidentill\xe4 on my\xf6s ep\xe4muodollista valtaa. H\xe4n voi ottaa kantaa yhteiskunnalliseen keskusteluun ja nostaa esiin t\xe4rkeiksi katsomiaan asioita.",relatedArticles:[]}},{id:9,text:"Hallituksen valtaa tulisi kasvattaa ja presidentin valtaa kaventaa ulkopolitiikan johtamisessa.",mandatory:!0,order:9,dimension:"fact",theme:2,themeName:"Presidentti ja Suomi",brand:["hs","al","sk"],backgroundInformation:{text:"Presidentti tekee kaikki merkitt\xe4v\xe4t ulkopoliittiset ratkaisunsa yhteistoiminnassa valtioneuvoston kanssa. T\xe4ll\xe4 hetkell\xe4 presidentti esimerkiksi edustaa Suomea Naton huippukokouksissa. Vastuu ratkaisujen valmistelusta on valtioneuvostolla. ",relatedArticles:[]}},{id:10,text:"Suomen on valmistauduttava laittamaan rajansa kiinni, jos siirtolaisuus lis\xe4\xe4ntyy voimakkaasti.",mandatory:!0,order:10,dimension:"fact",theme:2,themeName:"Presidentti ja Suomi",brand:["hs","al","sk"],backgroundInformation:{text:"YK:n j\xe4rjest\xf6t ovat arvioineet, ett\xe4 miljoonat ihmiset joutuvat l\xe4hivuosina j\xe4tt\xe4m\xe4\xe4n kotinsa ilmastonmuutoksen vaikutusten takia. Todenn\xe4k\xf6isesti suuri osa heist\xe4 muuttaa oman maansa sis\xe4ll\xe4 tai kehittyv\xe4st\xe4 maasta toiseen. Siirtolaisia on k\xe4ytetty my\xf6s hybridivaikuttamisen v\xe4lineen\xe4.",relatedArticles:[]}},{id:11,text:"Suomen on irtauduttava jalkav\xe4kimiinat kielt\xe4v\xe4st\xe4 sopimuksesta.",mandatory:!0,order:11,dimension:"fact",theme:3,themeName:"Puolustus",brand:["hs","al","sk"],backgroundInformation:{text:"Jalkav\xe4kimiinat kielt\xe4v\xe4n sopimuksen tarkoituksena on est\xe4\xe4 miinoista siviileille aiheutuvia vahinkoja. Suomi liittyi siihen vuonna 2012. Suomessa osa puolueista vaatii sopimuksesta irtautumista, koska heist\xe4 se vaikeuttaa Suomen pitk\xe4n it\xe4rajan puolustamista. Puolustusministeri\xf6 on sanonut, ett\xe4 sopimuksesta irtautuminen ei ole tarpeen. Puolustusvoimat sai aikanaan 200 miljoonaa lis\xe4rahaa miinojen korvaamiseen.  ",relatedArticles:[]}},{id:12,text:"Suomen tulee laajentaa yleinen asevelvollisuus koskemaan muitakin kuin miehi\xe4.",mandatory:!0,order:12,dimension:"fact",theme:3,themeName:"Puolustus",brand:["hs","al","sk"],backgroundInformation:{text:"Suomessa asevelvollisuus koskee vain miehi\xe4. Naiset voivat menn\xe4 armeijaan halutessaan. Osa puolueista arvostelee t\xe4t\xe4 muun muassa ep\xe4tasa-arvoiseksi. Puolustusvoimat on halunnut s\xe4ilytt\xe4\xe4 nykyisen j\xe4rjestelm\xe4n mutta lis\xe4t\xe4 vapaaehtoisten naisten m\xe4\xe4r\xe4\xe4.",relatedArticles:[]}},{id:13,text:"Jos jokin Nato-maa joutuu hy\xf6kk\xe4yksen kohteeksi, Suomen reservil\xe4isi\xe4 pit\xe4\xe4 voida l\xe4hett\xe4\xe4 sen avuksi.",mandatory:!0,order:13,dimension:"fact",theme:3,themeName:"Puolustus",brand:["hs","al","sk"],backgroundInformation:{text:"Naton viidennen artiklan mukaan hy\xf6kk\xe4ys yht\xe4 j\xe4senmaata vastaan on hy\xf6kk\xe4ys kaikkia vastaan. Suomessa toistaiseksi on ratkaisematta kysymys, miten reservil\xe4isi\xe4 k\xe4ytet\xe4\xe4n Naton teht\xe4viss\xe4 sek\xe4 rauhan ett\xe4 mahdollisen kriisin aikana. Aktiivipalveluksessa olevia sotilaita on Suomessa v\xe4h\xe4n verrattuna moniin muihin Nato-maihin.",relatedArticles:[]}},{id:14,text:"Suomen tulee sallia ydinaseiden kuljetukset Suomen kautta.",mandatory:!0,order:14,dimension:"fact",theme:3,themeName:"Puolustus",brand:["hs","al","sk"],backgroundInformation:{text:"Suomessa laki kielt\xe4\xe4 nyt ydinr\xe4j\xe4hteiden maahantuonnin, valmistuksen, hallussapidon tai r\xe4j\xe4ytt\xe4misen. Suomen on p\xe4\xe4tett\xe4v\xe4, osallistuuko se Naton ydinaseita koskevaan harjoitteluun ja esimerkiksi voivatko ydinaseita kantavat koneet laskeutua Suomeen.",relatedArticles:[]}},{id:15,text:"Ahvenanmaa pit\xe4\xe4 s\xe4ilytt\xe4\xe4 demilitarisoituna alueena.",mandatory:!0,order:15,dimension:"fact",theme:3,themeName:"Puolustus",brand:["hs","al","sk"],backgroundInformation:{text:"Ahvenanmaa on demilitarisoitu vuonna 1921 tehdyll\xe4 kansainv\xe4lisell\xe4 sopimuksella. T\xe4m\xe4 tarkoittaa sit\xe4, ettei sotilaallinen l\xe4sn\xe4olo maakunnassa ole sallittua ja ettei saaria saa linnoittaa. ",relatedArticles:[]}},{id:16,text:"Jos on pakko valita, on parempi korottaa veroja kuin leikata julkisia palveluita ja sosiaalietuuksia.",mandatory:!0,order:16,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:17,text:"Suuret tuloerot ovat hyv\xe4ksytt\xe4vi\xe4, jotta erot ihmisten lahjakkuudessa ja ahkeruudessa voidaan palkita.",mandatory:!0,order:17,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:18,text:"Valtion pit\xe4isi puuttua nykyist\xe4 voimakkaammin markkinoiden toimintaan, jotta talous olisi kaikille reilu.",mandatory:!0,order:18,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Vasemmisto"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:19,text:"Suomessa on liian helppo el\xe4\xe4 sosiaaliturvan varassa.",mandatory:!0,order:19,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:20,text:"Valtion ja kuntien omistusta yritystoiminnassa tulisi v\xe4hent\xe4\xe4.",mandatory:!0,order:20,dimension:"ideology",valueDetails:[{valueId:1,targetBound:"Oikeisto"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:21,text:"Suomen muuttuminen aiempaa monikulttuurisemmaksi ja monimuotoisemmaksi on hyv\xe4 asia.",mandatory:!0,order:21,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:4,targetBound:"Kansainv\xe4linen"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:22,text:"Kristilliset arvot ovat hyv\xe4 pohja poliittiselle p\xe4\xe4t\xf6ksenteolle.",mandatory:!0,order:22,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:2,targetBound:"Arvokonservatiivi"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:23,text:"Sukupuolen moninaisuus pit\xe4isi ottaa huomioon Suomessa nykyist\xe4 paremmin.",mandatory:!0,order:23,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:2,targetBound:"Arvoliberaali"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:24,text:"Tottelevaisuus ja auktoriteettien kunnioittaminen ovat t\xe4rkeimm\xe4t arvot, jotka lapsen tulee oppia.",mandatory:!0,order:24,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:25,text:"Suomen pit\xe4isi v\xe4hent\xe4\xe4 omia p\xe4\xe4st\xf6j\xe4\xe4n riippumatta siit\xe4, mit\xe4 muut maat tekev\xe4t.",mandatory:!0,order:25,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:26,text:"Poliitikkojen on asetettava Suomen ja suomalaisten etu kaiken muun edelle.",mandatory:!0,order:26,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"},{valueId:4,targetBound:"Kansallismielinen"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:27,text:"Ymp\xe4rist\xf6n etu tulisi asettaa talouskasvun ja ty\xf6paikkojen luomisen edelle, jos ne ovat kesken\xe4\xe4n ristiriidassa.",mandatory:!0,order:27,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Liberaalivihre\xe4"},{valueId:3,targetBound:"Enemm\xe4n vihre\xe4"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:28,text:"Vahva johtaja on Suomelle hyv\xe4ksi, vaikka h\xe4n toimisi s\xe4\xe4nt\xf6jen rajamailla saadakseen asioita tehty\xe4.",mandatory:!0,order:28,dimension:"ideology",valueDetails:[{valueId:5,targetBound:"Kansalliskonservatiivi"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:29,text:"Koko Suomi tulee pit\xe4\xe4 asutettuna, vaikka siit\xe4 koituisi kustannuksia.",mandatory:!0,order:29,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Maaseutu"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:30,text:"Suomen kaupungistuminen on hyv\xe4 asia.",mandatory:!0,order:30,dimension:"ideology",valueDetails:[{valueId:6,targetBound:"Kaupunki"}],theme:4,themeName:"Arvot",brand:["hs","al","sk"]},{id:31,text:"Suomeen t\xe4ytyy saada Naton pysyv\xe4 tukikohta.",mandatory:!0,order:31,dimension:"fact",theme:5,themeName:"Puolustus",brand:["is"]},{id:32,text:"Ahvenanmaan demilitarisonnista pit\xe4\xe4 luopua, ja Suomen tulee sijoittaa Ahvenanmaalle joukkoja.",mandatory:!0,order:32,dimension:"fact",theme:5,themeName:"Puolustus",brand:["is"]},{id:33,text:"Suomen t\xe4ytyy irtautua jalkav\xe4kimiinat kielt\xe4v\xe4st\xe4 Ottawan sopimuksesta.",mandatory:!0,order:33,dimension:"fact",theme:5,themeName:"Puolustus",brand:["is"]},{id:34,text:"Suomeen pit\xe4\xe4 sijoittaa mahdollisimman paljon Yhdysvaltain joukkoja ja aseistusta.",mandatory:!0,order:34,dimension:"fact",theme:5,themeName:"Puolustus",brand:["is"]},{id:35,text:"Yleisen asevelvollisuuden pit\xe4isi koskea muitakin kuin miehi\xe4.",mandatory:!0,order:35,dimension:"fact",theme:5,themeName:"Puolustus",brand:["is"]},{id:36,text:"Ven\xe4j\xe4 on Suomelle sotilaallinen uhka.",mandatory:!0,order:36,dimension:"fact",theme:6,themeName:"Ulkopolitiikka",brand:["is"]},{id:37,text:"Pid\xe4n Ukrainan sodan laajentumista todenn\xe4k\xf6isen\xe4.",mandatory:!0,order:37,dimension:"fact",theme:6,themeName:"Ulkopolitiikka",brand:["is"]},{id:38,text:"Suomi voi alkaa rakentaa suhteita Ven\xe4j\xe4\xe4n uudelleen vasta sitten, kun Vladimir Putin poistuu vallasta.",mandatory:!0,order:38,dimension:"fact",theme:6,themeName:"Ulkopolitiikka",brand:["is"]},{id:39,text:"Donald Trumpin valinta presidentiksi heikent\xe4isi Euroopan ja Suomen turvallisuutta.",mandatory:!0,order:39,dimension:"fact",theme:6,themeName:"Ulkopolitiikka",brand:["is"]},{id:40,text:"Suomen pit\xe4\xe4 pyrki\xe4 v\xe4hent\xe4m\xe4\xe4n taloudellista riippuvuutta Kiinasta.",mandatory:!0,order:40,dimension:"fact",theme:6,themeName:"Ulkopolitiikka",brand:["is"]},{id:41,text:"Valtaa pit\xe4\xe4 siirt\xe4\xe4 presidentilt\xe4 p\xe4\xe4ministerille.",mandatory:!0,order:41,dimension:"fact",theme:7,themeName:"Valtaoikeudet",brand:["is"]},{id:42,text:"Presidentin t\xe4ytyy voida jatkossakin armahtaa rikoksesta tuomittuja.",mandatory:!0,order:42,dimension:"fact",theme:7,themeName:"Valtaoikeudet",brand:["is"]},{id:43,text:"Presidentti voi puuttua v\xe4lill\xe4 my\xf6s sis\xe4politiikkaan esimerkiksi her\xe4ttelem\xe4ll\xe4 arvojohtajana poliitikkoja.",mandatory:!0,order:43,dimension:"fact",theme:7,themeName:"Valtaoikeudet",brand:["is"]},{id:44,text:"Presidentin pit\xe4\xe4 p\xe4\xe4tt\xe4\xe4 uudenvuodenpuhe kristilliseen sanomaan.",mandatory:!0,order:44,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:45,text:"Ihmisoikeudet eiv\xe4t kuulu terroristeille.",mandatory:!0,order:45,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:46,text:"Liikenteen pys\xe4ytt\xe4minen on hyv\xe4ksytt\xe4v\xe4 teko ilmastonmuutoksen vastaisessa taistelussa.",mandatory:!0,order:46,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:47,text:"Eutanasia pit\xe4\xe4 laillistaa osaksi suomalaista terveydenhuoltoa.",mandatory:!0,order:47,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:48,text:"Katujengit ovat merkki siit\xe4, ett\xe4 Suomi on ep\xe4onnistunut maahanmuuttopolitiikassa.",mandatory:!0,order:48,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:49,text:"Turkistarhaus pit\xe4\xe4 kielt\xe4\xe4.",mandatory:!0,order:49,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:50,text:"Sy\xf6n kes\xe4ll\xe4 mieluummin grillimakkaran kuin soijanakin.",mandatory:!0,order:50,dimension:"fact",theme:8,themeName:"Arvot",brand:["is"]},{id:51,text:"Suomen pit\xe4\xe4 arvostella kovemmin Israelin toim
9ia Gazassa.",mandatory:!0,order:51,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Israel hy\xf6kk\xe4si Gazaan sen j\xe4lkeen kun Hamas teki laajan terrori-iskujen sarjan Israeliin. Israelin vastahy\xf6kk\xe4ys on ajanut Gazan siviilit ahdinkoon ja tappanut my\xf6s paljon lapsia. Etel\xe4-Afrikka syytt\xe4\xe4 Israelia kansanmurhasta. Se on vienyt asian YK:n alaiseen Kansainv\xe4liseen tuomioistuimeen. Suomen ulkopoliittinen johto on vaatinut Israelia noudattamaan kansainv\xe4list\xe4 oikeutta.",relatedArticles:[]}},{id:52,text:"Eutanasia pit\xe4\xe4 sallia.",mandatory:!0,order:52,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Eutanasia eli armokuolema tarkoittaa potilaan surmaamista t\xe4m\xe4n omasta vapaaehtoisesta ja oikeustoimikelpoisesta pyynn\xf6st\xe4. Eutanasia on sallittu joissakin maissa. Suomessa sen sallimiseksi on tehty kansalaisaloitteita.",relatedArticles:[]}},{id:53,text:"Yhdysvallat pysyy yhten\xe4 Suomen t\xe4rkeimmist\xe4 liittolaisista, vaikka sen demokratia rapautuisi.",mandatory:!0,order:53,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Natoon liittymisen ja viime vuonna solmitun DCA-puolustusyhteisty\xf6sopimuksen j\xe4lkeen Yhdysvalloista on tullut entist\xe4 t\xe4rke\xe4mpi liittolainen Suomelle. Esimerkiksi Freedom Housen mukaan Yhdysvaltain demokratia on viime vuosina heikentynyt.",relatedArticles:[]}},{id:54,text:"Suomen on v\xe4hennett\xe4v\xe4 pysyv\xe4sti rajanylityspaikkoja it\xe4rajalla.",mandatory:!0,order:54,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Suomi on sulkenut m\xe4\xe4r\xe4ajaksi it\xe4rajan rajanylityspaikat, koska niiden kautta tuli viime vuoden lopussa yli tuhat turvapaikanhakijaa. Viranomaisten mukaan on selv\xe4\xe4, ett\xe4 maahantulo on tapahtunut Ven\xe4j\xe4n viranomaisten tai muiden toimijoiden avulla. Suomen entinen Moskovan-suurl\xe4hettil\xe4s Hannu Himanen on pohtinut, tarvitseeko it\xe4rajalla  olla nykyist\xe4 m\xe4\xe4r\xe4\xe4 rajanylityspaikkoja.",relatedArticles:[]}},{id:55,text:"Hyvinvointiyhteiskunnan palveluja on tulevina vuosina karsittava, koska niihin ei ole en\xe4\xe4 varaa.",mandatory:!0,order:55,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Suomessa julkisen talouden menot ovat ylitt\xe4neet tulot jo pitk\xe4\xe4n. Suomen Pankki ja valtiovarainministeri\xf6 ennustavat Suomen julkisen talouden velan kasvavan vuonna 2026 yli 80 prosenttiin suhteessa bruttokansantuotteeseen.",relatedArticles:[]}},{id:56,text:"Jos olisin presidentti, k\xe4ytt\xe4isin teko\xe4ly\xe4 uudenvuoden puheen kirjoittamisen apuna.",mandatory:!0,order:56,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Teko\xe4lyll\xe4 tarkoitetaan koneen kyky\xe4 k\xe4ytt\xe4\xe4 perinteisesti ihmisen \xe4lyyn liitettyj\xe4 taitoja. Viime kuukausina monilla aloilla on lis\xe4\xe4ntynyt esimerkiksi laajan kielimallin Chat GPT:n k\xe4ytt\xf6.  Se pystyy ymm\xe4rt\xe4m\xe4\xe4n ja tuottamaan teksti\xe4, jota on vaikeaa erottaa ihmisen kirjoittamasta.",relatedArticles:[]}},{id:57,text:"Suomen on etsitt\xe4v\xe4 aktiivisesti kumppaneita my\xf6s ep\xe4demokraattisista maista.",mandatory:!0,order:57,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"Alle puolet maailman maista on demokraattisia ja maailman v\xe4est\xf6st\xe4 v\xe4hemmist\xf6 el\xe4\xe4 demokraattisissa maissa. Esimerkiksi v\xe4istyv\xe4 presidentti Sauli Niinist\xf6 on arvioinut, ett\xe4 tulevaisuudessa korostuu entist\xe4 enemm\xe4n tarve ymm\xe4rt\xe4\xe4 maita, jotka ajattelevat asioista eri tavoin kuin l\xe4nsimaat.",relatedArticles:[]}},{id:58,text:"Presidentti pit\xe4\xe4 lailla velvoittaa antamaan eduskunnalle tietoa Nato-asioista.",mandatory:!0,order:58,dimension:"fact",theme:9,themeName:"Toinen kierros",brand:["hs"],backgroundInformation:{text:"T\xe4ll\xe4 hetkell\xe4 t\xe4llaista velvollisuutta presidentill\xe4 ei ole. Natoon liittyminen muutti valtatasapainoa eduskunnan, hallituksen ja presidentin kanslian v\xe4lill\xe4 ulko- ja turvallisuuspolitiikassa. Perustuslakiasiantuntijoiden mukaan presidentin rooli on korostunut. Presidentti esimerkiksi edustaa Suomea Naton huippukokouksissa.",relatedArticles:[]}}],metadata:{id:"presidentti2024",electionName:"Presidentinvaalit",electionDate:"2024-01-28T00:00:00.000Z",emailAddress:"[email protected]",resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2024/hs",is:"https://tulos.vaalikone.fi/presidentti2024/is",al:"https://tulos.vaalikone.fi/presidentti2024/al",sk:"https://tulos.vaalikone.fi/presidentti2024/sk"},universityStudyHref:"https://polscihelsinki.eu.qualtrics.com/jfe/form/SV_bmkadd4EnWZQ0Um",answerOptions:[{label:"T\xe4ysin eri mielt\xe4",value:1},{label:"Jokseenkin eri mielt\xe4",value:2},{label:"Ei samaa eik\xe4 eri mielt\xe4",value:3},{label:"Jokseenkin samaa mielt\xe4",value:4},{label:"T\xe4ysin samaa mielt\xe4",value:5}],ORKConfig:{url:"link"},brandMetadata:{hs:{algorithmType:"manhattan",valueMaps:[[1,5]],valueMeters:[3,4,2,6],hasValues:!0},is:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},al:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1},sk:{algorithmType:"manhattan",valueMaps:[],valueMeters:[],hasValues:!1}},notificationDate:{time:"12.00",date:"14.11.2023"},modificationDeadline:{time:"12.00",date:"20.11.2023"},finalDeadline:{time:"12.00",date:"26.1.2024"},year:2024,electionType:"presidential",themeSelection:!0,electionLogo:{is:{title:"Presidentinvaalit 2024",light:{src:"logo-is-small.svg",alt:"Ilta-Sanomat logo"},dark:{src:"logo-is-small-dark.svg",alt:"Ilta-Sanomat logo"}},hs:{title:"Presidentinvaalit 2024",light:{src:"logo-hs-small.svg",alt:"Helsingin Sanomat logo"},dark:{src:"logo-hs-small-dark.svg",alt:"Helsingin Sanomat logo"}},al:{title:"Presidentinvaalit 2024",light:{src:"logo-al-small.svg",alt:"Aamulehti logo"},dark:{src:"logo-al-small-dark.svg",alt:"Aamulehti logo"}},sk:{title:"Presidentinvaalit 2024",light:{src:"logo-sk-small.svg",alt:"Satakunnan Kansa logo"},dark:{src:"logo-sk-small-dark.svg",alt:"Satakunnan Kansa logo"}}},relatedArticles:[{title:"N\xe4in HS:n vaalikone tehtiin",url:"https://www.hs.fi/politiikka/art-2000009991286.html",brand:"hs",date:"16.11.2023",image:{alt:"N\xe4in HS:n vaalikone tehtiin",src:"https://hs.mediadelivery.fi/img/658/f0c48cbf96d2d3b066875e2db39d0bb5.jpg.webp"}},{title:"HS julkaisee vaalikoneen algoritmin",url:"https://www.hs.fi/politiikka/art-2000009993697.html",brand:"hs",date:"16.11.2023",image:{alt:"HS julkaisee vaalikoneen algoritmin",src:"https://hs.mediadelivery.fi/img/658/272a8c64c6abd7683847a49e0b0593c2.jpg.webp"}}],nominationAreas:{M:"Koko maa"},municipalities:tZ,popularMunicipalities:{hs:["Helsinki","Tampere","Turku"],is:["Helsinki","Tampere","Turku"],al:["Nokia","Tampere","Yl\xf6j\xe4rvi"],sk:["Kankaanp\xe4\xe4","Pori","Rauma"]}},texts:[{key:"results-what-is-value-map",text:"T\xe4h\xe4n tietoa siit\xe4 mik\xe4 on arvokartta"},{key:"results-how-calculated",text:"T\xe4h\xe4n tietoa siit\xe4 miten tulokset tallennetaan"},{key:"results-saving-policy",text:"T\xe4h\xe4n tietoa tulosten tallentamisesta"},{key:"candidate-answer-order",text:"Vastaat vaalikoneeseen kysymysteemoittain seuraavassa j\xe4rjestyksess\xe4: ensimm\xe4iseksi Helsingin Sanomien + aluemedioiden kysymykset, sitten Ilta-Sanomien vaalikonekysymykset. Kysymyksen yhteydess\xe4 kerrotaan, mink\xe4 medioiden vaalikoneessa se n\xe4kyy."},{key:"candidate-questions",text:"Alla n\xe4et vaalikoneen kysymykset teemoittain samassa j\xe4rjestyksess\xe4 kuin ne esiintyv\xe4t vaalikoneessa. Kysymysten vastausvaihtoehdot ovat t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4, t\xe4ysin samaa mielt\xe4.\n\nVaalikoneessa kysyt\xe4\xe4n my\xf6s seuraavat ehdokkaan ehdokastiedot: \n\n- etu- ja sukunimi\n - ik\xe4, koulutus, kielitaito ja ammatti \n - ehdokkaan puolue tai valitsijayhdistys \n - ehdokkaan kotikunta \n - kuvaus ehdokkaan perheest\xe4\n - ominaisuudet jotka tekev\xe4t ehdokkaasta hyv\xe4n presidentin\n - ehdokkaan kolme t\xe4rkeint\xe4 arvoa\n - merkitt\xe4v\xe4 aiempi ty\xf6kokemus presidentin teht\xe4v\xe4n kannalta\n - ehdokaskuva\n - ehdokkaan vaalilupaukset n\xe4iss\xe4 vaaleissa\n - sosiaalisen median linkit"},{key:"election-select-parties",text:""},{key:"election-faq",text:"# Tietoja Sanoman vaalikoneesta\n\nSanoman vaalikone on Helsingin Sanomien, Ilta-Sanomien, Aamulehden ja Satakunnan Kansan yhteinen hanke. Sen sis\xe4lt\xf6 on hieman erilainen kunkin median ver
9siossa. Toimintaperiaate on kuitenkin sama.\n\n## Miten vaalikone toimii?\n\nSanoman vaalikoneessa esitet\xe4\xe4n sarja kysymyksi\xe4, joihin vaaleissa ehdolla olevat ehdokkaat ovat vastanneet etuk\xe4teen. Kun vastaat kysymyksiin, vastauksiasi verrataan ehdokkaiden antamiin vastauksiin. Vastaustesi perusteella sinulle suositellaan ehdokkaita, jotka ovat mahdollisimman l\xe4hell\xe4 sinua vastauksiltaan.\nKysymyksiin voi vastata valitsemalla viidest\xe4 eri vastausvaihtoehdosta: t\xe4ysin eri mielt\xe4, jokseenkin eri mielt\xe4, ei samaa eik\xe4 eri mielt\xe4, jokseenkin samaa mielt\xe4 sek\xe4 t\xe4ysin samaa mielt\xe4. Lis\xe4ksi voit ohittaa kysymyksen vastaamatta. Mik\xe4li ohitat kysymyksi\xe4, vaalikoneen laskemien tulosten varmuus on heikompi, joten suosittelemme sinua vastaamaan mahdollisimman moneen kysymykseen.\n\n## Tallennetaanko vastauksiani?\n\nVaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas-, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa. K\xe4ytt\xf6kokemuksen parantamiseksi ja virhetilanteiden ennaltaehk\xe4isemiseksi vaalikoneeseen annetut vastaukset ja teemavalinnat tyhjentyv\xe4t kun v\xe4lilehti suljetaan. [Lis\xe4tietoja tietosuojasta l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.vaalikone.fi/presidentti2024/hs/tietosuoja).\n\n## Olen ehdokas ja tietoni puuttuvat tai ovat virheellisi\xe4. Miten toimin?\n\nJos tietosi puuttuvat kokonaan, tarkista ensin, oletko saanut s\xe4hk\xf6postiisi kutsun Sanoman vaalikoneeseen. Jos et, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected]). Jos tiedoissasi on virheit\xe4, kokeile ensin kirjautua sis\xe4\xe4n tunnuksillasi ja muuttaa niit\xe4. Jos t\xe4m\xe4 ei onnistu, ota yhteytt\xe4 tukeemme: [[email protected]](mailto:[email protected])."},{key:"election-privacy-policy",text:"# Tietosuojakuvaus\n\nSanoman vaalikoneen (Helsingin Sanomat, Ilta-Sanomat, Aamulehti ja Satakunnan Kansa) k\xe4ytt\xe4jien yksityisyys ja tiedon l\xe4pin\xe4kyvyys on meille t\xe4rke\xe4\xe4. Siksi vaalikoneeseen sy\xf6tettyj\xe4 vastauksia, tuloksia, ehdokas–, tai puoluesuosituksia ei tallenneta, emmek\xe4 seuraa k\xe4ytt\xe4j\xe4tasolla sis\xe4lt\xf6j\xe4, joita k\xe4ytt\xe4j\xe4t katsovat tulossivuilla tai ehdokaslistassa.\n\nSanoma k\xe4ytt\xe4\xe4 Google Analytics -ty\xf6kalua tuotekehitystarkoituksiin sek\xe4 vaalikoneen toimivuuden mittaamiseksi ja varmistamiseksi, jos olet antanut suostumuksen kyseisten ev\xe4steiden tallentamiselle. K\xe4ytt\xe4j\xe4lle generoidaan joka vierailulla erillinen satunnainen tunniste, eli tarkastelemme vaalikoneen k\xe4ytt\xf6\xe4 vain vierailu kerrallaan, emmek\xe4 voi yhdist\xe4\xe4 saman k\xe4ytt\xe4j\xe4n eri vierailuja. Analytiikkaan ker\xe4tt\xe4v\xe4st\xe4 datasta on poistettu yksitt\xe4isiin sivuihin liittyv\xe4t tiedot, esimerkiksi yksitt\xe4isten puolueiden tai ehdokkaiden tiedot. Vaalikoneen k\xe4ytt\xf6\xf6n liittyvi\xe4 tietoja ei yhdistet\xe4 laajempaan Sanoman palvelujen k\xe4ytt\xf6dataan.\n\nTuotekehitys perustuu Sanoman oikeutettuun etuun. Vaalikoneen analytiikan avulla ker\xe4ttyjen tietojen k\xe4sittelyyn vaikuttaa ensisijaisesti tekem\xe4si ev\xe4stevalinnat vaalikoneessa sek\xe4 muissa Sanoman palveluissa. Voit muokata ev\xe4steasetuksiasi sek\xe4 samalla vastustaa oikeutettuun etuun perustuvaa henkil\xf6tietojen k\xe4sittely\xe4 alatunnisteesta “Ev\xe4steasetukset”-linkist\xe4. [Lis\xe4tietoja Sanoman tietosuojak\xe4yt\xe4nn\xf6ist\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tietosuojalauseke/).\n\n[Tuotekohtaiset tietosuojakuvaukset l\xf6yd\xe4t t\xe4\xe4lt\xe4](https://www.sanoma.fi/mita-teemme/tietosuoja/tuotekohtaiset-tarkennukset/)."},{key:"election-intro-front-page",text:'Presidentinvaalien toinen kierros on sunnuntaina 11.2.2024. Vastaa vaalikoneen kysymyksiin ja l\xf6yd\xe4 itsellesi ehdokas. Voit my\xf6s vertailla ehdokkaiden n\xe4kemyksi\xe4 suoraan valitsemalla "Tutustu ehdokkaisiin".'},{key:"how-to-vote",text:"# N\xe4in \xe4\xe4nest\xe4t presidentinvaaleissa\n\nSuomessa tasavallan presidentti valitaan vaaleissa, joissa on yksi tai kaksi vaalip\xe4iv\xe4\xe4.  \nEnsimm\xe4inen on sunnuntai 28. tammikuuta 2024. Jos kukaan ehdokkaista ei saa yli puolia \xe4\xe4nist\xe4, j\xe4rjestet\xe4\xe4n toinen \xe4\xe4nestys, jossa vastakkain ovat ne kaksi ehdokasta, jotka saivat ensimm\xe4isell\xe4 kierroksella eniten \xe4\xe4ni\xe4. Jos toinen vaalip\xe4iv\xe4 tarvitaan, se on sunnuntai 11. helmikuuta 2024.\n\nVaaleissa on kaksi p\xe4\xe4asiallista tapaa \xe4\xe4nest\xe4\xe4: ennakkoon tai vaalip\xe4iv\xe4n\xe4.\n\nEnnakko\xe4\xe4nestys on k\xe4ynniss\xe4 17.–23.1.2024. Jos vaaleissa tulee toinen \xe4\xe4nestys, sen ennakko\xe4\xe4nestys tapahtuu 31.1.–6.2.2024.\n\nEnnakkoon voi \xe4\xe4nest\xe4\xe4 miss\xe4 tahansa \xe4\xe4nestyspaikassa. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan.\n\nJos \xe4\xe4nest\xe4t vaalip\xe4iv\xe4n\xe4, sinun pit\xe4\xe4 menn\xe4 oman alueesi \xe4\xe4nestyspaikkaan. Se on kerrottu ilmoituskortissa, joka on postitettu kotiin. V
9aalip\xe4iv\xe4n\xe4 \xe4\xe4nestyspaikat ovat auki klo 9-20. Kun \xe4\xe4nest\xe4t, sinun pit\xe4\xe4 todistaa henkil\xf6llisyytesi. Mukaan tarvitset poliisin my\xf6nt\xe4m\xe4n henkil\xf6kortin, passin, ajokortin tai vastaavan kuvallisen asiakirjan. Postissa tullutta \xe4\xe4nioikeusilmoitusta ei tarvita \xe4\xe4nestyspaikalla, mutta sen voi halutessaan ottaa mukaan.\n\nLis\xe4tietoa \xe4\xe4nest\xe4misest\xe4 l\xf6yd\xe4t t\xe4\xe4lt\xe4:  [https://vaalit.fi/nain-aanestat-presidentinvaalissa](https://vaalit.fi/nain-aanestat-presidentinvaalissa)"},{key:"presidential-graph-explainer",text:"T\xe4ss\xe4 n\xe4et, millaisen \xe4\xe4niosuuden kukin ehdokas on saanut."},{key:"time-series-text",text:"Grafiikka n\xe4ytt\xe4\xe4 \xe4\xe4niosuuden muutokset laskennan aikana. Siit\xe4 voi p\xe4\xe4tell\xe4, ovatko ehdokkaat l\xe4hestym\xe4ss\xe4 toisiaan vai kasvavatko erot. Painamalla ehdokkaan nime\xe4 saat ehdokkaan esiin tai piiloon."},{key:"result-navigation-text",text:"Miten ehdokkaasi p\xe4rj\xe4si? Kuka voitti alueellasi? T\xe4st\xe4 voit hakea tuloksia ehdokkaan, vaalipiirin, kunnan tai \xe4\xe4nestysalueen nimell\xe4."}],public:{candidate:!0,election:!0,result:!0},listOfEmbeds:[{embedName:"Ehdokkaiden vastaukset vaalikoneeseen (karuselli)",embedId:"paginated-answer-browser",embedPath:"/results/embeds/paginated-answer-browser",selections:{candidates:{type:"query",inUse:!0,allowMultiple:!0,showAll:!0,parameterName:"id"},questions:{inUse:!0,allowMultiple:!0,parameterName:"question"},title:{inUse:!0,parameterName:"title"}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Ehdokaskortti",embedId:"candidate-card",embedPath:"/candidates/card",selections:{candidates:{type:"path",inUse:!0,allowMultiple:!1,showAll:!0}},serviceSide:"electionMachine",availableForBrands:["hs","is","al","sk"]},{embedName:"Etusivun tulos",embedId:"frontPageEmbed",embedPath:"/element/frontPageEmbed",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Vaalien tulos",embedId:"presidentialCandidateGraph",embedPath:"/element/presidentialCandidateGraph",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{title:{inUse:!1,parameterName:"title"},area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K","A"]}}},{embedName:"Presidenttiehdokkaiden arvokartta",embedId:"valueBrowserPresidentialCandidates",embedPath:"/element/valueBrowserPresidentialCandidates",embedDescription:"Kaikki presidenttiehdokkaat arvokartalla",serviceSide:"resultService",availableForBrands:["hs"],selections:{title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaan \xe4\xe4net alueittain",embedId:"voteList-candidate",embedPath:"/element/voteList",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!1,showAll:!1},area:{inUse:!0,parameterName:"areaType",acceptedLevels:["A","K"],onlyAreaLevel:!0},title:{inUse:!0,parameterName:"title"}},additionalQueryParameters:[{key:"type",value:"candidate"}]},{embedName:"Ehdokkaat alueittain kartalla",embedId:"popularCandidateByRegionMap",embedPath:"/element/popularCandidateByRegionMap",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{area:{inUse:!0,parameterName:"id",acceptedLevels:["M","V","K"]},title:{inUse:!0,parameterName:"title"}}},{embedName:"Ehdokkaiden \xe4\xe4niosuudet laskennan aikana",embedId:"candidateTimeSeriesShare",embedPath:"/element/timeSeries",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!0,showAll:!0},title:{inUse:!0,parameterName:"title"},customBoolean:{inUse:!0,selections:[{parameterName:"hideLeadParagraph",label:"Piilota ingressi"},{parameterName:"hideLinkToResultService",label:"Piilota linkki tulospalveluun"}]}},additionalQueryParameters:[{key:"mode",value:"share"}]},{embedName:"Ehdokkaiden \xe4\xe4nim\xe4\xe4r\xe4t laskennan aikana",embedId:"candidateTimeSeriesVotes",embedPath:"/element/timeSeries",serviceSide:"resultService",availableForBrands:["hs","is","al","sk"],selections:{candidates:{type:"query",inUse:!0,parameterName:"id",allowMultiple:!0,showAll:!0},title:{inUse:!0,parameterName:"title"},customBoolean:{inUse:!0,selections:[{parameterName:"hideLeadParagraph",label:"Piilota ingressi"},{parameterName:"hideLinkToResultService",label:"Piilota linkki tulospalveluun"}]}},additionalQueryParameters:[{key:"mode",value:"votes"}]}],resultService:{}},ak={resultServiceOnly:!0,resultService:{electionRound:"first"},public:{candidate:!0,election:!0,result:!0},texts:[{key:"result-wait-text",text:"Odotetaan \xe4\xe4ntenlaskennan tuloksia. T\xe4m\xe4 sivu n\xe4
9ytt\xe4\xe4 vaalien tulostietoja 28.1.2024 klo 20 j\xe4lkeen."}],metadata:{resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2024A/hs",is:"https://tulos.vaalikone.fi/presidentti2024A/is",al:"https://tulos.vaalikone.fi/presidentti2024A/al",sk:"https://tulos.vaalikone.fi/presidentti2024A/sk"}}},ay={resultServiceOnly:!0,resultService:{electionRound:"second"},public:{candidate:!0,election:!0,result:!0},texts:[{key:"result-wait-text",text:"Odotetaan \xe4\xe4ntenlaskennan tuloksia. T\xe4m\xe4 sivu n\xe4ytt\xe4\xe4 vaalien tulostietoja 11.2.2024 klo 20 j\xe4lkeen."}],metadata:{resultServiceUrl:{hs:"https://tulos.vaalikone.fi/presidentti2024B/hs",is:"https://tulos.vaalikone.fi/presidentti2024B/is",al:"https://tulos.vaalikone.fi/presidentti2024B/al",sk:"https://tulos.vaalikone.fi/presidentti2024B/sk"}}};a(29143);let af="prod",ag="dev"===af||"local"===af?tt(ae,at):ae,ab="dev"===af||"local"===af?tt(aa,{useDarkMode:!0,metadata:{notificationDate:{time:"12.00",date:"01.12.2026"},modificationDeadline:{time:"23.59",date:"15.12.2026"},finalDeadline:{time:"12.00",date:"30.12.2026"}}}):aa,aj="dev"===af||"local"===af?tt(t7,{legacy:!0,metadata:{notificationDate:{time:"12.00",date:"01.12.2019"},modificationDeadline:{time:"23.59",date:"15.12.2019"},finalDeadline:{time:"12.00",date:"30.12.2019"}}}):t7,ax="dev"===af||"local"===af?tt(t9,{legacy:!0,metadata:{notificationDate:{time:"12.00",date:"01.12.2015"},modificationDeadline:{time:"23.59",date:"15.12.2015"},finalDeadline:{time:"12.00",date:"30.12.2015"}}}):t9,aw="dev"===af||"local"===af?tt(t8,{legacy:!0,metadata:{notificationDate:{time:"12.00",date:"01.12.2011"},modificationDeadline:{time:"23.59",date:"15.12.2011"},finalDeadline:{time:"12.00",date:"30.12.2011"}}}):t8,aS="dev"===af||"local"===af?tt(tJ(am),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2018"},modificationDeadline:{time:"23.59",date:"15.12.2018"},finalDeadline:{time:"12.00",date:"30.12.2018"}}}):am,aN="dev"===af||"local"===af?tt(tJ(ah),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2018"},modificationDeadline:{time:"23.59",date:"15.12.2018"},finalDeadline:{time:"12.00",date:"30.12.2018"}}}):ah,aA="dev"===af||"local"===af?tt(tJ(av),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2025"},modificationDeadline:{time:"23.59",date:"15.12.2025"},finalDeadline:{time:"12.00",date:"30.12.2025"}}}):av,aP="dev"===af||"local"===af?tt(tJ(ai),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2014"},modificationDeadline:{time:"23.59",date:"15.12.2014"},finalDeadline:{time:"12.00",date:"30.12.2014"}}}):ai,a_="dev"===af||"local"===af?tt(tJ(an),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2019"},modificationDeadline:{time:"23.59",date:"15.12.2019"},finalDeadline:{time:"12.00",date:"30.12.2019"}}}):an,aC="dev"===af||"local"===af?tt(tJ(as),{public:{candidate:!1,election:!1,result:!1},metadata:{notificationDate:{time:"12.00",date:"01.12.2025"},modificationDeadline:{time:"23.59",date:"31.12.2026"},finalDeadline:{time:"23.59",date:"31.12.2026"}}}):as,aM="dev"===af||"local"===af?tt(tJ(t6),{metadata:{notificationDate:{time:"12.00",date:"01.12.2025"},modificationDeadline:{time:"23.59",date:"15.12.2025"},finalDeadline:{time:"12.00",date:"30.12.2025"}}}):t6,aL="dev"===af||"local"===af?tt(tJ(t4),{metadata:{notificationDate:{time:"12.00",date:"01.12.2022"},modificationDeadline:{time:"23.59",date:"15.12.2022"},finalDeadline:{time:"12.00",date:"30.12.2022"}}}):t4,aE="dev"===af||"local"===af?tt(tJ(au),{metadata:{notificationDate:{time:"12.00",date:"01.12.2025"},modificationDeadline:{time:"23.59",date:"15.12.2025"},finalDeadline:{time:"12.00",date:"30.12.2025"}}}):au,aI="dev"===af||"local"===af?tt(tJ(al),{metadata:{notificationDate:{time:"12.00",date:"01.12.2021"},modificationDeadline:{time:"23.59",date:"15.12.2021"},finalDeadline:{time:"12.00",date:"30.12.2021"}}}):al,aT="dev"===af||"local"===af?tt(tJ(ar),{metadata:{notificationDate:{time:"12.00",date:"01.12.2017"},modificationDeadline:{time:"23.59",date:"15.12.2017"},finalDeadline:{time:"12.00",date:"30.12.2017"}}}):ar,aV="dev"===af||"local"===af?tt(tJ(ao),{metadata:{notificationDate:{time:"12.00",date:"01.12.2012"},modificationDeadline:{time:"23.59",date:"15.12.2012"},finalDeadline:{time:"12.00",date:"30.12.2012"}}}):ao,aO=c.object({electionIds:c.array().items(c.string()).required(),combinedElectionIds:c.array().items(c.string()).required(),brands:c.array().items(c.string()).required(),defaultElection:c.string().required(),defaultCandidateElection:c.string().required(),defaultResultElection:c.string().required(),electionMachineFrontendUrl:c.string().required(),electionMachineApiUrl:c.string().required(),resultServiceFrontendUrl:c.string().required(),candidateMachineFrontendUrl:c.string().required(),candidateMachineApiUrl:c.string().required(),adminFrontendUrl:c.string().required(),adminApiUrl:c.string().required(),imageApiUrl:c.string().required(),staticAreaFilesApiUrl:c.string().required(),environment:c.string().required()}),aK=["eduskunta2011","eduskunta2015","eduskunta2019","eduskunta2023","eduskunta2027","presidentti2018","presidentti2018A","presidentti2024","presidentti2024A","presidentti2024B","euro2014","euro2019","euro2024","alue2022","alue2025","kunta2012","kunta2017","kunta2021","kunta2025"],aU=["kunta-alue2025"],aR="kunta2025",aD="kunta2025",aB="vaalit",a
9H=["hs","is","al","sk"],aF=aO.validate({electionIds:aK,combinedElectionIds:aU,brands:aH,defaultElection:aR,defaultCandidateElection:aD,defaultResultElection:aB,electionMachineFrontendUrl:"https://www.vaalikone.fi",electionMachineApiUrl:"https://vaalikone-api.datadesk.hs.fi",candidateMachineFrontendUrl:"https://ehdokas.vaalikone.fi",candidateMachineApiUrl:"https://ehdokas-api.datadesk.hs.fi",resultServiceFrontendUrl:"https://tulos.vaalikone.fi",adminApiUrl:"https://vaalikone-admin-api.datadesk.hs.fi",adminFrontendUrl:"https://vaalikone-admin.datadesk.hs.fi",imageApiUrl:"https://ehdokas-api.datadesk.hs.fi",staticAreaFilesApiUrl:"https://ehdokas-api.datadesk.hs.fi",environment:"prod"});aF.error&&console.error("Failed to validate application config with error",aF.error);let az=aF.value,a$=az.electionIds;az.brands;let aq=az.defaultElection;az.defaultCandidateElection,az.defaultResultElection;let aG=e=>"string"==typeof e&&a$.includes(e),aW=e=>{switch(e){case"eduskunta2011":return aw;case"eduskunta2015":return ax;case"eduskunta2019":return aj;case"eduskunta2023":return ag;case"eduskunta2027":return ab;case"presidentti2012":return aS;case"presidentti2012A":return tt(tJ(aS),ad);case"presidentti2012B":return tt(tJ(aS),ac);case"presidentti2018":return aN;case"presidentti2018A":return tt(tJ(aN),ap);case"presidentti2024":return aA;case"presidentti2024A":return tt(tJ(aA),ak);case"presidentti2024B":return tt(tJ(aA),ay);case"euro2014":return aP;case"euro2019":return a_;case"euro2024":return aC;case"alue2022":return aL;case"alue2025":return aM;case"kunta2012":return aV;case"kunta2017":return aT;case"kunta2021":return aI;case"kunta2025":return aE;default:return tQ(e),ag}},aY="dev"===af||"local"===af?tt(tX,{}):tX,aJ=e=>{if("kunta-alue2025"===e)return aY;throw tQ(e),Error()};a$.filter(e=>!aW(e).legacy).filter(e=>!aW(e).resultServiceOnly),az.combinedElectionIds,c.object({"Alueen tyyppi":c.string().allow(""),Kuntanumero:c.string().allow(""),Äänestysaluetunnus:c.string().allow(""),"Vaalipiiri-/hyvinvointialuenro":c.string().allow(""),"Ennakkoon \xe4\xe4nest\xe4neet":c.string().allow(""),"Kunnan/vaalipiirin/hv-alueen/\xe4\xe4nestysalueen nimi suomeksi":c.string().allow(""),Ennakkoäänestysprosentti:c.string().allow(""),"Vaalip\xe4iv\xe4n \xe4\xe4nestysprosentti":c.string().allow(""),"\xc4\xe4nestysprosentti yhteens\xe4 Suomessa asuvat":c.string().allow(""),"Viimeisin p\xe4ivitys":c.string().allow(""),"\xc4\xe4nist\xe4 laskettu prosenttia":c.string().allow(""),Laskentavaihe:c.string().allow(""),Aluetunnus:c.string().allow(""),"\xc4\xe4nest\xe4neet Suomessa asuvat yhteens\xe4":c.string().allow(""),"Viimeisin p\xe4ivitys paketti":c.string().allow(""),"\xc4\xe4nest\xe4neet yhteens\xe4":c.string().allow(""),"\xc4\xe4nestysprosentti yhteens\xe4":c.string().allow(""),"Hyv\xe4ksytyt \xe4\xe4net yht.":c.string().allow(""),"Mit\xe4tt\xf6m\xe4t \xe4\xe4net yht.":c.string().allow("")}),c.object({id:c.string(),"Alueen tyyppi":c.string().allow(""),Kuntanumero:c.string().allow(""),Äänestysaluetunnus:c.string().allow(""),"Vaalipiiri-/hyvinvointialuenro":c.string().allow(""),"Henkil\xf6n etunimi":c.string().allow(""),"Henkil\xf6n sukunimi":c.string().allow(""),Sukupuoli:c.string().allow(""),"Ik\xe4 vaalip\xe4iv\xe4n\xe4":c.string().allow(""),Ammatti:c.string().allow(""),"Kotikunnan koodi":c.string().allow(""),"Kotikunnan nimi suomeksi":c.string().allow(""),"Puolueen/ryhm\xe4n nimilyhenne suomeksi":c.string().allow(""),"\xc4\xe4net yhteens\xe4 lkm":c.string().allow(""),"Osuus ennakko\xe4\xe4nist\xe4 (%)":c.string().allow(""),"Osuus vaalip\xe4iv\xe4n \xe4\xe4nist\xe4 (%)":c.string().allow(""),"Osuus \xe4\xe4nist\xe4 yht. (%)":c.string().allow(""),Vertausluku:c.string().allow(""),Valintatieto:c.string().allow(""),Ehdokasnumero:c.string().allow(""),Sija:c.string().allow(""),"Lopullinen sija":c.string().allow(""),"Laskennan tila":c.string().allow(""),Laskentavaihe:c.string().allow(""),"Viimeisin p\xe4ivitys":c.string().allow(""),Aluetunnus:c.string().allow(""),"Pysyv\xe4 puoluetunniste":c.string().allow(""),Kansanedustaja:c.string().allow(""),"Kunnan/vaalipiirin/hv-alueen/ \xe4\xe4nestysalueen nimi suomeksi":c.string().allow("")}),c.object({id:c.string(),"Alueen tyyppi":c.string().allow(""),Kuntanumero:c.string().allow(""),Äänestysaluetunnus:c.string().allow(""),"Vaalipiiri-/hyvinvointialuenro":c.string().allow(""),"Pysyv\xe4 puoluetunniste":c.string().allow(""),"Kunnan/vaalipiirin/hv-alueen/ \xe4\xe4nestysalueen nimi suomeksi":c.string().allow(""),"Puolueen/ryhm\xe4n nimi suomeksi":c.string().allow(""),"Puolueen/ryhm\xe4n nimilyhenne suomeksi":c.string().allow(""),Paikat:c.string().allow(""),Vaaliliittonumero:c.string().allow(""),"Vaaliliiton nimi suomeksi":c.string().allow(""),"Ennakko\xe4\xe4net lkm":c.string().allow(""),"Vaalip\xe4iv\xe4n \xe4\xe4net lkm":c.string().allow(""),"\xc4\xe4net yhteens\xe4 lkm":c.string().allow(""),"Osuus ennakko\xe4\xe4nist\xe4 (%)":c.string().allow(""),"Osuus vaalip\xe4iv\xe4n \xe4\xe4nist\xe4 (%)":c.string().allow(""),"Osuus kaikista \xe4\xe4nist\xe4 (%)":c.string().allow(""),"Viimeisin p\xe4ivitys":c.string().allow(""),Laskentavaihe:c.string().allow(""),Aluetunnus:c.string().allow(""),"Osuus (%) kaikista \xe4\xe4nist\xe4 1. vertailuvaali":c.string().allow(""),"Paikat 1. vertailuvaali":c.string().allow(""),"\xc4\xe4niosuuden muutos 1. vertailuvaalista":c.string().allow("")}),[{header:"Alueen tyyppi",startingPosition:13,length:1,key:"areaType"},{header:"Kuntanumero",startingPosition:9,length:3,key:"municipalityNumber"},{header:"\xc4\xe4nestysaluetunnus",startingPosition:15,length:4,key:"votingAreaIdentifier"},{header:"Vaalipiiri-/hyvinvointialuenro",startingPosition:6,length:2,key:"county-district"},{header:"Henkil\xf6n etunimi",startingPosition:152,length:50,key:"firstName"},{header:"Henkil\xf6n sukunimi",startingPosition:203,length:50,key:"lastName"},{header:"Sukupuoli",startingPosition:254,length:1,key:"sex"},{header:"Ik\xe4 vaalip\xe4iv\xe4n\xe4",startingPosition:256,length:3,key:"age"},{header:"Ammatti",startingPosition:260,length:200,key:"profession"},{header:"Kotikunnan koodi",startingPosition:461,length:3,key:"homeMunicipalityIdentifier"},{header:"Kotikunnan nimi suomeksi",startingPosition:465,length:40,key:"homeMunicipalityName"},{header:"Puolueen/ryhm\xe4n nimilyhenne suomeksi",startingPosition:44,length:6,key:"partyNameShorthand"},{header:"\xc4\xe4net yhteens\xe4 lkm",startingPosition:593,length:7,key:"numberOfVotes"},{header:"Osuus ennakko\xe4\xe4nist\xe4 (%)",startingPosition:601,length:4,key:"shareOfPreliminaryVotes"},{header:"Osuus vaalip\xe4iv\xe4n \xe4\xe4nist\xe4 (%)",startingPosition:606,length:4,key:"shareOfElectionDayVotes"},{header:"Osuus \xe4\xe4nist\xe4 yht. (%)",startingPosition:611,length:4,key:"shareOfVotes"},{header:"Vertausluku",startingPosition:618,length:10,key:"comparativeNumber"},{header:"Valintatieto",startingPosition:616,length:1,key:"elected"},{header:"Ehdokasnumero",startingPosition:65,length:4,key:"candidateNumber"},{header:"Sija",startingPosition:629,length:4,key:"position"},{header:"Lopullinen sija",startingPosition:634,length:4,key:"finalPosition"},{header:"Laskennan tila",startingPosition:639,length:1,key:"countReady"},{header:"Laskentavaihe",startingPosition:641,length:1,key:"countState"},{header:"Viimeisin p\xe4ivitys",startingPosition:643,length:14,key:"latestUpdate"}].reduce((e,t)=>
9({...e,[t.key]:t.header}),{}),[{header:"Alueen tyyppi",startingPosition:13,length:1,key:"areaType"},{header:"Kuntanumero",startingPosition:9,length:3,key:"municipalityNumber"},{header:"\xc4\xe4nestysaluetunnus",startingPosition:15,length:4,key:"votingAreaIdentifier"},{header:"Vaalipiiri-/hyvinvointialuenro",startingPosition:6,length:2,key:"county-district"},{header:"Pysyv\xe4 puoluetunniste",startingPosition:28,length:6,key:"permanentPartyIdentifier"},{header:"Kunnan/vaalipiirin/hv-alueen/ \xe4\xe4nestysalueen nimi suomeksi",startingPosition:62,length:40,key:"municipality-district-county-area-Name"},{header:"Puolueen/ryhm\xe4n nimi suomeksi",startingPosition:144,length:100,key:"partyName"},{header:"Puolueen/ryhm\xe4n nimilyhenne suomeksi",startingPosition:41,length:6,key:"partyNameShorthand"},{header:"Paikat",startingPosition:687,length:5,key:"seats"},{header:"Vaaliliittonumero",startingPosition:457,length:2,key:"unionNumber"},{header:"Vaaliliiton nimi suomeksi",startingPosition:460,length:40,key:"unionName"},{header:"Ennakko\xe4\xe4net lkm",startingPosition:648,length:7,key:"preliminaryVotes"},{header:"Vaalip\xe4iv\xe4n \xe4\xe4net lkm",startingPosition:656,length:7,key:"electionDayVotes"},{header:"\xc4\xe4net yhteens\xe4 lkm",startingPosition:664,length:7,key:"numberOfVotes"},{header:"Osuus ennakko\xe4\xe4nist\xe4 (%)",startingPosition:672,length:4,key:"shareOfPreliminaryVotes"},{header:"Osuus vaalip\xe4iv\xe4n \xe4\xe4nist\xe4 (%)",startingPosition:677,length:4,key:"shareOfElectionDayVotes"},{header:"Osuus kaikista \xe4\xe4nist\xe4 (%)",startingPosition:682,length:4,key:"shareOfVotes"},{header:"Viimeisin p\xe4ivitys",startingPosition:734,length:14,key:"latestUpdate"},{header:"Laskentavaihe",startingPosition:732,length:1,key:"countState"},{header:"Osuus (%) kaikista \xe4\xe4nist\xe4 1. vertailuvaali",startingPosition:587,length:4,key:"share-of-votes-percentage-comparison-election"},{header:"Paikat 1. vertailuvaali",startingPosition:592,length:5,key:"seats-comparison-election"}].reduce((e,t)=>({...e,[t.key]:t.header}),{}),[{header:"Alueen tyyppi",startingPosition:13,length:1,key:"areaType"},{header:"Kuntanumero",startingPosition:9,length:3,key:"municipalityNumber"},{header:"\xc4\xe4nestysaluetunnus",startingPosition:15,length:4,key:"votingAreaIdentifier"},{header:"Vaalipiiri-/hyvinvointialuenro",startingPosition:6,length:2,key:"county-district"},{header:"Ennakkoon \xe4\xe4nest\xe4neet",startingPosition:286,length:7,key:"preliminaryVotes"},{header:"Kunnan/vaalipiirin/hv-alueen/\xe4\xe4nestysalueen nimi suomeksi",startingPosition:35,length:40,key:"municipality-district-county-area-Name"},{header:"Ennakko\xe4\xe4nestysprosentti",startingPosition:430,length:4,key:"preliminaryVotePercentage"},{header:"Vaalip\xe4iv\xe4n \xe4\xe4nestysprosentti",startingPosition:435,length:4,key:"electionDayVotePercentage"},{header:"\xc4\xe4nestysprosentti yhteens\xe4",startingPosition:440,length:4,key:"votePercentage"},{header:"Viimeisin p\xe4ivitys",startingPosition:540,length:14,key:"latestUpdate"},{header:"\xc4\xe4nist\xe4 laskettu prosenttia",startingPosition:533,length:4,key:"voteCountPercentage"},{header:"Laskentavaihe",startingPosition:538,length:1,key:"countState"}].reduce((e,t)=>({...e,[t.key]:t.header}),{});var aQ=a(40508);let aX=e=>{switch(e){case"county":return"hyvinvointialueen";case"municipal":return"kunnan";case"parliamentary":return"vaalipiirin";case"eu":case"presidential":return"koko maan"}};function aZ(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new Y;++t<a;)this.add(e[t])}aZ.prototype.add=aZ.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},aZ.prototype.has=function(e){return this.__data__.has(e)};let a0=function(e,t,a,i){for(var n=e.length,s=a+(i?1:-1);i?s--:++s<n;)if(t(e[s],s,e))return s;return -1},a1=function(e){return e!=e},a2=function(e,t,a){for(var i=a-1,n=e.length;++i<n;)if(e[i]===t)return i;return -1},a5=function(e,t){return!!(null==e?0:e.length)&&(t==t?a2(e,t,0):a0(e,a1,0))>-1},a3=function(e,t,a){for(var i=-1,n=null==e?0:e.length;++i<n;)if(a(t,e[i]))return!0;return!1},a4=function(e,t){return e.has(t)},a6=function(e){var t=-1,a=Array(e.size);return e.forEach(function(e){a[++t]=e}),a};var a8=tg&&1/a6(new tg([,-0]))[1]==1/0?function(e){return new tg(e)}:function(){};let a9=function(e,t,a){var i=-1,n=a5,s=e.length,o=!0,r=[],l=r;if(a)o=!1,n=a3;else if(s>=200){var u=t?null:a8(e);if(u)return a6(u);o=!1,n=a4,l=new aZ}else l=t?[]:r;e:for(;++i<s;){var m=e[i],d=t?t(m):m;if(m=a||0!==m?m:0,o&&d==d){for(var c=l.length;c--;)if(l[c]===d)continue e;t&&l.push(d),r.push(m)}else n(l,d,a)||(l!==r&&l.push(d),r.push(m))}return r},a7=function(e){return e&&e.length?a9(e):[]},ie=e=>["presidential","eu"].includes(e),it=function(e,t){for(var a=-1,i=null==e?0:e.length,n=Array(i);++a<i;)n[a]=t(e[a],a,e);return n},ia=function(e){return"symbol"==typeof e||ey(e)&&"[object Symbol]"==_(e)};var ii=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,is=/^\w*$/;let io=function(e,t){if(ew(e))return!1;var a=typeof e;return!!("number"==a||"symbol"==a||"boolean"==a||null==e||ia(e))||is.test(e)||!ii.test(e)||null!=t&&e in Object(t)};function ir(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var a=function(){var i=arguments,n=t?t.apply(this,i):i[0],s=a.cache;if(s.has(n))return s.get(n);var o=e.apply(this,i);return a.cache=s.set(n,o)||s,o};return a.cache=new(ir.Cache||Y),a}
9ir.Cache=Y;var il=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,iu=/\\(\\)?/g,im=(m=(u=ir(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(il,function(e,a,i,n){t.push(i?n.replace(iu,"$1"):a||e)}),t},function(e){return 500===m.size&&m.clear(),e})).cache,u),id=1/0,ic=b?b.prototype:void 0,ih=ic?ic.toString:void 0;let ip=function e(t){if("string"==typeof t)return t;if(ew(t))return it(t,e)+"";if(ia(t))return ih?ih.call(t):"";var a=t+"";return"0"==a&&1/t==-id?"-0":a},iv=function(e,t){return ew(e)?e:io(e,t)?[e]:im(null==e?"":ip(e))},ik=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};var iy=1/0;let ig=function(e){if("string"==typeof e||ia(e))return e;var t=e+"";return"0"==t&&1/e==-iy?"-0":t},ib=function(e,t){t=iv(t,e);for(var a=0,i=t.length;null!=e&&a<i;)e=e[ig(t[a++])];return a&&a==i?e:void 0},ij=function(e,t,a){var i=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(a=a>n?n:a)<0&&(a+=n),n=t>a?0:a-t>>>0,t>>>=0;for(var s=Array(n);++i<n;)s[i]=e[i+t];return s};var ix=Object.prototype.hasOwnProperty;let iw=function(e,t){t=iv(t,e);var a,i=-1,n=t.length;if(!n)return!0;for(;++i<n;){var s=ig(t[i]);if("__proto__"===s&&!ix.call(e,"__proto__")||("constructor"===s||"prototype"===s)&&i<n-1)return!1}var o=(a=t).length<2?e:ib(e,ij(a,0,-1));return null==o||delete o[ig(ik(t))]},iS=function(e){return eT(e)?void 0:e};var iN=b?b.isConcatSpreadable:void 0;let iA=function(e){return ew(e)||ex(e)||!!(iN&&e&&e[iN])},iP=function e(t,a,i,n,s){var o=-1,r=t.length;for(i||(i=iA),s||(s=[]);++o<r;){var l=t[o];a>0&&i(l)?a>1?e(l,a-1,i,n,s):tc(s,l):n||(s[s.length]=l)}return s};var i_=e7(e8(d=function(e,t){var a={};if(null==e)return a;var i=!1;t=it(t,function(t){return t=iv(t,e),i||(i=t.length>1),t}),eq(e,tk(e),a),i&&(a=tY(a,7,iS));for(var n=t.length;n--;)iw(a,t[n]);return a},void 0,function(e){return(null==e?0:e.length)?iP(e,1):[]}),d+"");let iC=e=>{var t;let a=aW(e),{educationLevels:i,electionMachineQuestions:n,genderOptions:s,metadata:{municipalities:o,electionType:r},themes:l}=a,u=o.map(e=>e.id),m=o.map(e=>e.name),d=i.map(e=>e.id),c=l.map(e=>e.id),h=null!=(t=null==s?void 0:s.map(e=>e.id))?t:[],p=n.length;return{...a,municipalityIds:u,municipalityNames:m,educationLevelIds:d,themeIds:c,numberOfQuestions:p,electionType:r,municipalities:o,genderIds:h}},iM=c.string().max(1e3).required().messages({"any.required":"S\xe4hk\xf6posti on pakollinen. Sy\xf6t\xe4 s\xe4hk\xf6postiosoitteesi kentt\xe4\xe4n.","string.empty":"S\xe4hk\xf6posti on pakollinen. Sy\xf6t\xe4 s\xe4hk\xf6postiosoitteesi kentt\xe4\xe4n."}),iL=c.string().regex(/[a-zäåö]{1,}/).regex(/[0-9]{1,}/).min(12).max(256).required().messages({"any.required":"Sinun t\xe4ytyy valita uusi salasana. Sy\xf6t\xe4 salasana kentt\xe4\xe4n.","string.empty":"Sinun t\xe4ytyy valita uusi salasana. Sy\xf6t\xe4 salasana kentt\xe4\xe4n.","string.pattern.base":"Uuden salasanan t\xe4ytyy sis\xe4lt\xe4\xe4 v\xe4hint\xe4\xe4n yksi pieni kirjain sek\xe4 numero.","string.min":"Uuden salasanan t\xe4ytyy olla v\xe4hint\xe4\xe4n 12 merkki\xe4 pitk\xe4.","string.max":"Uudessa salasanassa saa olla enint\xe4\xe4n 256 merkki\xe4."}),iE=c.any().valid(c.ref("newPassword")).required().messages({"any.only":"Uusi salasana ja salasanan vahvistus eiv\xe4t t\xe4sm\xe4\xe4. Tarkista kent\xe4t ja sy\xf6t\xe4 salasana uudelleen.","any.required":"Salasanan vahvistus on pakollinen tieto."}),iI=e=>c.string().required().messages({"any.required":"".concat(e," on pakollinen."),"string.empty":"".concat(e," on pakollinen.")}),iT=c.object({title:c.string().required(),url:c.string().required(),image:c.object({alt:c.string().required(),src:c.string().required()}).required(),alternativeSource:c.object({text:c.string().optional().allow(""),hide:c.boolean().optional()}).optional(),showInCandidateMachine:c.boolean().optional(),brand:c.string().valid(...aQ.Hk).required(),date:c.string().optional().allow("")}),iV=c.object({id:c.string().required()}),iO=c.array().items(c.string().uri().max(1e3)).unique(),iK=(e,t,a)=>{var i;let n,{values:s}=iC(e),o=s.map(e=>e.name);return i={firstName:c.string().required(),lastName:c.string().required(),age:c.number().required(),nominationArea:(n=iC(e),c.string().valid(...(e=>{switch(e.metadata.electionType){case"municipal":return a7(e.metadata.municipalities.map(e=>e.name));case"parliamentary":return a7(e.metadata.municipalities.map(e=>e.electionDistrict.officialName));case"county":return a7(e.metadata.municipalities.map(e=>{var t;return null==(t=e.wellbeingCounty)?void 0:t.officialName})).filter(e=>!!e);case"eu":case"presidential":return["country"]}})(n)).insensitive().max(1e3)).required(),municipality:(e=>{let{municipalityIds:t,electionType:a,municipalities:i}=iC(e);return"municipal"===a?c.string().valid(c.ref("nominationArea",{adjust:e=>{let t=i.find(t=>t.name===e);if(!t)throw Error("Invalid nominationArea in municipale election: ".concat(e,". Can not find it from the list of municipalities."));return t.id}})).insensitive().max(1e3).messages({"any.only":"Kunnan nimi ei vastaa ilmoitettua vaalipiiri\xe4."}):"county"===a?c.string().custom((e,t)=>
9{let a=t.state.ancestors[0].nominationArea;return i.filter(e=>{var t;return(null==(t=e.wellbeingCounty)?void 0:t.officialName)===a}).map(e=>e.id).includes(e)?e:t.error("any.only")},"validateMunicipality").insensitive().max(1e3).messages({"any.only":"Kunta ei vastaa ilmoitettua hyvinvointialuetta."}):c.string().valid(...t).insensitive().max(1e3)})(e).required(),party:c.string().valid(...t).insensitive().max(1e3).required(),educationLevel:(e=>{let{educationLevelIds:t}=iC(e);return c.number().valid(...t)})(e).optional(),educationOpenText:c.string().max(200).optional().allow(""),occupation:c.string().max(140).allow("").required(),independentCandidate:c.boolean().required(),residentialArea:c.string().max(140).allow("").required(),currentlyInParliament:c.boolean().required(),currentlyInEuropeanParliament:c.boolean().required(),currentlyInMunicipalCouncil:c.boolean().required(),currentlyInCountyCouncil:c.boolean().required(),description:c.string().max(1e3).optional().allow(""),strongAuthentication:c.string().optional(),candidatePromise:c.string().max(140).optional().allow(""),socialMediaLinks:iO.optional(),answersReady:c.boolean().optional(),candidateNumber:c.number().optional(),id:c.string().max(36).required(),values:c.object().pattern(c.string().valid(...o),c.number().allow("noAnswers")).optional(),profilePicture:c.string().optional(),email:c.string().allow("").optional(),createdAt:c.string().optional().allow(""),articles:c.array().items(iT).optional(),videos:c.array().items(iV).optional(),candidateFamily:c.string().max(200).optional().allow(""),earlierWorkExperience:c.array().items(c.object({title:c.string().max(80).optional().allow(""),startYear:c.number().required(),endYear:c.number().optional()})).optional(),personalValues:c.array().items(c.string().max(200).optional().allow("")).max(3).optional(),goodQualities:c.string().max(500).optional().allow(""),languages:c.string().max(500).optional().allow(""),excluded:c.boolean().optional(),postalCodeArea:c.string().max(1e3).optional().allow(""),gender:(e=>{let{genderIds:t}=iC(e);return c.number().valid(...t)})(e).required()},Object.keys(a).forEach(e=>{a[e].inUse||Reflect.deleteProperty(i,e)}),i},iU=(e,t,a)=>c.object(iK(e,t,a)),iR=(e,t,a)=>{let i=["nominationArea","party"],n=i_(iK(e,t,a),["email","createdAt"]),s=Object.keys(n).filter(e=>!i.includes(e));return c.object(n).fork(s,e=>e.optional())},iD=c.object({id:c.string(),candidateId:c.string().max(36),questionId:c.number(),answer:c.number().integer().min(1).max(5),explanation:c.string().max(800).allow(""),answerer:c.string().optional(),theme:c.number().optional(),updatedAt:c.number(),emptyAnswer:c.boolean().optional(),skipped:c.boolean().optional(),stopwordsMatch:c.array().items(c.string()).optional()}),iB=e=>{let{numberOfQuestions:t,municipalityIds:a}=iC(e);return c.object({answers:c.array().required().max(t).items(c.object({questionId:c.number(),answer:c.number()})),municipalityId:c.string().required().valid(...a),brand:c.string().required().valid(...aQ.Hk)})},iH=(e,t)=>{let a=e.length;return c.array().required().max(a).items(c.object({answer:c.number(),indexes:c.object().pattern(c.string().valid(...t),c.number())}))},iF=e=>{let{municipalityIds:t,municipalityNames:a}=iC(e);return c.object({value:c.string().required().valid(...t),label:c.string().required().valid(...a)})},iz=c.object({name:c.string().required(),id:c.string().required(),webPage:c.string().optional().allow(""),shortName:c.string().required(),color:c.string().required(),nameColor:c.string().required(),bigParty:c.boolean().optional(),orkPartyCode:c.string().optional().allow("")}),i$=c.object({name:c.string().required(),id:c.string().required(),municipalities:c.array().items(c.string()).required()});c.object({postalCodeAreas:c.array().items(i$)}),c.object({name:c.string().required(),id:c.string().required(),postalCodeAreas:c.array().items(i$).required()}),c.object({subject:c.string().required(),body:c.string().required()}),c.object({nominationArea:c.string().required(),parties:c.array().items(c.string().required())});let iq=c.object({id:c.string().required(),nominationArea:c.string().required(),parties:c.array().items(c.string().required())}),iG=c.object({parties:c.array().items(iz),electoralAlliances:c.array().items(iq).optional()}),iW=c.object({id:c.string(),firstName:c.string(),lastName:c.string(),lastName_:c.string().optional(),candidateNumber:c.string().optional(),party:c.string(),municipality:c.string(),educationLevel:c.number().optional(),educationOpenText:c.string().optional().allow(""),occupation:c.string().allow(""),independentCandidate:c.boolean(),currentlyInParliament:c.boolean(),currentlyInEuropeanParliament:c.boolean(),currentlyInMunicipalCouncil:c.boolean(),currentlyInCountyCouncil
9:c.boolean(),description:c.string().allow(""),candidatePromise:c.string().allow("").optional(),age:c.number(),socialMediaLinks:c.array().items(c.string().allow("")),nominationArea:c.string(),nominationAreaId:c.string(),values:c.object().unknown(!0).optional(),answersReady:c.boolean().optional(),profilePicture:c.string().allow("").optional(),fullName:c.string(),electionId:c.string(),articles:c.array().items(c.object()).optional(),languages:c.string().allow("").optional(),candidateFamily:c.string().allow("").optional(),earlierWorkExperience:c.string().allow("").optional(),personalValues:c.string().allow("").optional(),goodQualities:c.string().allow("").optional(),excluded:c.boolean().optional(),gender:c.number().optional(),postalCodeArea:c.string().allow("").optional()}).unknown(!0);c.object({id:c.string(),firstName:c.string().allow("").optional(),lastName:c.string().allow("").optional(),lastName_:c.string().allow("").optional(),candidateNumber:c.string().optional(),party:c.string(),municipality:c.string().allow("").optional(),educationLevel:c.number().optional(),educationOpenText:c.string().optional().allow(""),occupation:c.string().allow("").optional(),independentCandidate:c.boolean().allow("").optional(),currentlyInParliament:c.boolean().allow("").optional(),currentlyInEuropeanParliament:c.boolean().allow("").optional(),currentlyInMunicipalCouncil:c.boolean().allow("").optional(),currentlyInCountyCouncil:c.boolean().allow("").optional(),description:c.string().allow("").optional(),candidatePromise:c.string().allow("").optional(),age:c.number().allow("").optional(),socialMediaLinks:c.array().items(c.string().allow("")).optional(),nominationArea:c.string(),nominationAreaId:c.string(),values:c.object().unknown(!0).optional(),answersReady:c.boolean().optional(),profilePicture:c.string().allow("").optional(),fullName:c.string().allow("").optional(),electionId:c.string(),articles:c.array().items(c.object()).optional(),languages:c.string().allow("").optional(),candidateFamily:c.string().allow("").optional(),earlierWorkExperience:c.string().allow("").optional(),personalValues:c.string().allow("").optional(),goodQualities:c.string().allow("").optional(),excluded:c.boolean().optional(),email:c.string().allow("").optional(),createdAt:c.string().allow("").optional(),postalCodeArea:c.string().allow("").optional()}).unknown(!0);let iY=()=>({id:c.string().optional(),questionId:c.number(),answer:c.number().integer().when("skipped",{is:!0,then:c.number().optional(),otherwise:c.number().integer().min(1).max(5).required()}).when("emptyAnswer",{is:!0,then:c.number().optional(),otherwise:c.number().integer().min(1).max(5).required()}).messages({"any.required":"Vastaus on pakollinen","number.min":"Vastaus on pakollinen"}),explanation:c.string().max(800).empty("").messages({"string.max":"Perustelun pituus pit\xe4\xe4 olla enint\xe4\xe4n 800 merkki\xe4"}),theme:c.number().required(),skipped:c.boolean().when("emptyAnswer",{is:c.boolean().valid(!0).required(),then:c.boolean().valid(!0).required(),otherwise:c.boolean().optional()}).messages({"*":"Vastaus on pakollinen"}),emptyAnswer:c.boolean().optional()});c.object(iY()),c.object({...iY(),skipped:c.boolean().optional()}),c.object({email:iM,temporaryPassword:iI("V\xe4liaikainen salasana").max(256),newPassword:iL,verifyPassword:iE,marketingConsent:c.boolean(),phoneNumber:c.when("marketingConsent",{is:!0,then:c.string().required().regex(/^(0|\+358)\d{0,9}$/),otherwise:c.optional()}).messages({"any.required":"Puhelinnumero on pakollinen tieto yhteydenottoa varten","string.empty":"Puhelinnumero on pakollinen tieto yhteydenottoa varten","string.pattern.base":"Numeron t\xe4ytyy olla +358- tai 0-alkuinen ja siin\xe4 saa olla maksimissaan 12 numeroa."})}),c.object({email:iM,recoveryCode:iI("Palautuskoodi").max(1e3),newPassword:iL,verifyPassword:iE}),c.object({email:iM,password:iI("Salasana").max(256)}),c.object({email:iM});let iJ=(e,t,a)=>c.object({...iK(e,t,a),answers:c.array().items(iD).required()}),iQ={party:c.string().required(),area:c.string().required(),answers:c.object().pattern(c.number(),iD).required(),distribution:c.object().pattern(c.number(),c.object().pattern(c.number(),c.number())).required(),values:c.object().pattern(c.string(),c.number().allow("noAnswers")).required(),candidateStatus:c.object({created:c.number(),started:c.number(),ready:c.number()}),lastUpdated:c.string().optional()};c.object({...iQ}),c.object({party:iQ.party,area:iQ.area,candidateStatus:iQ.candidateStatus,lastUpdated:iQ.lastUpdated}),c.object({party:iQ.party,area:iQ.area,answers:iQ.answers,distribution:iQ.distribution,values:iQ.values});let iX=c.object({ready:c.number()}),iZ=Object.values(aQ.Bx),i0=c.string().valid(...iZ);c.object({id:c.string().required(),eventStatus:c.string().required().allow(...Object.values(aQ.fb)),eventType:i0.required(),created:c.string().required(),lastUpdated:c.string().required(),eventItemKeys:c.array().items(c.string()).required(),eventCompletionInfo:c.array().items(c.string()).required(),electionId:c.string().required(),version:c.number().required(),commandId:c.string().required()}),c.object({eventType:c.string().required()}),c.object({id:c.string().required(),version:c.number().required(),eventStatus:c.string().optional().allow(...Object.values(aQ.fb)),eventItemKeys:c.array().items(c.string()).optional(),eventCompletionInfo:c.array().items(c.string()).optional()});let i1=c.object({name:c.string().required(),lastModified:c.date()});c.object({files:c.array().items(i1)});let i2=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.reduce((e,t)=>
9{for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var a,i;e[Number(n)]=(null!=(a=e[Number(n)])?a:0)+(null!=(i=t[Number(n)])?i:0)}return e},{})},i5=e=>e.reduce((e,t)=>(e[t.value]=0,e),{}),i3=(e,t,a)=>t.reduce((t,i)=>{var n;let s=null!=(n=i.distribution[a.id])?n:{};return t[i.id]={answerCountPerOption:{...i5(e),...s}},t.all.answerCountPerOption=i2(t.all.answerCountPerOption,s),t},{all:{answerCountPerOption:i5(e)}}),i4=e=>null!=e&&"object"==typeof e&&"location"in e&&"nominationAreaLevel"in e;a(29143),a(29143);let i6=e=>{switch(e){case 200:return"OK";case 400:return"BAD_REQUEST";case 401:return"UNAUTHORIZED";case 403:return"FORBIDDEN";case 404:return"NOT_FOUND";case 405:return"NOT_ALLOWED";case 409:return"CONFLICT";case 410:return"GONE";case 413:return"PAYLOAD_TOO_LARGE";default:return"INTERNAL_ERROR"}},i8=e=>{switch(e){case"presidentti2012":case"presidentti2012A":case"presidentti2012B":case"presidentti2018":case"presidentti2018A":case"presidentti2024":case"presidentti2024A":case"presidentti2024B":return"Presidentinvaal";case"eduskunta2011":case"eduskunta2015":case"eduskunta2019":case"eduskunta2023":return"Eduskuntavaal";case"euro2014":case"euro2019":case"euro2024":return"Eurovaal";case"kunta2012":case"kunta2017":case"kunta2021":case"kunta2025":return"Kuntavaal";case"alue2022":case"alue2025":return"Aluevaal";default:throw tQ(e),Error("Exhaustive check failed")}},i9=(e,t,a)=>{let i,{municipalityToDistrict:n,municipalityToCounty:s}=(i=a.reduce((e,t)=>(e[t.name]=t.electionDistrict.officialName,e),{}),{municipalityToCounty:a.reduce((e,t)=>{var a;return e[t.name]=null==(a=t.wellbeingCounty)?void 0:a.officialName,e},{}),municipalityToDistrict:i});switch(t){case"municipal":return e;case"parliamentary":return n[e];case"county":{let t=s[e];if(!t)return;return t}case"eu":case"presidential":return"country"}}},85757:e=>{e.exports={combobox:"Dropdown_combobox__uj0Ef"}},86152:e=>{e.exports=function(e,t,a){for(var i=-1,n=null==e?0:e.length;++i<n;)if(a(t,e[i]))return!0;return!1}},86246:(e,t,a)=>{"use strict";a.d(t,{I:()=>o});var i=a(6627);let n=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];var s=a(21224);function o(e,t){let a=!1,o=!0,r={delta:0,timestamp:0,isProcessing:!1},l=()=>a=!0,u=n.reduce((e,a)=>(e[a]=function(e,t){let a=new Set,i=new Set,n=!1,o=!1,r=new WeakSet,l={delta:0,timestamp:0,isProcessing:!1},u=0;function m(t){r.has(t)&&(d.schedule(t),e()),u++,t(l)}let d={schedule:(e,t=!1,s=!1)=>{let o=s&&n?a:i;return t&&r.add(e),o.add(e),e},cancel:e=>{i.delete(e),r.delete(e)},process:e=>{if(l=e,n){o=!0;return}n=!0;let r=a;a=i,i=r,a.forEach(m),t&&s.Q.value&&s.Q.value.frameloop[t].push(u),u=0,a.clear(),n=!1,o&&(o=!1,d.process(e))}};return d}(l,t?a:void 0),e),{}),{setup:m,read:d,resolveKeyframes:c,preUpdate:h,update:p,preRender:v,render:k,postRender:y}=u,f=()=>{let n=i.W.useManualTiming,s=n?r.timestamp:performance.now();a=!1,n||(r.delta=o?1e3/60:Math.max(Math.min(s-r.timestamp,40),1)),r.timestamp=s,r.isProcessing=!0,m.process(r),d.process(r),c.process(r),h.process(r),p.process(r),v.process(r),k.process(r),y.process(r),r.isProcessing=!1,a&&t&&(o=!1,e(f))};return{schedule:n.reduce((t,i)=>{let n=u[i];return t[i]=(t,i=!1,s=!1)=>(!a&&(a=!0,o=!0,r.isProcessing||e(f)),n.schedule(t,i,s)),t},{}),cancel:e=>{for(let t=0;t<n.length;t++)u[n[t]].cancel(e)},state:r,steps:u}}},86388:e=>{e.exports={loadingIndicatorRoot:"LoadingIndicator_loadingIndicatorRoot__u41CM"}},86414:(e,t,a)=>{var i=a(89139);e.exports=function(e,t){var a=e.__data__;return i(t)?a["string"==typeof t?"string":"hash"]:a.map}},86938:(e,t,a)=>{"use strict";a.d(t,{T:()=>o,n:()=>r});var i=a(50151),n=a(15650),s=a(74862);let o=[i.ai,n.px,n.KN,n.uj,n.vw,n.vh,{test:e=>"auto"===e,parse:e=>e}],r=e=>o.find((0,s.w)(e))},87500:(e,t,a)=>{"use strict";a.d(t,{f:()=>i});let i={xsm:"(min-width: 375px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 980px)",xlg:"(min-width: 1207px)"}},87567:(e,t,a)=>{var i=a(29778),n=a(43701),s=a(16799);e.exports=function(e){return s(e)?i(e):n(e)}},87940:(e,t,a)=>{"use strict";function i(e,t,a){t.startsWith("--")?e.style.setProperty(t,a):e.style[t]=a}a.d(t,{e:()=>i})},88179:e=>{e.exports={resultRoot:"Result_resultRoot__CzV79",optionGroupHeading:"Result_optionGroupHeading__KABVC",strong:"Result_strong__9FfZK"}},88274:(e,t,a)=>{var i=a(24127);e.exports=function(e){return function(t){return i(t,e)}}},88357:e=>{e.exports={sm:"min-width: 576px",md:"min-width: 768px",cardContent:"CardContent_cardContent__ViVH_","align-left":"CardContent_align-left__WOOW8","align-center":"CardContent_align-center__gneAo","align-right":"CardContent_align-right__kZAe_","vertical-align-between":"C
9ardContent_vertical-align-between__1E2Yc","vertical-align-bottom":"CardContent_vertical-align-bottom__j8ooA","vertical-align-center":"CardContent_vertical-align-center__Qlp_N","vertical-align-top":"CardContent_vertical-align-top__tzjTL"}},88601:e=>{e.exports=function(e,t){for(var a=-1,i=null==e?0:e.length,n=Array(i);++a<i;)n[a]=t(e[a],a,e);return n}},89139:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},89602:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});class i{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}}},89933:(e,t,a)=>{"use strict";a.d(t,{K:()=>i});let i=(e,t,a=10)=>{let i="",n=Math.max(Math.round(t/a),2);for(let t=0;t<n;t++)i+=Math.round(1e4*e(t/(n-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`}},90341:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var i=a(6029),n=a(40508),s=a(74969),o=a(20541),r=a(63390),l=a(93114),u=a.n(l);let m=e=>{let{image:t,title:a,subTitle:l,ariaLabel:m,text:d,hideTitleRow:c,onPrevious:h,onNext:p,onSelect:v,disabledText:k,iconButtonType:y="plain",iconButtonSize:f="medium"}=e,g="plain"===y?s.A8:s.K0;return(0,i.jsx)("div",{className:u().infoBubbleRoot,"aria-label":m,role:"group",children:(0,i.jsxs)("div",{className:u().bubble,children:[!c&&(0,i.jsxs)("div",{className:u().rowSpaceBetween,children:[(0,i.jsxs)("div",{className:u().rowContent,children:[t,(0,i.jsxs)("div",{className:u().titleContent,onClick:v,style:{cursor:v?"pointer":"initial"},children:[a&&(0,i.jsx)("div",{className:(0,r.gq)({}),children:(0,i.jsx)(r.OH,{children:a})}),l&&(0,i.jsx)("div",{className:(0,r.gq)({size:12}),children:l})]})]}),(0,i.jsxs)("div",{className:u().rowContent,style:{gap:"8px",flexShrink:0},children:[h&&(0,i.jsx)(g,{"aria-label":"Edellinen",icon:(0,i.jsx)(o.A,{name:"chevron-left",size:"medium"===f?20:15}),onClick:h,size:f}),p&&(0,i.jsx)(g,{"aria-label":"Seuraava",icon:(0,i.jsx)(o.A,{name:"chevron-right",size:"medium"===f?20:15}),onClick:p,size:f})]})]}),(0,n.Kg)(d)?(0,i.jsx)(r.EY,{className:u().replyText,lineHeight:"loose",as:"p",style:k?{fontStyle:"italic",textAlign:"center"}:{},children:d}):d]})})}},91353:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},91390:e=>{e.exports={md:"min-width: 768px",graphWrapper:"PartyMeanAnswers_graphWrapper__YzdKM",horizontalLine:"PartyMeanAnswers_horizontalLine__0Jy2O",circle:"PartyMeanAnswers_circle__pN5Fl",legendWrapper:"PartyMeanAnswers_legendWrapper__3nUTB",party:"PartyMeanAnswers_party__6ysYV",partyLine:"PartyMeanAnswers_partyLine__k_6hr"}},91544:e=>{e.exports=Array.isArray},91982:(e,t,a)=>{"use strict";a.d(t,{M:()=>i});let i=new Set(["opacity","clipPath","filter","transform"])},91994:e=>{e.exports=function(e,t,a){for(var i=a-1,n=e.length;++i<n;)if(e[i]===t)return i;return -1}},92068:(e,t,a)=>{"use strict";a.d(t,{D:()=>h,sq:()=>m,R_:()=>c,hz:()=>k});var i=a(6029),n=a(63390),s=a(6820),o=a.n(s),r=a(4609),l=a.n(r);let u=e=>{var t,a,s;let{variant:r,className:u,...m}=e,d=(0,n.gq)({size:e.size});return(0,i.jsx)("text",{className:"".concat(d," ").concat(null!=(t=o().strongCss)?t:""," ").concat(null!=(a=l().youText)?a:""," ").concat(null!=(s=l()[r])?s:""," ").concat(null!=u?u:""),...m})},m=e=>{var t;let{className:a,size:n,style:s}=e;return(0,i.jsx)("svg",{className:"".concat(null!=(t=l().fanIconRoot)?t:""," ").concat(null!=a?a:""),height:n+20,width:n,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",viewBox:"0 0 30 50",xmlns:"http://www.w3.org/2000/svg",style:s,children:(0,i.jsx)(c,{x:n/2,y:n/2})})},d=e=>{var t,a,n,s;let{x:o,y:r}=e;return(0,i.jsxs)("g",{transform:"translate(".concat(o-15," ").concat(r-15,")"),children:[(0,i.jsx)("path",{className:"".concat(null!=(t=l().styledPath)?t:""," ").concat(null!=(a=l().borderElement)?a:""),d:"M12.4198 7.12885V2.59812C12.4198 1.16322 13.583 0 15.0179 0C16.4528 0 17.616 1.16322 17.616 2.59812V7.08024L20.3023 3.43513C21.1486 2.28671 22.7694 2.03002 23.9292 2.86074C25.0975 3.69761 25.3544 5.3195 24.5018 6.47642L21.8288 10.1035L26.2013 8.70288C27.5551 8.2692 29.0103 9.01061 29.4552 10.3608C29.9023 11.7171 29.1605 13.173 27.8005 13.6087L23.4569 15L27.8004 16.3914C29.1605 16.8271 29.9022 18.2829 29.4552 19.6393C29.0102 20.9894 27.555 21.7308 26.2012 21.2972L21.8289 19.8966L24.5018 23.5235C25.3543 24.6804 25.0975 26.3023 23.9291 27.1391C22.7694 27.9699 21.1486 27.7132 20.3023 26.5648L17.6161 22.9198V27.4019C17.6161 28.8368 16.4529 30 15.018 30C13.5831 30 12.4199 28.8368 12.4199 27.4019V22.871L9.69774 26.5648C8.85141 27.7132 7.23
9062 27.9699 6.07086 27.1392C4.90252 26.3023 4.64566 24.6804 5.49825 23.5235L8.17111 19.8966L3.79878 21.2972C2.44494 21.7309 0.989767 20.9895 0.544789 19.6393C0.0977678 18.2829 0.839513 16.8271 2.19957 16.3914L6.5431 15L2.19962 13.6087C0.839563 13.173 0.0978206 11.7172 0.544842 10.3608C0.98982 9.01062 2.44499 8.26922 3.79883 8.7029L8.1712 10.1035L5.49827 6.47648C4.64569 5.31955 4.90254 3.69766 6.07089 2.86079C7.23064 2.03008 8.85144 2.28676 9.69776 3.43518L12.4198 7.12885Z"}),(0,i.jsx)("path",{className:"".concat(null!=(n=l().styledPath)?n:""," ").concat(null!=(s=l().fillElement)?s:""),d:"M13.4198 2.59812V10.1714L8.89274 4.02843C8.37093 3.32037 7.36825 3.16157 6.6532 3.67376C5.93814 4.18594 5.78148 5.17516 6.30329 5.88322L10.8102 11.9989L3.49376 9.65523C2.66278 9.38904 1.76771 9.84507 1.49459 10.6738C1.22146 11.5025 1.67369 12.3901 2.50468 12.6563L9.82111 15L2.50463 17.3437C1.67364 17.6099 1.22141 18.4975 1.49453 19.3263C1.76766 20.155 2.66272 20.611 3.49371 20.3448L10.8101 18.0012L6.30326 24.1168C5.78145 24.8248 5.93811 25.814 6.65317 26.3262C7.36823 26.8384 8.37091 26.6796 8.89272 25.9716L13.4199 19.8284V27.4019C13.4199 28.2845 14.1354 29 15.018 29C15.9006 29 16.6161 28.2845 16.6161 27.4019V19.8772L21.1073 25.9715C21.6291 26.6796 22.6318 26.8384 23.3468 26.3262C24.0619 25.814 24.2185 24.8248 23.6967 24.1167L19.1899 18.0012L26.5063 20.3448C27.3372 20.611 28.2323 20.155 28.5054 19.3263C28.7786 18.4975 28.3263 17.6099 27.4953 17.3437L20.1789 15L27.4954 12.6563C28.3264 12.3901 28.7786 11.5025 28.5055 10.6738C28.2324 9.84505 27.3373 9.38902 26.5063 9.65521L19.1898 11.9989L23.6968 5.88317C24.2186 5.1751 24.0619 4.18589 23.3469 3.67371C22.6318 3.16152 21.6291 3.32031 21.1073 4.02838L16.616 10.1228V2.59812C16.616 1.7155 15.9005 1 15.0179 1C14.1353 1 13.4198 1.71551 13.4198 2.59812Z"})]})},c=e=>{let{x:t,y:a}=e;return(0,i.jsxs)("g",{className:l().styledG,style:{pointerEvents:"none"},children:[(0,i.jsx)(d,{x:t,y:a}),(0,i.jsx)(u,{variant:"borderElement",size:14,x:t,y:a+15+14+2,strokeWidth:2,"aria-hidden":!0,children:"Sin\xe4"}),(0,i.jsx)(u,{variant:"fillElement",size:14,x:t,y:a+15+14+2,children:"Sin\xe4"})]})},h=e=>{var t;let{className:a,size:n,style:s}=e;return(0,i.jsx)("svg",{className:"".concat(null!=(t=l().fanIconRoot)?t:""," ").concat(null!=a?a:""),height:n,width:n,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",viewBox:"0 0 30 30",xmlns:"http://www.w3.org/2000/svg",style:s,children:(0,i.jsx)(d,{x:n/2,y:n/2})})};var p=a(38483),v=a.n(p);let k=e=>{var t;let{className:a,size:n,style:s}=e;return(0,i.jsxs)("svg",{style:s,className:"".concat(null!=(t=v().loaderIconRoot)?t:""," ").concat(null!=a?a:""),stroke:"currentColor",height:n,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",width:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 24",children:[(0,i.jsx)("path",{d:"M12.5 2V6"}),(0,i.jsx)("path",{d:"M12.5 18V22"}),(0,i.jsx)("path",{d:"M5.42969 4.93005L8.25969 7.76005"}),(0,i.jsx)("path",{d:"M16.7402 16.24L19.5702 19.07"}),(0,i.jsx)("path",{d:"M2.5 12H6.5"}),(0,i.jsx)("path",{d:"M18.5 12H22.5"}),(0,i.jsx)("path",{d:"M5.42969 19.07L8.25969 16.24"}),(0,i.jsx)("path",{d:"M16.7402 7.76005L19.5702 4.93005"})]})}},92071:(e,t,a)=>{"use strict";a.d(t,{BX:()=>I,vK:()=>E,lr:()=>L});var i=a(29255),n=a(54026),s=a(95752),o=a(58838),r=a(57672),l=a(3376),u=a(91982),m=a(68275),d=a(78737),c=a(73525),h=a(40318),p=a(32264),v=a(39017),k=a(73768),y=a(86938),f=a(74862);let g=[...y.T,k.y,p.f];var b=a(17203);let j=new WeakMap;var x=a(74682),w=a(40574);let S={current:null},N={current:!1},A="u">typeof window;var P=a(99606),_=a(50891);let C=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],M={};function L(e){M=e}function E(){return M}class I{scrapeMotionValuesFromProps(e,t,a){return{}}constructor({parent:e,props:t,presenceContext:a,reducedMotionConfig:i,skipAnimations:n,blockInitialAnimation:s,visualState:o},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=r.h,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=d.k.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,_.Gt.render(this.render,!1,!0))};const{latestValues:u,renderState:m}=o;this.latestValues=u,this.baseTarget={...u},this.initialValues=t.initial?{...u}:{},this.renderState=m,this.parent=e,this.props=t,this.presenceContext=a,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.skipAnimationsConfig=n,this.options=l,this.blockInitialAnimation=!!s,this.isControllingVariants=(0,x.e)(t),this.isVariantNode=(0,x.O)(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:c,...h}=this.scrapeMotionValuesFromProps(t,{},this);for(const e in h){const t=h[e];void 0!==u[e]&&(0,b.S)(t)&&t.set(u[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,j.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEac
9h((e,t)=>this.bindToMotionValue(t,e)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(N.current||function(){if(N.current=!0,A)if(window.matchMedia){let e=window.matchMedia("(prefers-reduced-motion)"),t=()=>S.current=e.matches;e.addEventListener("change",t),t()}else S.current=!1}(),this.shouldReduceMotion=S.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let e in this.projection&&this.projection.unmount(),(0,_.WG)(this.notifyUpdate),(0,_.WG)(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){let a;if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&u.M.has(e)&&this.current instanceof HTMLElement){let{factory:a,keyframes:n,times:s,ease:o,duration:r}=t.accelerate,u=new l.m({element:this.current,name:e,keyframes:n,times:s,ease:o,duration:(0,i.f)(r)}),m=a(u);this.valueSubscriptions.set(e,()=>{m(),u.cancel()});return}let n=w.f.has(e);n&&this.onBindTransform&&this.onBindTransform();let s=t.on("change",t=>{this.latestValues[e]=t,this.props.onUpdate&&_.Gt.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{s(),a&&a()})}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e="animation";for(e in M){let t=M[e];if(!t)continue;let{isEnabled:a,Feature:i}=t;if(!this.features[e]&&i&&a(this.props)&&(this.features[e]=new i(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):(0,c.ge)()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<C.length;t++){let a=C[t];this.propEventSubscriptions[a]&&(this.propEventSubscriptions[a](),delete this.propEventSubscriptions[a]);let i=e["on"+a];i&&(this.propEventSubscriptions[a]=this.on(a,i))}this.prevMotionValues=function(e,t,a){for(let i in t){let n=t[i],s=a[i];if((0,b.S)(n))e.addValue(i,n);else if((0,b.S)(s))e.addValue(i,(0,h.OQ)(n,{owner:e}));else if(s!==n)if(e.hasValue(i)){let t=e.getValue(i);!0===t.liveStyle?t.jump(n):t.hasAnimated||t.set(n)}else{let t=e.getStaticValue(i);e.addValue(i,(0,h.OQ)(void 0!==t?t:n,{owner:e}))}}for(let i in a)void 0===t[i]&&e.removeValue(i);return t}(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let a=this.values.get(e);t!==a&&(a&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let a=this.values.get(e);return void 0===a&&void 0!==t&&(a=(0,h.OQ)(null===t?void 0:t,{owner:this}),this.addValue(e,a)),a}readValue(e,t){let a=void 0===this.latestValues[e]&&this.current?this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];
9if(null!=a){if("string"==typeof a&&((0,n.i)(a)||(0,s.$)(a)))a=parseFloat(a);else{let i;i=a,!g.find((0,f.w)(i))&&p.f.test(t)&&(a=(0,v.J)(e,t))}this.setBaseTarget(e,(0,b.S)(a)?a.get():a)}return(0,b.S)(a)?a.get():a}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let t,{initial:a}=this.props;if("string"==typeof a||"object"==typeof a){let i=(0,P.a)(this.props,a,this.presenceContext?.custom);i&&(t=i[e])}if(a&&void 0!==t)return t;let i=this.getBaseTargetFromProps(this.props,e);return void 0===i||(0,b.S)(i)?void 0!==this.initialValues[e]&&void 0===t?void 0:this.baseTarget[e]:i}on(e,t){return this.events[e]||(this.events[e]=new o.v),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){m.k.render(this.render)}}},92601:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={default:function(){return m},getImageProps:function(){return u}};for(var n in i)Object.defineProperty(t,n,{enumerable:!0,get:i[n]});let s=a(14761),o=a(84851),r=a(65815),l=s._(a(62645));function u(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,a]of Object.entries(t))void 0===a&&delete t[e];return{props:t}}let m=r.Image},92785:(e,t,a)=>{"use strict";a.d(t,{A:()=>u});var i=a(6029),n=a(55729),s=a(24238),o=a.n(s);let r={xxs:28,"extra-small":32,small:56,medium:80,large:124},l={xxs:4,"extra-small":4,small:10,medium:12,large:14},u=e=>{var t,a,s;let{size:u,image:m,style:d,onClick:c,selected:h,blackAndWhiteImage:p,customBorderColor:v}=e,k=r[u],y=k-l[u],f="/profilePicPlaceholder.png",[g,b]=(0,n.useState)(m.src||f);return(0,n.useEffect)(()=>{b(m.src)},[m.src]),(0,i.jsx)("div",{className:o().roundedImageRoot,style:{...d,width:k,height:k,minWidth:u,minHeight:u},onClick:c,children:(0,i.jsx)("div",{className:"".concat(null!=(t=o().imageContainer)?t:""," ").concat(h&&null!=(a=o().selected)?a:""," ").concat(p&&null!=(s=o().blackAndWhiteImage)?s:""),style:{width:y,height:y,borderColor:v&&p?"#808080":null!=v?v:"transparent"},children:(0,i.jsx)("img",{src:g,alt:m.alt,width:y,height:y,style:{borderRadius:"50%"},onError:()=>{b(f)}})})})}},92786:(e,t,a)=>{var i=a(36592);e.exports=function(e,t){var a=this.__data__,n=i(a,e);return n<0?(++this.size,a.push([e,t])):a[n][1]=t,this}},92787:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var i=a(6029),n=a(81278),s=a(70949),o=a(60209),r=a(19173),l=a(99814),u=a.n(l);let m=e=>{let{show:t,brand:a,electionId:l}=e,m=(0,n.useRouter)(),{setAllAnswers:d,setIsAnswering:c,setAnswersReady:h}=(0,o.t)(),{resetThemes:p,updateArea:v}=(0,r.rP)();return(0,i.jsx)(s.aF,{show:t,ariaLabel:"Haluatko jatkaa aiemmista vastauksistasi?",ariaDescribedBy:"Olet jo vastannut vaalikoneen kysymyksiin. Haluatko n\xe4ytt\xe4\xe4 tulokset aikaisempien vastauksiesi perusteella vai aloittaa alusta?",children:(0,i.jsxs)("div",{className:u().contentRoot,children:[(0,i.jsx)(s.EY,{size:18,children:(0,i.jsx)(s.OH,{children:"Olet jo vastannut vaalikoneen kysymyksiin. Haluatko n\xe4ytt\xe4\xe4 tulokset aikaisempien vastauksiesi perusteella vai aloittaa alusta?"})}),(0,i.jsxs)("div",{className:u().buttonContainer,children:[(0,i.jsx)(s.$n,{onClick:()=>{d([],l,a),h(!1),p(),v(null,l,a),m.push("/".concat(l,"/").concat(a))},variant:"secondary",children:"Aloita alusta"}),(0,i.jsx)(s.$n,{onClick:()=>{c(!0),m.push("/".concat(l,"/").concat(a,"/tulokset"))},children:"N\xe4yt\xe4 tulokset"})]})]})})}},92812:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},93114:e=>{e.exports={infoBubbleRoot:"InfoBubble_infoBubbleRoot__q5M2a",bubble:"InfoBubble_bubble__nhtaF",rowContent:"InfoBubble_rowContent__khaIT",rowSpaceBetween:"InfoBubble_rowSpaceBetween__Bum0c",titleContent:"InfoBubble_titleContent__9LSCG",replyText:"InfoBubble_replyText__tzEJ9"}},93724:e=>{e.exports={container:"SkipButton_container__QoQ5w",link:"SkipButton_link__4XQnW"}},94103:(e,t,a)=>{"use strict";a.d(t,{S:()=>p});var i=a(6029),n=a(55729),s=a(5466),o=a(26584);function r({children:e,features:t,strict:a=!1}
9){let[,u]=(0,n.useState)(!l(t)),m=(0,n.useRef)(void 0);if(!l(t)){let{renderer:e,...a}=t;m.current=e,(0,o.Y)(a)}return(0,n.useEffect)(()=>{l(t)&&t().then(({renderer:e,...t})=>{(0,o.Y)(t),m.current=e,u(!0)})},[]),(0,i.jsx)(s.Y.Provider,{value:{renderer:m.current,strict:a},children:e})}function l(e){return"function"==typeof e}var u=a(17588),m=a(65024);let d={renderer:a(16186).J,...u.W,...m.n};var c=a(14107);let h=(0,a(68633).H)(),p=e=>{let{children:t,isOpen:a,collapseKey:n}=e;return(0,i.jsx)(r,{features:d,children:(0,i.jsx)(c.N,{initial:!1,children:a&&(0,i.jsx)(h.div,{animate:"open",exit:"collapsed",initial:"collapsed",variants:{collapsed:{height:0,transition:{delay:.15,duration:.3,ease:"easeInOut"}},open:{height:"auto",transition:{delay:0,duration:.3,ease:"easeInOut"}}},children:(0,i.jsx)(h.div,{animate:"visible",exit:"hidden",initial:"hidden",variants:{hidden:{opacity:0,transition:{delay:0,duration:.3,ease:"easeInOut"}},visible:{opacity:1,transition:{delay:.15,duration:.3,ease:"easeInOut"}}},children:t})},n)})})}},94229:(e,t,a)=>{"use strict";a.d(t,{g:()=>s});var i=a(6627),n=a(17203);function s(e,t){let a=e.getValue("willChange");if((0,n.S)(a)&&a.add)return a.add(t);if(!a&&i.W.WillChange){let a=new i.W.WillChange("auto");e.addValue("willChange",a),a.add(t)}}},94231:e=>{e.exports={informationListRoot:"InformationList_informationListRoot___ATn7",customListItem:"InformationList_customListItem__rCKLm"}},95149:(e,t,a)=>{var i=a(620),n=a(4650),s=a(50874);e.exports=function(){this.size=0,this.__data__={hash:new i,map:new(s||n),string:new i}}},95345:(e,t,a)=>{var i=a(4650);e.exports=function(){this.__data__=new i,this.size=0}},95521:e=>{e.exports={tagButton:"TagButton_tagButton__gmWhk",checked:"TagButton_checked__UA8aC"}},95669:(e,t,a)=>{e.exports=a(63276)},95752:(e,t,a)=>{"use strict";a.d(t,{$:()=>i});let i=e=>/^0[^.\s]+$/u.test(e)},95816:(e,t,a)=>{var i=a(43701),n=a(53140),s=a(42209),o=a(91544),r=a(16799),l=a(9541),u=a(23282),m=a(43562),d=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(r(e)&&(o(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||m(e)||s(e)))return!e.length;var t=n(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(u(e))return!i(e).length;for(var a in e)if(d.call(e,a))return!1;return!0}},96024:(e,t,a)=>{var i=a(15051),n=Object.prototype.hasOwnProperty;e.exports=function(e,t,a,s,o,r){var l=1&a,u=i(e),m=u.length;if(m!=i(t).length&&!l)return!1;for(var d=m;d--;){var c=u[d];if(!(l?c in t:n.call(t,c)))return!1}var h=r.get(e),p=r.get(t);if(h&&p)return h==t&&p==e;var v=!0;r.set(e,t),r.set(t,e);for(var k=l;++d<m;){var y=e[c=u[d]],f=t[c];if(s)var g=l?s(f,y,c,t,e,r):s(y,f,c,e,t,r);if(!(void 0===g?y===f||o(y,f,a,s,r):g)){v=!1;break}k||(k="constructor"==c)}if(v&&!k){var b=e.constructor,j=t.constructor;b!=j&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof j&&j instanceof j)&&(v=!1)}return r.delete(e),r.delete(t),v}},96856:e=>{!function(){if("u">typeof window){var t,a,i,n,s,o,r,l=!0,u=10,m="",d=0,c="",h=null,p="",v=!1,k={resize:1,click:1},y=128,f=!0,g=1,b="bodyOffset",j=b,x=!0,w="",S={},N=32,A=null,P=!1,_=!1,C="[iFrameSizer]",M=C.length,L="",E={max:1,min:1,bodyScroll:1,documentElementScroll:1},I="child",T=!0,V=window.parent,O="*",K=0,U=!1,R=null,D=16,B=1,H="scroll",F=H,z=window,$=function(){eo("onMessage function not defined")},q=function(){},G=function(){},W={height:function(){return eo("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return eo("Custom width calculation function not defined"),document.body.scrollWidth}},Y={},J=!1;try{var Q=Object.create({},{passive:{get:function(){J=!0}}});window.addEventListener("test",et,Q),window.removeEventListener("test",et,Q)}catch(e){}var X={bodyOffset:function(){return document.body.offsetHeight+ek("marginTop")+ek("marginBottom")},offset:function(){return X.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return W.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,ef(X))},min:function(){return Math.min.apply(null,ef(X))},grow:function(){return X.max()},lowestElement:function(){return Math.max(X.bodyOffset()||X.documentElementOffset(),ey("bottom",eb()))},taggedElement:function(){return eg("bottom","data-iframe-height")}},Z={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return W.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max(Z.bodyScroll(),Z.documentElementScroll())},max:function(){return Math.max.apply(null,ef(Z))},min:function(){return Math.min.apply(null,ef(Z))},rightMostElement:function(){return ey("right",eb())},taggedElement:function(){return eg("right","data-iframe-width")}},ee=(t=ej,s=null,o=0,r=function(){o=Date.now(),s=null,n=t.apply(a,i),s||(a=i=null)},function(){var e=Date.now();o||(o=e);var l=D-(e-o);return a=this,i=arguments,l<=0||l>D?(s&&(clearTimeout(s),s=null),o=e,n=t.apply(a,i),s||(a=i=null)):s||(s=setTimeout(r,l)),n});ea(window,"message",function(t){var a={init:function(){var e,a;w=t.data,V=t.source,function(){function e(e){return"true"===e}var t=w.substr(M).split(":");L=t[0],d=void 0!==t[1]?Number(t[1]):d,v=void 0!==t[2]?e(t[2]):v,P=void 0!==t[3]?e(t[3]):P,N=void 0!==t[4]?Number(t[4]):N,l=void 0!==t[6]?e(t[6]):l,c=t[7],j=void 0!==t[8]?t[8]:j,m=t[9],p=t[10],K=void 0!==t[11]?Number(t[11]):K,S.enable=void 0!==t[12]&&e(t[12]),I=void 0!==t[13]?t[13]:I,F=void 0!==t[14]?t[14]:F,_=void 0!==t[15]?!!t[15]:_}(),es("Initialising iFrame ("+window.location.href+")"),function(){function e(e,t){return"function"==typeof e&&(es("Setup custom "+t+"CalcMethod"),W[t]=e,e="
9custom"),e}if("iFrameResizer"in window&&Object===window.iFrameResizer.constructor){var t;es("Reading data from page: "+JSON.stringify(t=window.iFrameResizer)),Object.keys(t).forEach(er,t),$="onMessage"in t?t.onMessage:$,q="onReady"in t?t.onReady:q,O="targetOrigin"in t?t.targetOrigin:O,j="heightCalculationMethod"in t?t.heightCalculationMethod:j,F="widthCalculationMethod"in t?t.widthCalculationMethod:F,j=e(j,"height"),F=e(F,"width")}es("TargetOrigin for parent set to: "+O)}(),void 0===c&&(c=d+"px"),el("margin",(-1!==(e=c).indexOf("-")&&(eo("Negative CSS value ignored for margin"),e=""),e)),el("background",m),el("padding",p),(a=document.createElement("div")).style.clear="both",a.style.display="block",a.style.height="0",document.body.appendChild(a),ec(),eh(),document.documentElement.style.height="",document.body.style.height="",es('HTML & body height set to "auto"'),es("Enable public methods"),z.parentIFrame={autoResize:function(e){return!0===e&&!1===l?(l=!0,ep()):!1===e&&!0===l&&(l=!1,em("remove"),null!==h&&h.disconnect(),clearInterval(A)),eA(0,0,"autoResize",JSON.stringify(l)),l},close:function(){eA(0,0,"close")},getId:function(){return L},getPageInfo:function(e){"function"==typeof e?(G=e,eA(0,0,"pageInfo")):(G=function(){},eA(0,0,"pageInfoStop"))},moveToAnchor:function(e){S.findTarget(e)},reset:function(){eN("parentIFrame.reset")},scrollTo:function(e,t){eA(t,e,"scrollTo")},scrollToOffset:function(e,t){eA(t,e,"scrollToOffset")},sendMessage:function(e,t){eA(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){j=e,ec()},setWidthCalculationMethod:function(e){F=e,eh()},setTargetOrigin:function(e){es("Set targetOrigin: "+e),O=e},size:function(e,t){ex("size","parentIFrame.size("+(e||"")+(t?","+t:"")+")",e,t)}},function(){function e(e){eA(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,a){es("Add event listener: "+a),ea(window.document,t,e)}!0===_&&(t("mouseenter","Mouse Enter"),t("mouseleave","Mouse Leave"))}(),ep(),S=function(){function e(e){var t=e.split("#")[1]||e,a=decodeURIComponent(t),i=document.getElementById(a)||document.getElementsByName(a)[0];if(void 0!==i){var n,s,o=(n=i.getBoundingClientRect(),s={x:void 0!==window.pageXOffset?window.pageXOffset:document.documentElement.scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop},{x:parseInt(n.left,10)+parseInt(s.x,10),y:parseInt(n.top,10)+parseInt(s.y,10)});es("Moving to in page link (#"+t+") at x: "+o.x+" y: "+o.y),eA(o.y,o.x,"scrollToOffset")}else es("In page link (#"+t+") not found in iFrame, so sending to parent"),eA(0,0,"inPageLink","#"+t)}function t(){var t=window.location.hash,a=window.location.href;""!==t&&"#"!==t&&e(a)}return S.enable?Array.prototype.forEach&&document.querySelectorAll?(es("Setting up location.hash handlers"),Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),function(t){"#"!==t.getAttribute("href")&&ea(t,"click",function(t){t.preventDefault(),e(this.getAttribute("href"))})}),ea(window,"hashchange",t),setTimeout(t,y)):eo("In page linking not fully supported in this browser! (See README.md for IE8 workaround)"):es("In page linking not enabled"),{findTarget:e}}(),ex("init","Init message from host page"),q(),f=!1,setTimeout(function(){x=!1},y)},reset:function(){x?es("Page reset ignored by init"):(es("Page size reset by host page"),eS("resetPage"))},resize:function(){ex("resizeParent","Parent window requested size check")},moveToAnchor:function(){S.findTarget(n())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=n();es("PageInfoFromParent called from parent: "+e),G(JSON.parse(e)),es(" --")},message:function(){var e=n();es("onMessage called from parent: "+e),$(JSON.parse(e)),es(" --")}};function i(){return t.data.split("]")[1].split(":")[0]}function n(){return t.data.substr(t.data.indexOf(":")+1)}function s(){return t.data.split(":")[2]in{true:1,false:1}}C===(""+t.data).substr(0,M)&&function(){if(!1===f){var n;(n=i())in a?a[n]():!e.exports&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype||s()||eo("Unexpected message ("+t.data+")")}else s()?a.init():es('Ignored message of type "'+i()+'". Received before initialization.')}()}),ea(window,"readystatechange",eP),eP()}function et(){}function ea(e,t,a,i){e.addEventListener(t,a,!!J&&(i||{}))}function ei(e){return e.charAt(0).toUpperCase()+e.slice(1)}function en(e){return C+"["+L+"] "+e}function es(e){P&&"object"==typeof window.console&&console.log(en(e))}function eo(e){"object"==typeof window.console&&console.warn(en(e))}function er(e){var t=e.split("Callback");if(2===t.length){var a="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[a]=this[e],delete this[e],eo("Deprecated: '"+e+"' has been renamed '"+a+"'. The old method will be removed in the next major version.")}}function el(e,t){void 0!==t&&""!==t&&"null"!==t&&(document.body.style[e]=t,es("Body "+e+' set to "'+t+'"'))}function eu(e){var t={add:function(t){function a(){ex(e.eventName,e.eventType)}Y[t]=a,ea(window,t,a,{passive:!0})},remove:function(e){var t=Y[e];delete Y[e],window.removeEventListener(e,t,!1)}};e.eventNames&&Array.prototype.map?(e.eventName=e.eventNames[0],e.eventNames.map(t[e.method])):t[e.method](e.eventName),es(ei(e.method)+" event listener: "+e.eventType)}function em(e){eu({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),eu({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),eu({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),eu({method:e,eventType:"Input",eventName:"input"}),eu({method:e,eventType:"Mouse Up",eventName:"mouseup"}),eu({method:e,eventType:"Mouse Down",eventName:"mousedown"}),eu({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),eu({method:e,eventType:"Print",eventName:["afterprint","beforeprint"]}),eu({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),eu({method:e,eventType:"Touch Start",eventName:"touchstart"}),eu({method:e,eventType:"Touch End",eventName:"touchend"}),eu({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),eu({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),eu({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),eu({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}
9),"child"===I&&eu({method:e,eventType:"IFrame Resized",eventName:"resize"})}function ed(e,t,a,i){return t!==e&&(e in a||(eo(e+" is not a valid option for "+i+"CalculationMethod."),e=t),es(i+' calculation method set to "'+e+'"')),e}function ec(){j=ed(j,b,X,"height")}function eh(){F=ed(F,H,Z,"width")}function ep(){var e;!0===l?(em("add"),e=0>N,window.MutationObserver||window.WebKitMutationObserver?e?ev():h=function(){function e(e){function t(e){!1===e.complete&&(es("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",n,!1),o.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function t(e){es("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",n,!1),o.splice(o.indexOf(e),1)}function a(e,a,i){t(e.target),ex(a,i+": "+e.target.src)}function i(e){a(e,"imageLoad","Image loaded")}function n(e){a(e,"imageLoadFailed","Image load failed")}var s,o=[],r=window.MutationObserver||window.WebKitMutationObserver,l=(s=document.querySelector("body"),l=new r(function(t){ex("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type),t.forEach(e)}),es("Create body MutationObserver"),l.observe(s,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}),l);return{disconnect:function(){"disconnect"in l&&(es("Disconnect body MutationObserver"),l.disconnect(),o.forEach(t))}}}():(es("MutationObserver not supported in this browser!"),ev())):es("Auto Resize disabled")}function ev(){0!==N&&(es("setInterval: "+N+"ms"),A=setInterval(function(){ex("interval","setInterval: "+N)},Math.abs(N)))}function ek(e,t){var a=0;return t=t||document.body,parseInt(a=null!==(a=document.defaultView.getComputedStyle(t,null))?a[e]:0,u)}function ey(e,t){for(var a,i=t.length,n=0,s=0,o=ei(e),r=Date.now(),l=0;l<i;l++)(n=t[l].getBoundingClientRect()[e]+ek("margin"+o,t[l]))>s&&(s=n);return r=Date.now()-r,es("Parsed "+i+" HTML elements"),es("Element position calculated in "+r+"ms"),(a=r)>D/2&&es("Event throttle increased to "+(D=2*a)+"ms"),s}function ef(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function eg(e,t){var a=document.querySelectorAll("["+t+"]");return 0===a.length&&(eo("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),ey(e,a)}function eb(){return document.querySelectorAll("body *")}function ej(e,t,a,i){var n,s;(function(){function e(e,t){return!(Math.abs(e-t)<=K)}return n=void 0!==a?a:X[j](),s=void 0!==i?i:Z[F](),e(g,n)||v&&e(B,s)})()||"init"===e?(ew(),eA(g=n,B=s,e)):!(e in{init:1,interval:1,size:1})&&(j in E||v&&F in E)?eN(t):e in{interval:1}||es("No change in size detected")}function ex(e,t,a,i){U&&e in k?es("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||es("Trigger event: "+t),"init"===e?ej(e,t,a,i):ee(e,t,a,i))}function ew(){U||(U=!0,es("Trigger event lock on")),clearTimeout(R),R=setTimeout(function(){U=!1,es("Trigger event lock off"),es("--")},y)}function eS(e){g=X[j](),B=Z[F](),eA(g,B,e)}function eN(e){var t=j;j=b,es("Reset trigger event: "+e),ew(),eS("reset"),j=t}function eA(e,t,a,i,n){if(!0===T){var s;void 0===n?n=O:es("Message targetOrigin: "+n),es("Sending message to host page ("+(s=L+":"+e+":"+t+":"+a+(void 0!==i?":"+i:""))+")"),V.postMessage(C+s,n)}}function eP(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}()},96916:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={default:function(){return S},useLinkStatus:function(){return w}};for(var n in i)Object.defineProperty(t,n,{enumerable:!0,get:i[n]});let s=a(13514),o=a(6029),r=s._(a(55729)),l=a(58338),u=a(62472),m=a(9537),d=a(11031),c=a(51400),h=a(30265),p=a(37511),v=a(78876),k=a(14381),y=a(59058),f=new Set;function g(e,t,a,i){if((0,u.isLocalURL)(t)){if(!i.bypassPrefetchedCheck){let n=t+"%"+a+"%"+(void 0!==i.locale?i.locale:"locale"in e?e.locale:void 0);if(f.has(n))return;f.add(n)}e.prefetch(t,a,i).catch(e=>{})}}function b(e){return"string"==typeof e?e:(0,m.formatUrl)(e)}let j=r.default.forwardRef(function(e,t){let a,i,{href:n,as:s,children:m,prefetch:f=null,passHref:j,replace:x,shallow:w,scroll:S,locale:N,onClick:A,onNavigate:P,onMouseEnter:_,onTouchStart:C,legacyBehavior:M=!1,transitionTypes:L,...E}=e;a=m,M&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let I=r.default.useContext(h.RouterContext),T=!1!==f,{href:V,as:O}=r.default.useMemo(()=>
9{if(!I){let e=b(n);return{href:e,as:s?b(s):e}}let[e,t]=(0,l.resolveHref)(I,n,!0);return{href:e,as:s?(0,l.resolveHref)(I,s):t||e}},[I,n,s]),K=r.default.useRef(V),U=r.default.useRef(O);M&&(i=r.default.Children.only(a));let R=M?i&&"object"==typeof i&&i.ref:t,[D,B,H]=(0,p.useIntersection)({rootMargin:"200px"}),F=r.default.useCallback(e=>{(U.current!==O||K.current!==V)&&(H(),U.current=O,K.current=V),D(e)},[O,V,H,D]),z=(0,y.useMergedRef)(F,R);r.default.useEffect(()=>{!I||B&&T&&g(I,V,O,{bypassPrefetchedCheck:!1,locale:N})},[O,V,B,N,T,null==I?void 0:I.locale,I]);let $={ref:z,onClick(e){M||"function"!=typeof A||A(e),M&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(e),!I||e.defaultPrevented||function(e,t,a,i,n,s,o,r,l){let m,{nodeName:d}=e.currentTarget;if(!("A"===d.toUpperCase()&&((m=e.currentTarget.getAttribute("target"))&&"_self"!==m||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which)||e.currentTarget.hasAttribute("download"))){if(!(0,u.isLocalURL)(a)){n&&(e.preventDefault(),location.replace(a));return}e.preventDefault(),(()=>{if(l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let e=null==o||o;"beforePopState"in t?t[n?"replace":"push"](a,i,{shallow:s,locale:r,scroll:e}):t[n?"replace":"push"](i||a,{scroll:e})})()}}(e,I,V,O,x,w,S,N,P)},onMouseEnter(e){M||"function"!=typeof _||_(e),M&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),I&&g(I,V,O,{locale:N,priority:!0,bypassPrefetchedCheck:!0})},onTouchStart:function(e){M||"function"!=typeof C||C(e),M&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),I&&g(I,V,O,{locale:N,priority:!0,bypassPrefetchedCheck:!0})}};if((0,d.isAbsoluteUrl)(O))$.href=O;else if(!M||j||"a"===i.type&&!("href"in i.props)){let e=void 0!==N?N:null==I?void 0:I.locale;$.href=(null==I?void 0:I.isLocaleDomain)&&(0,v.getDomainLocale)(O,e,null==I?void 0:I.locales,null==I?void 0:I.domainLocales)||(0,k.addBasePath)((0,c.addLocale)(O,e,null==I?void 0:I.defaultLocale))}return M?r.default.cloneElement(i,$):(0,o.jsx)("a",{...E,...$,children:a})}),x=(0,r.createContext)({pending:!1}),w=()=>(0,r.useContext)(x),S=j;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},97139:(e,t,a)=>{e.exports=window.DOMPurify||(window.DOMPurify=a(19375).default||a(19375))},97397:(e,t,a)=>{e.exports="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g},97675:e=>{e.exports={md:"min-width: 768px",themeMatchRoot:"ThemeMatchElement_themeMatchRoot__YaJCj",content:"ThemeMatchElement_content__cC9j7",left:"ThemeMatchElement_left__7FCwW",rowSpaceBetween:"ThemeMatchElement_rowSpaceBetween__eM7TW",themes:"ThemeMatchElement_themes__r3Pna",themeMatchContainer:"ThemeMatchElement_themeMatchContainer__JAw95",themeName:"ThemeMatchElement_themeName__clXtk"}},97687:e=>{e.exports={optionRoot:"Option_optionRoot__iBYV4",visibleFocus:"Option_visibleFocus__IL1jP"}},97880:(e,t,a)=>{"use strict";function i(e){return"function"==typeof e&&"applyToOptions"in e}a.d(t,{W:()=>i})},98471:(e,t)=>{"use strict";function a(e,t){var a;let i=e||75;return(null==t||null==(a=t.qualities)?void 0:a.length)?t.qualities.reduce((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e,t.qualities[0]):i}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findClosestQuality",{enumerable:!0,get:function(){return a}})},98499:(e,t,a)=>{var i=a(33573),n=a(23356);e.exports=function(e){if(!n(e))return!1;var t=i(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},98501:e=>{e.exports=function(e,t){for(var a=-1,i=null==e?0:e.length;++a<i;)if(t(e[a],a,e))return!0;return!1}},98936:(e,t,a)=>{"use strict";function i(e){return"string"==typeof e||Array.isArray(e)}a.d(t,{w:()=>i})},99048:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},99230:(e,t,a)=>{"use strict";a.d(t,{j:()=>o});var i=a(92071);let n={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},s=!1;function o(){return!function(){if(s)return;let e={};for(let t in n)e[t]={isEnabled:e=>n[t].some(t=>!!e[t])};(0,i.lr)(e),s=!0}(),(0,i.vK)()}},99606:(e,t,a)=>{"use strict";function i(e){let t=[{},{}];
9return e?.values.forEach((e,a)=>{t[0][a]=e.get(),t[1][a]=e.getVelocity()}),t}function n(e,t,a,n){if("function"==typeof t){let[s,o]=i(n);t=t(void 0!==a?a:e.custom,s,o)}if("string"==typeof t&&(t=e.variants&&e.variants[t]),"function"==typeof t){let[s,o]=i(n);t=t(void 0!==a?a:e.custom,s,o)}return t}a.d(t,{a:()=>n})},99814:e=>{e.exports={md:"min-width: 768px",contentRoot:"StartAgainModal_contentRoot__OKxzb",buttonContainer:"StartAgainModal_buttonContainer__S90pt",buttonContainerCombined:"StartAgainModal_buttonContainerCombined__KWe5r"}}},e=>{var t=t=>e(e.s=t);e.O(0,[593,792],()=>(t(36021),t(80445))),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.