CINXE.COM

Yours for the making - Instructables

<!DOCTYPE html><html lang="en" class="no-js is-desktop "><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# ibles-production: http://ogp.me/ns/fb/ibles-production#"><meta charset="utf-8"><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"3a6f258991","applicationID":"969032928","transactionName":"ZARRbBcCC0tSV0QIC11OdU0LABFRXFofCQteBB1ODAYSSwl8XwwBZQhWT0sEAEw=","queueTime":0,"applicationTime":419,"agent":""}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:false},ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"VgYDU1VQChAJUlhSBAMOVFw=",licenseKey:"3a6f258991",applicationID:"969032928"};;/*! For license information please see nr-loader-full-1.283.2.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>p,xN:()=>g});var n=r(3333);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function g(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function p(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.283.2",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>u,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>d});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,u=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9414:(e,t,r)=>{"use strict";r.d(t,{J:()=>c});var n=r(7836),i=r(2646),o=r(944),a=r(3434);const s=new Map;function c(e,t,r,c){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,o.R)(29);const u=function(e){return(e||n.ee).get("logger")}(e),d=(0,a.YM)(u),l=new i.y(n.P);l.level=c.level,l.customAttributes=c.customAttributes;const f=t[r]?.[a.Jt]||t[r];return s.set(f,l),d.inPlace(t,[r],"wrap-logger-",(()=>s.get(f))),u}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},8969:(e,t,r)=>{"use strict";r.d(t,{j:()=>N});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(8154),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(9414);function w(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var A=r(9417),T=r(5603),_=r(5284);const S=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function N(e,t={},p,N){let{init:I,info:P,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();P||(I=H.init,P=H.info,j=H.loader_config),(0,A.xN)(e.agentIdentifier,I||{}),(0,T.a)(e.agentIdentifier,j||{}),P.jsAttributes??={},d.bv&&(P.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,P);const D=(0,A.D0)(e.agentIdentifier),L=[P.beacon,P.errorBeacon];O||(D.proxy.assets&&(S(D.proxy.assets),L.push(D.proxy.assets)),D.proxy.beacon&&L.push(D.proxy.beacon),w(),(0,h.US)("activatedFeatures",_.B),e.runSoftNavOverSpa&&=!0===D.soft_navigations.enabled&&D.feature_flags.includes("soft_nav")),C.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?L:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var w=s.ee.get(e),A=w.get("tracer");E[e]=b.g.OFF,w.on(g.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var T="api-",_=T+"ixn-";function S(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(T,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),(0,R.R)(w,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),(0,x.J)(w,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(T,e,!0,"api")})),p.addPageAction=I(T,"addPageAction",!0,n.K7.genericEvents),p.recordCustomEvent=I(T,"recordCustomEvent",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(T,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return S(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return S("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return S("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),h||(0,a.p)(_+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,w),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(_,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(_,"routeName",void 0,n.K7.softNav):I(T,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,N,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.283.2.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.283.2.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-AvZhj4m+h2B/1kW4uDUzuPHC+lkjrkdXalVNoHyJgrLk7a6iFKNSNge7GsIL8eYZ8zTqKuhnzCa4dbxc+tpeJg==",222:"sha512-iYC8/IszvScsGAJc4YhoK3/RRrYa8Dt4Fx0dMjiPRd/wiJ6bquHHgDpmIPMTULY5f17ZfijdRyIltFMjbQG0ow==",95:"sha512-7nJqBsE9e2w0waUpifeNh5JejezdrAgWS7deetz7SIxIxShxOUsURVpMXZJN4ksOcpN2m3fdUCnna/VQ/1fKoQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.283.2.PROD"]=self["webpackChunk:NRBA-1.283.2.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(8969);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),E=i(2843),A=i(3878),T=i(782),_=i(1863);class S extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),g.RI&&((0,E.u)((()=>(0,w.p)("docHidden",[(0,_.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,_.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(8154);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return D(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(D(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return D(e.error)?e.error:C(e)}function D(e){return e instanceof Error&&!!e.stack}class L extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,_.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,_.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,_.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,_.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,_.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,_.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Ee,Lc:Ae,uP:Te,Rz:_e}=be;class Se extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Te,(function(e,t){this.bstStart=(0,_.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,_.t)()],void 0,a.K7.sessionTrace,r)})),r.on(_e+xe,(function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash})),r.on(_e+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(g.RI&&(e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,w.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,w.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785),ke=i(9414);class He extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;(0,ke.J)(r,g.gm.console,"log",{level:"info"}),(0,ke.J)(r,g.gm.console,"error",{level:"error"}),(0,ke.J)(r,g.gm.console,"warn",{level:"warn"}),(0,ke.J)(r,g.gm.console,"info",{level:"info"}),(0,ke.J)(r,g.gm.console,"debug",{level:"debug"}),(0,ke.J)(r,g.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,S,Se,Ne,he,N,L,Pe,He],loaderType:"pro"})})()})();</script><title>Yours for the making - Instructables</title><meta property="fb:app_id" content="140028286058792"/><meta property="og:site_name" content="Instructables"/><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Instructables is a community for people who like to make things. Come explore, share, and make your next project with us!"/><link rel="shortcut icon" type="image/x-icon" href="/assets/img/siteassets/favicon.ico"/><link rel="apple-touch-icon" href="/assets/img/siteassets/apple-touch-icon.png"/><link rel="apple-touch-icon" sizes="192x192" href="/assets/img/siteassets/apple-touch-icon-192x192.png"/><link rel="apple-touch-icon" sizes="512x512" href="/assets/img/siteassets/apple-touch-icon-512x512.png"/><link rel="canonical" href="https://www.instructables.com/" /><script> (function(Ibles){ Ibles.JST = Ibles.JST || {}; Ibles.pageContext = {}; Ibles.isStaging = false; Ibles.isLoggedIn = false; Ibles.accessCookie = "ibleAccess"; Ibles.loggedInCookie = "loggedIn"; Ibles.userStorageKey = "ibleuser"; })(window.Ibles = window.Ibles || {}); </script><script>function Deferred(){var e=[],t={resolve:function(n){t.then=function(e){e(n)},t.resolve=function(){throw new Error("Deferred already resolved")};var o,a=0;for(;o=e[a++];)o(n);e=null},then:function(t){e.push(t)}};return t}Ibles.readCookie=function(e,t){return(t=RegExp("(^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?decodeURIComponent(t[2]):null},function(e,t){var n=t.readCookie,o=n(t.loggedInCookie),a=n(t.accessCookie);t.isLoggedIn=!!o||!!a;try{var r=localStorage.getItem(t.userStorageKey);t.user=t.isLoggedIn&&r&&JSON.parse(r)}catch(e){}}(window,Ibles),function(e,t){var n=t.className;n=n.replace(/(^|\s)no-js(\s|$)/,"$1$2");var o=Ibles.user;if(Ibles.isLoggedIn&&o){n+=" is-loggedin",o.role&&o.role.indexOf("ADMIN")>=0&&(n+=" is-admin");for(var a=o.occupations,r=0;r<a.length;r++)if(a[r].name.toLowerCase().indexOf("teacher")>=0){n+=" is-teacher";break}}t.className=n}(Ibles,document.documentElement),function(e,t){var n=[],o=[],a=[],r=/p/.test(t.readyState),s="onpageshow"in e?"pageshow":"load";function i(e){return"function"==typeof e}function l(){var e=arguments,t=e[0],o=e[e.length-1];"object"==typeof t&&t.constructor===Object&&(o=t.callback,t=t.test?t.success:t.failure),i(o)&&(!function(e){e.constructor==Array&&e.length&&a.push.apply(a,e)}(t),n.push([o]))}function c(e,n,o){var a=t.createElement("script");for(var r in a.src=e,a.async=!0,n)a.setAttribute(r,n[r]);i(o)&&(a.onload=o);var s=t.getElementsByTagName("script")[0];s.parentNode.insertBefore(a,s)}function d(e,t){r?setTimeout(e,t||32):o.push(e,t)}e.addEventListener(s,(function(){for(r=!0;o[0];)d(o.shift(),o.shift())})),e.sessionReady=l,e.loadJS=l,e.loadJsQueue=n,e.sessionReady=l,e.deferJS=function(e,t,n){i(e)?d(e):d((function(){c(e,{},t)}),n)},e.loadScript=c,e.pageScripts=a}(window,document), /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ function(e){"use strict";e.loadCSS||(e.loadCSS=function(){});var t=loadCSS.relpreload={};if(t.support=function(){var t;try{t=e.document.createElement("link").relList.supports("preload")}catch(e){t=!1}return function(){return t}}(),t.bindMediaToggle=function(e){var t=e.media||"all";function n(){e.addEventListener?e.removeEventListener("load",n):e.attachEvent&&e.detachEvent("onload",n),e.setAttribute("onload",null),e.media=t}e.addEventListener?e.addEventListener("load",n):e.attachEvent&&e.attachEvent("onload",n),setTimeout((function(){e.rel="stylesheet",e.media="only x"})),setTimeout(n,3e3)},t.poly=function(){if(!t.support())for(var n=e.document.getElementsByTagName("link"),o=0;o<n.length;o++){var a=n[o];"preload"!==a.rel||"style"!==a.getAttribute("as")||a.getAttribute("data-loadcss")||(a.setAttribute("data-loadcss",!0),t.bindMediaToggle(a))}},!t.support()){t.poly();var n=e.setInterval(t.poly,500);e.addEventListener?e.addEventListener("load",(function(){t.poly(),e.clearInterval(n)})):e.attachEvent&&e.attachEvent("onload",(function(){t.poly(),e.clearInterval(n)}))}"undefined"!=typeof exports?exports.loadCSS=loadCSS:e.loadCSS=loadCSS}("undefined"!=typeof global?global:this);</script><link href="/assets/BUNDLES/global_desktop_bs2_css.min.css?c=6517cd9cc8" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/global.css?c=6517cd9cc8" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/artifakt.css?c=6517cd9cc8" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/home.css?c=6517cd9cc8" rel="stylesheet" type="text/css" media="screen" /><link rel="stylesheet" href="/assets/js_bundles/63919e42cd/main-BP3FjrTv.css" /><script type="module" crossorigin="" src="/assets/js_bundles/63919e42cd/main-UBfi-y4m.js"></script><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/1672bab6729/bf86358stq/17188ffd570aec1_complete.js" crossorigin="anonymous"></script></head><body class=""><div id="site-announcements" class="site-announcements"><div class="site-announcements-content"></div></div><header id="site-header" class="instructables-header"><div class="logo-nav"><a class="instructables-logo" href="/"><img src="/assets/img/instructables-logo-2023.svg" /></a><div class="main-links"><a href="/projects/"> Projects </a><a href="/contest/"> Contests </a><a href="/teachers/"> Teachers </a></div></div></header><main><div id="react-container" class=""></div><div id="home-container" class="home-wrapper-wrapper full-wrapper home-content clearfix"><div id="site-announcements-page" class="site-announcements-page"><div class="site-announcements-page-content"></div></div><a class="home-content-banner-wrapper" href="https://www.instructables.com/contest/makeithome2025"><div id="home-content-banner" class="home-content-banner" style="background: url(//images.ctfassets.net/jl5ii4oqrdmc/3w2iYYKVXIEKLc2bBSnN0D/f475db4c04084ee838bc8aed2d1fd108/make-it-home-2image.jpg) lightgray 50% / cover no-repeat;" ><div class="home-content-banner-gradient"><div class="home-content-banner-title-block"><div class="text-block"><div class="title"> Make it Home </div><div class="sub-text"> Student Design Contest: Design an affordable housing solution. $50,000 in prizes! </div></div><div class="btn btn-yellow"> Contest Details <img height="24" width="24" src="/assets/svg/nav-arrow-right-alt.svg" /></div></div></div></div></a><div class="home-content-text"><div class="home-content-text-wrap"><div class="home-content-text-box"><h2>Step by Step</h2><p>We make it easy to learn how to make anything, one step at a time. From the stovetop to the workshop, you are sure to be inspired by the awesome projects that are shared everyday.</p></div><div class="home-content-text-box"><h2>Made by You</h2><p>Instructables are created by you. No matter who you are, we all have secret skills to share. Come join our community of curious makers, innovators, teachers, and life long learners who love to share what they make.</p></div><div class="home-content-text-box"><h2>A Happy Place</h2><p>Making things makes people happy. We can&#x27;t prove it, but we know it to be true. Find your happy place, and join one of the friendliest online communities anywhere.</p></div></div></div><hr><div class="home-content-explore"><div class="home-content-explore-wrap"><h2>Explore Projects</h2><div class="home-content-explore-category home-content-explore-category-circuits clearfix"><a href="/circuits/" class="home-content-explore-link"><h3><span class="anchor-text">Circuits</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/All-in-one-RGBW-LEDs-Controller-With-Temperature-a/"><img class="lazyload" data-src="https://content.instructables.com/FGH/FO8G/M7G7O1F8/FGHFO8GM7G7O1F8.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="All-in-one RGBW LEDs Controller With Temperature and PIR Sensors!"><noscript><img src="https://content.instructables.com/FGH/FO8G/M7G7O1F8/FGHFO8GM7G7O1F8.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="All-in-one RGBW LEDs Controller With Temperature and PIR Sensors!"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/All-in-one-RGBW-LEDs-Controller-With-Temperature-a/">All-in-one RGBW LEDs Controller With Temperature and PIR Sensors!</a></strong><span class="ible-author"> by <a href="/member/Giovanni+Aggiustatutto/">Giovanni Aggiustatutto</a></span><span class="ible-channel"> in <a href="/circuits/leds/projects/">LEDs</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 89 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 5.7K </span></span></div></div><div class="home-content-explore-ible"><a href="/Beginner-Tips-for-DIY-Wearable-Tech/"><img class="lazyload" data-src="https://content.instructables.com/FHR/7UM9/M6JCICF7/FHR7UM9M6JCICF7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Beginner Tips for DIY Wearable Tech"><noscript><img src="https://content.instructables.com/FHR/7UM9/M6JCICF7/FHR7UM9M6JCICF7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Beginner Tips for DIY Wearable Tech"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Beginner-Tips-for-DIY-Wearable-Tech/">Beginner Tips for DIY Wearable Tech</a></strong><span class="ible-author"> by <a href="/member/bekathwia/">bekathwia</a></span><span class="ible-channel"> in <a href="/circuits/wearables/projects/">Wearables</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 79 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 13K </span></span></div></div><div class="home-content-explore-ible"><a href="/Portable-Motor-Driven-Siren/"><img class="lazyload" data-src="https://content.instructables.com/FHE/PIIG/M6C7BG2C/FHEPIIGM6C7BG2C.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Portable Motor-Driven Siren"><noscript><img src="https://content.instructables.com/FHE/PIIG/M6C7BG2C/FHEPIIGM6C7BG2C.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Portable Motor-Driven Siren"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Portable-Motor-Driven-Siren/">Portable Motor-Driven Siren</a></strong><span class="ible-author"> by <a href="/member/MarkMakies/">MarkMakies</a></span><span class="ible-channel"> in <a href="/circuits/gadgets/projects/">Gadgets</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 46 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 6.2K </span></span></div></div><div class="home-content-explore-ible"><a href="/ESP32-Edge-AI-Camera/"><img class="lazyload" data-src="https://content.instructables.com/FII/DAZD/M5GRM9I3/FIIDAZDM5GRM9I3.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="ESP32 Edge AI Camera"><noscript><img src="https://content.instructables.com/FII/DAZD/M5GRM9I3/FIIDAZDM5GRM9I3.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="ESP32 Edge AI Camera"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/ESP32-Edge-AI-Camera/">ESP32 Edge AI Camera</a></strong><span class="ible-author"> by <a href="/member/Mukesh_Sankhla/">Mukesh_Sankhla</a></span><span class="ible-channel"> in <a href="/teachers/projects/?groups=university">University+</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 188 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 28K </span></span></div></div><div class="home-content-explore-ible"><a href="/Neo-an-AI-Desktop-Assistant/"><img class="lazyload" data-src="https://content.instructables.com/FDF/U6OQ/M5PPWYP7/FDFU6OQM5PPWYP7.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Neo, an AI Desktop Assistant!"><noscript><img src="https://content.instructables.com/FDF/U6OQ/M5PPWYP7/FDFU6OQM5PPWYP7.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Neo, an AI Desktop Assistant!"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Neo-an-AI-Desktop-Assistant/">Neo, an AI Desktop Assistant!</a></strong><span class="ible-author"> by <a href="/member/eighteen18/">eighteen18</a></span><span class="ible-channel"> in <a href="/circuits/robots/projects/">Robots</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 221 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 18K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-workshop clearfix"><a href="/workshop/" class="home-content-explore-link"><h3><span class="anchor-text">Workshop</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Cretaceous-Concrete/"><img class="lazyload" data-src="https://content.instructables.com/F3G/KVE5/M6NMVPL7/F3GKVE5M6NMVPL7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Cretaceous Concrete"><noscript><img src="https://content.instructables.com/F3G/KVE5/M6NMVPL7/F3GKVE5M6NMVPL7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Cretaceous Concrete"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Cretaceous-Concrete/">Cretaceous Concrete</a></strong><span class="ible-author"> by <a href="/member/Rob+Salmon/">Rob Salmon</a></span><span class="ible-channel"> in <a href="/outside/backyard/projects/">Backyard</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 24 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 2.5K </span></span></div></div><div class="home-content-explore-ible"><a href="/Split-Flap-Display-3D-Printed-Modular-Compact-Encl/"><img class="lazyload" data-src="https://content.instructables.com/F7E/AAZP/M77MZLFF/F7EAAZPM77MZLFF.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Split Flap Display - (3D Printed, Modular, Compact &amp; Enclosed, With Web Interface)"><noscript><img src="https://content.instructables.com/F7E/AAZP/M77MZLFF/F7EAAZPM77MZLFF.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Split Flap Display - (3D Printed, Modular, Compact &amp; Enclosed, With Web Interface)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Split-Flap-Display-3D-Printed-Modular-Compact-Encl/">Split Flap Display - (3D Printed, Modular, Compact &amp; Enclosed, With Web Interface)</a></strong><span class="ible-author"> by <a href="/member/MorganManly/">MorganManly</a></span><span class="ible-channel"> in <a href="/workshop/3d-printing/projects/">3D Printing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 198 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 21K </span></span></div></div><div class="home-content-explore-ible"><a href="/Egg-Cracker-No-Blade-V2/"><img class="lazyload" data-src="https://content.instructables.com/F25/UCO2/M6RX6H7H/F25UCO2M6RX6H7H.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Egg Cracker No Blade V2"><noscript><img src="https://content.instructables.com/F25/UCO2/M6RX6H7H/F25UCO2M6RX6H7H.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Egg Cracker No Blade V2"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Egg-Cracker-No-Blade-V2/">Egg Cracker No Blade V2</a></strong><span class="ible-author"> by <a href="/member/Kevr102/">Kevr102</a></span><span class="ible-channel"> in <a href="/workshop/3d-printing/projects/">3D Printing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 37 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 4.5K </span></span></div></div><div class="home-content-explore-ible"><a href="/A-New-Way-to-Laser-Engrave-Glass/"><img class="lazyload" data-src="https://content.instructables.com/FT2/J3Y4/M63MO318/FT2J3Y4M63MO318.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="A New Way to Laser Engrave Glass"><noscript><img src="https://content.instructables.com/FT2/J3Y4/M63MO318/FT2J3Y4M63MO318.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="A New Way to Laser Engrave Glass"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/A-New-Way-to-Laser-Engrave-Glass/">A New Way to Laser Engrave Glass</a></strong><span class="ible-author"> by <a href="/member/rschoenm/">rschoenm</a></span><span class="ible-channel"> in <a href="/workshop/laser-cutting/projects/">Laser Cutting</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 143 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 20K </span></span></div></div><div class="home-content-explore-ible"><a href="/Mini-Trailer-Shelter-Make-It-Small-But-Serviceable/"><img class="lazyload" data-src="https://content.instructables.com/FBO/QXQC/M5S75FLU/FBOQXQCM5S75FLU.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Mini Trailer Shelter - Make It Small, But Serviceable."><noscript><img src="https://content.instructables.com/FBO/QXQC/M5S75FLU/FBOQXQCM5S75FLU.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Mini Trailer Shelter - Make It Small, But Serviceable."/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Mini-Trailer-Shelter-Make-It-Small-But-Serviceable/">Mini Trailer Shelter - Make It Small, But Serviceable.</a></strong><span class="ible-author"> by <a href="/member/jiaxuanl/">jiaxuanl</a></span><span class="ible-channel"> in <a href="/workshop/3d-design/projects/">3D Design</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 37 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 8.5K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-craft clearfix"><a href="/craft/" class="home-content-explore-link"><h3><span class="anchor-text">Craft</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Bike-Helmet-Ear-Warmers/"><img class="lazyload" data-src="https://content.instructables.com/FHO/7RJB/M7T2LTWC/FHO7RJBM7T2LTWC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Bike Helmet Ear Warmers"><noscript><img src="https://content.instructables.com/FHO/7RJB/M7T2LTWC/FHO7RJBM7T2LTWC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Bike Helmet Ear Warmers"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Bike-Helmet-Ear-Warmers/">Bike Helmet Ear Warmers</a></strong><span class="ible-author"> by <a href="/member/fridator/">fridator</a></span><span class="ible-channel"> in <a href="/craft/sewing/projects/">Sewing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 1 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 87 </span></span></div></div><div class="home-content-explore-ible"><a href="/Create-Mesmerizing-Drawings-on-a-Stand-Mixer/"><img class="lazyload" data-src="https://content.instructables.com/FS5/VEFQ/M7J2IT75/FS5VEFQM7J2IT75.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Create Mesmerizing Drawings on a Stand Mixer!"><noscript><img src="https://content.instructables.com/FS5/VEFQ/M7J2IT75/FS5VEFQM7J2IT75.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Create Mesmerizing Drawings on a Stand Mixer!"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Create-Mesmerizing-Drawings-on-a-Stand-Mixer/">Create Mesmerizing Drawings on a Stand Mixer!</a></strong><span class="ible-author"> by <a href="/member/Tal_Maker_Things/">Tal_Maker_Things</a></span><span class="ible-channel"> in <a href="/craft/art/projects/">Art</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 3 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 547 </span></span></div></div><div class="home-content-explore-ible"><a href="/DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using/"><img class="lazyload" data-src="https://content.instructables.com/FST/DMRC/M6Z2CX9A/FSTDMRCM6Z2CX9A.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="DIY Phone Case | How to Make a New Phone Cover Using Your Old One As a Template"><noscript><img src="https://content.instructables.com/FST/DMRC/M6Z2CX9A/FSTDMRCM6Z2CX9A.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="DIY Phone Case | How to Make a New Phone Cover Using Your Old One As a Template"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using/">DIY Phone Case | How to Make a New Phone Cover Using Your Old One As a Template</a></strong><span class="ible-author"> by <a href="/member/FernMakes/">FernMakes</a></span><span class="ible-channel"> in <a href="/craft/sewing/projects/">Sewing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 17 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 3.4K </span></span></div></div><div class="home-content-explore-ible"><a href="/Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil/"><img class="lazyload" data-src="https://content.instructables.com/FOF/J1X5/M6RX5S2S/FOFJ1X5M6RX5S2S.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Herb Stripper Tool- Make Your Own Cute Utensil"><noscript><img src="https://content.instructables.com/FOF/J1X5/M6RX5S2S/FOFJ1X5M6RX5S2S.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Herb Stripper Tool- Make Your Own Cute Utensil"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil/">Herb Stripper Tool- Make Your Own Cute Utensil</a></strong><span class="ible-author"> by <a href="/member/Mira_bella/">Mira_bella</a></span><span class="ible-channel"> in <a href="/craft/clay/projects/">Clay</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 28 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 4.8K </span></span></div></div><div class="home-content-explore-ible"><a href="/Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin/"><img class="lazyload" data-src="https://content.instructables.com/FC2/D4LL/M67WZOYH/FC2D4LLM67WZOYH.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Stay Warm in Your Favourite Sweatshirt by Replacing Worn Out Cuffs!"><noscript><img src="https://content.instructables.com/FC2/D4LL/M67WZOYH/FC2D4LLM67WZOYH.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Stay Warm in Your Favourite Sweatshirt by Replacing Worn Out Cuffs!"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin/">Stay Warm in Your Favourite Sweatshirt by Replacing Worn Out Cuffs!</a></strong><span class="ible-author"> by <a href="/member/Birdz+of+a+Feather/">Birdz of a Feather</a></span><span class="ible-channel"> in <a href="/craft/knitting-and-crochet/projects/">Knitting &amp; Crochet</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 33 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 2.9K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-cooking clearfix"><a href="/cooking/" class="home-content-explore-link"><h3><span class="anchor-text">Cooking</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Jello-Roll-Ups/"><img class="lazyload" data-src="https://content.instructables.com/FVY/RMA1/M4WRGLCL/FVYRMA1M4WRGLCL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Jello Roll Ups - Jello Pinwheels"><noscript><img src="https://content.instructables.com/FVY/RMA1/M4WRGLCL/FVYRMA1M4WRGLCL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Jello Roll Ups - Jello Pinwheels"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Jello-Roll-Ups/">Jello Roll Ups - Jello Pinwheels</a></strong><span class="ible-author"> by <a href="/member/Penolopy+Bulnick/">Penolopy Bulnick</a></span><span class="ible-channel"> in <a href="/cooking/dessert/projects/">Dessert</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 50 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 3.5K </span></span></div></div><div class="home-content-explore-ible"><a href="/Realistic-Coconut-Cookies/"><img class="lazyload" data-src="https://content.instructables.com/FDM/2P72/M6XMXIAE/FDM2P72M6XMXIAE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Realistic Coconut Cookies"><noscript><img src="https://content.instructables.com/FDM/2P72/M6XMXIAE/FDM2P72M6XMXIAE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Realistic Coconut Cookies"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Realistic-Coconut-Cookies/">Realistic Coconut Cookies</a></strong><span class="ible-author"> by <a href="/member/Jeromina/">Jeromina</a></span><span class="ible-channel"> in <a href="/cooking/cookies/projects/">Cookies</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 66 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 4.2K </span></span></div></div><div class="home-content-explore-ible"><a href="/Ripe-Plantains-Baskets-Filled-With-Meat-and-Guacam/"><img class="lazyload" data-src="https://content.instructables.com/FMN/IJR6/M6P2AA7H/FMNIJR6M6P2AA7H.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Ripe Plantains Baskets Filled With Meat and Guacamole"><noscript><img src="https://content.instructables.com/FMN/IJR6/M6P2AA7H/FMNIJR6M6P2AA7H.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Ripe Plantains Baskets Filled With Meat and Guacamole"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Ripe-Plantains-Baskets-Filled-With-Meat-and-Guacam/">Ripe Plantains Baskets Filled With Meat and Guacamole</a></strong><span class="ible-author"> by <a href="/member/sokamon/">sokamon</a></span><span class="ible-channel"> in <a href="/cooking/snacks-and-appetizers/projects/">Snacks &amp; Appetizers</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 7 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 2.7K </span></span></div></div><div class="home-content-explore-ible"><a href="/Butter-Cookie-Recipe/"><img class="lazyload" data-src="https://content.instructables.com/FKD/28ZF/LSADG0XM/FKD28ZFLSADG0XM.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Butter Cookie Recipe"><noscript><img src="https://content.instructables.com/FKD/28ZF/LSADG0XM/FKD28ZFLSADG0XM.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Butter Cookie Recipe"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Butter-Cookie-Recipe/">Butter Cookie Recipe</a></strong><span class="ible-author"> by <a href="/member/Bublisworldcuisine/">Bublisworldcuisine</a></span><span class="ible-channel"> in <a href="/cooking/cookies/projects/">Cookies</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 59 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 3.6K </span></span></div></div><div class="home-content-explore-ible"><a href="/Strawberry-Fruit-Leather-and-Rollups-Only-3-Ingred/"><img class="lazyload" data-src="https://content.instructables.com/F12/8JY6/M5PC9TGO/F128JY6M5PC9TGO.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Strawberry Fruit Leather and Rollups Only 3 Ingredients and No Dehydrator!"><noscript><img src="https://content.instructables.com/F12/8JY6/M5PC9TGO/F128JY6M5PC9TGO.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Strawberry Fruit Leather and Rollups Only 3 Ingredients and No Dehydrator!"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Strawberry-Fruit-Leather-and-Rollups-Only-3-Ingred/">Strawberry Fruit Leather and Rollups Only 3 Ingredients and No Dehydrator!</a></strong><span class="ible-author"> by <a href="/member/In+The+Kitchen+With+Matt/">In The Kitchen With Matt</a></span><span class="ible-channel"> in <a href="/cooking/snacks-and-appetizers/projects/">Snacks &amp; Appetizers</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 94 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 5.4K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-living clearfix"><a href="/living/" class="home-content-explore-link"><h3><span class="anchor-text">Living</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C/"><img class="lazyload" data-src="https://content.instructables.com/FAN/YGSZ/LZRGCOZ7/FANYGSZLZRGCOZ7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener"><noscript><img src="https://content.instructables.com/FAN/YGSZ/LZRGCOZ7/FANYGSZLZRGCOZ7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C/">Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener</a></strong><span class="ible-author"> by <a href="/member/Rhonda+Chase+Design/">Rhonda Chase Design</a></span><span class="ible-channel"> in <a href="/living/health/projects/">Health</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 55 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 4.5K </span></span></div></div><div class="home-content-explore-ible"><a href="/Virtual-Vette-Racing-Simulator-Built-From-Wrecked-/"><img class="lazyload" data-src="https://content.instructables.com/FMQ/5ONI/M5PCAIWG/FMQ5ONIM5PCAIWG.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Virtual Vette - Racing Simulator Built From Wrecked Corvette"><noscript><img src="https://content.instructables.com/FMQ/5ONI/M5PCAIWG/FMQ5ONIM5PCAIWG.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Virtual Vette - Racing Simulator Built From Wrecked Corvette"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Virtual-Vette-Racing-Simulator-Built-From-Wrecked-/">Virtual Vette - Racing Simulator Built From Wrecked Corvette</a></strong><span class="ible-author"> by <a href="/member/WoodAirGrille/">WoodAirGrille</a></span><span class="ible-channel"> in <a href="/living/video-games/projects/">Video Games</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 97 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 28K </span></span></div></div><div class="home-content-explore-ible"><a href="/Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-/"><img class="lazyload" data-src="https://content.instructables.com/FOH/CKYU/M5B1VQMA/FOHCKYUM5B1VQMA.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)"><noscript><img src="https://content.instructables.com/FOH/CKYU/M5B1VQMA/FOHCKYUM5B1VQMA.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-/">Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)</a></strong><span class="ible-author"> by <a href="/member/xX_christopher_Xx/">xX_christopher_Xx</a></span><span class="ible-channel"> in <a href="/living/toys-and-games/projects/">Toys &amp; Games</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 33 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 8.1K </span></span></div></div><div class="home-content-explore-ible"><a href="/Teabag-Crane/"><img class="lazyload" data-src="https://content.instructables.com/FJU/I8JY/M49WF1XA/FJUI8JYM49WF1XA.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Teabag Crane"><noscript><img src="https://content.instructables.com/FJU/I8JY/M49WF1XA/FJUI8JYM49WF1XA.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Teabag Crane"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Teabag-Crane/">Teabag Crane</a></strong><span class="ible-author"> by <a href="/member/NirL/">NirL</a></span><span class="ible-channel"> in <a href="/living/toys-and-games/projects/">Toys &amp; Games</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 53 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 17K </span></span></div></div><div class="home-content-explore-ible"><a href="/Krite-Creature-Costume-From-Critters-Movie-1986/"><img class="lazyload" data-src="https://content.instructables.com/FC8/LGIZ/M3D19YUE/FC8LGIZM3D19YUE.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Krite Creature Costume From Critters Movie 1986"><noscript><img src="https://content.instructables.com/FC8/LGIZ/M3D19YUE/FC8LGIZM3D19YUE.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Krite Creature Costume From Critters Movie 1986"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Krite-Creature-Costume-From-Critters-Movie-1986/">Krite Creature Costume From Critters Movie 1986</a></strong><span class="ible-author"> by <a href="/member/DAZMAKER/">DAZMAKER</a></span><span class="ible-channel"> in <a href="/craft/costumes-and-cosplay/projects/">Costumes &amp; Cosplay</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 34 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 10K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-outside clearfix"><a href="/outside/" class="home-content-explore-link"><h3><span class="anchor-text">Outside</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Design-Your-Own-E-Bike-Upgrade/"><img class="lazyload" data-src="https://content.instructables.com/FMN/0CMW/M59MI5M3/FMN0CMWM59MI5M3.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Design Your Own E-Bike Upgrade"><noscript><img src="https://content.instructables.com/FMN/0CMW/M59MI5M3/FMN0CMWM59MI5M3.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Design Your Own E-Bike Upgrade"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Design-Your-Own-E-Bike-Upgrade/">Design Your Own E-Bike Upgrade</a></strong><span class="ible-author"> by <a href="/member/tylon22/">tylon22</a></span><span class="ible-channel"> in <a href="/outside/bikes/projects/">Bikes</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 63 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 10K </span></span></div></div><div class="home-content-explore-ible"><a href="/3D-Printed-Fishing-Lure-Rotating-Drying-Station/"><img class="lazyload" data-src="https://content.instructables.com/F3D/D6Z5/M4E6QW06/F3DD6Z5M4E6QW06.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="3D Printed Fishing Lure Rotating Drying Station"><noscript><img src="https://content.instructables.com/F3D/D6Z5/M4E6QW06/F3DD6Z5M4E6QW06.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="3D Printed Fishing Lure Rotating Drying Station"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/3D-Printed-Fishing-Lure-Rotating-Drying-Station/">3D Printed Fishing Lure Rotating Drying Station</a></strong><span class="ible-author"> by <a href="/member/3DMadeByLouis/">3DMadeByLouis</a></span><span class="ible-channel"> in <a href="/outside/fishing/projects/">Fishing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 34 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 7.9K </span></span></div></div><div class="home-content-explore-ible"><a href="/Project-Olympus-a-Model-Rocketry-Electronic-Payloa/"><img class="lazyload" data-src="https://content.instructables.com/F2V/FTZ3/M2XBFNMY/F2VFTZ3M2XBFNMY.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Project: Olympus - a Model Rocketry Electronic Payload Project"><noscript><img src="https://content.instructables.com/F2V/FTZ3/M2XBFNMY/F2VFTZ3M2XBFNMY.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Project: Olympus - a Model Rocketry Electronic Payload Project"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Project-Olympus-a-Model-Rocketry-Electronic-Payloa/">Project: Olympus - a Model Rocketry Electronic Payload Project</a></strong><span class="ible-author"> by <a href="/member/Austin_Aerospace_Education/">Austin_Aerospace_Education</a></span><span class="ible-channel"> in <a href="/outside/rockets/projects/">Rockets</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 96 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 11K </span></span></div></div><div class="home-content-explore-ible"><a href="/Discover-a-New-Mushroom-Species/"><img class="lazyload" data-src="https://content.instructables.com/F46/220U/M085INBH/F46220UM085INBH.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="“Discover” a New Mushroom Species"><noscript><img src="https://content.instructables.com/F46/220U/M085INBH/F46220UM085INBH.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="“Discover” a New Mushroom Species"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Discover-a-New-Mushroom-Species/">“Discover” a New Mushroom Species</a></strong><span class="ible-author"> by <a href="/member/chainie/">chainie</a></span><span class="ible-channel"> in <a href="/outside/backyard/projects/">Backyard</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 44 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 6.6K </span></span></div></div><div class="home-content-explore-ible"><a href="/DIY-Solar-Mason-Jar-Lamp/"><img class="lazyload" data-src="https://content.instructables.com/F15/J3V2/M09KYI60/F15J3V2M09KYI60.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="DIY Solar Mason Jar Lamp"><noscript><img src="https://content.instructables.com/F15/J3V2/M09KYI60/F15J3V2M09KYI60.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="DIY Solar Mason Jar Lamp"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/DIY-Solar-Mason-Jar-Lamp/">DIY Solar Mason Jar Lamp</a></strong><span class="ible-author"> by <a href="/member/opengreenenergy/">opengreenenergy</a></span><span class="ible-channel"> in <a href="/outside/camping/projects/">Camping</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i> 1 </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 158 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 14K </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-teachers clearfix"><a href="/teachers/" class="home-content-explore-link"><h3><span class="anchor-text">Teachers</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Tinkercad-Robotics-for-School-SIMLAB-KOMBAT-virtua/"><img class="lazyload" data-src="https://content.instructables.com/F29/A4XV/M6C7B9MU/F29A4XVM6C7B9MU.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)"><noscript><img src="https://content.instructables.com/F29/A4XV/M6C7B9MU/F29A4XVM6C7B9MU.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Tinkercad-Robotics-for-School-SIMLAB-KOMBAT-virtua/">Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)</a></strong><span class="ible-author"> by <a href="/member/M.C.+Langer/">M.C. Langer</a></span><span class="ible-channel"> in <a href="/teachers/projects/?groups=6-8">Grades 6-8</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 33 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 2.8K </span></span></div></div><div class="home-content-explore-ible"><a href="/Creating-Perfectly-Looping-Animations-With-Python/"><img class="lazyload" data-src="https://content.instructables.com/FHX/0WS6/M3D1AJ62/FHX0WS6M3D1AJ62.webp?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Creating Perfectly Looping Animations With Python"><noscript><img src="https://content.instructables.com/FHX/0WS6/M3D1AJ62/FHX0WS6M3D1AJ62.webp?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Creating Perfectly Looping Animations With Python"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Creating-Perfectly-Looping-Animations-With-Python/">Creating Perfectly Looping Animations With Python</a></strong><span class="ible-author"> by <a href="/member/i95sarmiento/">i95sarmiento</a></span><span class="ible-channel"> in <a href="/teachers/projects/?groups=university">University+</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 173 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 13K </span></span></div></div><div class="home-content-explore-ible"><a href="/How-to-Use-Sockets-and-Joint-Connectors-in-Tinkerc/"><img class="lazyload" data-src="https://content.instructables.com/FLQ/7TQD/M10QBHNI/FLQ7TQDM10QBHNI.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="How to Use Sockets and Joint Connectors in Tinkercad"><noscript><img src="https://content.instructables.com/FLQ/7TQD/M10QBHNI/FLQ7TQDM10QBHNI.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="How to Use Sockets and Joint Connectors in Tinkercad"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/How-to-Use-Sockets-and-Joint-Connectors-in-Tinkerc/">How to Use Sockets and Joint Connectors in Tinkercad</a></strong><span class="ible-author"> by <a href="/member/Penolopy+Bulnick/">Penolopy Bulnick</a></span><span class="ible-channel"> in <a href="/workshop/3d-design/projects/">3D Design</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 124 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 11K </span></span></div></div><div class="home-content-explore-ible"><a href="/Explore-the-Physics-of-Soap-Films-With-the-SoapFil/"><img class="lazyload" data-src="https://content.instructables.com/FAV/1BFD/LYYFEC03/FAV1BFDLYYFEC03.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Explore the Physics of Soap Films With the SoapFilmScope"><noscript><img src="https://content.instructables.com/FAV/1BFD/LYYFEC03/FAV1BFDLYYFEC03.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Explore the Physics of Soap Films With the SoapFilmScope"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Explore-the-Physics-of-Soap-Films-With-the-SoapFil/">Explore the Physics of Soap Films With the SoapFilmScope</a></strong><span class="ible-author"> by <a href="/member/DaniloR29/">DaniloR29</a></span><span class="ible-channel"> in <a href="/teachers/projects/?groups=university">University+</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 74 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 9.8K </span></span></div></div><div class="home-content-explore-ible"><a href="/Spring-Loaded-Mini-Relief-Print-Press/"><img class="lazyload" data-src="https://content.instructables.com/FN9/RA3M/LY4F7JG4/FN9RA3MLY4F7JG4.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Spring Loaded Mini Relief Print Press."><noscript><img src="https://content.instructables.com/FN9/RA3M/LY4F7JG4/FN9RA3MLY4F7JG4.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Spring Loaded Mini Relief Print Press."/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Spring-Loaded-Mini-Relief-Print-Press/">Spring Loaded Mini Relief Print Press.</a></strong><span class="ible-author"> by <a href="/member/Kevr102/">Kevr102</a></span><span class="ible-channel"> in <a href="/craft/art/projects/">Art</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i> 177 </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i> 16K </span></span></div></div></div></div></div></div></div></div></main><footer id="footer" class="footer footer-desktop "><div class="footer-row footer-row-top"><div class="footer-robot robot-icon robot-icon-"></div><div class="footer-categories"><span class="title">Categories</span><ul class="footer-categories-links"><li class="circuits "><a href="/circuits/"><div class="category-icon icon-category-circuits"></div>Circuits </a></li><li class="workshop "><a href="/workshop/"><div class="category-icon icon-category-workshop"></div>Workshop </a></li><li class="craft "><a href="/craft/"><div class="category-icon icon-category-craft"></div>Craft </a></li><li class="cooking "><a href="/cooking/"><div class="category-icon icon-category-cooking"></div>Cooking </a></li><li class="living "><a href="/living/"><div class="category-icon icon-category-living"></div>Living </a></li><li class="outside "><a href="/outside/"><div class="category-icon icon-category-outside"></div>Outside </a></li><li class="teachers "><a href="/teachers/"><div class="category-icon icon-category-teachers"></div>Teachers </a></li></ul></div><div class="footer-about-us"><span class="title">About Us</span><ul><li><a href="/about/">Who We Are</a></li><li><a href="/create/">Why Publish?</a></li></ul></div><div class="footer-resources"><span class="title">Resources</span><ul><li><a href="/sitemap/">Sitemap</a></li><li><a href="/how-to-write-a-great-instructable/">Help</a></li><li><a href="/contact/">Contact</a></li></ul></div><div class="footer-find-us"><span class="title">Find Us</span><ul><li><a class="instagram" href="https://www.instagram.com/instructables/" title="Instagram"><i class="svg-icon svg-share-instagram"></i></a></li><li><a class="tiktok" href="https://www.tiktok.com/@instructables" title="TikTok"><i class="svg-icon svg-share-tiktok"></i></a></li></ul></div></div><div class="footer-rule"><hr/></div><div class="footer-row footer-row-bottom"><div class="footer-links"><p>© 2025 Autodesk, Inc.</p><ul class="footer-links-list"><li><a href="https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/instructables-terms-of-service-june-5-2013" target="_blank">Terms of Service</a><span class="divider">|</span></li><li><a href="https://www.autodesk.com/company/legal-notices-trademarks/privacy-statement" target="_blank">Privacy Statement</a><span class="divider">|</span></li><li><a data-opt-in-preferences="">Privacy settings</a><span class="divider">|</span></li><li><a href="https://www.autodesk.com/company/legal-notices-trademarks" target="_blank">Legal Notices &amp; Trademarks</a></li></ul><a href="https://www.autodesk.com" class="adsk-logo" target="blank"><img alt="Autodesk" src="/assets/img/footer/autodesk-logo-primary-white.png"/></a></div></div></footer><script id="js-page-context" type="application/json">{"mobile":false,"accessCookie":"ibleAccess","sessionCookie":"JSESSIONID","loggedInCookie":"loggedIn","awsAlbCookie":"AWSALB","sourceCookie":"iblesource","userStorageKey":"ibleuser","remoteHost":"https://www.instructables.com","remoteRoot":"https://www.instructables.com/","staticRoot":"/assets/","facebookAppId":"140028286058792","recaptchaSiteKey":"6Le9TAwTAAAAADEB44pkYQS2fm7hroFthrNqnoAb","oauthCallbackUrl":"https://www.instructables.com/oauth/callback/","oauthGetAuthUrl":"https://www.instructables.com/oauth/getAuthUrl/","nativeApp":false,"disableEmailVerifyWidget":false,"cacheUrls":["https://www.instructables.com/","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=circuits","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=workshop&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Portable-Motor-Driven-Siren&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=craft&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Egg-Cracker-No-Blade-V2&exclude=Mini-Trailer-Shelter-Make-It-Small-But-Serviceable&exclude=Portable-Motor-Driven-Siren&exclude=Split-Flap-Display-3D-Printed-Modular-Compact-Encl&exclude=Cretaceous-Concrete&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant&exclude=A-New-Way-to-Laser-Engrave-Glass","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=cooking&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Egg-Cracker-No-Blade-V2&exclude=Mini-Trailer-Shelter-Make-It-Small-But-Serviceable&exclude=DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using&exclude=Portable-Motor-Driven-Siren&exclude=Split-Flap-Display-3D-Printed-Modular-Compact-Encl&exclude=Create-Mesmerizing-Drawings-on-a-Stand-Mixer&exclude=Cretaceous-Concrete&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant&exclude=A-New-Way-to-Laser-Engrave-Glass&exclude=Bike-Helmet-Ear-Warmers&exclude=Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil&exclude=Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=living&exclude=Egg-Cracker-No-Blade-V2&exclude=DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using&exclude=Split-Flap-Display-3D-Printed-Modular-Compact-Encl&exclude=Cretaceous-Concrete&exclude=Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil&exclude=Realistic-Coconut-Cookies&exclude=Butter-Cookie-Recipe&exclude=Portable-Motor-Driven-Siren&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=Bike-Helmet-Ear-Warmers&exclude=Jello-Roll-Ups&exclude=Mini-Trailer-Shelter-Make-It-Small-But-Serviceable&exclude=Strawberry-Fruit-Leather-and-Rollups-Only-3-Ingred&exclude=Create-Mesmerizing-Drawings-on-a-Stand-Mixer&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant&exclude=A-New-Way-to-Laser-Engrave-Glass&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Ripe-Plantains-Baskets-Filled-With-Meat-and-Guacam&exclude=Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=outside&exclude=Egg-Cracker-No-Blade-V2&exclude=DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using&exclude=Split-Flap-Display-3D-Printed-Modular-Compact-Encl&exclude=Cretaceous-Concrete&exclude=Virtual-Vette-Racing-Simulator-Built-From-Wrecked-&exclude=Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil&exclude=Realistic-Coconut-Cookies&exclude=Butter-Cookie-Recipe&exclude=Portable-Motor-Driven-Siren&exclude=Krite-Creature-Costume-From-Critters-Movie-1986&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=Bike-Helmet-Ear-Warmers&exclude=Jello-Roll-Ups&exclude=Mini-Trailer-Shelter-Make-It-Small-But-Serviceable&exclude=Strawberry-Fruit-Leather-and-Rollups-Only-3-Ingred&exclude=Create-Mesmerizing-Drawings-on-a-Stand-Mixer&exclude=Teabag-Crane&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant&exclude=A-New-Way-to-Laser-Engrave-Glass&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Ripe-Plantains-Baskets-Filled-With-Meat-and-Guacam&exclude=Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-&exclude=Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C&exclude=Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=teachers&exclude=Egg-Cracker-No-Blade-V2&exclude=DIY-Phone-Case-How-to-Make-a-New-Phone-Cover-Using&exclude=Project-Olympus-a-Model-Rocketry-Electronic-Payloa&exclude=DIY-Solar-Mason-Jar-Lamp&exclude=Split-Flap-Display-3D-Printed-Modular-Compact-Encl&exclude=Cretaceous-Concrete&exclude=Virtual-Vette-Racing-Simulator-Built-From-Wrecked-&exclude=Herb-Stripper-Tool-Make-Your-Own-Cute-Utensil&exclude=Realistic-Coconut-Cookies&exclude=Butter-Cookie-Recipe&exclude=Portable-Motor-Driven-Siren&exclude=3D-Printed-Fishing-Lure-Rotating-Drying-Station&exclude=Krite-Creature-Costume-From-Critters-Movie-1986&exclude=Beginner-Tips-for-DIY-Wearable-Tech&exclude=Bike-Helmet-Ear-Warmers&exclude=Jello-Roll-Ups&exclude=Mini-Trailer-Shelter-Make-It-Small-But-Serviceable&exclude=Strawberry-Fruit-Leather-and-Rollups-Only-3-Ingred&exclude=Create-Mesmerizing-Drawings-on-a-Stand-Mixer&exclude=Teabag-Crane&exclude=ESP32-Edge-AI-Camera&exclude=Neo-an-AI-Desktop-Assistant&exclude=A-New-Way-to-Laser-Engrave-Glass&exclude=All-in-one-RGBW-LEDs-Controller-With-Temperature-a&exclude=Discover-a-New-Mushroom-Species&exclude=Ripe-Plantains-Baskets-Filled-With-Meat-and-Guacam&exclude=Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-&exclude=Design-Your-Own-E-Bike-Upgrade&exclude=Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C&exclude=Stay-Warm-in-Your-Favourite-Sweatshirt-by-Replacin"],"extraCacheUrls":[],"commitInfo":{"git_hash":"6517cd9cc8","commit_message":"Merge pull request #1536 from instructables/IN-8167-improve-gift-acceptance"},"cdnUrlUserContent":"https://content.instructables.com","cdnUrlInternal":"https://content.instructables.com","cdnUrls":["https://content.instructables.com","https://content.instructables.com","https://content.instructables.com"],"xhrTimeoutMilliseconds":30000.0,"imageFileExtensions":["jpg","jpeg","gif","png","bmp"],"uploadableFileTypes":["bmp","gif","img","jpg","jpeg","pct","pict","png","raw","tif","tiff","avi","mov","mpg","mpeg","mp4","ogg","ram","webm","wmv","3gp","aaf","aif","aiff","mp3","wav","ai","apk","asc","asy","bat","brd","c","cdr","cpp","crw","csv","dru","dwg","dxf","eps","fzz","f3d","g","gco","gcode","gz","h","hex","iam","indd","ino","ipt","key","lbr","m3u","pde","pdf","psd","py","rtfsch","skp","sldprt","step","stl","studio2","studio3","sub","svg","swf","txt","visuino","vsd","wpr","xml","3mf"],"collectionLimit":300,"typesenseProxy":"/api_proxy/search","typesenseApiKey":"aVRXWEZhelk3RlYway94RVRCUk5kdmhjRzc3VGF6RW1UVVIxSXdvWlh3ST02ZWFYeyJleGNsdWRlX2ZpZWxkcyI6Im91dF9vZixzZWFyY2hfdGltZV9tcyxzdGVwQm9keSIsInBlcl9wYWdlIjo2MH0=","countries":[["US","United States"],["AF","Afghanistan"],["AL","Albania"],["DZ","Algeria"],["AS","American Samoa"],["AD","Andorra"],["AO","Angola"],["AI","Anguilla"],["AQ","Antarctica"],["AG","Antigua and Barbuda"],["AR","Argentina"],["AM","Armenia"],["AW","Aruba"],["AU","Australia"],["AT","Austria"],["AZ","Azerbaijan"],["BS","Bahamas"],["BH","Bahrain"],["BD","Bangladesh"],["BB","Barbados"],["BE","Belgium"],["BZ","Belize"],["BJ","Benin"],["BM","Bermuda"],["BT","Bhutan"],["BO","Bolivia"],["BQ","Bonaire, Sint Eustatius and Saba"],["BA","Bosnia and Herzegovina"],["BW","Botswana"],["BV","Bouvet Island"],["BR","Brazil"],["IO","British Indian Ocean Territory"],["BN","Brunei Darussalam"],["BG","Bulgaria"],["BF","Burkina Faso"],["BI","Burundi"],["CV","Cabo Verde"],["KH","Cambodia"],["CM","Cameroon"],["CA","Canada"],["KY","Cayman Islands"],["CF","Central African Republic"],["TD","Chad"],["CL","Chile"],["CN","China"],["CX","Christmas Island"],["CC","Cocos (Keeling) Islands"],["CO","Colombia"],["KM","Comoros"],["CG","Congo"],["CD","Congo, The Democratic Republic of the"],["CK","Cook Islands"],["CR","Costa Rica"],["HR","Croatia"],["CW","Cura\u00e7ao"],["CY","Cyprus"],["CZ","Czechia"],["CI","C\u00f4te d'Ivoire"],["DK","Denmark"],["DJ","Djibouti"],["DM","Dominica"],["DO","Dominican Republic"],["EC","Ecuador"],["EG","Egypt"],["SV","El Salvador"],["GQ","Equatorial Guinea"],["ER","Eritrea"],["EE","Estonia"],["SZ","Eswatini"],["ET","Ethiopia"],["FK","Falkland Islands (Malvinas)"],["FO","Faroe Islands"],["FJ","Fiji"],["FI","Finland"],["FR","France"],["GF","French Guiana"],["PF","French Polynesia"],["TF","French Southern Territories"],["GA","Gabon"],["GM","Gambia"],["GE","Georgia"],["DE","Germany"],["GH","Ghana"],["GI","Gibraltar"],["GR","Greece"],["GL","Greenland"],["GD","Grenada"],["GP","Guadeloupe"],["GU","Guam"],["GT","Guatemala"],["GG","Guernsey"],["GN","Guinea"],["GW","Guinea-Bissau"],["GY","Guyana"],["HT","Haiti"],["HM","Heard Island and McDonald Islands"],["VA","Holy See (Vatican City State)"],["HN","Honduras"],["HK","Hong Kong"],["HU","Hungary"],["IS","Iceland"],["IN","India"],["ID","Indonesia"],["IQ","Iraq"],["IE","Ireland"],["IM","Isle of Man"],["IL","Israel"],["IT","Italy"],["JM","Jamaica"],["JP","Japan"],["JE","Jersey"],["JO","Jordan"],["KZ","Kazakhstan"],["KE","Kenya"],["KI","Kiribati"],["KW","Kuwait"],["KG","Kyrgyzstan"],["LA","Laos"],["LV","Latvia"],["LB","Lebanon"],["LS","Lesotho"],["LR","Liberia"],["LY","Libya"],["LI","Liechtenstein"],["LT","Lithuania"],["LU","Luxembourg"],["MO","Macao"],["MG","Madagascar"],["MW","Malawi"],["MY","Malaysia"],["MV","Maldives"],["ML","Mali"],["MT","Malta"],["MH","Marshall Islands"],["MQ","Martinique"],["MR","Mauritania"],["MU","Mauritius"],["YT","Mayotte"],["MX","Mexico"],["FM","Micronesia, Federated States of"],["MD","Moldova"],["MC","Monaco"],["MN","Mongolia"],["ME","Montenegro"],["MS","Montserrat"],["MA","Morocco"],["MZ","Mozambique"],["MM","Myanmar"],["NA","Namibia"],["NR","Nauru"],["NP","Nepal"],["NL","Netherlands"],["NC","New Caledonia"],["NZ","New Zealand"],["NI","Nicaragua"],["NE","Niger"],["NG","Nigeria"],["NU","Niue"],["NF","Norfolk Island"],["MK","North Macedonia"],["MP","Northern Mariana Islands"],["NO","Norway"],["OM","Oman"],["PK","Pakistan"],["PW","Palau"],["PS","Palestine, State of"],["PA","Panama"],["PG","Papua New Guinea"],["PY","Paraguay"],["PE","Peru"],["PH","Philippines"],["PN","Pitcairn"],["PL","Poland"],["PT","Portugal"],["PR","Puerto Rico"],["QA","Qatar"],["RO","Romania"],["RW","Rwanda"],["RE","R\u00e9union"],["BL","Saint Barth\u00e9lemy"],["SH","Saint Helena, Ascension and Tristan da Cunha"],["KN","Saint Kitts and Nevis"],["LC","Saint Lucia"],["MF","Saint Martin (French part)"],["PM","Saint Pierre and Miquelon"],["VC","Saint Vincent and the Grenadines"],["WS","Samoa"],["SM","San Marino"],["ST","Sao Tome and Principe"],["SA","Saudi Arabia"],["SN","Senegal"],["RS","Serbia"],["SC","Seychelles"],["SL","Sierra Leone"],["SG","Singapore"],["SX","Sint Maarten (Dutch part)"],["SK","Slovakia"],["SI","Slovenia"],["SB","Solomon Islands"],["SO","Somalia"],["ZA","South Africa"],["GS","South Georgia and the South Sandwich Islands"],["KR","South Korea"],["SS","South Sudan"],["ES","Spain"],["LK","Sri Lanka"],["SD","Sudan"],["SR","Suriname"],["SJ","Svalbard and Jan Mayen"],["SE","Sweden"],["CH","Switzerland"],["TW","Taiwan"],["TJ","Tajikistan"],["TZ","Tanzania"],["TH","Thailand"],["TL","Timor-Leste"],["TG","Togo"],["TK","Tokelau"],["TO","Tonga"],["TT","Trinidad and Tobago"],["TN","Tunisia"],["TM","Turkmenistan"],["TC","Turks and Caicos Islands"],["TV","Tuvalu"],["TR","T\u00fcrkiye"],["UG","Uganda"],["UA","Ukraine"],["AE","United Arab Emirates"],["GB","United Kingdom"],["UM","United States Minor Outlying Islands"],["UY","Uruguay"],["UZ","Uzbekistan"],["VU","Vanuatu"],["VE","Venezuela"],["VN","Vietnam"],["VG","Virgin Islands, British"],["VI","Virgin Islands, U.S."],["WF","Wallis and Futuna"],["EH","Western Sahara"],["YE","Yemen"],["ZM","Zambia"],["ZW","Zimbabwe"],["AX","\u00c5land Islands"]],"ineligibleCountries":[["AR","Argentina"],["BR","Brazil"],["IT","Italy"],["PL","Poland"],["RO","Romania"],["TR","T\u00fcrkiye"]],"featureFlags":{"":true},"announcementPage":"HOMEPAGE"}</script><script>/*! head.load - v2.0.0 */ !function(e,t){"use strict";var n,a,r=e.document,o=[],u=[],c={},l={},i="async"in r.createElement("script")||"MozAppearance"in r.documentElement.style||e.opera,s=e.head_conf&&e.head_conf.head||"head",d=e[s]=e[s]||function(){d.ready.apply(null,arguments)},f=1,p=2,y=3,m=4;function h(){}function v(e,t){if(e){"object"==typeof e&&(e=[].slice.call(e));for(var n=0,a=e.length;n<a;n++)t.call(e,e[n],n)}}function g(e,n){var a=Object.prototype.toString.call(n).slice(8,-1);return n!==t&&null!==n&&a===e}function E(e){return g("Function",e)}function L(e){return g("Array",e)}function T(e){(e=e||h)._done||(e(),e._done=1)}function b(e){var t,n,a,r,o={};if("object"==typeof e)for(var u in e)e[u]&&(o={name:u,url:e[u]});else o={name:(t=e,n=t.split("/"),a=n[n.length-1],r=a.indexOf("?"),-1!==r?a.substring(0,r):a),url:e};var c=l[o.name];return c&&c.url===o.url?c:(l[o.name]=o,o)}function j(e){for(var t in e=e||l)if(e.hasOwnProperty(t)&&e[t].state!==m)return!1;return!0}function A(e,n){e.state===t&&(e.state=f,e.onpreload=[],M({url:e.url,type:"cache"},(function(){!function(e){e.state=p,v(e.onpreload,(function(e){e.call()}))}(e)})))}function S(e,t){t=t||h,e.state!==m?e.state!==y?e.state!==f?(e.state=y,M(e,(function(){e.state=m,t(),v(c[e.name],(function(e){T(e)})),a&&j()&&v(c.ALL,(function(e){T(e)}))}))):e.onpreload.push((function(){S(e,t)})):d.ready(e.name,t):t()}function M(t,n){var a;n=n||h,/\.css[^\.]*$/.test(t.url)?((a=r.createElement("link")).type="text/"+(t.type||"css"),a.rel="stylesheet",a.href=t.url):((a=r.createElement("script")).type="text/"+(t.type||"javascript"),a.src=t.url),a.onload=a.onreadystatechange=function(t){("load"===(t=t||e.event).type||/loaded|complete/.test(a.readyState)&&(!r.documentMode||r.documentMode<9))&&(a.onload=a.onreadystatechange=a.onerror=null,n())},a.onerror=function(t){t=t||e.event,a.onload=a.onreadystatechange=a.onerror=null,n()},a.async=!1,a.defer=!1;var o=r.head||r.getElementsByTagName("head")[0];o.insertBefore(a,o.lastChild)}function O(){if(!r.body)return e.clearTimeout(d.readyTimeout),void(d.readyTimeout=e.setTimeout(O,50));a||(a=!0,function(){for(var e=r.getElementsByTagName("script"),t=0,n=e.length;t<n;t++){var a=e[t].getAttribute("data-headjs-load");if(a)return void d.load(a)}}(),v(o,(function(e){T(e)})))}function k(){r.addEventListener?(r.removeEventListener("DOMContentLoaded",k,!1),O()):"complete"===r.readyState&&(r.detachEvent("onreadystatechange",k),O())}if("complete"===r.readyState)O();else if(r.addEventListener)r.addEventListener("DOMContentLoaded",k,!1),e.addEventListener("load",O,!1);else{r.attachEvent("onreadystatechange",k),e.attachEvent("onload",O);var _=!1;try{_=!e.frameElement&&r.documentElement}catch(e){}_&&_.doScroll&&function t(){if(!a){try{_.doScroll("left")}catch(n){return e.clearTimeout(d.readyTimeout),void(d.readyTimeout=e.setTimeout(t,50))}O()}}()}d.load=d.js=i?function(){var e=arguments,t=e[e.length-1],n={};return E(t)||(t=null),L(e[0])?(e[0].push(t),d.load.apply(null,e[0]),d):(v(e,(function(e,a){e!==t&&(e=b(e),n[e.name]=e)})),v(e,(function(e,a){e!==t&&S(e=b(e),(function(){j(n)&&T(t)}))})),d)}:function(){var e=arguments,t=[].slice.call(e,1),a=t[0];return n?(a?(v(t,(function(e){!E(e)&&e&&A(b(e))})),S(b(e[0]),E(a)?a:function(){d.load.apply(null,t)})):S(b(e[0])),d):(u.push((function(){d.load.apply(null,e)})),d)},d.test=function(e,t,n,a){var r="object"==typeof e?e:{test:e,success:!!t&&(L(t)?t:[t]),failure:!!n&&(L(n)?n:[n]),callback:a||h},o=!!r.test;return o&&r.success?(r.success.push(r.callback),d.load.apply(null,r.success)):!o&&r.failure?(r.failure.push(r.callback),d.load.apply(null,r.failure)):a(),d},d.ready=function(e,t){if(e===r)return a?T(t):o.push(t),d;if(E(e)&&(t=e,e="ALL"),L(e)){var n={};return v(e,(function(e){n[e]=l[e],d.ready(e,(function(){j(n)&&T(t)}))})),d}if("string"!=typeof e||!E(t))return d;var u=l[e];if(u&&u.state===m||"ALL"===e&&j()&&a)return T(t),d;var i=c[e];return i?i.push(t):i=c[e]=[t],d},d.ready(r,(function(){n&&j()&&v(c.ALL,(function(e){T(e)})),d.feature&&d.feature("domloaded",!0)})),setTimeout((function(){n=!0,v(u,(function(e){e()}))}),300)}(window);</script><script type="text/javascript"> loadJS(["/assets/BUNDLES/home_desktop_js.min.js?c=6517cd9cc8"], function(){ new Ibles.views.HomeView({el:'#home-container'}); }); </script><script> // redirect if framed and browser does not respect CSP if (window.self !== window.top) window.top.location = window.self.location deferJS(function() { window.globalScripts = !Ibles.isLoggedIn ? ["/assets/BUNDLES/global_desktop_logged_out_bs2_js.min.js?c=6517cd9cc8"]: ["/assets/BUNDLES/global_desktop_logged_in_bs2_js.min.js?c=6517cd9cc8"]; head.load(globalScripts.concat(pageScripts), function(){ execCallbackQueue(loadJsQueue, loadJS); }); }); </script><script type="text/javascript"> (function(a,b,c,d){ a='https://tags.tiqcdn.com/utag/autodesk/micro-basic/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); </script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10