{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./src/components/imageswitcher.js","webpack:///./src/templates/tags.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./src/components/tags.js","webpack:///./src/components/googleads.js"],"names":["createHTML","this","_interopRequireDefault","require","exports","__esModule","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","concat","getImageSrcKey","_ref","src","imageCache","Object","create","inImageCache","hasNativeLazyLoadSupport","HTMLImageElement","prototype","isBrowser","window","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref2","srcSet","srcSetWebp","media","createElement","Fragment","key","type","withMedia","without","forEach","variant","push","generateTracedSVGSources","_ref3","tracedSVG","generateBase64Sources","_ref4","base64","generateNoscriptSource","_ref5","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","rootMargin","observe","set","noscriptImg","title","alt","width","height","crossOrigin","draggable","join","Placeholder","_ref6","generateSources","spreadProps","baseImage","Img","length","forwardRef","ref","style","onLoad","onError","onClick","otherProps","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","isVisible","state","imgLoaded","imgCached","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","setState","currentSrc","render","_convertProps","className","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","opacity","transition","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","image","overflow","JSON","stringify","paddingBottom","aspectRatio","bottom","right","dangerouslySetInnerHTML","__html","_imageVariants","_image","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","oneOfType","arrayOf","bool","oneOf","_default","ImageSwitcher","mouseOver","e","preventDefault","hover","mouseOut","touchStart","touchEnd","handleOnContextMenu","fluid0","fluid1","onMouseOver","onMouseOut","onContextMenu","onTouchStart","onTouchEnd","borderRadius","animation","textAlign","fontSize","fontcolor","TagsTemplate","pageContext","data","tag","allMarkdownRemark","edges","totalCount","tagHeader","flexWrap","node","id","float","paddingRight","paddingTop","minHeight","href","frontmatter","path","date","textDecoration","featuredImage","childImageSharp","featuredRWImage","clear","client","slot","responsive","pageQuery","$export","fails","defined","quot","attribute","value","S","String","p1","replace","module","NAME","exec","O","P","F","test","toLowerCase","split","Tags","group","fieldValue","marginRight","to","kebabCase","marginBottom","GoogleAds","adsbygoogle","data-ad-client","data-ad-slot","data-ad-layout","layout","data-ad-layout-key","layoutKey","data-ad-format","format","data-full-width-responsive","React"],"mappings":"kiBAEA,EAAQ,OAAR,CAA0B,SAAS,SAAUA,GAC3C,OAAO,WACL,OAAOA,EAAWC,KAAM,KAAM,GAAI,S,gGCFtC,IAAIC,EAAyBC,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAO,aAAc,EAErB,IA8FIE,EA9FAC,EAA0BL,EAAuBC,EAAQ,SAEzDK,EAAkBN,EAAuBC,EAAQ,SAEjDM,EAAiCP,EAAuBC,EAAQ,SAEhEO,EAAYR,EAAuBC,EAAQ,SAE3CQ,EAAST,EAAuBC,EAAQ,SAExCS,EAAaV,EAAuBC,EAAQ,SAe5CU,EAAe,SAAsBC,GACvC,IAAIC,GAAiB,EAAIL,EAAS,SAAa,GAAII,GAC/CE,EAAcD,EAAeC,YAC7BC,EAAQF,EAAeE,MACvBC,EAAWH,EAAeG,SA0B9B,OAxBIF,IACFD,EAAeI,MAAQH,SAChBD,EAAeC,aAGpBC,IACFF,EAAeK,MAAQH,SAChBF,EAAeE,OAGpBC,IAEFH,EAAeM,QAAU,SAIvBN,EAAeK,QACjBL,EAAeK,MAAQE,EAAa,GAAGC,OAAOR,EAAeK,SAG3DL,EAAeI,QACjBJ,EAAeI,MAAQG,EAAa,GAAGC,OAAOR,EAAeI,SAGxDJ,GAULS,EAAiB,SAAwBC,GAC3C,IAAIL,EAAQK,EAAKL,MACbD,EAAQM,EAAKN,MAEjB,OADWC,GAASA,EAAM,IAAMD,GAASA,EAAM,IACnCO,KAKVC,EAAaC,OAAOC,OAAO,IAE3BC,EAAe,SAAsBhB,GACvC,IAAIC,EAAiBF,EAAaC,GAE9BY,EAAMF,EAAeT,GACzB,OAAOY,EAAWD,KAAQ,GAWxBK,EAAuD,oBAArBC,kBAAoC,YAAaA,iBAAiBC,UACpGC,EAA8B,oBAAXC,OACnBC,EAAeF,GAAaC,OAAOE,qBAEnCC,EAAY,IAAIC,QAwBpB,SAASC,EAAqBC,GAC5B,OAAOA,EAAcC,KAAI,SAAUC,GACjC,IAAIjB,EAAMiB,EAAMjB,IACZkB,EAASD,EAAMC,OACfC,EAAaF,EAAME,WACnBC,EAAQH,EAAMG,MACd7B,EAAQ0B,EAAM1B,MAClB,OAAON,EAAM,QAAYoC,cAAcpC,EAAM,QAAYqC,SAAU,CACjEC,IAAKvB,GACJmB,GAAclC,EAAM,QAAYoC,cAAc,SAAU,CACzDG,KAAM,aACNJ,MAAOA,EACPF,OAAQC,EACR5B,MAAOA,IACLN,EAAM,QAAYoC,cAAc,SAAU,CAC5CD,MAAOA,EACPF,OAAQA,EACR3B,MAAOA,QAOb,SAASK,EAAamB,GACpB,IAAIU,EAAY,GACZC,EAAU,GASd,OARAX,EAAcY,SAAQ,SAAUC,GAC9B,OAAQA,EAAQR,MAAQK,EAAYC,GAASG,KAAKD,MAO7C,GAAG/B,OAAO4B,EAAWC,GAG9B,SAASI,EAAyBf,GAChC,OAAOA,EAAcC,KAAI,SAAUe,GACjC,IAAI/B,EAAM+B,EAAM/B,IACZoB,EAAQW,EAAMX,MACdY,EAAYD,EAAMC,UACtB,OAAO/C,EAAM,QAAYoC,cAAc,SAAU,CAC/CE,IAAKvB,EACLoB,MAAOA,EACPF,OAAQc,OAKd,SAASC,EAAsBlB,GAC7B,OAAOA,EAAcC,KAAI,SAAUkB,GACjC,IAAIlC,EAAMkC,EAAMlC,IACZoB,EAAQc,EAAMd,MACde,EAASD,EAAMC,OACnB,OAAOlD,EAAM,QAAYoC,cAAc,SAAU,CAC/CE,IAAKvB,EACLoB,MAAOA,EACPF,OAAQiB,OAKd,SAASC,EAAuBC,EAAOC,GACrC,IAAIpB,EAASmB,EAAMnB,OACfC,EAAakB,EAAMlB,WACnBC,EAAQiB,EAAMjB,MACd7B,EAAQ8C,EAAM9C,MAKlB,MAAO,YAFQ+C,EAAS,qBAAuB,KAD/BlB,EAAQ,UAAaA,EAAQ,KAAQ,IAGV,YAJjCkB,EAASnB,EAAaD,GAI+B,MAD/C3B,EAAQ,UAAaA,EAAQ,KAAQ,IAC8B,KASrF,IAAIgD,EAAwB,SAA+BC,EAAIC,GAC7D,IAAIC,QAxGc,IAAP9D,GAAwC,oBAAX6B,QAA0BA,OAAOE,uBACvE/B,EAAK,IAAI6B,OAAOE,sBAAqB,SAAUgC,GAC7CA,EAAQhB,SAAQ,SAAUiB,GACxB,GAAIhC,EAAUiC,IAAID,EAAME,QAAS,CAC/B,IAAIL,EAAK7B,EAAUmC,IAAIH,EAAME,SAEzBF,EAAMI,gBAAkBJ,EAAMK,kBAAoB,KACpDrE,EAAGsE,UAAUN,EAAME,QACnBlC,EAAS,OAAWgC,EAAME,QAC1BL,WAIL,CACDU,WAAY,WAITvE,GA6FP,OALI8D,IACFA,EAASU,QAAQZ,GACjB5B,EAAUyC,IAAIb,EAAIC,IAGb,WACLC,EAASQ,UAAUV,GACnB5B,EAAS,OAAW4B,KAIpBc,EAAc,SAAqBlE,GAGrC,IAAIY,EAAMZ,EAAMY,IAAM,QAAWZ,EAAMY,IAAM,KAAQ,UAEjDT,EAAQH,EAAMG,MAAQ,UAAaH,EAAMG,MAAQ,KAAQ,GACzD2B,EAAS9B,EAAM8B,OAAS,WAAc9B,EAAM8B,OAAS,KAAQ,GAC7DqC,EAAQnE,EAAMmE,MAAQ,UAAanE,EAAMmE,MAAQ,KAAQ,GACzDC,EAAMpE,EAAMoE,IAAM,QAAWpE,EAAMoE,IAAM,KAAQ,UAEjDC,EAAQrE,EAAMqE,MAAQ,UAAarE,EAAMqE,MAAQ,KAAQ,GACzDC,EAAStE,EAAMsE,OAAS,WAActE,EAAMsE,OAAS,KAAQ,GAC7DC,EAAcvE,EAAMuE,YAAc,gBAAmBvE,EAAMuE,YAAc,KAAQ,GACjFhE,EAAUP,EAAMO,QAAU,YAAeP,EAAMO,QAAU,KAAQ,GACjEiE,EAAYxE,EAAMwE,UAAY,cAAiBxE,EAAMwE,UAAY,KAAQ,GAE7E,MAAO,YAD+BxE,EAAM2B,cAlCvBC,KAAI,SAAUY,GACjC,OAAQA,EAAQT,WAAaiB,EAAuBR,GAAS,GAAQ,IAAMQ,EAAuBR,MACjGiC,KAAK,IAiCuB,QAAUlE,EAAU8D,EAAQC,EAASnE,EAAQ2B,EAASlB,EAAMwD,EAAMD,EAAQI,EAAcC,EAAY,+HAMjIE,EAAc,SAAqBC,GACrC,IAAI/D,EAAM+D,EAAM/D,IACZe,EAAgBgD,EAAMhD,cACtBiD,EAAkBD,EAAMC,gBACxBC,EAAcF,EAAME,YAEpBC,EAAYjF,EAAM,QAAYoC,cAAc8C,GAAK,EAAInF,EAAS,SAAa,CAC7EgB,IAAKA,GACJiE,IAEH,OAAOlD,EAAcqD,OAAS,EAAInF,EAAM,QAAYoC,cAAc,UAAW,KAAM2C,EAAgBjD,GAAgBmD,GAAaA,GAG9HC,EAAMlF,EAAM,QAAYoF,YAAW,SAAUjF,EAAOkF,GACtD,IAAI/E,EAAQH,EAAMG,MACd2B,EAAS9B,EAAM8B,OACflB,EAAMZ,EAAMY,IACZuE,EAAQnF,EAAMmF,MACdC,EAASpF,EAAMoF,OACfC,EAAUrF,EAAMqF,QAChBC,EAAUtF,EAAMsF,QAChB/E,EAAUP,EAAMO,QAChBiE,EAAYxE,EAAMwE,UAClBe,GAAa,EAAI5F,EAA8B,SAAaK,EAAO,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,UAAW,UAAW,UAAW,cACtJ,OAAOH,EAAM,QAAYoC,cAAc,OAAO,EAAIrC,EAAS,SAAa,CACtEO,MAAOA,EACP2B,OAAQA,EACRlB,IAAKA,GACJ2E,EAAY,CACbH,OAAQA,EACRC,QAASA,EACTC,QAASA,EACTJ,IAAKA,EACL3E,QAASA,EACTiE,UAAWA,EACXW,OAAO,EAAIvF,EAAS,SAAa,CAC/B4F,SAAU,WACVC,IAAK,EACLC,KAAM,EACNrB,MAAO,OACPC,OAAQ,OACRqB,UAAW,QACXC,eAAgB,UACfT,SAIPJ,EAAIc,UAAY,CACdV,MAAOrF,EAAU,QAAYgG,OAC7BT,QAASvF,EAAU,QAAYiG,KAC/BT,QAASxF,EAAU,QAAYiG,KAC/BX,OAAQtF,EAAU,QAAYiG,MAGhC,IAAIC,EAEJ,SAAUC,GAGR,SAASD,EAAMhG,GACb,IAAIkG,GAEJA,EAAQD,EAAiBE,KAAKhH,KAAMa,IAAUb,MAGxCiH,WAAahF,GAAaJ,EAAahB,GAC7CkG,EAAMG,WAA+B,UAAlBrG,EAAMO,SAAuBP,EAAMI,SACtD8F,EAAMI,cAAgBJ,EAAMG,aAAerG,EAAMuG,QACjDL,EAAMM,cAAgBvF,GAA4BK,IAAiB4E,EAAMG,aAAeH,EAAME,WAC9F,IAAIK,EAAYP,EAAMG,YAAcjF,IAAcH,IAA6BiF,EAAMM,cAUrF,OATAN,EAAMQ,MAAQ,CACZD,UAAWA,EACXE,WAAW,EACXC,WAAW,EACXL,QAASL,EAAME,YAAcpG,EAAMuG,QAErCL,EAAMW,SAAWhH,EAAM,QAAYiH,YACnCZ,EAAMa,kBAAoBb,EAAMa,kBAAkBC,MAAK,EAAIvH,EAAuB,SAAayG,IAC/FA,EAAMe,UAAYf,EAAMe,UAAUD,MAAK,EAAIvH,EAAuB,SAAayG,IACxEA,GAtBT,EAAIxG,EAAe,SAAasG,EAAOC,GAyBvC,IAAIiB,EAASlB,EAAM7E,UAqPnB,OAnPA+F,EAAOC,kBAAoB,WAOzB,GANIhI,KAAKuH,MAAMD,WAA+C,mBAA3BtH,KAAKa,MAAMoH,aAC5CjI,KAAKa,MAAMoH,YAAY,CACrBC,UAAWrG,EAAa7B,KAAKa,SAI7Bb,KAAKkH,WAAY,CACnB,IAAIiB,EAAMnI,KAAK0H,SAASU,QAEpBD,GAAOA,EAAIE,UACbrI,KAAK4H,sBAKXG,EAAOO,qBAAuB,WACxBtI,KAAKuI,kBACPvI,KAAKuI,oBAKTR,EAAOD,UAAY,SAAmB/B,GACpC,IAAIyC,EAASxI,KAETA,KAAKqH,cAAgBtB,IACvB/F,KAAKuI,iBAAmBvE,EAAsB+B,GAAK,WACjD,IAAI0C,EAAe5G,EAAa2G,EAAO3H,OAElC2H,EAAOjB,MAAMD,WAAiD,mBAA7BkB,EAAO3H,MAAMoH,aACjDO,EAAO3H,MAAMoH,YAAY,CACvBC,UAAWO,IAQfD,EAAOE,SAAS,CACdpB,WAAW,IACV,WACD,OAAOkB,EAAOE,SAAS,CACrBlB,UAAWiB,EAGXhB,YAAae,EAAOd,SAASU,QAAQO,qBAO/CZ,EAAOH,kBAAoB,WApSD,IAA+B/G,EACrDC,EAEAW,EAHqDZ,EAqSjCb,KAAKa,MApSzBC,EAAiBF,EAAaC,GAE9BY,EAAMF,EAAeT,GACzBY,EAAWD,IAAO,EAkShBzB,KAAK0I,SAAS,CACZlB,WAAW,IAGTxH,KAAKa,MAAMoF,QACbjG,KAAKa,MAAMoF,UAIf8B,EAAOa,OAAS,WACd,IAAIC,EAAgBjI,EAAaZ,KAAKa,OAClCmE,EAAQ6D,EAAc7D,MACtBC,EAAM4D,EAAc5D,IACpB6D,EAAYD,EAAcC,UAC1BC,EAAsBF,EAAc7C,MACpCA,OAAgC,IAAxB+C,EAAiC,GAAKA,EAC9CC,EAAwBH,EAAcI,SACtCA,OAAqC,IAA1BD,EAAmC,GAAKA,EACnDE,EAAwBL,EAAcM,iBACtCA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAuBP,EAAcO,qBACrCjI,EAAQ0H,EAAc1H,MACtBD,EAAQ2H,EAAc3H,MACtBmI,EAAkBR,EAAcQ,gBAChCC,EAAiBT,EAAcS,eAC/BC,EAAMV,EAAcU,IACpBC,EAAWX,EAAcW,SACzBpI,EAAUyH,EAAczH,QACxBiE,EAAYwD,EAAcxD,UAE1BoE,GAAqC,IAAtBzJ,KAAKuH,MAAMH,QAAoBpH,KAAKuH,MAAMC,UACzDkC,GAAqC,IAAtB1J,KAAKuH,MAAMH,SAAoBpH,KAAKuH,MAAME,UACzDkC,GAAa,EAAIlJ,EAAS,SAAa,CACzCmJ,QAASH,EAAe,EAAI,EAC5BI,WAAYH,EAAe,WAAaJ,EAAiB,KAAO,QAC/DL,GACCa,EAAqC,kBAApBT,EAAgC,YAAcA,EAC/DU,EAAiB,CACnBC,gBAAiBV,EAAiB,MAEhCW,GAAwB,EAAIxJ,EAAS,SAAa,CACpDmJ,QAAS5J,KAAKuH,MAAMC,UAAY,EAAI,GACnCkC,GAAgBK,EAAgB,GAAId,EAAU,GAAIE,GACjDe,EAAwB,CAC1BlF,MAAOA,EACPC,IAAMjF,KAAKuH,MAAMD,UAAkB,GAANrC,EAC7Be,MAAOiE,EACPnB,UAAWM,EACXI,SAAUA,GAGZ,GAAIrI,EAAO,CACT,IAAIqB,EAAgBrB,EAChBgJ,EAAQ3H,EAAc,GAC1B,OAAO9B,EAAM,QAAYoC,cAAcyG,EAAK,CAC1CT,WAAYA,GAAwB,IAAM,wBAC1C9C,OAAO,EAAIvF,EAAS,SAAa,CAC/B4F,SAAU,WACV+D,SAAU,UACTpE,GACHD,IAAK/F,KAAK8H,UACV9E,IAAK,SAAWqH,KAAKC,UAAUH,EAAMxH,SACpCjC,EAAM,QAAYoC,cAAcyG,EAAK,CACtCvD,MAAO,CACLd,MAAO,OACPqF,cAAe,IAAMJ,EAAMK,YAAc,OAEzCV,GAAWpJ,EAAM,QAAYoC,cAAcyG,EAAK,CAClDvE,MAAOA,EACPgB,OAAO,EAAIvF,EAAS,SAAa,CAC/B4I,gBAAiBS,EACjBzD,SAAU,WACVC,IAAK,EACLmE,OAAQ,EACRb,QAAU5J,KAAKuH,MAAMC,UAAgB,EAAJ,EACjCkD,MAAO,EACPnE,KAAM,GACLmD,GAAgBK,KACjBI,EAAMvG,QAAUlD,EAAM,QAAYoC,cAAcyC,EAAa,CAC/D9D,IAAK0I,EAAMvG,OACX8B,YAAawE,EACb1H,cAAeA,EACfiD,gBAAiB/B,IACfyG,EAAM1G,WAAa/C,EAAM,QAAYoC,cAAcyC,EAAa,CAClE9D,IAAK0I,EAAM1G,UACXiC,YAAawE,EACb1H,cAAeA,EACfiD,gBAAiBlC,IACfvD,KAAKuH,MAAMD,WAAa5G,EAAM,QAAYoC,cAAc,UAAW,KAAMP,EAAqBC,GAAgB9B,EAAM,QAAYoC,cAAc8C,EAAK,CACrJX,IAAKA,EACLD,MAAOA,EACPhE,MAAOmJ,EAAMnJ,MACbS,IAAK0I,EAAM1I,IACX2D,YAAapF,KAAKa,MAAMuE,YACxBzC,OAAQwH,EAAMxH,OACdqD,MAAO2D,EACP5D,IAAK/F,KAAK0H,SACVzB,OAAQjG,KAAK4H,kBACb1B,QAASlG,KAAKa,MAAMqF,QACpBC,QAASnG,KAAKa,MAAMsF,QACpBqD,SAAUA,EACVpI,QAASA,EACTiE,UAAWA,KACRrF,KAAKmH,aAAezG,EAAM,QAAYoC,cAAc,WAAY,CACnE6H,wBAAyB,CACvBC,OAAQ7F,GAAY,EAAItE,EAAS,SAAa,CAC5CwE,IAAKA,EACLD,MAAOA,EACP5D,QAASA,GACR+I,EAAO,CACR3H,cAAeA,SAMvB,GAAItB,EAAO,CACT,IAAI2J,EAAiB3J,EACjB4J,EAASD,EAAe,GACxBE,GAAW,EAAItK,EAAS,SAAa,CACvC4F,SAAU,WACV+D,SAAU,SACVY,QAAS,eACT9F,MAAO4F,EAAO5F,MACdC,OAAQ2F,EAAO3F,QACda,GAMH,MAJsB,YAAlBA,EAAMgF,gBACDD,EAASC,QAGXtK,EAAM,QAAYoC,cAAcyG,EAAK,CAC1CT,WAAYA,GAAwB,IAAM,wBAC1C9C,MAAO+E,EACPhF,IAAK/F,KAAK8H,UACV9E,IAAK,SAAWqH,KAAKC,UAAUQ,EAAOnI,SACrCmH,GAAWpJ,EAAM,QAAYoC,cAAcyG,EAAK,CACjDvE,MAAOA,EACPgB,OAAO,EAAIvF,EAAS,SAAa,CAC/B4I,gBAAiBS,EACjB5E,MAAO4F,EAAO5F,MACd0E,QAAU5J,KAAKuH,MAAMC,UAAgB,EAAJ,EACjCrC,OAAQ2F,EAAO3F,QACduE,GAAgBK,KACjBe,EAAOlH,QAAUlD,EAAM,QAAYoC,cAAcyC,EAAa,CAChE9D,IAAKqJ,EAAOlH,OACZ8B,YAAawE,EACb1H,cAAeqI,EACfpF,gBAAiB/B,IACfoH,EAAOrH,WAAa/C,EAAM,QAAYoC,cAAcyC,EAAa,CACnE9D,IAAKqJ,EAAOrH,UACZiC,YAAawE,EACb1H,cAAeqI,EACfpF,gBAAiBlC,IACfvD,KAAKuH,MAAMD,WAAa5G,EAAM,QAAYoC,cAAc,UAAW,KAAMP,EAAqBsI,GAAiBnK,EAAM,QAAYoC,cAAc8C,EAAK,CACtJX,IAAKA,EACLD,MAAOA,EACPE,MAAO4F,EAAO5F,MACdC,OAAQ2F,EAAO3F,OACfnE,MAAO8J,EAAO9J,MACdS,IAAKqJ,EAAOrJ,IACZ2D,YAAapF,KAAKa,MAAMuE,YACxBzC,OAAQmI,EAAOnI,OACfqD,MAAO2D,EACP5D,IAAK/F,KAAK0H,SACVzB,OAAQjG,KAAK4H,kBACb1B,QAASlG,KAAKa,MAAMqF,QACpBC,QAASnG,KAAKa,MAAMsF,QACpBqD,SAAUA,EACVpI,QAASA,EACTiE,UAAWA,KACRrF,KAAKmH,aAAezG,EAAM,QAAYoC,cAAc,WAAY,CACnE6H,wBAAyB,CACvBC,OAAQ7F,GAAY,EAAItE,EAAS,SAAa,CAC5CwE,IAAKA,EACLD,MAAOA,EACP5D,QAASA,GACR0J,EAAQ,CACTtI,cAAeqI,SAMvB,OAAO,MAGFhE,EA/QT,CAgREnG,EAAM,QAAYuK,WAEpBpE,EAAMqE,aAAe,CACnB9D,QAAQ,EACRkC,eAAgB,IAChBrE,IAAK,GACLsE,IAAK,MAGLnI,QAAS,QAGX,IAAI+J,EAAcxK,EAAU,QAAYyK,MAAM,CAC5ClG,MAAOvE,EAAU,QAAY0K,OAAOC,WACpCnG,OAAQxE,EAAU,QAAY0K,OAAOC,WACrC7J,IAAKd,EAAU,QAAY4K,OAAOD,WAClC3I,OAAQhC,EAAU,QAAY4K,OAAOD,WACrC1H,OAAQjD,EAAU,QAAY4K,OAC9B9H,UAAW9C,EAAU,QAAY4K,OACjCC,QAAS7K,EAAU,QAAY4K,OAC/B3I,WAAYjC,EAAU,QAAY4K,OAClC1I,MAAOlC,EAAU,QAAY4K,SAG3BE,EAAc9K,EAAU,QAAYyK,MAAM,CAC5CZ,YAAa7J,EAAU,QAAY0K,OAAOC,WAC1C7J,IAAKd,EAAU,QAAY4K,OAAOD,WAClC3I,OAAQhC,EAAU,QAAY4K,OAAOD,WACrCtK,MAAOL,EAAU,QAAY4K,OAAOD,WACpC1H,OAAQjD,EAAU,QAAY4K,OAC9B9H,UAAW9C,EAAU,QAAY4K,OACjCC,QAAS7K,EAAU,QAAY4K,OAC/B3I,WAAYjC,EAAU,QAAY4K,OAClC1I,MAAOlC,EAAU,QAAY4K,SAO/B1E,EAAMH,UAAY,CAChB3F,YAAaoK,EACbnK,MAAOyK,EACPvK,MAAOP,EAAU,QAAY+K,UAAU,CAACP,EAAaxK,EAAU,QAAYgL,QAAQR,KACnFhK,MAAOR,EAAU,QAAY+K,UAAU,CAACD,EAAa9K,EAAU,QAAYgL,QAAQF,KACnFrE,OAAQzG,EAAU,QAAYiL,KAC9BtC,eAAgB3I,EAAU,QAAY0K,OACtCrG,MAAOrE,EAAU,QAAY4K,OAC7BtG,IAAKtE,EAAU,QAAY4K,OAC3BzC,UAAWnI,EAAU,QAAY+K,UAAU,CAAC/K,EAAU,QAAY4K,OAAQ5K,EAAU,QAAYgG,SAEhG1F,SAAUN,EAAU,QAAYiL,KAChCxG,YAAazE,EAAU,QAAY+K,UAAU,CAAC/K,EAAU,QAAY4K,OAAQ5K,EAAU,QAAYiL,OAClG5F,MAAOrF,EAAU,QAAYgG,OAC7BsC,SAAUtI,EAAU,QAAYgG,OAChCwC,iBAAkBxI,EAAU,QAAYgG,OACxCyC,qBAAsBzI,EAAU,QAAY4K,OAC5ClC,gBAAiB1I,EAAU,QAAY+K,UAAU,CAAC/K,EAAU,QAAY4K,OAAQ5K,EAAU,QAAYiL,OACtG3F,OAAQtF,EAAU,QAAYiG,KAC9BV,QAASvF,EAAU,QAAYiG,KAC/BT,QAASxF,EAAU,QAAYiG,KAC/BqB,YAAatH,EAAU,QAAYiG,KACnC2C,IAAK5I,EAAU,QAAY4K,OAC3B/B,SAAU7I,EAAU,QAAY4K,OAChCnK,QAAST,EAAU,QAAYkL,MAAM,CAAC,OAAQ,OAAQ,UACtDxG,UAAW1E,EAAU,QAAYiL,MAEnC,IAAIE,EAAWjF,EACf1G,EAAO,QAAc2L,G,oFC7nBfC,E,oBACJ,aAAe,IAAD,SACZ,sBAMFC,UAAY,SAACC,GACdA,EAAEC,iBACC,EAAKxD,SAAS,CAAEyD,OAAO,KATX,EAYdC,SAAW,SAACH,GACbA,EAAEC,iBACF,EAAKxD,SAAS,CAAEyD,OAAO,KAdR,EAiBdE,WAAa,SAACJ,GACZ,EAAKvD,SAAS,CAAEyD,OAAO,KAlBX,EAqBdG,SAAW,SAACL,GACb,EAAKvD,SAAS,CAAEyD,OAAO,KAtBR,EA0BdI,oBAAsB,SAACN,GAKtB,OAHAA,EAAEC,kBAGK,GA7BN,EAAK3E,MAAQ,CACX4E,OAAO,GAHG,E,0GAkCdvD,OAAA,WAAU,IAAD,EACmB5I,KAAKa,MAA7B2L,EADK,EACLA,OAAQC,EADH,EACGA,OAAQxH,EADX,EACWA,IACVkH,EAAUnM,KAAKuH,MAAf4E,MAcR,OACI,yBAAKO,YAAa1M,KAAKgM,UAAWW,WAAY3M,KAAKoM,SAAUQ,cAAgB5M,KAAKuM,oBAAqBM,aAAc7M,KAAKqM,WAAYS,WAAY9M,KAAKsM,UAC/I,OAAXG,EACD,kBAAC,IAAD,CAAKtL,MAAOqL,EAAQvH,IAAKA,EAAKe,MAAO,CAAC+G,aAAc,UAEnD,oCACC,kBAAC,IAAD,CAAK5L,MAAOqL,EAAQvH,IAAKA,EAAKe,MAAO,CAACgF,QAASmB,EAAQ,OAAS,QAASY,aAAc,UACvF,kBAAC,IAAD,CAAK5L,MAAOsL,EAAQxH,IAAKA,EAAKe,MAAO,CAACgF,QAASmB,EAAQ,QAAU,OAAQY,aAAc,OAAQC,UAAW,kBAK3GP,IAAWN,EACZ,uBAAGnG,MAAO,CAACiH,UAAW,SAAUC,SAAU,QAASC,UAAW,kBAA9D,8BACA,kC,GAjEwBlC,aAyEbc,O,kCC5Ef,sIAiEeqB,UAtDM,SAAC,GAA2B,IAAzBC,EAAwB,EAAxBA,YAAaC,EAAW,EAAXA,KAC3BC,EAAQF,EAARE,IADsC,EAEhBD,EAAKE,kBAA3BC,EAFsC,EAEtCA,MAAOC,EAF+B,EAE/BA,WACTC,EAAeD,EAAN,UACE,IAAfA,EAAmB,KAAO,OADb,oBAEKH,EAFL,IAIf,OACE,kBAAC,IAAD,KACD,kBAAC,IAAD,CAAKvI,MAAO2I,IACT,4BAAKA,GACR,yBAAK3H,MAAO,CAACgF,QAAS,OAAQ4C,SAAU,SACtCH,EAAMhL,KAAI,gBAAGoL,EAAH,EAAGA,KAAH,OACX,yBAAK7K,IAAK6K,EAAKC,GAAI9H,MAAO,CAAE+H,MAAO,OAAQ7I,MAAO,QAAS8I,aAAc,MAAOC,WAAY,QAC3F,yBAAKjI,MAAO,CAAEkI,UAAW,SACxB,uBAAGC,KAAMN,EAAKO,YAAYC,MAAOR,EAAKO,YAAYpJ,OAAU,6BAAK,0BAAMgB,MAAO,CAACkH,SAAU,YAAaW,EAAKO,YAAYE,OAExH,yBAAKtI,MAAO,CAAEiI,WAAY,QACzB,uBAAGE,KAAMN,EAAKO,YAAYC,KAAMrI,MAAO,CAACuI,eAAgB,SACvD,kBAAC,IAAD,CAAe/B,OAAQqB,EAAKO,YAAYI,cAAcC,gBAAgBtN,MAAOsL,OAASoB,EAAKO,YAAYM,gBAAyBb,EAAKO,YAAYM,gBAAgBD,gBAAgBtN,MAAxD,cAO7H,uBAAG6E,MAAO,CAAC2I,MAAO,SAAlB,KACG,kBAAC,IAAD,MACH,kBAAC,IAAD,CAAWC,OAAO,0BAA0BC,KAAK,aAAaC,WAAW,WA4BrE,IAAMC,EAAS,a,qBCnEtB,IAAIC,EAAU,EAAQ,QAClBC,EAAQ,EAAQ,QAChBC,EAAU,EAAQ,QAClBC,EAAO,KAEPpP,EAAa,SAAUwL,EAAQgC,EAAK6B,EAAWC,GACjD,IAAIC,EAAIC,OAAOL,EAAQ3D,IACnBiE,EAAK,IAAMjC,EAEf,MADkB,KAAd6B,IAAkBI,GAAM,IAAMJ,EAAY,KAAOG,OAAOF,GAAOI,QAAQN,EAAM,UAAY,KACtFK,EAAK,IAAMF,EAAI,KAAO/B,EAAM,KAErCmC,EAAOvP,QAAU,SAAUwP,EAAMC,GAC/B,IAAIC,EAAI,GACRA,EAAEF,GAAQC,EAAK7P,GACfiP,EAAQA,EAAQc,EAAId,EAAQe,EAAId,GAAM,WACpC,IAAIe,EAAO,GAAGL,GAAM,KACpB,OAAOK,IAASA,EAAKC,eAAiBD,EAAKE,MAAM,KAAKrK,OAAS,KAC7D,SAAUgK,K,0GCsBDM,IA/BF,WAEZ,IAAM7C,EAAI,OAWV,OACC,6BACE,2CACA,6BACAA,EAAKE,kBAAkB4C,MAAM3N,KAAI,SAAA8K,GAAG,OACnC,yBAAKvK,IAAKuK,EAAI8C,WAAYrK,MAAO,CAAC+H,MAAO,OAAQuC,YAAa,QAC/D,kBAAC,OAAD,CAAMC,GAAE,YAAcC,IAAUjD,EAAI8C,aACjC9C,EAAI8C,YAFN,KAGS9C,EAAIG,WAHb,SAOD,yBAAK1H,MAAO,CAAC2I,MAAO,OAAQ8B,aAAc,Y,iGC7BzBC,E,wLACnB1I,kBAAA,WACK9F,SAASA,OAAOyO,YAAczO,OAAOyO,aAAe,IAAIrN,KAAK,K,EAGlEsF,OAAA,WACE,OACE,yBAAKE,UAAc9I,KAAKa,MAAMiI,UAAhB,eACZ9C,MAAOhG,KAAKa,MAAMmF,MAClB4K,iBAAgB5Q,KAAKa,MAAM+N,OAC3BiC,eAAc7Q,KAAKa,MAAMgO,KACzBiC,iBAAgB9Q,KAAKa,MAAMkQ,OAC3BC,qBAAoBhR,KAAKa,MAAMoQ,UAC/BC,iBAAgBlR,KAAKa,MAAMsQ,OAC3BC,6BAA4BpR,KAAKa,MAAMiO,c,GAdRuC,IAAMpG,WA8B7CyF,EAAUxF,aAAe,CACvBpC,UAAW,GACX9C,MAAO,CAACgF,QAAS,SACjBmG,OAAQ,OACRJ,OAAQ,GACRE,UAAW,GACXnC,WAAY","file":"component---src-templates-tags-js-9379f15a32af1a779f93.js","sourcesContent":["'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2[\"default\"])({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string}[], fixed: {src: string}[]}} args\n * @return {string}\n */\n\n\nvar getImageSrcKey = function getImageSrcKey(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var data = fluid && fluid[0] || fixed && fixed[0];\n return data.src;\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n imageCache[src] = true;\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners[\"delete\"](entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref2) {\n var src = _ref2.src,\n srcSet = _ref2.srcSet,\n srcSetWebp = _ref2.srcSetWebp,\n media = _ref2.media,\n sizes = _ref2.sizes;\n return _react[\"default\"].createElement(_react[\"default\"].Fragment, {\n key: src\n }, srcSetWebp && _react[\"default\"].createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), _react[\"default\"].createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n media = _ref3.media,\n tracedSVG = _ref3.tracedSVG;\n return _react[\"default\"].createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n base64 = _ref4.base64;\n return _react[\"default\"].createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref5, isWebp) {\n var srcSet = _ref5.srcSet,\n srcSetWebp = _ref5.srcSetWebp,\n media = _ref5.media,\n sizes = _ref5.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners[\"delete\"](el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = function Placeholder(_ref6) {\n var src = _ref6.src,\n imageVariants = _ref6.imageVariants,\n generateSources = _ref6.generateSources,\n spreadProps = _ref6.spreadProps;\n\n var baseImage = _react[\"default\"].createElement(Img, (0, _extends2[\"default\"])({\n src: src\n }, spreadProps));\n\n return imageVariants.length > 1 ? _react[\"default\"].createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n};\n\nvar Img = _react[\"default\"].forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n onClick = props.onClick,\n loading = props.loading,\n draggable = props.draggable,\n otherProps = (0, _objectWithoutPropertiesLoose2[\"default\"])(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"onClick\", \"loading\", \"draggable\"]);\n return _react[\"default\"].createElement(\"img\", (0, _extends2[\"default\"])({\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n onClick: onClick,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2[\"default\"])({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes[\"default\"].object,\n onError: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func,\n onLoad: _propTypes[\"default\"].func\n};\n\nvar Image =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn\n };\n _this.imageRef = _react[\"default\"].createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n return _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n imgCached: !!_this2.imageRef.current.currentSrc\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2[\"default\"])({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2[\"default\"])({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, {}, imgStyle, {}, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n };\n\n if (fluid) {\n var imageVariants = fluid;\n var image = imageVariants[0];\n return _react[\"default\"].createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2[\"default\"])({\n position: \"relative\",\n overflow: \"hidden\"\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, _react[\"default\"].createElement(Tag, {\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && _react[\"default\"].createElement(Tag, {\n title: title,\n style: (0, _extends2[\"default\"])({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && _react[\"default\"].createElement(Placeholder, {\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && _react[\"default\"].createElement(Placeholder, {\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react[\"default\"].createElement(\"picture\", null, generateImageSources(imageVariants), _react[\"default\"].createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n onClick: this.props.onClick,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && _react[\"default\"].createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2[\"default\"])({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var _imageVariants = fixed;\n var _image = _imageVariants[0];\n var divStyle = (0, _extends2[\"default\"])({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: _image.width,\n height: _image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return _react[\"default\"].createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, bgColor && _react[\"default\"].createElement(Tag, {\n title: title,\n style: (0, _extends2[\"default\"])({\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: _image.height\n }, shouldFadeIn && delayHideStyle)\n }), _image.base64 && _react[\"default\"].createElement(Placeholder, {\n src: _image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateBase64Sources\n }), _image.tracedSVG && _react[\"default\"].createElement(Placeholder, {\n src: _image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react[\"default\"].createElement(\"picture\", null, generateImageSources(_imageVariants), _react[\"default\"].createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n sizes: _image.sizes,\n src: _image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: _image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n onClick: this.props.onClick,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && _react[\"default\"].createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2[\"default\"])({\n alt: alt,\n title: title,\n loading: loading\n }, _image, {\n imageVariants: _imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react[\"default\"].Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\n};\n\nvar fixedObject = _propTypes[\"default\"].shape({\n width: _propTypes[\"default\"].number.isRequired,\n height: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n});\n\nvar fluidObject = _propTypes[\"default\"].shape({\n aspectRatio: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n sizes: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n}); // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: _propTypes[\"default\"].oneOfType([fixedObject, _propTypes[\"default\"].arrayOf(fixedObject)]),\n fluid: _propTypes[\"default\"].oneOfType([fluidObject, _propTypes[\"default\"].arrayOf(fluidObject)]),\n fadeIn: _propTypes[\"default\"].bool,\n durationFadeIn: _propTypes[\"default\"].number,\n title: _propTypes[\"default\"].string,\n alt: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].object]),\n // Support Glamor's css prop.\n critical: _propTypes[\"default\"].bool,\n crossOrigin: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n style: _propTypes[\"default\"].object,\n imgStyle: _propTypes[\"default\"].object,\n placeholderStyle: _propTypes[\"default\"].object,\n placeholderClassName: _propTypes[\"default\"].string,\n backgroundColor: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n onLoad: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func,\n onStartLoad: _propTypes[\"default\"].func,\n Tag: _propTypes[\"default\"].string,\n itemProp: _propTypes[\"default\"].string,\n loading: _propTypes[\"default\"].oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes[\"default\"].bool\n};\nvar _default = Image;\nexports[\"default\"] = _default;","import React, { Component } from \"react\"\r\nimport Img from \"gatsby-image\"\r\n\r\nclass ImageSwitcher extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n hover: false\r\n }\r\n }\r\n\r\n mouseOver = (e) => {\r\n\te.preventDefault();\r\n this.setState({ hover: true });\r\n }\r\n \r\n mouseOut = (e) => {\r\n\te.preventDefault();\r\n\tthis.setState({ hover: false });\r\n }\r\n\r\n touchStart = (e) => {\r\n this.setState({ hover: true });\r\n }\r\n \r\n touchEnd = (e) => {\r\n\tthis.setState({ hover: false });\r\n }\r\n\r\n \r\n handleOnContextMenu = (e) => {\r\n\t // e.preventDefault();\r\n\t e.preventDefault();\r\n\t \r\n\t //this.setState({ hover: false });\r\n\t return false;\r\n }\r\n\r\n render() {\r\n\tlet {fluid0, fluid1, alt } = this.props;\r\n const { hover } = this.state;\r\n\t\r\n\t// {alt} \r\n\t// {alt}\r\n\t\r\n\t// {alt} \r\n\t// {alt}\r\n\t\r\n\t// Todo: , -webkit-animation: \"fadeIn 1s\"\r\n\t\r\n\t// onMouseOver={this.mouseOver} onMouseOut={this.mouseOut} onTouchStart={this.mouseOver} onTouchEnd={this.mouseOut} onContextMenu={ this.handleOnContextMenu}\r\n\t//
\r\n\t//
\r\n\t\r\n return (\r\n
\r\n\t\t\t{ fluid1 === null ? \r\n\t\t\t\t{alt} :\r\n\t\t\t\t(\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{alt} \r\n\t\t\t\t\t\t{alt}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t{ fluid1 && !hover ?\r\n\t\t\t\t

3D-Druck-Ergebnis anzeigen

:\r\n\t\t\t\t

 

\r\n\t\t\t}\r\n\t\t\t\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ImageSwitcher\r\n\r\n\r\n","import React from \"react\"\r\nimport PropTypes from \"prop-types\"\r\n\r\n// Components\r\nimport { graphql } from \"gatsby\"\r\nimport Layout from \"../components/layout\"\r\nimport SEO from \"../components/seo\"\r\nimport Tags from \"../components/tags\"\r\nimport ImageSwitcher from \"../components/imageswitcher\"\r\nimport GoogleAds from '../components/googleads'\r\n\r\nconst TagsTemplate = ({ pageContext, data }) => {\r\n const { tag } = pageContext\r\n const { edges, totalCount } = data.allMarkdownRemark\r\n const tagHeader = `${totalCount} Beitr${\r\n totalCount === 1 ? \"ag\" : \"äge\"\r\n } mit Schlagwort \"${tag}\"`\r\n\r\n return (\r\n \r\n\t \r\n

{tagHeader}

\r\n\t
\r\n\t\t {edges.map(({ node }) => (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{node.frontmatter.title}
{node.frontmatter.date}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t ))\r\n\t\t }\r\n\t
\r\n\t

 

\r\n \r\n\t \r\n
\r\n )\r\n}\r\n\r\nTagsTemplate.propTypes = {\r\n pageContext: PropTypes.shape({\r\n tag: PropTypes.string.isRequired,\r\n }),\r\n data: PropTypes.shape({\r\n allMarkdownRemark: PropTypes.shape({\r\n totalCount: PropTypes.number.isRequired,\r\n edges: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n node: PropTypes.shape({\r\n frontmatter: PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n\t\t\t path: PropTypes.string.isRequired,\r\n }),\r\n }),\r\n }).isRequired\r\n ),\r\n }),\r\n }),\r\n}\r\n\r\nexport default TagsTemplate\r\n\r\nexport const pageQuery = graphql`\r\n query($tag: String) {\r\n allMarkdownRemark(\r\n limit: 1000\r\n sort: { fields: [frontmatter___date], order: DESC }\r\n filter: { frontmatter: { tags: { in: [$tag] } } }\r\n ) {\r\n totalCount\r\n edges {\r\n node {\r\n\t\t id\r\n frontmatter {\r\n\t\t\tdate(formatString: \"DD.MM.YYYY\")\r\n title\r\n\t\t\tpath\r\n\t\t\tfeaturedRWImage : featuredRWImageUrl {\r\n\t\t\t childImageSharp {\r\n\t\t\t\tfluid(maxWidth: 800) {\r\n\t\t\t\t ...GatsbyImageSharpFluid\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\tfeaturedImage : featuredImageUrl {\r\n\t childImageSharp {\r\n \t fluid(maxWidth: 300) {\r\n\t ...GatsbyImageSharpFluid\r\n \t }\r\n\t }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","import React from \"react\"\r\n\r\n// Utilities\r\nimport kebabCase from \"lodash/kebabCase\"\r\n\r\n// Components\r\nimport { useStaticQuery, Link, graphql } from \"gatsby\"\r\n\r\nconst Tags = () => {\r\n\t\r\n\tconst data = useStaticQuery(graphql`\r\n\t\tquery TagsComponentQuery {\r\n\t\t allMarkdownRemark(limit: 2000) {\r\n\t\t\t group(field: frontmatter___tags) {\r\n\t\t\t\tfieldValue\r\n\t\t\t\ttotalCount\r\n\t\t\t }\t\r\n\t\t\t}\r\n\t }\r\n\t`)\r\n\t\r\n\treturn (\r\n\t\t
\r\n\t\t

Schlagworte

\r\n\t\t
\r\n\t\t\t{data.allMarkdownRemark.group.map(tag => (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t {tag.fieldValue}\r\n\t\t\t\t ({tag.totalCount})\r\n\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\n\r\nexport default Tags\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n// https://github.com/hustcc/react-adsense/blob/master/src/google.jsx\r\nexport default class GoogleAds extends React.Component {\r\n componentDidMount() {\r\n if(window) (window.adsbygoogle = window.adsbygoogle || []).push({});\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n};\r\n\r\nGoogleAds.propTypes = {\r\n className: PropTypes.string,\r\n style: PropTypes.object, // eslint-disable-line\r\n client: PropTypes.string.isRequired,\r\n slot: PropTypes.string.isRequired,\r\n layout: PropTypes.string,\r\n layoutKey: PropTypes.string,\r\n format: PropTypes.string,\r\n responsive: PropTypes.string\r\n};\r\n\r\nGoogleAds.defaultProps = {\r\n className: '',\r\n style: {display: 'block'},\r\n format: 'auto',\r\n layout: '',\r\n layoutKey: '',\r\n responsive: 'false'\r\n};"],"sourceRoot":""}