{"version":3,"sources":["webpack:///./src/templates/template-contributor-page.js","webpack:///./src/components/container.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/gatsby-image/node_modules/prop-types/index.js","webpack:///./node_modules/gatsby-image/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/gatsby-image/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./src/components/blog-post-preview-item.js"],"names":["ContributorPageTemplate","_ref","data","location","contributor","authorYaml","allMarkdownRemark","Glamor","createElement","_components_layout__WEBPACK_IMPORTED_MODULE_6__","_components_container__WEBPACK_IMPORTED_MODULE_5__","css","textAlign","padding","rhythm","options","blockMarginBottom","gatsby_image__WEBPACK_IMPORTED_MODULE_1___default","a","alt","id","resolutions","avatar","childImageSharp","fixed","height","width","borderRadius","display","verticalAlign","marginTop","fontFamily","headerFontFamily","join","maxWidth","marginLeft","marginRight","bio","href","twitter","edges","map","_ref2","node","frontmatter","author","_components_blog_post_preview_item__WEBPACK_IMPORTED_MODULE_4__","post","key","fields","slug","marginBottom","propTypes","PropTypes","object","pageQuery","Container","_Object$assign","children","className","_ref$hasSideBar","hasSideBar","_ref$css","Object","assign","margin","paddingBottom","position","presets","Tablet","maxWidthWithSidebar","isRequired","oneOfType","string","bool","__webpack_require__","createHTML","this","_interopRequireDefault","exports","__esModule","default","io","_inheritsLoose2","_assertThisInitialized2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","sizes","fluid","imageCache","inImageCache","src","listeners","listenToIntersections","el","cb","window","IntersectionObserver","entries","forEach","entry","l","target","isIntersecting","intersectionRatio","unobserve","rootMargin","observe","push","noscriptImg","srcSetWebp","srcSet","title","opacity","transitionDelay","Img","forwardRef","ref","style","onLoad","onError","otherProps","top","left","objectFit","objectPosition","func","Image","_React$Component","_this","call","isVisible","IOSupported","fadeIn","seenBefore","critical","hasNoScript","state","imgLoaded","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","prototype","componentDidMount","onStartLoad","wasCached","img","current","complete","_this2","setState","render","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","Tag","bgColor","imagePlaceholderStyle","transition","imageStyle","placeholderImageProps","image","overflow","JSON","stringify","aspectRatio","base64","tracedSVG","bottom","right","type","dangerouslySetInnerHTML","__html","_image","divStyle","Component","defaultProps","fixedObject","shape","number","srcWebp","fluidObject","_default","module","ReactPropTypesSecret","emptyFunction","shim","propName","componentName","propFullName","secret","err","Error","name","getShim","ReactPropTypes","array","symbol","any","arrayOf","element","instanceOf","objectOf","oneOf","exact","checkPropTypes","BlogPostPreviewItem","gatsby__WEBPACK_IMPORTED_MODULE_2__","to","fontWeight","excerpt","alignItems","gatsby_image__WEBPACK_IMPORTED_MODULE_3___default","color","colors","gray","calm","scale","Mobile","Desktop","boxShadow","borderBottom","zIndex","&&",":hover","zoomdataGreen","background","date","textIndent","whiteSpace","border","&:hover"],"mappings":"8OAUMA,EAA0B,SAAAC,GAAwB,IAArBC,EAAqBD,EAArBC,KAAMC,EAAeF,EAAfE,SACjCC,EAAcF,EAAKG,WACjBC,EAAsBJ,EAAtBI,kBACR,OACEC,EAAAC,cAACC,EAAA,EAAD,CAAQN,SAAUA,GAChBI,EAAAC,cAACE,EAAA,EAAD,KACEH,EAAAC,cAAA,OACEG,IAAK,CACHC,UAAS,SACTC,QAAYC,YAAO,KAAZ,IAAoBA,YAAOC,IAAQC,qBAG5CT,EAAAC,cAAA,WACED,EAAAC,cAACS,EAAAC,EAAD,CACEC,IAAQf,EAAYgB,GAAjB,UACHC,YAAajB,EAAYkB,OAAOC,gBAAgBC,MAChDb,IAAK,CACHc,OAAQX,YAAO,KACfY,MAAOZ,YAAO,KACda,aAAY,OACZC,QAAO,eACPC,cAAa,YAGjBtB,EAAAC,cAAA,MACEG,IAAK,CACHmB,UAAW,IAGZ1B,EAAYgB,IAEfb,EAAAC,cAAA,KACEG,IAAK,CACHoB,WAAYhB,IAAQiB,iBAAiBC,KAAzB,KACZC,SAAUpB,YAAO,IACjBqB,WAAU,OACVC,YAAW,SAGZhC,EAAYiC,KAEf9B,EAAAC,cAAA,KAAG8B,KAAI,uBAAyBlC,EAAYmC,SACzCnC,EAAYmC,WAInBhC,EAAAC,cAAA,OACEG,IAAK,CACHE,QAAYC,YAAO,KAAZ,IAAoBA,YAAOC,IAAQC,qBAG3CV,EAAkBkC,MAAMC,IAAI,SAAAC,GAAc,IAAXC,EAAWD,EAAXC,KAC9B,OAAIA,EAAKC,YAAYC,QACfF,EAAKC,YAAYC,OAAOzB,KAAOhB,EAAYgB,GAE3Cb,EAAAC,cAACsC,EAAA,EAAD,CACEC,KAAMJ,EACNK,IAAKL,EAAKM,OAAOC,KACjBvC,IAAK,CAAEwC,aAAcrC,YAAO,MAK7B,SAQnBd,EAAwBoD,UAAY,CAClClD,KAAMmD,IAAUC,OAChBnD,SAAUkD,IAAUC,QAGPtD,YAGR,IAAMuD,EAAS,0ICnFhBC,EAAY,SAAAvD,GAAA,IAAAwD,EAAGC,EAAHzD,EAAGyD,SAAUC,EAAb1D,EAAa0D,UAAbC,EAAA3D,EAAwB4D,kBAAxB,IAAAD,KAAAE,EAAA7D,EAA2CU,WAA3C,IAAAmD,EAAiD,GAAjDA,EAAA,OAChBvD,EAAAC,cAAA,OACEG,IAAGoD,OAAAC,QAAAP,EAAA,CACDvB,SAAQ,QACR+B,OAAM,SACNpD,QAAYC,YAAO,KAAZ,IAAoBA,YAAOC,IAAQC,mBAC1CkD,cAAepD,YAAO,KACtBqD,SAAQ,YALPV,EAMAW,IAAQC,QAAS,CAChBnC,SAAU2B,EACN/C,YAAOsD,IAAQE,qBACfxD,YAAOsD,IAAQlC,UACnBgC,cAAepD,YAAO,MAVvB2C,GAYE9C,GAELgD,UAAWA,GAEVD,IAILF,EAAUJ,UAAY,CACpBM,SAAUL,IAAUV,KAAK4B,WACzBZ,UAAWN,IAAUmB,UAAU,CAACnB,IAAUoB,OAAQpB,IAAUC,SAC5DO,WAAYR,IAAUqB,KACtB/D,IAAK0C,IAAUC,QAGFE,2DCjCfmB,EAAQ,IAARA,CAAwB,iBAAAC,GACxB,kBACA,OAAAA,EAAAC,KAAA,iDCFA,IAAAC,EAA6BH,EAAQ,GAErCI,EAAAC,YAAA,EACAD,EAAAE,aAAA,EAEA,IA+CAC,EA/CAC,EAAAL,EAA6CH,EAAQ,IAErDS,EAAAN,EAAqDH,EAAQ,KAE7DU,EAAAP,EAA4DH,EAAQ,KAEpEW,EAAAR,EAAuCH,EAAQ,KAE/CY,EAAAT,EAAoCH,EAAQ,IAE5Ca,EAAAV,EAAwCH,EAAQ,MAGhDc,EAAA,SAAAC,GACA,IAAAC,GAAA,EAAAL,EAAAL,SAAA,GAAgDS,GAYhD,OAVAC,EAAAtE,cACAsE,EAAAnE,MAAAmE,EAAAtE,mBACAsE,EAAAtE,aAGAsE,EAAAC,QACAD,EAAAE,MAAAF,EAAAC,aACAD,EAAAC,OAGAD,GAKAG,EAAA,GAEAC,EAAA,SAAAL,GACA,IAAAC,EAAAF,EAAAC,GAEAM,EAAAL,EAAAE,MAAAF,EAAAE,MAAAG,IAAAL,EAAAnE,MAAAwE,IACA,OAAAF,EAAAE,KAAA,GAWAC,EAAA,GAwBA,IAAAC,EAAA,SAAAC,EAAAC,SArBA,IAAAlB,GAAA,oBAAAmB,eAAAC,uBACApB,EAAA,IAAAmB,OAAAC,qBAAA,SAAAC,GACAA,EAAAC,QAAA,SAAAC,GACAR,EAAAO,QAAA,SAAAE,GACAA,EAAA,KAAAD,EAAAE,SAEAF,EAAAG,gBAAAH,EAAAI,kBAAA,KACA3B,EAAA4B,UAAAJ,EAAA,IACAA,EAAA,WAKK,CACLK,WAAA,WAIA7B,GAIA8B,QAAAb,GACAF,EAAAgB,KAAA,CAAAd,EAAAC,KAGAc,EAAA,SAAAxB,GAGA,IAAAM,EAAAN,EAAAM,IAAA,QAAAN,EAAAM,IAAA,eAEAJ,EAAAF,EAAAE,MAAA,UAAAF,EAAAE,MAAA,QACAuB,EAAAzB,EAAAyB,WAAA,sCAAAzB,EAAAyB,WAAA,KAAAvB,EAAA,QACAwB,EAAA1B,EAAA0B,OAAA,mBAAA1B,EAAA0B,OAAA,KAAAxB,EAAA,QACAyB,EAAA3B,EAAA2B,MAAA,UAAA3B,EAAA2B,MAAA,QACAlG,EAAAuE,EAAAvE,IAAA,QAAAuE,EAAAvE,IAAA,eAEAO,EAAAgE,EAAAhE,MAAA,UAAAgE,EAAAhE,MAAA,QACAD,EAAAiE,EAAAjE,OAAA,WAAAiE,EAAAjE,OAAA,QACA6F,EAAA5B,EAAA4B,QAAA5B,EAAA4B,QAAA,IAEA,kBAAAH,EAAAC,EAAA,QAAA1F,EAAAD,EAAAuE,EAAA7E,EAAAkG,EAAA,mFADA3B,EAAA6B,gBAAA7B,EAAA6B,gBAAA,QAC4J,YAAyCD,EAAA,gFAGrME,EAAAjC,EAAAN,QAAAwC,WAAA,SAAA/B,EAAAgC,GACA,IAAAC,EAAAjC,EAAAiC,MACAC,EAAAlC,EAAAkC,OACAC,EAAAnC,EAAAmC,QACAC,GAAA,EAAAzC,EAAAJ,SAAAS,EAAA,8BACA,OAAAH,EAAAN,QAAAzE,cAAA,SAAA8E,EAAAL,SAAA,GAAsE6C,EAAA,CACtEF,SACAC,UACAH,MACAC,OAAA,EAAArC,EAAAL,SAAA,CACAd,SAAA,WACA4D,IAAA,EACAC,KAAA,EACAtG,MAAA,OACAD,OAAA,OACAwG,UAAA,QACAC,eAAA,UACKP,QAILH,EAAApE,UAAA,CACAuE,MAAAnC,EAAAP,QAAA3B,OACAuE,QAAArC,EAAAP,QAAAkD,KACAP,OAAApC,EAAAP,QAAAkD,MAGA,IAAAC,EAEA,SAAAC,GAGA,SAAAD,EAAA1C,GACA,IAAA4C,EAEAA,EAAAD,EAAAE,KAAA1D,KAAAa,IAAAb,KAEA,IAAA2D,GAAA,EAEAC,GAAA,EACAC,EAAAhD,EAAAgD,OAGAC,EAAA5C,EAAAL,IAEAiD,GAAA,oBAAAtC,eAAAC,uBACAkC,GAAA,EACAC,GAAA,GAIA,oBAAApC,SACAmC,GAAA,GAIA9C,EAAAkD,WACAJ,GAAA,EACAC,GAAA,GAGA,IAAAI,IAAAP,EAAA5C,MAAAkD,WAAAN,EAAA5C,MAAAgD,QAYA,OAXAJ,EAAAQ,MAAA,CACAN,YACAO,WA1BA,EA2BAN,cACAC,SACAG,cACAF,cAEAL,EAAAU,SAAAzD,EAAAN,QAAAgE,YACAX,EAAAY,kBAAAZ,EAAAY,kBAAAC,MAAA,EAAA/D,EAAAH,UAAA,EAAAG,EAAAH,SAAAqD,KACAA,EAAAc,UAAAd,EAAAc,UAAAD,MAAA,EAAA/D,EAAAH,UAAA,EAAAG,EAAAH,SAAAqD,KACAA,GA3CA,EAAAnD,EAAAF,SAAAmD,EAAAC,GA8CA,IAAAgB,EAAAjB,EAAAkB,UAgNA,OA9MAD,EAAAE,kBAAA,WAOA,GANA1E,KAAAiE,MAAAN,WAAA,mBAAA3D,KAAAa,MAAA8D,aACA3E,KAAAa,MAAA8D,YAAA,CACAC,UAAA1D,EAAAlB,KAAAa,SAIAb,KAAAa,MAAAkD,SAAA,CACA,IAAAc,EAAA7E,KAAAmE,SAAAW,QAEAD,KAAAE,UACA/E,KAAAqE,sBAKAG,EAAAD,UAAA,SAAA1B,GACA,IAAAmC,EAAAhF,KAEAA,KAAAiE,MAAAL,aAAAf,GACAxB,EAAAwB,EAAA,WACAmC,EAAAf,MAAAN,WAAA,mBAAAqB,EAAAnE,MAAA8D,aACAK,EAAAnE,MAAA8D,YAAA,CACAC,UAAA1D,EAAA8D,EAAAnE,SAIAmE,EAAAC,SAAA,CACAtB,WAAA,EACAO,WAAA,OAMAM,EAAAH,kBAAA,WAxKA,IAAAxD,EACAC,EAEAK,EAHAN,EAyKAb,KAAAa,MAxKAC,EAAAF,EAAAC,GAEAM,EAAAL,EAAAE,MAAAF,EAAAE,MAAAG,IAAAL,EAAAnE,MAAAwE,IACAF,EAAAE,IAAA,EAsKAnB,KAAAiF,SAAA,CACAf,WAAA,IAGAlE,KAAAiE,MAAAH,YACA9D,KAAAiF,SAAA,CACApB,QAAA,IAIA7D,KAAAa,MAAAkC,QACA/C,KAAAa,MAAAkC,UAIAyB,EAAAU,OAAA,WACA,IAAAC,EAAAvE,EAAAZ,KAAAa,OACA2B,EAAA2C,EAAA3C,MACAlG,EAAA6I,EAAA7I,IACAwC,EAAAqG,EAAArG,UACAsG,EAAAD,EAAArC,MACAA,OAAA,IAAAsC,EAAA,GAAmDA,EACnDC,EAAAF,EAAAG,SACAA,OAAA,IAAAD,EAAA,GAAwDA,EACxDE,EAAAJ,EAAAK,iBACAA,OAAA,IAAAD,EAAA,GAAgEA,EAChEE,EAAAN,EAAAM,qBACAzE,EAAAmE,EAAAnE,MACArE,EAAAwI,EAAAxI,MACA+I,EAAAP,EAAAO,gBACAC,EAAAR,EAAAQ,IAEAC,EAAA,kBAAAF,EAAA,YAAAA,EACAG,GAAA,EAAApF,EAAAL,SAAA,CACAqC,QAAAzC,KAAAiE,MAAAC,UAAA,IACA4B,WAAA,eACApD,gBAAA1C,KAAAiE,MAAAC,UAAA,gBACKoB,EAAAE,GACLO,GAAA,EAAAtF,EAAAL,SAAA,CACAqC,QAAAzC,KAAAiE,MAAAC,YAAA,IAAAlE,KAAAiE,MAAAJ,OAAA,IACAiC,YAAA,IAAA9F,KAAAiE,MAAAJ,OAAA,uBACKyB,GACLU,EAAA,CACAxD,QACAlG,IAAA0D,KAAAiE,MAAAN,UAAA,GAAArH,EACAwG,MAAA+C,EACA/G,UAAA2G,GAGA,GAAAzE,EAAA,CACA,IAAAiF,EAAAjF,EACA,OAAAN,EAAAN,QAAAzE,cAAAgK,EAAA,CACA7G,cAAA,4BACAgE,OAAA,EAAArC,EAAAL,SAAA,CACAd,SAAA,WACA4G,SAAA,UACSpD,GACTD,IAAA7C,KAAAuE,UACApG,IAAA,SAAAgI,KAAAC,UAAAH,EAAA1D,SACO7B,EAAAN,QAAAzE,cAAAgK,EAAA,CACP7C,MAAA,CACAjG,MAAA,OACAwC,cAAA,IAAA4G,EAAAI,YAAA,OAEOJ,EAAAK,QAAA5F,EAAAN,QAAAzE,cAAAgH,GAAA,EAAAlC,EAAAL,SAAA,CACPe,IAAA8E,EAAAK,QACON,IAAAC,EAAAM,WAAA7F,EAAAN,QAAAzE,cAAAgH,GAAA,EAAAlC,EAAAL,SAAA,CACPe,IAAA8E,EAAAM,WACOP,IAAAJ,GAAAlF,EAAAN,QAAAzE,cAAAgK,EAAA,CACPnD,QACAM,MAAA,CACA4C,gBAAAE,EACAtG,SAAA,WACA4D,IAAA,EACAsD,OAAA,EACA/D,QAAAzC,KAAAiE,MAAAC,UAAA,IACAxB,gBAAA,QACA+D,MAAA,EACAtD,KAAA,KAEOnD,KAAAiE,MAAAN,WAAAjD,EAAAN,QAAAzE,cAAA,eAAAsK,EAAA3D,YAAA5B,EAAAN,QAAAzE,cAAA,UACP+K,KAAA,aACAnE,OAAA0D,EAAA3D,WACAvB,MAAAkF,EAAAlF,QACOL,EAAAN,QAAAzE,cAAA,UACP4G,OAAA0D,EAAA1D,OACAxB,MAAAkF,EAAAlF,QACOL,EAAAN,QAAAzE,cAAAgH,EAAA,CACPrG,MACAkG,QACArB,IAAA8E,EAAA9E,IACA2B,MAAAiD,EACAlD,IAAA7C,KAAAmE,SACApB,OAAA/C,KAAAqE,kBACArB,QAAAhD,KAAAa,MAAAmC,WACOhD,KAAAiE,MAAAD,aAAAtD,EAAAN,QAAAzE,cAAA,YACPgL,wBAAA,CACAC,OAAAvE,GAAA,EAAA5B,EAAAL,SAAA,CACA9D,MACAkG,SACWyD,QAKX,GAAAtJ,EAAA,CACA,IAAAkK,EAAAlK,EACAmK,GAAA,EAAArG,EAAAL,SAAA,CACAd,SAAA,WACA4G,SAAA,SACAnJ,QAAA,eACAF,MAAAgK,EAAAhK,MACAD,OAAAiK,EAAAjK,QACOkG,GAMP,MAJA,YAAAA,EAAA/F,gBACA+J,EAAA/J,QAGA2D,EAAAN,QAAAzE,cAAAgK,EAAA,CACA7G,cAAA,4BACAgE,MAAAgE,EACAjE,IAAA7C,KAAAuE,UACApG,IAAA,SAAAgI,KAAAC,UAAAS,EAAAtE,SACOsE,EAAAP,QAAA5F,EAAAN,QAAAzE,cAAAgH,GAAA,EAAAlC,EAAAL,SAAA,CACPe,IAAA0F,EAAAP,QACON,IAAAa,EAAAN,WAAA7F,EAAAN,QAAAzE,cAAAgH,GAAA,EAAAlC,EAAAL,SAAA,CACPe,IAAA0F,EAAAN,WACOP,IAAAJ,GAAAlF,EAAAN,QAAAzE,cAAAgK,EAAA,CACPnD,QACAM,MAAA,CACA4C,gBAAAE,EACA/I,MAAAgK,EAAAhK,MACA4F,QAAAzC,KAAAiE,MAAAC,UAAA,IACAxB,gBAAA,QACA9F,OAAAiK,EAAAjK,UAEOoD,KAAAiE,MAAAN,WAAAjD,EAAAN,QAAAzE,cAAA,eAAAkL,EAAAvE,YAAA5B,EAAAN,QAAAzE,cAAA,UACP+K,KAAA,aACAnE,OAAAsE,EAAAvE,WACAvB,MAAA8F,EAAA9F,QACOL,EAAAN,QAAAzE,cAAA,UACP4G,OAAAsE,EAAAtE,OACAxB,MAAA8F,EAAA9F,QACOL,EAAAN,QAAAzE,cAAAgH,EAAA,CACPrG,MACAkG,QACA3F,MAAAgK,EAAAhK,MACAD,OAAAiK,EAAAjK,OACAuE,IAAA0F,EAAA1F,IACA2B,MAAAiD,EACAlD,IAAA7C,KAAAmE,SACApB,OAAA/C,KAAAqE,kBACArB,QAAAhD,KAAAa,MAAAmC,WACOhD,KAAAiE,MAAAD,aAAAtD,EAAAN,QAAAzE,cAAA,YACPgL,wBAAA,CACAC,OAAAvE,GAAA,EAAA5B,EAAAL,SAAA,CACA9D,MACAkG,QACA3F,MAAAgK,EAAAhK,MACAD,OAAAiK,EAAAjK,QACWiK,QAKX,aAGAtD,EA/PA,CAgQC7C,EAAAN,QAAA2G,WAEDxD,EAAAyD,aAAA,CACAjD,UAAA,EACAF,QAAA,EACAvH,IAAA,GACAqJ,IAAA,OAGA,IAAAsB,EAAAtG,EAAAP,QAAA8G,MAAA,CACArK,MAAA8D,EAAAP,QAAA+G,OAAAzH,WACA9C,OAAA+D,EAAAP,QAAA+G,OAAAzH,WACAyB,IAAAR,EAAAP,QAAAR,OAAAF,WACA6C,OAAA5B,EAAAP,QAAAR,OAAAF,WACA4G,OAAA3F,EAAAP,QAAAR,OACA2G,UAAA5F,EAAAP,QAAAR,OACAwH,QAAAzG,EAAAP,QAAAR,OACA0C,WAAA3B,EAAAP,QAAAR,SAGAyH,EAAA1G,EAAAP,QAAA8G,MAAA,CACAb,YAAA1F,EAAAP,QAAA+G,OAAAzH,WACAyB,IAAAR,EAAAP,QAAAR,OAAAF,WACA6C,OAAA5B,EAAAP,QAAAR,OAAAF,WACAqB,MAAAJ,EAAAP,QAAAR,OAAAF,WACA4G,OAAA3F,EAAAP,QAAAR,OACA2G,UAAA5F,EAAAP,QAAAR,OACAwH,QAAAzG,EAAAP,QAAAR,OACA0C,WAAA3B,EAAAP,QAAAR,SAGA2D,EAAAhF,UAAA,CACA/B,YAAAyK,EACAlG,MAAAsG,EACA1K,MAAAsK,EACAjG,MAAAqG,EACAxD,OAAAlD,EAAAP,QAAAP,KACA2C,MAAA7B,EAAAP,QAAAR,OACAtD,IAAAqE,EAAAP,QAAAR,OACAd,UAAA6B,EAAAP,QAAAT,UAAA,CAAAgB,EAAAP,QAAAR,OAAAe,EAAAP,QAAA3B,SAEAsF,SAAApD,EAAAP,QAAAP,KACAiD,MAAAnC,EAAAP,QAAA3B,OACA6G,SAAA3E,EAAAP,QAAA3B,OACA+G,iBAAA7E,EAAAP,QAAA3B,OACAgH,qBAAA9E,EAAAP,QAAAR,OACA8F,gBAAA/E,EAAAP,QAAAT,UAAA,CAAAgB,EAAAP,QAAAR,OAAAe,EAAAP,QAAAP,OACAkD,OAAApC,EAAAP,QAAAkD,KACAN,QAAArC,EAAAP,QAAAkD,KACAqB,YAAAhE,EAAAP,QAAAkD,KACAqC,IAAAhF,EAAAP,QAAAR,QAEA,IAAA0H,EAAA/D,EACArD,EAAAE,QAAAkH,uBC9ZAC,EAAArH,QAAmBJ,EAAQ,IAARA,qCCjBnB,IAAA0H,EAA2B1H,EAAQ,KAEnC,SAAA2H,KAEAF,EAAArH,QAAA,WACA,SAAAwH,EAAA7G,EAAA8G,EAAAC,EAAAtM,EAAAuM,EAAAC,GACA,GAAAA,IAAAN,EAAA,CAIA,IAAAO,EAAA,IAAAC,MACA,mLAKA,MADAD,EAAAE,KAAA,sBACAF,GAGA,SAAAG,IACA,OAAAR,EAFAA,EAAAhI,WAAAgI,EAMA,IAAAS,EAAA,CACAC,MAAAV,EACA7H,KAAA6H,EACApE,KAAAoE,EACAP,OAAAO,EACAjJ,OAAAiJ,EACA9H,OAAA8H,EACAW,OAAAX,EAEAY,IAAAZ,EACAa,QAAAL,EACAM,QAAAd,EACAe,WAAAP,EACApK,KAAA4J,EACAgB,SAAAR,EACAS,MAAAT,EACAvI,UAAAuI,EACAhB,MAAAgB,EACAU,MAAAV,GAMA,OAHAC,EAAAU,eAAApB,EACAU,EAAA3J,UAAA2J,EAEAA,qCC9CAZ,EAAArH,QAFA,2LCDM4I,EAAsB,SAAA1N,GAAyB,IAAAwD,EAAtBV,EAAsB9C,EAAtB8C,KAAMY,EAAgB1D,EAAhB0D,UAC7BrC,EAASyB,EAAKH,YAAYC,OAAOvB,OAAOC,gBAAgBC,MAE9D,OACEjB,EAAAC,cAAA,WAASmD,UAAWA,EAAWhD,IAAK,CAAEwD,SAAQ,aAC5C5D,EAAAC,cAACoN,EAAA,KAAD,CAAMC,GAAI9K,EAAKE,OAAOC,MACpB3C,EAAAC,cAAA,UAAKuC,EAAKH,YAAYyE,OACtB9G,EAAAC,cAAA,KAAGG,IAAK,CAAEmN,WAAU,WACjB/K,EAAKH,YAAYmL,QAAUhL,EAAKH,YAAYmL,QAAUhL,EAAKgL,UAGhExN,EAAAC,cAAA,OACEG,IAAK,CACHiB,QAAO,OACPoM,WAAU,SACV7K,aAAcrC,YAAO,KAGvBP,EAAAC,cAACyN,EAAA/M,EAAD,CACEC,IAAQ4B,EAAKH,YAAYC,OAAOzB,GAA7B,UACHC,YAAaC,EACbX,IAAK,CACHgB,aAAY,OACZC,QAAO,eACPQ,YAAatB,YAAO,IACpBqC,aAAc,EACdtB,cAAa,SAGjBtB,EAAAC,cAAA,OACEG,IAAGoD,OAAAC,OAAA,CACDpC,QAAO,eACPG,WAAYhB,IAAQiB,iBAAiBC,KAAzB,KACZiM,MAAOC,SAAOC,KAAKC,MAChBC,aAAM,KAJR7K,EAAA,GAAAA,EAKAW,IAAQmK,QALRxK,OAAAC,OAAA,GAMIsK,aAAM,KANV7K,EAQAW,IAAQoK,SARRzK,OAAAC,OAAA,GASIsK,YAAM,IATV7K,KAaHlD,EAAAC,cAAA,WACED,EAAAC,cAACoN,EAAA,KAAD,CACEC,GAAI9K,EAAKH,YAAYC,OAAOI,OAAOC,KACnCvC,IAAK,CACH8N,UAAS,kBACTC,aAAY,eACZvK,SAAQ,WACRwK,OAAQ,EACRC,KAAM,CACJd,WAAU,SACVe,SAAU,CACRX,MAAOC,SAAOW,cACdC,WAAU,kBAKfhM,EAAKH,YAAYC,OAAOzB,IAjB7B,aAsBG2B,EAAKH,YAAYoM,QAIxBzO,EAAAC,cAACoN,EAAA,KAAD,CACEC,GAAI9K,EAAKE,OAAOC,KAChBvC,IAAK,CACHwD,SAAQ,WACR4D,IAAK,EACLC,KAAM,EACNsD,MAAO,EACPD,OAAQ,EACRN,SAAQ,SACRkE,WAAU,QACVC,WAAU,SACVP,OAAQ,EACRC,KAAM,CACJO,OAAQ,EACRV,UAAS,OACTW,UAAW,CACTL,WAAU,WAhBlB,eA2BNpB,EAAoBvK,UAAY,CAC9BL,KAAMM,IAAUC,OAAOiB,WACvBZ,UAAWN,IAAUmB,UAAU,CAACnB,IAAUoB,OAAQpB,IAAUC,UAG/CqK","file":"component---src-templates-template-contributor-page-js-c16eb7f5fcb33f667b47.js","sourcesContent":["import { graphql } from 'gatsby';\nimport Img from 'gatsby-image';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport BlogPostPreviewItem from '../components/blog-post-preview-item';\n\nimport Container from '../components/container';\nimport Layout from '../components/layout';\nimport { options, rhythm } from '../utils/typography';\n\nconst ContributorPageTemplate = ({ data, location }) => {\n const contributor = data.authorYaml;\n const { allMarkdownRemark } = data;\n return (\n \n \n \n
\n \n \n {contributor.id}\n \n \n {contributor.bio}\n

\n \n {contributor.twitter}\n \n
\n \n \n {allMarkdownRemark.edges.map(({ node }) => {\n if (node.frontmatter.author) {\n if (node.frontmatter.author.id === contributor.id) {\n return (\n \n );\n }\n }\n return [];\n })}\n \n
\n
\n );\n};\n\nContributorPageTemplate.propTypes = {\n data: PropTypes.object,\n location: PropTypes.object,\n};\n\nexport default ContributorPageTemplate;\n\n// eslint-disable-next-line no-undef\nexport const pageQuery = graphql`\n query($slug: String!) {\n authorYaml(fields: { slug: { eq: $slug } }) {\n id\n bio\n twitter\n avatar {\n childImageSharp {\n fixed(\n width: 63\n height: 63\n quality: 75\n traceSVG: { turdSize: 10, background: \"#f6f2f8\", color: \"#e0d6eb\" }\n ) {\n ...GatsbyImageSharpFixed_tracedSVG\n }\n }\n }\n fields {\n slug\n }\n }\n allMarkdownRemark(\n sort: { order: DESC, fields: [frontmatter___date] }\n filter: {\n fileAbsolutePath: { regex: \"/blog/\" }\n frontmatter: { draft: { ne: true } }\n }\n ) {\n edges {\n node {\n ...BlogPostPreview_item\n }\n }\n }\n }\n`;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport presets from '../utils/presets';\n\nimport { options, rhythm } from '../utils/typography';\n\nconst Container = ({ children, className, hasSideBar = true, css = {} }) => (\n \n {children}\n \n);\n\nContainer.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n hasSideBar: PropTypes.bool,\n css: PropTypes.object,\n};\n\nexport default Container;\n","'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 _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\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\n// Handle legacy names for image queries.\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n\n if (convertedProps.resolutions) {\n convertedProps.fixed = convertedProps.resolutions;\n delete convertedProps.resolutions;\n }\n\n if (convertedProps.sizes) {\n convertedProps.fluid = convertedProps.sizes;\n delete convertedProps.sizes;\n }\n\n return convertedProps;\n}; // Cache if we've seen an image before so we don't both with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = {};\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n imageCache[src] = true;\n};\n\nvar io;\nvar listeners = [];\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 listeners.forEach(function (l) {\n if (l[0] === entry.target) {\n // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(l[0]);\n l[1]();\n }\n }\n });\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n getIO().observe(el);\n listeners.push([el, cb]);\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 srcSetWebp = props.srcSetWebp ? \"\" : \"\";\n var 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 opacity = props.opacity ? props.opacity : \"1\";\n var transitionDelay = props.transitionDelay ? props.transitionDelay : \"0.5s\";\n return \"\" + srcSetWebp + srcSet + \"\";\n};\n\nvar Img = _react.default.forwardRef(function (props, ref) {\n var style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"style\", \"onLoad\", \"onError\"]);\n return _react.default.createElement(\"img\", (0, _extends2.default)({}, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\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 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; // default settings for browser without Intersection Observer available\n\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = props.fadeIn; // 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 var seenBefore = inImageCache(props); // browser with Intersection Observer available\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n } // Never render image during SSR\n\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n } // Force render for critical images\n\n\n if (props.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(_this.props.critical && !_this.props.fadeIn);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore\n };\n _this.imageRef = _react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((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.props.critical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.state.IOSupported && ref) {\n listenToIntersections(ref, function () {\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: inImageCache(_this2.props)\n });\n }\n\n _this2.setState({\n isVisible: true,\n imgLoaded: false\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.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\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 Tag = _convertProps.Tag;\n\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1,\n transition: \"opacity 0.5s\",\n transitionDelay: this.state.imgLoaded ? \"0.5s\" : \"0.25s\"\n }, imgStyle, placeholderStyle);\n var imageStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded || this.state.fadeIn === false ? 1 : 0,\n transition: this.state.fadeIn === true ? \"opacity 0.5s\" : \"none\"\n }, imgStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName\n };\n\n if (fluid) {\n var image = fluid;\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 }), image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.base64\n }, placeholderImageProps)), image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.35s\",\n right: 0,\n left: 0\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: image.srcSetWebp,\n sizes: image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: image.srcSet,\n sizes: image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n src: image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title\n }, image))\n }\n }));\n }\n\n if (fixed) {\n var _image = fixed;\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 }, _image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.base64\n }, placeholderImageProps)), _image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.25s\",\n height: _image.height\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, _image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: _image.srcSetWebp,\n sizes: _image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: _image.srcSet,\n sizes: _image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n src: _image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height\n }, _image))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n critical: false,\n fadeIn: true,\n alt: \"\",\n Tag: \"div\"\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});\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});\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: fixedObject,\n fluid: fluidObject,\n fadeIn: _propTypes.default.bool,\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 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 onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string\n};\nvar _default = Image;\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { graphql, Link } from 'gatsby';\nimport Img from 'gatsby-image';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport presets, { colors } from '../utils/presets';\n\nimport { options, rhythm, scale } from '../utils/typography';\n\nconst BlogPostPreviewItem = ({ post, className }) => {\n const avatar = post.frontmatter.author.avatar.childImageSharp.fixed;\n\n return (\n
\n \n

{post.frontmatter.title}

\n

\n {post.frontmatter.excerpt ? post.frontmatter.excerpt : post.excerpt}\n

\n \n \n \n \n
\n \n {post.frontmatter.author.id}\n \n {` `}\n on\n {` `}\n {post.frontmatter.date}\n
\n \n \n \n Read more\n \n
\n );\n};\n\nBlogPostPreviewItem.propTypes = {\n post: PropTypes.object.isRequired,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default BlogPostPreviewItem;\n\n// eslint-disable-next-line no-undef\nexport const blogPostPreviewFragment = graphql`\n fragment BlogPostPreview_item on MarkdownRemark {\n excerpt\n fields {\n slug\n }\n frontmatter {\n excerpt\n title\n date(formatString: \"MMMM Do YYYY\")\n tags {\n id\n }\n author {\n id\n fields {\n slug\n }\n avatar {\n childImageSharp {\n fixed(\n width: 30\n height: 30\n quality: 80\n traceSVG: {\n turdSize: 10\n background: \"#f6f2f8\"\n color: \"#e0d6eb\"\n }\n ) {\n ...GatsbyImageSharpFixed_tracedSVG\n }\n }\n }\n }\n }\n }\n`;\n"],"sourceRoot":""}