PageSourceSearch

https://www.tehy.fi/sites/default/files/js/js_RbrhOBnSam698WwGYYgB…5Gz9S2LAg6BxdxP1v2thgSlh6yzpB9zsHlPIG00eAdw

js tehy.fi collected 2026-09-24 09:31:04 UTC 18,782 bytes, 20 lines download raw bytes

1/* @license GPL-2.0-or-later https://git.drupalcode.org/project/once/-/raw/v1.0.1/LICENSE.md */
2/*! @drupal/once - v1.0.1 - 2021-06-12 */
3var once=function(){"use strict";var n=/[\11\12\14\15\40]+/,e="data-once",t=document;function r(n,t,r){return n[t+"Attribute"](e,r)}function o(e){if("string"!=typeof e)throw new TypeError("once ID must be a string");if(""===e||n.test(e))throw new RangeError("once ID must not be empty or contain spaces");return'[data-once~="'+e+'"]'}function u(n){if(!(n instanceof Element))throw new TypeError("The element must be an instance of Element");return!0}function i(n,e){void 0===e&&(e=t);var r=n;if(null===n)r=[];else{if(!n)throw new TypeError("Selector must not be empty");"string"!=typeof n||e!==t&&!u(e)?n instanceof Element&&(r=[n]):r=e.querySelectorAll(n)}return Array.prototype.slice.call(r)}function c(n,e,t){return e.filter((function(e){var r=u(e)&&e.matches(n);return r&&t&&t(e),r}))}function f(e,t){var o=t.add,u=t.remove,i=[];r(e,"has")&&r(e,"get").trim().split(n).forEach((function(n){i.indexOf(n)<0&&n!==u&&i.push(n)})),o&&i.push(o);var c=i.join(" ");r(e,""===c?"remove":"set",c)}function a(n,e,t){return c(":not("+o(n)+")",i(e,t),(function(e){return f(e,{add:n})}))}return a.remove=function(n,e,t){return c(o(n),i(e,t),(function(e){return f(e,{remove:n})}))},a.filter=function(n,e,t){return c(o(n),i(e,t))},a.find=function(n,e){return i(n?o(n):"[data-once]",e)},a}();
4
5;
6/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
7window.drupalTranslations={"strings":{"":{"Changed":"Muuttunut","Hide":"Piilossa","Show":"N\u00e4yt\u00e4","No revision":"Ei versioita","Edit":"Muokkaa","Status message":"Tilaviesti","Error message":"Virheviesti","Warning message":"Varoitusviesti","Show row weights":"N\u00e4yt\u00e4 rivien painokertoimet","Hide row weights":"Piilota rivien painokertoimet ","You have unsaved changes.":"Sinulla on tallentamattomia muutoksia.","(active tab)":"(aktiivinen v\u00e4lilehti)","Not restricted":"Ei rajoitettu","Apply":"K\u00e4yt\u00e4","Cancel":"Peruuta","Image":"Kuva","Link":"Linkki","Unlink":"Poista linkki","button":"Painike","Save":"Tallenna","Unlock":"Peruuta ja vapauta lukitus","Open":"Avoin","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Tiedostoa %filename ei voitu ladata. Vain seuraavat tiedostomuodot ovat sallittuja: %extensions.","Enabled":"K\u00e4yt\u00f6ss\u00e4","Disabled":"Ei k\u00e4yt\u00f6ss\u00e4","Hide description":"Piilota kuvaus","Done":"Tehty","Prev":"Edellinen","Next":"Seuraava","Today":"T\u00e4n\u00e4\u00e4n","Jan":"Tam","Feb":"Hel","Mar":"Maa","Apr":"Huh","May":"Toukokuu","Jun":"Kes","Jul":"Hei","Aug":"Elo","Sep":"Syy","Oct":"Lok","Nov":"Mar","Dec":"Jou","Sunday":"Sunnuntai","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Sun":"Su","Mon":"Ma","Tue":"Ti","Wed":"Ke","Thu":"To","Fri":"Pe","Sat":"La","Su":"Su","Mo":"Ma","Tu":"Ti","We":"Ke","Th":"To","Fr":"Pe","Sa":"La","mm\/dd\/yy":"mm\/dd\/yy","All @count items selected":"Kaikki @count kohdetta valittu","Show media item weights":"N\u00e4yt\u00e4 median painokertoimet","By @name on @date":"@name p\u00e4iv\u00e4n\u00e4 @date","By @name":"@name","Caption":"Kuvateksti","Not in menu":"Ei valikossa","Alias: @alias":"Alias: @alias","No alias":"Ei aliasta","Hide summary":"Piilota yhteenveto","Home":"Etusivu","Extend":"Laajenna","Collapse":"Pienenn\u00e4","@label":"@label","Add":"Lis\u00e4\u00e4","Title":"Otsikko","CSS classes":"CSS-luokat","ID":"ID","Advanced":"Edistyneet","Crop image":"Rajaa kuvaa","Automatic alias":"Automaattinen alias","Scheduled for publishing":"Ajastettu julkaistavaksi","Not scheduled":"Ei ajastettu","Insert this token into your form":"Lis\u00e4\u00e4 merkkej\u00e4 kaavakkeeseesi","First click a text field to insert your tokens into.":"Valitse ensin teksti johon merkit sy\u00f6tet\u00e4\u00e4n.","%d character(s) remaining":"%d merkki\u00e4 j\u00e4ljell\u00e4.","Collapse all":"Pienenn\u00e4 kaikki","File upload in progress. Uploaded file may be lost.":"Tiedoston lataaminen k\u00e4ynniss\u00e4. Ladattu tiedosto voidaan menett\u00e4\u00e4.","Loading gallery images":"Ladataan galleriakuvia","Previous":"Edellinen","The image could not be loaded.":"Kuvaa ei voitu ladata.","Close gallery":"Sulje galleria","Open submenu":"Avaa alivalikko","Close submenu":"Sulje alivalikko"},"Long month name":{"January":"tammikuu","February":"helmikuu","March":"maaliskuu","April":"huhtikuu","May":"toukokuu","June":"kes\u00e4kuu","July":"hein\u00e4kuu","August":"elokuu","September":"syyskuu","October":"lokakuu","November":"marraskuu","December":"joulukuu"},"Cookie information":{"Unfortunately you are not able to view this content since you haven\u0027t accepted functional cookies.":"Sallithan toim
7innalliset ev\u00e4steet n\u00e4hd\u00e4ksesi sis\u00e4ll\u00f6n.","Accept cookies":"Salli ev\u00e4steet"},"Juicer":{"Load more":"Lataa lis\u00e4\u00e4","..Read more":"...Lue lis\u00e4\u00e4","...Read more":"...Lue lis\u00e4\u00e4"}},"pluralFormula":{"1":0,"default":1}};;
8window.Drupal={behaviors:{},locale:{}};(function(Drupal,drupalSettings,drupalTranslations,console,Proxy,Reflect){Drupal.throwError=function(error){setTimeout(()=>{throw error;},0);};Drupal.attachBehaviors=function(context,settings){context=context||document;settings=settings||drupalSettings;const behaviors=Drupal.behaviors;Object.keys(behaviors||{}).forEach((i)=>{if(typeof behaviors[i].attach==='function')try{behaviors[i].attach(context,settings);}catch(e){Drupal.throwError(e);}});};Drupal.detachBehaviors=function(context,settings,trigger){context=context||document;settings=settings||drupalSettings;trigger=trigger||'unload';const behaviors=Drupal.behaviors;Object.keys(behaviors||{}).forEach((i)=>{if(typeof behaviors[i].detach==='function')try{behaviors[i].detach(context,settings,trigger);}catch(e){Drupal.throwError(e);}});};Drupal.checkPlain=function(str){str=str.toString().replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');return str;};Drupal.formatString=function(str,args){const processedArgs={};Object.keys(args||{}).forEach((key)=>{switch(key.charAt(0)){case '@':processedArgs[key]=Drupal.checkPlain(args[key]);break;case '!':processedArgs[key]=args[key];break;default:processedArgs[key]=Drupal.theme('placeholder',args[key]);break;}});return Drupal.stringReplace(str,processedArgs,null);};Drupal.stringReplace=function(str,args,keys){if(str.length===0)return str;if(!Array.isArray(keys)){keys=Object.keys(args||{});keys.sort((a,b)=>a.length-b.length);}if(keys.length===0)return str;const key=keys.pop();const fragments=str.split(key);if(keys.length){for(let i=0;i<fragments.length;i++)fragments[i]=Drupal.stringReplace(fragments[i],args,keys.slice(0));}return fragments.join(args[key]);};Drupal.t=function(str,args,options){options=options||{};options.context=options.context||'';if(drupalTranslations?.strings?.[options.context]?.[str])str=drupalTranslations.strings[options.context][str];if(args)str=Drupal.formatString(str,args);return str;};Drupal.url=function(path){return drupalSettings.path.baseUrl+drupalSettings.path.pathPrefix+path;};Drupal.url.toAbsolute=function(url){const urlParsingNode=document.createElement('a');urlParsingNode.setAttribute('href',url);return urlParsingNode.href;};Drupal.url.isLocal=function(url){let absoluteUrl=Drupal.url.toAbsolute(url);let {protocol}=window.location;if(protocol==='http:'&&absoluteUrl.startsWith('https:'))protocol='https:';let baseUrl=`${protocol}//${window.location.host}${drupalSettings.path.baseUrl.slice(0,-1)}`;try{absoluteUrl=decodeURIComponent(absoluteUrl);}catch(e){}try{baseUrl=decodeURIComponent(baseUrl);}catch(e){}return absoluteUrl===baseUrl||absoluteUrl.startsWith(`${baseUrl}/`);};Drupal.formatPlural=function(count,singular,plural,args,options){args=args||{};args['@count']=count;const pluralDelimiter=drupalSettings.pluralDelimiter;const translations=Drupal.t(singular+pluralDelimiter+plural,args,options).split(pluralDelimiter);let index=0;if(drupalTranslations?.pluralFormula)index=count in drupalTranslations.pluralFormula?drupalTranslations.pluralFormula[count]:drupalTranslations.pluralFormula.default;else{if(args['@count']!==1)index=1;}return translations[index];};Drupal.encodePath=function(item){return window.encodeURIComponent(item).replace(/%2F/g,'/');};Drupal.deprecationError=({message})=>{if(drupalSettings.suppressDeprecationErrors===false&&console?.warn)console.warn(`[Deprecation] ${message}`);};Drupal.deprecatedProperty=({target,deprecatedProperty,message})=>{if(!Proxy||!Reflect)return target;return new Proxy(target,{get:(target,key,...rest)=>{if(key===deprecatedProperty)Drupal.deprecationError({message});return Reflect.get(target,key,...rest);}});};Drupal.theme=function(func,...args){if(typeof Drupal.theme?.[func]==='function')return Drupal.theme[func](...args);Drupal.throwError(new TypeError(`Drupal.theme.${func} must be function type.`));};Drupal.theme.placeholder=function(str){return `<em class="placeholder">${Drupal.checkPlain(str)}</em>`;};Drupal.elementIsVisible=function(elem){return !!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);};Drupal.elementIsHidden=function(elem){return !Drupal.elementIsVisible(elem);};})(Drupal,window.drupalSettings,window.drupalTranslations,window.console,window.Proxy,window.Reflect);;
9if(window.jQuery)jQuery.noConflict();document.documentElement.className+=' js';(function(Drupal,drupalSettings){const domReady=(callback)=>{const listener=()=>{callback();document.removeEventListener('DOMContentLoaded',listener);};if(document.readyState!=='loading')setTimeout(callback,0);else document.addEventListener('DOMContentLoaded',listener);};domReady(()=>{Drupal.attachBehaviors(document,drupalSettings);});})(Drupal,window.drupalSettings);;
10Drupal.debounce=function(func,wait,immediate){let timeout;let result;return function(...args){const context=this;const later=function(){timeout=null;if(!immediate)result=func.apply(context,args);};const callNow=immediate&&!timeout;clearTimeout(timeout);timeout=setTimeout(later,wait);if(callNow)result=func.apply(context,args);return result;};};;
11/* @license MIT https://raw.githubusercontent.com/focus-trap/tabbable/v6.3.0/LICENSE */
12/*!
13* tabbable 6.3.0
14* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
15*/
16!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):(t="undefined"!=typeof globalThis?globalThis:t||self,function(){var n=t.tabbable,o=t.tabbable={};e(o),o.noConflict=function(){return t.tabbable=n,o}}())}(this,(function(t){"use strict";var e=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not
16(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],n=e.join(","),o="undefined"==typeof Element,r=o?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,i=!o&&Element.prototype.getRootNode?function(t){var e;return null==t||null===(e=t.getRootNode)||void 0===e?void 0:e.call(t)}:function(t){return null==t?void 0:t.ownerDocument},a=function(t,e){var n;void 0===e&&(e=!0);var o=null==t||null===(n=t.getAttribute)||void 0===n?void 0:n.call(t,"inert");return""===o||"true"===o||e&&t&&a(t.parentNode)},l=function(t,e,o){if(a(t))return[];var i=Array.prototype.slice.apply(t.querySelectorAll(n));return e&&r.call(t,n)&&i.unshift(t),i=i.filter(o)},u=function(t,e,o){for(var i=[],l=Array.from(t);l.length;){var c=l.shift();if(!a(c,!1))if("SLOT"===c.tagName){var d=c.assignedElements(),f=d.length?d:c.children,s=u(f,!0,o);o.flatten?i.push.apply(i,s):i.push({scopeParent:c,candidates:s})}else{r.call(c,n)&&o.filter(c)&&(e||!t.includes(c))&&i.push(c);var p=c.shadowRoot||"function"==typeof o.getShadowRoot&&o.getShadowRoot(c),h=!a(p,!1)&&(!o.shadowRootFilter||o.shadowRootFilter(c));if(p&&h){var v=u(!0===p?c.children:p.children,!0,o);o.flatten?i.push.apply(i,v):i.push({scopeParent:c,candidates:v})}else l.unshift.apply(l,c.children)}}return i},c=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},d=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||function(t){var e,n=null==t||null===(e=t.getAttribute)||void 0===e?void 0:e.call(t,"contenteditable");return""===n||"true"===n}(t))&&!c(t)?0:t.tabIndex},f=function(t,e){return t.tabIndex===e.tabIndex?t.documentOrder-e.documentOrder:t.tabIndex-e.tabIndex},s=function(t){return"INPUT"===t.tagName},p=function(t){return function(t){return s(t)&&"radio"===t.type}(t)&&!function(t){if(!t.name)return!0;var e,n=t.form||i(t),o=function(t){return n.querySelectorAll('input[type="radio"][name="'+t+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)e=o(window.CSS.escape(t.name));else try{e=o(t.name)}catch(t){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",t.message),!1}var r=function(t,e){for(var n=0;n<t.length;n++)if(t[n].checked&&t[n].form===e)return t[n]}(e,t.form);return!r||r===t}(t)},h=function(t){var e=t.getBoundingClientRect(),n=e.width,o=e.height;return 0===n&&0===o},v=function(t,e){var n=e.displayCheck,o=e.getShadowRoot;if("full-native"===n&&"checkVisibility"in t)return!t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if("hidden"===getComputedStyle(t).visibility)return!0;var a=r.call(t,"details>summary:first-of-type")?t.parentElement:t;if(r.call(a,"details:not([open]) *"))return!0;if(n&&"full"!==n&&"full-native"!==n&&"legacy-full"!==n){if("non-zero-area"===n)return h(t)}else{if("function"==typeof o){for(var l=t;t;){var u=t.parentElement,c=i(t);if(u&&!u.shadowRoot&&!0===o(u))return h(t);t=t.assignedSlot?t.assignedSlot:u||c===t.ownerDocument?u:c.host}t=l}if(function(t){var e,n,o,r,a=t&&i(t),l=null===(e=a)||void 0===e?void 0:e.host,u=!1;if(a&&a!==t)for(u=!!(null!==(n=l)&&void 0!==n&&null!==(o=n.ownerDocument)&&void 0!==o&&o.contains(l)||null!=t&&null!==(r=t.ownerDocument)&&void 0!==r&&r.contains(t));!u&&l;){var c,d,f;u=!(null===(d=l=null===(c=a=i(l))||void 0===c?void 0:c.host)||void 0===d||null===(f=d.ownerDocument)||void 0===f||!f.contains(l))}return u}(t))return!t.getClientRects().length;if("legacy-full"!==n)return!0}return!1},b=function(t,e){return!(e.disabled||a(e)||function(t){return s(t)&&"hidden"===t.type}(e)||v(e,t)||function(t){return"DETAILS"===t.tagName&&Array.prototype.slice.apply(t.children).some((function(t){return"SUMMARY"===t.tagName}))}
16(e)||function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var e=t.parentElement;e;){if("FIELDSET"===e.tagName&&e.disabled){for(var n=0;n<e.children.length;n++){var o=e.children.item(n);if("LEGEND"===o.tagName)return!!r.call(e,"fieldset[disabled] *")||!o.contains(t)}return!0}e=e.parentElement}return!1}(e))},y=function(t,e){return!(p(e)||d(e)<0||!b(t,e))},m=function(t){var e=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(e)||e>=0)},g=function(t){var e=[],n=[];return t.forEach((function(t,o){var r=!!t.scopeParent,i=r?t.scopeParent:t,a=function(t,e){var n=d(t);return n<0&&e&&!c(t)?0:n}(i,r),l=r?g(t.candidates):i;0===a?r?e.push.apply(e,l):e.push(i):n.push({documentOrder:o,tabIndex:a,item:t,isScope:r,content:l})})),n.sort(f).reduce((function(t,e){return e.isScope?t.push.apply(t,e.content):t.push(e.content),t}),[]).concat(e)},w=e.concat("iframe").join(",");t.focusable=function(t,e){return(e=e||{}).getShadowRoot?u([t],e.includeContainer,{filter:b.bind(null,e),flatten:!0,getShadowRoot:e.getShadowRoot}):l(t,e.includeContainer,b.bind(null,e))},t.getTabIndex=d,t.isFocusable=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return!1!==r.call(t,w)&&b(e,t)},t.isTabbable=function(t,e){if(e=e||{},!t)throw new Error("No node provided");return!1!==r.call(t,n)&&y(e,t)},t.tabbable=function(t,e){var n;return n=(e=e||{}).getShadowRoot?u([t],e.includeContainer,{filter:y.bind(null,e),flatten:!1,getShadowRoot:e.getShadowRoot,shadowRootFilter:m}):l(t,e.includeContainer,y.bind(null,e)),g(n)}}));
17
18;
19/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
20"use strict";(function(a,b){'use strict';var c=!1,d=!1,e=function(a){a.forEach(function(a){var b=a.querySelector("button"),c=a.parentNode;b.addEventListener("click",function(d){return g(b)?h(a,!1):(i(a,c),h(a,!0)),d.preventDefault(),!1;});}),document.addEventListener("keyup",function(a){27===a.keyCode&&j();}),document.addEventListener("click",function(a){var b=document.querySelector(".main-navigationv2");null==b||a.target==b||b.contains(a.target)||j();});},f=function(a){a.addEventListener("click",function(){var b=document.getElementById("main-navbar"),c=!g(a);a.setAttribute("aria-expanded",c),!0===c?b.classList.add("expanded"):b.classList.remove("expanded");});},g=function(a){return "true"===a.getAttribute("aria-expanded");},h=function(a,b){var c=a.querySelector("a");c&&c.setAttribute("aria-expanded",b);var d=a.querySelector("button");d.setAttribute("aria-expanded",b),!0===b?(d.classList.contains("top-level-item")&&localStorage.setItem("tehy_active_menu",d.dataset.menuId),a.classList.add("open")):a.classList.remove("open"),k();},i=function(a,b){if(a.classList.contains("nav-item"))var c=document;else var c=b;c.querySelectorAll(".has-submenu.open").forEach(function(b){a.contains(b)||h(b,!1);});},j=function(){var a=document.querySelectorAll(".main-navigationv2 .level-2 .open");a&&a.forEach(function(a){h(a,!1);});},k=function(){var a=document.querySelector(".main-navigationv2 .level-1 > .open > .level-2 > .open > .level-3");if(a)if(0<a.querySelectorAll(":scope > .open").length){var b=0;a.querySelectorAll(".open > ul").forEach(function(a){b=Math.max(b,a.offsetHeight+20);}),a.offsetHeight<b&&(a.style.height=b+"px");}else a.style.height="auto";},l=function(a){var b=localStorage.getItem("tehy_active_menu"),c=!1;if(a.forEach(function(a){var d=a.querySelector("button");null!==d&&d.dataset.hasOwnProperty("menuId")&&d.dataset.menuId==b&&(h(a,!0),c=!0);}),!c){var d=document.querySelector("#main-navbar > li");h(d,!0);}};b.behaviors.main_menu={attach:function attach(a){if(!c){var b=a.querySelectorAll("li.has-submenu"),g=a.querySelectorAll("#main-navbar > li");null!=b&&0<b.length&&(c=!0,e(b),l(g));}if(!d){var h=document.querySelector("#main-menu-toggle");null!=h&&(d=!0,f(h));}}};})(jQuery,Drupal);;

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.