1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4345],{9983:(e,t,r)=>{"use strict";r.d(t,{A:()=>_});var s=r(95155),l=r(38878),o=r.n(l);let _=e=>{let{id:t}=e;return(0,s.jsx)("div",{className:o().heroMesh,"aria-hidden":"true",children:(0,s.jsxs)("svg",{viewBox:"0 0 1440 900",preserveAspectRatio:"xMidYMid slice",children:[(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:t,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:"#ad90cf",stopOpacity:"0.55"}),(0,s.jsx)("stop",{offset:"55%",stopColor:"#623e8c",stopOpacity:"0.28"}),(0,s.jsx)("stop",{offset:"100%",stopColor:"#ad90cf",stopOpacity:"0"})]})}),(0,s.jsx)("path",{d:"M-80 620 C 180 480, 360 760, 620 540 C 880 320, 1040 700, 1520 380",fill:"none",stroke:`url(#${t})`,strokeWidth:"2.5"}),(0,s.jsx)("path",{d:"M-40 420 C 260 280, 420 620, 720 390 C 980 180, 1180 560, 1560 250",fill:"none",stroke:"#ad90cf",strokeOpacity:"0.22",strokeWidth:"1.5"}),(0,s.jsx)("path",{d:"M 180 820 C 420 640, 620 880, 860 620 C 1100 360, 1280 720, 1500 520",fill:"none",stroke:"#623e8c",strokeOpacity:"0.4",strokeWidth:"8"})]})})}},26804:e=>{e.exports={"mat-cell":"styles_mat-cell__uIwhU","mat-footer-cell":"styles_mat-footer-cell__Ee6_q","materialize-red":"styles_materialize-red__zymJh","materialize-red-text":"styles_materialize-red-text__1h9IA","materialize-red-border-bottom":"styles_materialize-red-border-bottom__lO6si","lighten-5":"styles_lighten-5__l6V8k","text-lighten-5":"styles_text-lighten-5__TJgdU","border-bottom-lighten-5":"styles_border-bottom-lighten-5__C0g2_","lighten-4":"styles_lighten-4__hb9J5","text-lighten-4":"styles_text-lighten-4__VIxMK","border-bottom-lighten-4":"styles_border-bottom-lighten-4__9tCLl","lighten-3":"styles_lighten-3__fGv7l","text-lighten-3":"styles_text-lighten-3__J3UDD","border-bottom-lighten-3":"styles_border-bottom-lighten-3__m_k1W","lighten-2":"styles_lighten-2__9_V9H","text-lighten-2":"styles_text-lighten-2__NbAw4","border-bottom-lighten-2":"styles_border-bottom-lighten-2__46kg2","lighten-1":"styles_lighten-1__uHJvb","text-lighten-1":"styles_text-lighten-1__10PmC","border-bottom-lighten-1":"styles_border-bottom-lighten-1__DSgi0","darken-1":"styles_darken-1__deqwy","text-darken-1":"styles_text-darken-1__1euwm","border-bottom-darken-1":"styles_border-bottom-darken-1___stUv","darken-2":"styles_darken-2__apBFp","text-darken-2":"styles_text-darken-2__Rb19_","border-bottom-darken-2":"styles_border-bottom-darken-2__YnFMM","darken-3":"styles_darken-3__ETODa","text-darken-3":"styles_text-darken-3__Af5EI","border-bottom-darken-3":"styles_border-bottom-darken-3__jIojE","darken-4":"styles_darken-4__1fIVB","text-darken-4":"styles_text-darken-4__Cl41N","border-bottom-darken-4":"styles_border-bottom-darken-4__Oq4UW",red:"styles_red__GYW6Z","red-text":"styles_red-text__4fmx9","red-border-bottom":"styles_red-border-bottom__bHqv6","accent-1":"styles_accent-1__qE6Fh","text-accent-1":"styles_text-accent-1__kTQj1","border-bottom-accent-1":"styles_border-bottom-accent-1__Ftbbt","accent-2":"styles_accent-2__KqdJd","text-accent-2":"styles_text-accent-2__pZ_CH","border-bottom-accent-2":"styles_border-bottom-accent-2__3utP7","accent-3":"styles_accent-3__OsLcZ","text-accent-3":"styles_text-accent-3__cwGfc","border-bottom-accent-3":"styles_border-bottom-accent-3__XFmfz","accent-4":"styles_accent-4__c8_tj","text-accent-4":"styles_text-accent-4__MTVI6","border-bottom-accent-4":"styles_border-bottom-accent-4__cRKWz",pink:"styles_pink___hcO3","pink-text":"styles_pink-text__F_Fs7","pink-border-bottom":"styles_pink-border-bottom__qKh5o",purple:"styles_purple__RxOdi","purple-text":"styles_purple-text__wb1Tq","purple-border-bottom":"styles_purple-border-bottom__HG9Iz","deep-purple":"styles_deep-purple__PhF_3","deep-purple-text":"styles_deep-purple-text__eKlUt","deep-purple-border-bottom":"styles_deep-purple-border-bottom__m2Zo0",indigo:"styles_indigo__TNUx5","indigo-text":"styles_indigo-text__c4irP","indigo-border-bottom":"styles_indigo-border-bottom___FwFS",blue:"styles_blue__dSWF5","blue-text":"styles_blue-text__yaHAN","blue-border-bottom":"styles_blue-border-bottom__cNTe5","light-blue":"styles_light-blue__WGshv","light-blue-text":"styles_light-blue-text__Q6N0A","light-blue-border-bottom":"styles_light-blue-border-bottom__Ggbt0",cyan:"styles_cyan__NDW3B","cyan-text":"styles_cyan-text__f1XHf","cyan-border-bottom":"styles_cyan-border-bottom__1e7CI",teal:"styles_teal__r0z3o","teal-text":"styles_teal-text__yEg7L","teal-border-bottom":"styles_teal-border-bottom__bspJ3",green:"styles_green__yDf_z","green-text":"styles_green-text__48ZRP","green-border-bottom":"styles_green-border-bottom__qK3VR","light-green":"styles_light-green__xxrvW","light-green-text":"styles_light-green-text__ABdZq","light-green-border-bottom":"styles_light-green-border-bottom__VWI7q",lime:"styles_lime__LqevB","lime-text":"styles_lime-text__MVCAk","lime-border-bottom":"styles_lime-border-bottom__2tiBh",yellow:"styles_yellow__tGMeU","yellow-text":"styles_yellow-text__3g9mX","yellow-border-bottom":"styles_yellow-border-bottom__NIbcB",amber:"styles_amber__kWNA2","amber-text":"styles_amber-text__u_T1g","amber-border-bottom":"styles_amber-border-bottom__D9Abg",orange:"styles_orange___CZr0","orange-text":"styles_orange-text__0umEG","orange-border-bottom":"styles_orange-border-bottom__RwYpN","deep-orange":"styles_deep-orange___h8fI","deep-orange-text":"styles_deep-orange-text__Y7SR6","deep-orange-border-bottom":"styles_deep-orange-border-bottom__d8CTS",brown:"styles_brown__sfkGQ","brown-text":"styles_brown-text__re3fd","brown-border-bottom":"styles_brown-border-bottom__bTUb6","blue-grey":"styles_blue-grey__n35lM","blue-grey-text":"styles_blue-grey-text__qoeO5","blue-grey-border-bottom":"styles_blue-grey-border-bottom__2CToc",grey:"styles_grey__pKjps","grey-text":"styles_grey-text__MkVjM","grey-border-bottom":"styles_grey-border-bottom__HTE4j",shades:"styles_shades__TwW_c",black:"styles_black__MoMeD","shades-text":"styles_shades-text__4elLA","text-black":"styles_text-black__0gnhR","shades-border-bottom":"styles_shades-border-bottom__tnYo0","border-bottom-black":"styles_border-bottom-black__Iv__l",white:"styles_white__5uul0","text-white":"styles_text-white__1LB89","border-bottom-white":"styles_border-bottom-white__Df7V7",transparent:"styles_transparent__5fBds","text-transparent":"styles_text-transparent__8v6rx","border-bottom-transparent":"styles_border-bottom-transparent__n_ZlO","black-text":"styles_black-text__Ze44L","black-border-bottom":"styles_black-border-bottom__rYzXr","white-text":"styles_white-text__r6Bo7","white-border-bottom":"styles_white-border-bottom__7Dao5","transparent-text":"styles_transparent-text__Q3HOg","transparent-border-bottom":"styles_transparent-border-bottom__rPzea",wrapper:"styles_wrapper__CM_37",canvas:"styles_canvas__CzFsM",overlay:"styles_overlay__sIu7v",title:"styles_title__1sgwi",scoreRow:"styles_scoreRow__X1r6k",lives:"styles_lives__rkxfh",startPrompt:"styles_startPrompt__NJUJv",buttons:"styles_buttons__khbSX",gameOverTitle:"styles_gameOverTitle__kMGD6",wonTitle:"styles_wonTitle__CmXk_"}},38878:e=>{e.exports={"mat-cell":"styles_mat-cell__fWacb","mat-footer-cell":"styles_mat-footer-cell__UHjPd","materialize-red":"styles_materialize-red__YqDCe","materialize-red-text":"styles_materialize-red-text__rzqqP","materialize-red-border-bottom":"styles_materialize-red-border-bottom__EsDeO","lighten-5":"styles_lighten-5__yjrDm","text-lighten-5":"styles_text-lighten-5__jddMB","border-bottom-lighten-5":"styles_border-bottom-lighten-5__Kv6zb","lighten-4":"styles_lighten-4__mvqfl","text-lighten-4":"styles_text-lighten-4__i6CD8","border-bottom-lighten-4":"styles_border-bottom-lighten-4__DZI1G","lighten-3":"styles_lighten-3__TGwX8","text-lighten-3":"styles_text-lighten-3___1SCn","border-bottom-lighten-3":"styles_border-bottom-lighten-3__8W7Nv","lighten-2":"styles_lighten-2__Do96G","text-lighten-2":"styles_text-lighten-2__Nmemj","border-bottom-lighten-2":"styles_border-bottom-lighten-2__uwS4i","lighten-1":"styles_lighten-1__KHAtB","text-lighten-1":"styles_text-lighten-1__paA0p","border-bottom-lighten-1":"styles_border-bottom-lighten-1___o9Jb","darken-1":"styles_darken-1__3Wk_u","text-darken-1":"styles_text-darken-1__1zyFB","border-bottom-darken-1":"styles_border-bottom-darken-1___2v0Q","darken-2":"styles_darken-2__lF4kk","text-darken-2":"styles_text-darken-2__OygVq","border-bottom-darken-2":"styles_border-bottom-darken-2__JBOUC","darken-3":"styles_darken-3__KR9fA","text-darken-3":"styles_text-darken-3__w0bof","border-bottom-darken-3":"styles_border-bottom-darken-3__W5hwo","darken-4":"styles_darken-4__WibaO","text-darken-4":"styles_text-darken-4__w_N_B","border-bottom-darken-4":"styles_border-bottom-darken-4__pYjYu",red:"styles_red__WYwmr","red-text":"styles_red-text__sYHVE","red-border-bottom":"styles_red-border-bottom__yB3z0","accent-1":"styles_accent-1__E5JR_","text-accent-1":"styles_text-accent-1__DOdMx","border-bottom-accent-1":"styles_border-bottom-accent-1__Izf4r","accent-2":"styles_accent-2__CB_so","text-accent-2":"styles_text-accent-2__SU3BL","border-bottom-accent-2":"styles_border-bottom-accent-2__bISS_","accent-3":"styles_accent-3__iWfRt","text-accent-3":"styles_text-accent-3__Ah8oo","border-bottom-accent-3":"styles_border-bottom-accent-3__AYPsy","accent-4":"styles_accent-4__V1vD3","text-accent-4":"styles_text-accent-4__7fdsK","border-bottom-accent-4":"styles_border-bottom-accent-4__eBZ4c",pink:"styles_pink__2_Oi6","pink-text":"styles_pink-text__Jczue","pink-border-bottom":"styles_pink-border-bottom__dEwqk",purple:"styles_purple__v2imM","purple-text":"styles_purple-text__AnEW2","purple-border-bottom":"styles_purple-border-bottom__REtps","deep-purple":"styles_deep-purple__tCtiO","deep-purple-text":"styles_deep-purple-text__F8_bU","deep-purple-border-bottom":"styles_deep-purple-border-bottom__S_43q",indigo:"styles_indigo__qcFXE","indigo-text":"styles_indigo-text__oThRh","indigo-border-bottom":"styles_indigo-border-bottom___0ATF",blue:"styles_blue__iRtuI","blue-text":"styles_blue-text__yuCo5","blue-border-bottom":"styles_blue-border-bottom__XwoRk","light-blue":"styles_light-blue__L1xDR","light-blue-text":"styles_light-blue-text__M92VF","light-blue-border-bottom":"styles_light-blue-border-bottom__QE4Te",cyan:"styles_cyan__LnWU3","cyan-text":"styles_cyan-text__UgslS","cyan-border-bottom":"styles_cyan-border-bottom__hYy0W",teal:"styles_teal__446y2","teal-text":"styles_teal-text__Z0_87","teal-border-bottom":"styles_teal-border-bottom__73Jdq",green:"styles_green__ak99T","green-text":"styles_green-text__gwa5e","green-border-bottom":"styles_green-border-bottom__Z94gq","light-green":"styles_light-green__4m9lN","light-green-text":"styles_light-green-text__mQ8
1E1","light-green-border-bottom":"styles_light-green-border-bottom__seSMr",lime:"styles_lime__DbQSr","lime-text":"styles_lime-text__WTiEo","lime-border-bottom":"styles_lime-border-bottom__Yc_4u",yellow:"styles_yellow__GHfh5","yellow-text":"styles_yellow-text__LiAkS","yellow-border-bottom":"styles_yellow-border-bottom__bKzNC",amber:"styles_amber__rdnW5","amber-text":"styles_amber-text__nzq78","amber-border-bottom":"styles_amber-border-bottom__SeufH",orange:"styles_orange__chBCm","orange-text":"styles_orange-text__SFctV","orange-border-bottom":"styles_orange-border-bottom__VNJMN","deep-orange":"styles_deep-orange__OWjJJ","deep-orange-text":"styles_deep-orange-text__uTF0n","deep-orange-border-bottom":"styles_deep-orange-border-bottom__9Yymn",brown:"styles_brown__qANmP","brown-text":"styles_brown-text__nteWs","brown-border-bottom":"styles_brown-border-bottom__r_YXx","blue-grey":"styles_blue-grey__6X71r","blue-grey-text":"styles_blue-grey-text__4JMwe","blue-grey-border-bottom":"styles_blue-grey-border-bottom__lBU7z",grey:"styles_grey__P0Tue","grey-text":"styles_grey-text__LUG9K","grey-border-bottom":"styles_grey-border-bottom__WYuev",shades:"styles_shades__6j7pd",black:"styles_black___Htoy","shades-text":"styles_shades-text__Suebx","text-black":"styles_text-black__p9zl6","shades-border-bottom":"styles_shades-border-bottom__rsP_H","border-bottom-black":"styles_border-bottom-black__9kXYA",white:"styles_white__FW07O","text-white":"styles_text-white__hTlSU","border-bottom-white":"styles_border-bottom-white__cQFdm",transparent:"styles_transparent__NwpN8","text-transparent":"styles_text-transparent__0JzlJ","border-bottom-transparent":"styles_border-bottom-transparent__maG5m","black-text":"styles_black-text__ZGfVy","black-border-bottom":"styles_black-border-bottom__v__oo","white-text":"styles_white-text__Qf2nx","white-border-bottom":"styles_white-border-bottom__tWvzd","transparent-text":"styles_transparent-text__jBgEe","transparent-border-bottom":"styles_transparent-border-bottom__rmWBa",page:"styles_page__o0h9a",shell:"styles_shell__xXIco",kicker:"styles_kicker__z_QlA",textLink:"styles_textLink__yKOHY",primaryLink:"styles_primaryLink__Op0Kb",hero:"styles_hero__UHIdM",heroMesh:"styles_heroMesh__3P9js",heroMark:"styles_heroMark__Nvhia",heroCopy:"styles_heroCopy__r_4lV",heroLead:"styles_heroLead__RgvWR",heroBack:"styles_heroBack__S7aEY",heroAction:"styles_heroAction__y7vWy",body:"styles_body__XYk3J",formPanel:"styles_formPanel___adCW",actions:"styles_actions__XUQrd",game:"styles_game__RXJwx",order:"styles_order__AuaHs",orderPanel:"styles_orderPanel__cFSPF",empty:"styles_empty__GzG5S"}},60789:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(95155),l=r(98500),o=r.n(l),_=r(9983),n=r(38878),a=r.n(n);let i=e=>{let{mark:t,kicker:r="Broadbent Group",headingId:l,title:n,lead:i,meshId:d,backHref:b,backLabel:y,action:c}=e;return(0,s.jsxs)("section",{className:a().hero,"aria-labelledby":l,children:[(0,s.jsx)(_.A,{id:d??`${l}-mesh`}),(0,s.jsx)("p",{className:a().heroMark,"aria-hidden":"true",children:t}),(0,s.jsxs)("div",{className:a().shell,children:[b?(0,s.jsx)("p",{className:a().heroBack,children:(0,s.jsxs)(o(),{href:b,children:["â ",y??"Back"]})}):null,(0,s.jsxs)("div",{className:a().heroCopy,children:[(0,s.jsx)("p",{className:a().kicker,children:r}),(0,s.jsx)("h1",{id:l,children:n}),i?(0,s.jsx)("p",{className:a().heroLead,children:i}):null,c?(0,s.jsx)("div",{className:a().heroAction,children:c}):null]})]})]})}},64524:(e,t,r)=>{"use strict";r.r(t),r.d(t,{NotFound:()=>f,default:()=>k});var s=r(95155),l=r(12115),o=r(73321),_=r(98500),n=r.n(_),a=r(59283),i=r(68792),d=r(68956),b=r(26804),y=r.n(b);let c="#e8daf8",m={B:["11100","10010","10010","11100","10010","10010","11100"],R:["11100","10010","10010","11100","10100","10010","10001"],O:["01110","10001","10001","10001","10001","10001","01110"],A:["01110","10001","10001","11111","10001","10001","10001"],D:["11100","10010","10010","10010","10010","10010","11100"],E:["11111","10000","10000","11110","10000","10000","11111"],N:["10001","11001","10101","10011","10001","10001","10001"],T:["11111","00100","00100","00100","00100","00100","00100"]};
1function h(e,t,r,s,l,o,_,n){return e<l+_&&e+r>l&&t<o+n&&t+s>o}function u(){let e=(0,l.useRef)(null),[t,r]=(0,l.useState)("idle"),[o,_]=(0,l.useState)(0),[a,i]=(0,l.useState)(3),b=(0,l.useRef)({playerX:302,playerY:440,aliens:[],barriers:[],bullets:[],enemyBulletTimer:0,alienDir:1,alienDown:!1,alienTick:0,alienDownCount:0,moveKeys:0,touchStartX:0,lastTouchX:0,lastHitTime:0,lastShotTime:0}),u=(0,l.useRef)(0),x=(0,l.useRef)(t),g=(0,l.useRef)(a),p=(0,l.useRef)(0);x.current=t,g.current=a;let f=(0,l.useCallback)(()=>{let e,t;b.current={playerX:302,playerY:440,aliens:function(){let e=[];for(let t=0;t<5;t++)for(let r=0;r<11;r++)e.push({x:95+42*r,y:48+30*t,type:function(e,t){let r=["server","app","globe","sitemap","domain","bugs"];return r[(11*e+t)%r.length]}(t,r),row:t,col:r,alive:!0});return e}(),barriers:(t=(640-(40*(e="BROADBENT").length+(e.length-1)*28))/2,e.split("").map((e,r)=>({x:t+68*r,cells:function(e){let t=m[e];if(!t)return[];let r=[];for(let e=0;e<t.length;e++)for(let s=0;s<t[e].length;s++)"1"===t[e][s]&&r.push({x:8*s,y:8*e,health:2});return r}(e)}))),bullets:[],enemyBulletTimer:0,alienDir:1,alienDown:!1,alienTick:0,alienDownCount:0,moveKeys:0,touchStartX:0,lastTouchX:0,lastHitTime:0,lastShotTime:0},_(0),i(3),g.current=3,r("playing")},[]);(0,l.useEffect)(()=>{let s=e.current;if(!s||"playing"!==t)return;let l=s.getContext("2d");if(!l)return;let o=0,n=0,a=e=>{let t=o>0?Math.min(e-o,50):0,s=Math.min((e-o)/16,4);o=e;let d=b.current;0!==d.moveKeys&&(d.playerX+=10*d.moveKeys*(t/16),d.playerX=Math.max(0,Math.min(604,d.playerX)));let y=t/16;d.bullets.forEach(e=>{e.y+=e.dy*y});let m=new Set;d.bullets.forEach(e=>{if(!e.isPlayer)return;let t=e.x-2;d.bullets.forEach(r=>{!r.isPlayer&&h(t,e.y,4,12,r.x,r.y,4,6)&&(m.add(e),m.add(r))})}),d.bullets=d.bullets.filter(t=>{if(m.has(t)||t.y<-10||t.y>490)return!1;if(t.isPlayer){let e=t.x-2,r=!1;if(d.aliens.forEach(s=>{s.alive&&h(e,t.y,4,12,s.x,s.y,36,24)&&(s.alive=!1,_(e=>e+(5-s.row)*10),r=!0)}
1),r||(d.barriers.forEach(s=>{s.cells.forEach(l=>{if(l.health<=0)return;let o=s.x+l.x,_=360+l.y;h(e,t.y,4,12,o,_,8,8)&&(l.health--,r=!0)})}),r))return!1}else{if(h(t.x,t.y,4,6,d.playerX,d.playerY,36,20)){if(0===d.lastHitTime||e-d.lastHitTime>=1500){d.lastHitTime=e;let t=g.current-1;g.current=t,i(t),t<=0&&r("gameover")}t.y=9999}d.barriers.forEach(e=>{e.cells.forEach(r=>{if(r.health<=0)return;let s=e.x+r.x,l=360+r.y;h(t.x,t.y,4,6,s,l,8,8)&&(r.health--,t.y=9999)})})}return t.y>-20&&t.y<500});let x=Math.max(220,550*Math.pow(.97,d.alienDownCount));if(d.alienTick+=t,d.alienTick>=x){d.alienTick=0;let e=d.aliens.filter(e=>e.alive);if(0===e.length)return void r("won");let t=!1;if(e.forEach(e=>{d.alienDown?e.y+=12:(e.x+=12*d.alienDir,(e.x<=0||e.x+36>=640)&&(t=!0))}),d.alienDown&&(d.alienDownCount+=1),t?(d.alienDir*=-1,d.alienDown=!0):d.alienDown=!1,d.enemyBulletTimer+=1,d.enemyBulletTimer>=1&&e.length>0){d.enemyBulletTimer=0;let t=e[Math.floor(Math.random()*e.length)];d.bullets.push({x:t.x+18-2,y:t.y+24,dy:4,isPlayer:!1})}}if(d.aliens.filter(e=>e.alive).reduce((e,t)=>t.y>e?t.y:e,0)+24>=d.playerY-10)return void r("gameover");n=Math.max(0,n-s),l.fillStyle="#180323",l.fillRect(0,0,640,480),d.aliens.forEach(e=>{e.alive&&function(e,t,r,s,l){let o=t+18,_=r+12;switch(e.fillStyle=l,e.strokeStyle=c,e.lineWidth=1,s){case"server":e.fillRect(t+4,r+2,24,16),e.strokeRect(t+4,r+2,24,16);for(let s=1;s<=3;s++)e.strokeStyle="#42255d",e.beginPath(),e.moveTo(t+6,r+4+20*s/4),e.lineTo(t+32-2,r+4+20*s/4),e.stroke();e.strokeStyle=c;break;case"app":{let t=8,r=o-8,s=_-8;for(let l=0;l<2;l++)for(let o=0;o<2;o++)e.fillRect(r+o*(t+2),s+l*(t+2),t,t),e.strokeRect(r+o*(t+2),s+l*(t+2),t,t);break}case"globe":e.beginPath(),e.arc(o,_,8,0,2*Math.PI),e.fill(),e.stroke(),e.beginPath(),e.ellipse(o,_,4.8,8,0,0,2*Math.PI),e.stroke(),e.beginPath(),e.moveTo(o-10+2,_),e.lineTo(o+10-2,_),e.stroke();break;case"sitemap":{let s=5,l={x:o,y:r+6},_={x:t+8,y:r+20-6},n={x:t+32-8,y:r+20-6};e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(_.x,_.y),e.moveTo(l.x,l.y),e.lineTo(n.x,n.y),e.moveTo(_.x,_.y),e.lineTo(n.x,n.y),e.stroke(),[l,_,n].forEach(t=>{e.beginPath(),e.arc(t.x,t.y,s,0,2*Math.PI),e.fill(),e.stroke()});break}case"domain":e.fillRect(t+2,r+4,28,12),e.strokeRect(t+2,r+4,28,12),e.fillStyle=c,e.font="bold 10px sans-serif",e.textAlign="center",e.textBaseline="middle",e.fillText(".com",o,_);break;case"bugs":{let t=8,s=5.6;e.beginPath(),e.ellipse(o,_,t,s,0,0,2*Math.PI),e.fill(),e.stroke(),e.beginPath(),e.moveTo(o-.4*t,_-s),e.lineTo(o-.6*t,r+2),e.moveTo(o+.4*t,_-s),e.lineTo(o+.6*t,r+2),e.stroke(),e.beginPath(),e.arc(o-.6*t,r+2,2,0,2*Math.PI),e.arc(o+.6*t,r+2,2,0,2*Math.PI),e.fill(),e.stroke()}}}(l,e.x,e.y,e.type,["#8b6fb5","#9b7fc5","#ab8fd5"][e.row%3])}),d.barriers.forEach(e=>{var t,r;t=e.cells,r=e.x,t.forEach(e=>{if(e.health<=0)return;let t=r+e.x,s=360+e.y;l.fillStyle=2===e.health?"#4a2d6b":"#6b3d8c",l.strokeStyle="#623e8c",l.lineWidth=1,l.fillRect(t,s,8,8),l.strokeRect(t,s,8,8)})}),d.bullets.forEach(e=>{l.fillStyle=e.isPlayer?"#c9a0f0":"#b080d0",e.isPlayer?l.fillRect(e.x-2,e.y,4,12):l.fillRect(e.x,e.y,4,6)});let p=d.lastHitTime>0&&e-d.lastHitTime<1500&&Math.floor(e/80)%2==0;!function(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.fillStyle=s?"#e05050":"#e8daf8",e.strokeStyle=s?"#ff7070":"#ad90cf",e.lineWidth=1,e.beginPath(),e.moveTo(t+18,r),e.lineTo(t+36,r+20),e.lineTo(t+18+4,r+20-4),e.lineTo(t+18-4,r+20-4),e.lineTo(t,r+20),e.closePath(),e.fill(),e.stroke()}(l,d.playerX,d.playerY,p),u.current=requestAnimationFrame(a)};return u.current=requestAnimationFrame(a),()=>cancelAnimationFrame(u.current)},[t]),(0,l.useEffect)(()=>{let e=e=>{let t=b.current,r="playing"===x.current;("ArrowLeft"===e.key||"a"===e.key||"A"===e.key)&&(t.moveKeys=-1,e.preventDefault()),("ArrowRight"===e.key||"d"===e.key||"D"===e.key)&&(t.moveKeys=1,e.preventDefault()),(" "===e.key||"ArrowUp"===e.key)&&r&&!e.repeat&&(e.preventDefault(),k())},t=e=>{let t=b.current;("ArrowLeft"===e.key||"a"===e.key||"A"===e.key)&&-1===t.moveKeys&&(t.moveKeys=0),("ArrowRight"===e.key||"d"===e.key||"D"===e.key)&&1===t.moveKeys&&(t.moveKeys=0)},r=()=>{b.current.moveKeys=0};return window.addEventListener("keydown",e),window.addEventListener("keyup",t),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t),window.removeEventListener("blur",r)}},[]);let k=(0,l.useCallback)(()=>
1{if("playing"!==x.current)return!1;let e=b.current,t=Date.now();if(t-e.lastShotTime<500||e.bullets.filter(e=>e.isPlayer).length>=8)return!1;e.lastShotTime=t;let r=e.playerX+18;return e.bullets.push({x:r,y:e.playerY,dy:-6,isPlayer:!0}),!0},[]),v=(0,l.useRef)(null),w=(0,l.useCallback)(e=>{if(e.preventDefault(),"playing"!==x.current)return;let t=Date.now();if(t-p.current<250)return;let r=b.current,s="touches"in e?e.touches[0]?.clientX:e.clientX;r.touchStartX=s,r.lastTouchX=s,k()&&(p.current=t)},[k]),j=(0,l.useCallback)(t=>{if("touches"in t&&t.preventDefault(),"playing"!==x.current)return;let r="touches"in t?t.touches[0]?.clientX:t.clientX,s=b.current,l=r-s.lastTouchX;s.lastTouchX=r;let o=e.current?.getBoundingClientRect();if(!o)return;let _=640/o.width;s.playerX+=l*_,s.playerX=Math.max(0,Math.min(604,s.playerX))},[]),T=(0,l.useCallback)(()=>{},[]);return(0,s.jsxs)("div",{ref:v,className:y().wrapper,children:[(0,s.jsx)("canvas",{ref:e,className:y().canvas,width:640,height:480,style:{maxWidth:"100%",height:"auto"},onMouseDown:w,onMouseMove:j,onMouseUp:T,onMouseLeave:T,onTouchStart:w,onTouchMove:j,onTouchEnd:T,tabIndex:0,"aria-label":"404 Space Invaders game"}),"idle"===t&&(0,s.jsxs)("div",{className:y().overlay,children:[(0,s.jsx)("div",{className:y().title,children:"Network Invaders"}),(0,s.jsx)("div",{className:y().startPrompt,children:"Defend the network from bugs. Clear the invaders to continue."}),(0,s.jsx)("div",{className:y().buttons,children:(0,s.jsx)(d.default,{variant:"primary",onClick:f,children:"Start game"})})]}),"playing"===t&&(0,s.jsxs)("div",{className:y().overlay,style:{background:"linear-gradient(to bottom, rgba(24,3,35,0.85) 0%, transparent 70%)",pointerEvents:"none",justifyContent:"flex-start",paddingTop:"8px"},children:[(0,s.jsxs)("div",{className:y().scoreRow,children:[(0,s.jsxs)("span",{children:["Score: ",o]}),(0,s.jsxs)("span",{className:y().lives,children:["Lives: ",a]})]}),(0,s.jsx)("div",{className:y().startPrompt,style:{fontSize:"0.75rem",marginTop:0},children:"A/D or Arrows \xb7 Space or tap to shoot \xb7 Drag on touch"})]}),"gameover"===t&&(0,s.jsxs)("div",{className:y().overlay,children:[(0,s.jsx)("div",{className:y().gameOverTitle,children:"Game over"}),(0,s.jsxs)("div",{className:y().scoreRow,children:["Score: ",o]}),(0,s.jsxs)("div",{className:y().buttons,children:[(0,s.jsx)(d.default,{variant:"primary",onClick:f,children:"Play again"}),(0,s.jsx)(n(),{href:"/",children:(0,s.jsx)(d.default,{variant:"outline-light",children:"Go home"})})]})]}),"won"===t&&(0,s.jsxs)("div",{className:y().overlay,children:[(0,s.jsx)("div",{className:y().wonTitle,children:"You cleared the invaders!"}),(0,s.jsxs)("div",{className:y().scoreRow,children:["Score: ",o]}),(0,s.jsxs)("div",{className:y().buttons,children:[(0,s.jsx)(d.default,{variant:"primary",onClick:f,children:"Play again"}),(0,s.jsx)(n(),{href:"/",children:(0,s.jsx)(d.default,{variant:"outline-light",children:"Go home"})})]})]})]})}var x=r(60789),g=r(38878),p=r.n(g);let f=()=>{let e=new a.A,t=(0,o.usePathname)(),[r,_]=(0,l.useState)(()=>"true"===e.get("error_"+t)),d=(0,l.useRef)(!1);return(0,l.useEffect)(()=>{let e=new a.A;r||d.current||"localhost"===window.location.hostname||(d.current=!0,i.A.Notify.post({title:"Page Not Found",items:[{title:"Domain",message:window.location.host},{title:"Pathname",message:t},{title:"Referrer",message:document.referrer||"No referrer"}],color:"bad"}).then(()=>{_(!0),e.set("error_"+t,!0)}).catch(r=>{_(!0),e.set("error_"+t,!0),console.log(r)}))},[r]),(0,s.jsxs)("main",{className:p().page,children:[(0,s.jsx)(x.A,{mark:"404",headingId:"not-found-heading",title:(0,s.jsxs)(s.Fragment,{children:["Page",(0,s.jsx)("span",{children:"not found"})]}),lead:"The page you are looking for cannot be found. Defend the network below, or head home."}),(0,s.jsx)("section",{className:p().body,"aria-label":"Network defence",children:(0,s.jsxs)("div",{className:p().shell,children:[(0,s.jsx)("div",{className:p().game,children:(0,s.jsx)(u,{})}),(0,s.jsxs)("div",{className:p().actions,children:[(0,s.jsxs)(n(),{href:"/",className:p().primaryLink,children:["Go back home",(0,s.jsx)("span",{"aria-hidden":"true",children:" â"})]}),(0,s.jsx)(n(),{href:"/company/contact",className:p().textLink,children:"Report issue"})]})]})})]})},k=f},68956:(e,t,r)=>{"use strict";r.d(t,{default:()=>d});var s=r(69730),l=r.n(s),o=r(12115),_=r(96522),n=r(88020),a=r(95155);let i=o.forwardRef((e,t)=>
1{let{as:r,bsPrefix:s,variant:o="primary",size:i,active:d=!1,disabled:b=!1,className:y,...c}=e,m=(0,n.oU)(s,"btn"),[h,{tagName:u}]=(0,_.Am)({tagName:r,disabled:b,...c});return(0,a.jsx)(u,{...h,...c,ref:t,disabled:b,className:l()(y,m,d&&"active",o&&`${m}-${o}`,i&&`${m}-${i}`,c.href&&b&&"disabled")})});i.displayName="Button";let d=i},69730:(e,t)=>{var r;!function(){"use strict";var s={}.hasOwnProperty;function l(){for(var e="",t=0;t<arguments.length;t++){var r=arguments[t];r&&(e=o(e,function(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return l.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var r in e)s.call(e,r)&&e[r]&&(t=o(t,r));return t}(r)))}return e}function o(e,t){return t?e?e+" "+t:e+t:e}e.exports?(l.default=l,e.exports=l):void 0===(r=(function(){return l}).apply(t,[]))||(e.exports=r)}()},73321:(e,t,r)=>{"use strict";var s=r(74645);r.o(s,"redirect")&&r.d(t,{redirect:function(){return s.redirect}}),r.o(s,"useParams")&&r.d(t,{useParams:function(){return s.useParams}}),r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},88020:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>c,Jm:()=>b,Wz:()=>y,gy:()=>d,oU:()=>i});var s=r(12115),l=r(95155);let o=["xxl","xl","lg","md","sm","xs"],_=s.createContext({prefixes:{},breakpoints:o,minBreakpoint:"xs"}),{Consumer:n,Provider:a}=_;function i(e,t){let{prefixes:r}=(0,s.useContext)(_);return e||r[t]||t}function d(){let{breakpoints:e}=(0,s.useContext)(_);return e}function b(){let{minBreakpoint:e}=(0,s.useContext)(_);return e}function y(){let{dir:e}=(0,s.useContext)(_);return"rtl"===e}let c=function(e){let{prefixes:t={},breakpoints:r=o,minBreakpoint:_="xs",dir:n,children:i}=e,d=(0,s.useMemo)(()=>({prefixes:{...t},breakpoints:r,minBreakpoint:_,dir:n}),[t,r,_,n]);return(0,l.jsx)(a,{value:d,children:i})}},93694:(e,t,r)=>{Promise.resolve().then(r.bind(r,64524))},96522:(e,t,r)=>{"use strict";r.d(t,{Am:()=>_,Ay:()=>a});var s=r(12115),l=r(95155);let o=["as","disabled"];function _({tagName:e,disabled:t,href:r,target:s,rel:l,role:o,onClick:n,tabIndex:a=0,type:i}){e||(e=null!=r||null!=s||null!=l?"a":"button");let d={tagName:e};if("button"===e)return[{type:i||"button",disabled:t},d];let b=s=>{var l;(!t&&("a"!==e||(l=r)&&"#"!==l.trim())||s.preventDefault(),t)?s.stopPropagation():null==n||n(s)};return"a"===e&&(r||(r="#"),t&&(r=void 0)),[{role:null!=o?o:"button",disabled:void 0,tabIndex:t?void 0:a,href:r,target:"a"===e?s:void 0,"aria-disabled":t||void 0,rel:"a"===e?l:void 0,onClick:b,onKeyDown:e=>{" "===e.key&&(e.preventDefault(),b(e))}},d]}let n=s.forwardRef((e,t)=>{let{as:r,disabled:s}=e,n=function(e,t){if(null==e)return{};var r={};for(var s in e)if(({}).hasOwnProperty.call(e,s)){if(t.indexOf(s)>=0)continue;r[s]=e[s]}return r}(e,o),[a,{tagName:i}]=_(Object.assign({tagName:r,disabled:s},n));return(0,l.jsx)(i,Object.assign({},n,a,{ref:t}))});n.displayName="Button";let a=n}},e=>{e.O(0,[5023,5851,8500,6411,5449,9793,8441,4021,7358],()=>e(e.s=93694)),_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.