sessionStorage.getItem("a42a9ecb") || sessionStorage.setItem("a42a9ecb", JSON.stringify({id: crypto.randomUUID(),start: new Date().getTime(),end: new Date().getTime(),pages: []}));localStorage.getItem("10ba3ee3") || localStorage.setItem("10ba3ee3", JSON.stringify({id: crypto.randomUUID(),addedAt: new Date().getTime()}));var BMCWeb = {site: {"id":"ecd8aca2-e887-4353-bca6-b27491978062","name":"Euan Orlando","type":"Musician","country":{"code":"AU","name":"Australia"},"copyright":{"holder":"BMC Web","year":2026,"message":"© Copyright BMC Web 2026."}},scripts: {},get: {},general: {visibilityChange: new Date().getTime()},view: {id: crypto.randomUUID(),start: new Date().getTime(),end: new Date().getTime()},files: {}};BMCWeb.general.userTimezoneMatches = Intl.DateTimeFormat().resolvedOptions().timeZone === BMCWeb.site.timezone;BMCWeb.scripts.checkUrl = url => { try { new URL(url); return true; } catch { return false; } };BMCWeb.scripts.getSession = function() {var data = JSON.parse(sessionStorage.getItem("a42a9ecb"));data.end = new Date().getTime();sessionStorage.setItem("a42a9ecb", JSON.stringify(data));return {id: data.id,start: data.start,end: data.end,duration: data.end - data.start};};BMCWeb.get.sessionId = () => BMCWeb.scripts.getSession().id;BMCWeb.get.sessionStart = () => BMCWeb.scripts.getSession().start;BMCWeb.get.sessionEnd = () => BMCWeb.scripts.getSession().end;BMCWeb.get.sessionDuration = () => BMCWeb.scripts.getSession().duration;BMCWeb.get.sessionSeconds = () => BMCWeb.scripts.getSession().duration / 1000;BMCWeb.get.activeStatus = () => ({isVisible: document.visibilityState === "visible",changedAt: BMCWeb.general.visibilityChange,changedAgo: new Date().getTime() - BMCWeb.general.visibilityChange});document.addEventListener("visibilitychange", function(){BMCWeb.general.visibilityChange = new Date().getTime();});BMCWeb.scripts.stringToSlug = function(string) {return String(string).toLowerCase().replaceAll("ā", "a").replaceAll("ē", "e").replaceAll("ī", "i").replaceAll("ō", "o").replaceAll("ū", "u").split("").filter((elem) => /^[a-zA-Z0-9 ]+$/.test(elem)).join("").split(" ").filter((elem) => elem).join("-");};var stringToSlug = BMCWeb.scripts.stringToSlug;BMCWeb.scripts.getSearchParams = function(url) {url = url || window.location.href;try {url = new URL(url);} catch (error) {return { success: false, error: "Invalid URL" };};var search = Object.fromEntries(url.searchParams.entries());return { success: true, search };};BMCWeb.scripts.waitForVar = function(gtr, interval = 100) {return new Promise((resolve) => {const timer = setInterval(() => {try {const val = gtr();if (val && typeof val !== "undefined") {clearInterval(timer);resolve(val);};} catch (e) {};}, interval);});};BMCWeb.scripts.toNormalString = str => str.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/[-_]/g, ' ').split(' ').map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join(' ');var toNormalString = BMCWeb.scripts.toNormalString;BMCWeb.scripts.setFavicon = function(url) {let link = document.querySelector("link[rel~='icon']");if (!link) {link = document.createElement('link');link.rel = 'icon';document.head.appendChild(link);};link.href = url;};BMCWeb.scripts.importCSS = function(url) {var link = document.createElement("link");link.rel = "stylesheet";link.href = url;document.head.appendChild(link);};BMCWeb.scripts.importCSS(`https://scripts.bmcweb.co.nz/import?site=${BMCWeb.site.id}&type=style`);BMCWeb.scripts.importJS = function(src) {var s = document.createElement("script");s.src = src;document.head.appendChild(s);};BMCWeb.scripts.getTimezone = function(timeZone) {const date = new Date();const options = {timeZone,year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit',second: '2-digit'};const parts = new Intl.DateTimeFormat('en-US', options).formatToParts(date);const get = type => parts.find(p => p.type === type).value;return new Date(`${get('year')}-${get('month')}-${get('day')}T${get('hour')}:${get('minute')}:${get('second')}`);};var getTimezone = BMCWeb.scripts.getTimezone;BMCWeb.scripts.formatNames = function(names) {const len = names.length;if (len === 0) return '';if (len === 1) return names[0];if (len === 2) return `${names[0]} & ${names[1]}`;return `${names.slice(0, -1).join(', ')} & ${names[len - 1]}`;};BMCWeb.dataFill = {};BMCWeb.scripts.addToDataFill = function(key, value) {BMCWeb.scripts.updateDataFill();if (!key || value === undefined) return { success: false, error: "Missing Content" };if (typeof value !== "string") return { success: false, error: "Value Must Be String" };if (BMCWeb.dataFill[key] === value) return { success: false, error: "Already Exists", value };BMCWeb.dataFill[key] = value;BMCWeb.scripts.updateDataFill();return { success: true, value };};BMCWeb.scripts.updateDataFill = function() {var data = Object.keys(BMCWeb.dataFill).map((key) => key = { key, value: BMCWeb.dataFill[key] });for (var item of data) {function getElem(elem) {if (elem && elem instanceof HTMLElement && elem.innerHTML !== item.value) elem.innerHTML = item.value;};document.querySelectorAll(`[data-fill="${item.key}"]`).forEach((e) => getElem(e));document.querySelectorAll(`[datafill="${item.key}"]`).forEach((e) => getElem(e));document.querySelectorAll(`[filldata="${item.key}"]`).forEach((e) => getElem(e));document.querySelectorAll(`[fillcontent="${item.key}"]`).forEach((e) => getElem(e));document.querySelectorAll(`[content-fill="${item.key}"]`).forEach((e) => getElem(e));};};BMCWeb.scripts.addToDataFill("copyrightMessage", BMCWeb.site.copyrightMessage);BMCWeb.scripts.updateDataFill();document.addEventListener("DOMContentLoaded", BMCWeb.scripts.updateDataFill);document.addEventListener("DOMContentLoaded", function(){function getLogo(logo) {if (logo instanceof HTMLElement) {logo.setAttribute("title", logo.getAttribute("title") || BMCWeb.site.name);};};document.querySelectorAll(`[data-fitlogo]`).forEach(getLogo);document.querySelectorAll(`[fitlogo]`).forEach(getLogo);document.querySelectorAll(`.fitLogo`).forEach(getLogo);document.querySelectorAll(`.fitlogo`).forEach(getLogo);});function getBuildCredits() {function runBuildCredit(elem, col) {var colour = (col === "white" || col === "White" || col === "#FFFFFF" || col === "#FFF") ? "#FFFFFF" : "#000000";var output = `Proudly created by
BMC WEB
`;elem.innerHTML = output;};document.querySelectorAll("[bmc-buildcredit]").forEach((elem) => runBuildCredit(elem, elem.getAttribute("bmc-buildcredit")));document.querySelectorAll("[bmc-buildcredit-white]").forEach((elem) => runBuildCredit(elem, "white"));document.querySelectorAll("[bmc-buildcredit-black]").forEach((elem) => runBuildCredit(elem, "black"));};getBuildCredits();window.addEventListener("focus", getBuildCredits);document.addEventListener("DOMContentLoaded", getBuildCredits);(async function(){const parseItem = json => { try { let r = JSON.parse(json); while(typeof r==='string' && /^[\[\{]/.test(r.trim())) r=JSON.parse(r); return r; } catch { return json; } };var urls = [{ url: "https://scripts.bmcweb.co.nz/data/disclaimer.json", id: "disclaimer" }];await Promise.all(urls.map(async item => {try {var req = await (await fetch(item.url)).text();if (req) {req = parseItem(req);req = Array.isArray(req) ? req.map(parseItem) : req;if (item.id) BMCWeb.files[item.id] = req;};} catch (error) {};}));})();BMCWeb.scripts.getLegal = {privacy: async () => await (await fetch(`https://api.bmcweb.co.nz/legal/import-doc?site=${BMCWeb.site.id}&doc=privacy`)).json(),terms: async () => await (await fetch(`https://api.bmcweb.co.nz/legal/import-doc?site=${BMCWeb.site.id}&doc=terms`)).json()};document.addEventListener("DOMContentLoaded", function(){var comp = window["Components"] || window["components"] || window["comps"];if (comp && Object.keys(comp)?.length) {BMCWeb.components = Object.keys(comp).map((c) => c = {id: c,data: comp[c]}).filter(i => /<\/?[a-z][\s\S]*>/i.test(i.data));};if (BMCWeb.components?.length) BMCWeb.components.forEach((elem) => {["data-component", "component", "data-comp", "site-component"].forEach((key) => {document.querySelectorAll(`[${key}="${elem.id}"]`).forEach((item) => {item.className = elem.id;item.innerHTML = elem.data;});});});document.dispatchEvent(new CustomEvent("complete.componentsLoad"));BMCWeb.scripts.updateDataFill();});BMCWeb.scripts.hexToHsl = hex => {let r = parseInt(hex.slice(1,3), 16) / 255;let g = parseInt(hex.slice(3,5), 16) / 255;let b = parseInt(hex.slice(5,7), 16) / 255;const max = Math.max(r,g,b);const min = Math.min(r,g,b);let h;if (max === min) h = 0;else if (max === r) h = (60 * ((g-b)/(max-min)) + 360) % 360;else if (max === g) h = 60 * ((b-r)/(max-min)) + 120;else h = 60 * ((r-g)/(max-min)) + 240;return h;};sessionStorage.getItem("sessionPages") || sessionStorage.setItem("sessionPages", "[]");BMCWeb.analytics = {notepad: {}};var getBMCEvents = () => {var val = JSON.parse(sessionStorage.getItem("a8e9f3c6"));return [val, []].find(Array.isArray).filter((e) => e.type && e.time);};BMCWeb.scripts.analyticsPing = function() {var pages = JSON.parse(sessionStorage.getItem("sessionPages")) || [];var item = {url: window.location.href,view: BMCWeb.view.id,start: BMCWeb.view.start,end: new Date().getTime(),pathname: window.location.pathname,title: document.title};pages[0]?.url === item.url && pages[0]?.view === item.view ? pages[0] = item : pages.unshift(item);sessionStorage.setItem("sessionPages", JSON.stringify(pages));};BMCWeb.scripts.analyticsPing();window.addEventListener("popstate", BMCWeb.scripts.analyticsPing);window.addEventListener("mousemove", BMCWeb.scripts.analyticsPing);window.addEventListener("focus", BMCWeb.scripts.analyticsPing);window.addEventListener("blur", BMCWeb.scripts.analyticsPing);window.addEventListener("scroll", BMCWeb.scripts.analyticsPing);window.addEventListener("resize", BMCWeb.scripts.analyticsPing);BMCWeb.scripts.logAnalytics = function() {var isWebSocket = false;try {isWebSocket = "WebSocket" in window;} catch (error) {};var data = {url: window.location.href,agent: navigator.userAgent,site: BMCWeb.site.id,time: new Date().getTime(),timeOffset: new Date().getTimezoneOffset(),isWebSocket,device: {platform: navigator.platform,documentSize: [document.documentElement?.scrollWidth, document.documentElement?.scrollHeight],languages: navigator.languages,referer: document.referrer || document.referer},session: BMCWeb.scripts.getSession(),pages: JSON.parse(sessionStorage.getItem("sessionPages")) || []};navigator.sendBeacon(`https://api.bmcweb.co.nz/analytics/log`, JSON.stringify(data));};BMCWeb.scripts.logAnalytics();window.addEventListener("beforeunload", BMCWeb.scripts.logAnalytics);BMCWeb.scripts.periodicPing = function() {return;setTimeout(BMCWeb.scripts.periodicPing, 1000*60*2.5);navigator.sendBeacon("https://api.bmcweb.co.nz/analytics/live", JSON.stringify({sessionId: BMCWeb.scripts.getSession().id,url: window.location.href,site: BMCWeb.site.id}));};BMCWeb.scripts.periodicPing();BMCWeb.scripts.logEvent = function(info = {}) {var con = null;var value = info.data || info.value;if (!info?.type || (!value && value !== 0)) return { success: false, error: "Missing Data" };var type = stringToSlug(info.type).replaceAll("-","");var keys = [["loadtime", "loadduration", "loadingtime", "loadingduration"]];var type = keys.find((e) => e.some(k => k === type))?.[0];if (!type) return { success: false, error: "Invalid Type" };if (type === "loadtime") {var v = [value?.time, value?.duration, value?.loadtime, value?.loadTime].find((e) => typeof e === "number");if (isNaN(v)) return { success: false, error: "Data must be a number" };con = {loadTime: v,title: value.title || value.name};if (!con.title) return { success: false, error: "Missing title" };};if (!con) return { success: false, error: "Unknown error, missing content" };var index = getBMCEvents();index.push({id: crypto.randomUUID(),type,content: con,time: new Date().getTime()});sessionStorage.setItem("a8e9f3c6", JSON.stringify(index));};window.FontAwesomeKitConfig = {"id":99032064,"version":"7.3.1","token":"21d29849a2","method":"css","minify":{"enabled":true},"license":"free","baseUrl":"https://ka-f.fontawesome.com","asyncLoading":{"enabled":false},"autoA11y":{"enabled":false},"baseUrlKit":"https://kit.fontawesome.com","detectConflictsUntil":null,"iconUploads":{},"startupFilename":"free.min.css","v4FontFaceShim":{"enabled":true},"v4shim":{"enabled":true},"v5FontFaceShim":{"enabled":true}};!function(t){"function"==typeof define&&define.amd?define("kit-loader",t):t()}((function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function e(e){for(var n=1;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n-1}(t)&&("URLSearchParams"in window?(a=new URL(t)).searchParams.set("token",r):a=a+"?token="+encodeURIComponent(r)),a=a.toString(),new R((function(t,e){if("function"==typeof n)n(a,{mode:"cors",cache:"default"}).then((function(t){if(t.ok)return t.text();throw new Error("")})).then((function(e){t(e)})).catch(e);else if("function"==typeof o){var r=new o;r.addEventListener("loadend",(function(){this.responseText?t(this.responseText):e(new Error(""))}));["abort","error","timeout"].map((function(t){r.addEventListener(t,(function(){e(new Error(""))}))})),r.open("GET",a),r.send()}else{e(new Error(""))}}))}function q(t,e,n){var o=t;return[[/(url\("?)\.\.\/\.\.\/\.\./g,function(t,n){return"".concat(n).concat(e)}],[/(url\("?)\.\.\/webfonts/g,function(t,o){return"".concat(o).concat(e,"/releases/v").concat(n,"/webfonts")}],[/(url\("?)https:\/\/kit-free([^.])*\.fontawesome\.com/g,function(t,n){return"".concat(n).concat(e)}]].forEach((function(t){var e=r(t,2),n=e[0],a=e[1];o=o.replace(n,a)})),o}function H(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=n.document||r,a=S.bind(S,r,[].concat(v,h.map((function(t){return"fa-".concat(t)}))));t.autoA11y.enabled&&o(a);var i=t.subsetPath&&t.baseUrl+"/"+t.subsetPath,l=[];if(i?l.push({id:"fa-main",addOn:void 0,url:i}):l.push({id:"fa-main",addOn:void 0,url:j(t,{filename:t.startupFilename,minify:t.minify.enabled})}),t.v4shim&&t.v4shim.enabled&&l.push({id:"fa-v4-shims",addOn:"-v4-shims"}),t.v5FontFaceShim&&t.v5FontFaceShim.enabled&&l.push({id:"fa-v5-font-face",addOn:"-v5-font-face"}),t.v4FontFaceShim&&t.v4FontFaceShim.enabled&&l.push({id:"fa-v4-font-face",addOn:"-v4-font-face"}),!i&&t.customIconsCssPath){var s=t.customIconsCssPath.indexOf("kit-upload.css")>-1?t.baseUrlKit:t.baseUrl,u=s+"/"+t.customIconsCssPath;l.push({id:"fa-kit-upload",url:u})}var f=l.map((function(o){return new R((function(r,a){var i=o.url||j(t,{addOn:o.addOn,minify:t.minify.enabled}),l={id:o.id},s=t.subset?l:e(e(e({},n),l),{},{baseUrl:t.baseUrl,version:t.version,id:o.id,contentFilter:function(t,e){return q(t,e.baseUrl,e.version)}});J(i,n).then((function(t){r(z(t,s))})).catch(a)}))}));return R.all(f)}function z(t,e){var n=e.contentFilter||function(t,e){return t},o=document.createElement("style"),r=document.createTextNode(n(t,e));return o.appendChild(r),o.media="all",e.id&&o.setAttribute("id",e.id),e&&e.detectingConflicts&&e.detectionIgnoreAttr&&o.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)),o}function G(t,n){n.autoA11y=t.autoA11y.enabled,"pro"===t.license&&(n.autoFetchSvg=!0,n.fetchSvgFrom=t.baseUrl+"/releases/"+("latest"===t.version?"latest":"v".concat(t.version))+"/svgs",n.fetchUploadedSvgFrom=t.uploadsUrl);var o=[];return t.v4shim.enabled&&o.push(new R((function(o,r){J(j(t,{addOn:"-v4-shims",minify:t.minify.enabled}),n).then((function(t){o(X(t,e(e({},n),{},{id:"fa-v4-shims"})))})).catch(r)}))),o.push(new R((function(o,r){J(t.subsetPath&&t.baseUrl+"/"+t.subsetPath||j(t,{filename:t.startupFilename,minify:t.minify.enabled}),n).then((function(t){var r=X(t,e(e({},n),{},{id:"fa-main"}));o(function(t,e){var n=e&&void 0!==e.autoFetchSvg?e.autoFetchSvg:void 0,o=e&&void 0!==e.autoA11y?e.autoA11y:void 0;void 0!==o&&t.setAttribute("data-auto-a11y",o?"true":"false");n&&(t.setAttributeNode(document.createAttribute("data-auto-fetch-svg")),t.setAttribute("data-fetch-svg-from",e.fetchSvgFrom),t.setAttribute("data-fetch-uploaded-svg-from",e.fetchUploadedSvgFrom));return t}(r,n))})).catch(r)}))),R.all(o)}function X(t,e){var n=document.createElement("SCRIPT"),o=document.createTextNode(t);return n.appendChild(o),n.referrerPolicy="strict-origin",e.id&&n.setAttribute("id",e.id),e&&e.detectingConflicts&&e.detectionIgnoreAttr&&n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)),n}function B(t){var e,n=[],o=document,r=o.documentElement.doScroll,a=(r?/^loaded|^c/:/^loaded|^i|^c/).test(o.readyState);a||o.addEventListener("DOMContentLoaded",e=function(){for(o.removeEventListener("DOMContentLoaded",e),a=1;e=n.shift();)e()}),a?setTimeout(t,0):n.push(t)}function V(t){"undefined"!=typeof MutationObserver&&new MutationObserver(t).observe(document,{childList:!0,subtree:!0})}try{if(window.FontAwesomeKitConfig){var W=window.FontAwesomeKitConfig,Y={detectingConflicts:W.detectConflictsUntil&&new Date<=new Date(W.detectConflictsUntil),detectionIgnoreAttr:"data-fa-detection-ignore",fetch:window.fetch,token:W.token,XMLHttpRequest:window.XMLHttpRequest,document:document},$=document.currentScript,Q=$?$.parentElement:document.head;(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"js"===t.method?G(t,e):"css"===t.method?H(t,e,(function(t){B(t),V(t)})):void 0})(W,Y).then((function(t){t.map((function(t){try{Q.insertBefore(t,$?$.nextSibling:null)}catch(e){Q.appendChild(t)}})),Y.detectingConflicts&&$&&B((function(){$.setAttributeNode(document.createAttribute(Y.detectionIgnoreAttr));var t=function(t,e){var n=document.createElement("script");return e&&e.detectionIgnoreAttr&&n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)),n.src=j(t,{baseFilename:"conflict-detection",fileSuffix:"js",subdir:"js",minify:t.minify.enabled}),n}(W,Y);document.body.appendChild(t)}))})).catch((function(t){console.error("".concat("Font Awesome Kit:"," ").concat(t))}))}}catch(d){console.error("".concat("Font Awesome Kit:"," ").concat(d))}}));