{"version":3,"sources":["webpack:///./node_modules/@apollo/client/react/hooks/useQuery.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/lodash/_createCaseFirst.js","webpack:///./node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/lodash/startCase.js","webpack:///./node_modules/lodash/words.js","webpack:///./node_modules/lodash/_unicodeWords.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_stringToArray.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./src/components/global/BlogGridCard/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/slugify/slugify.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/components/global/ArticlePaginationGrid/index.js","webpack:///./src/components/blogSidebar.js","webpack:///./src/components/grid-pagination.js","webpack:///./src/components/global/MostRecentPosts/index.js","webpack:///./src/pages/index.js","webpack:///./node_modules/lodash/deburr.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/lodash/_asciiWords.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/lodash/upperFirst.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/react-responsive/dist/react-responsive.js","webpack:///./node_modules/lodash/_createCompounder.js","webpack:///./src/components/seo.js","webpack:///./node_modules/lodash/_castSlice.js","webpack:///./node_modules/lodash/_baseToString.js"],"names":["useQuery","query","options","_a","context","client","defaultWatchQueryOptions","defaultOptions","watchQuery","Query","partial","_b","watchQueryOptions","createWatchQueryOptions","obsQuery","renderPromises","getSSRObservable","registerSSRObservable","ssr","skip","getCurrentResult","loading","addQueryPromise","getOptions","fetchData","Promise","resolve","sub","subscribe","next","result","unsubscribe","error","complete","setObsQuery","_c","onError","call","data","onCompleted","setResult","ref","previousData","nextResult","current","setOptions","catch","obsQuery_1","previousResult","Object","assign","subscription","onNext","last","resetLastResults","hasOwnProperty","networkStatus","disableNetworkFetches","partialRefetch","keys","length","fetchPolicy","refetch","ready","errors","graphQLErrors","obsQueryFields","bind","fetchMore","updateQuery","startPolling","stopPolling","subscribeToMore","variables","called","otherOptions","displayName","baseGetTag","isObjectLike","module","exports","value","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","join","rsSymbol","reUnicode","RegExp","string","match","castSlice","hasUnicode","stringToArray","toString","methodName","strSymbols","undefined","chr","charAt","trailing","slice","object","key","createCompounder","upperFirst","startCase","word","index","asciiWords","hasUnicodeWord","unicodeWords","pattern","guard","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsModifier","rsEmoji","reUnicodeWord","Symbol","objectProto","prototype","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","e","asciiToArray","unicodeToArray","BlogGridCard","render","this","props","imgUrl","title","subTitle","authorName","publishBio","UID","backgroundImgStyle","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","paddingBottom","className","to","slugify","toLowerCase","style","PureComponent","_assertThisInitialized","self","ReferenceError","array","start","end","Array","freeGlobal","freeSelf","root","Function","factory","charMap","JSON","parse","locales","replace","Error","locale","replacement","trim","slug","normalize","split","reduce","ch","appendChar","remove","strict","lower","extend","customMap","getRawTag","objectToString","hasResults","hasAggregate","BlogSidebar","React","createRef","event","val","onSearchChange","target","onCategoryClick","name","pageNumber","transformedName","searchQuery","navigate","search","categories","page","category","allCategories","forEach","node","articles","article","push","data-sidebar","type","placeholder","onKeyDown","handleKeyDown","searchRef","onClick","minWidth","map","maxWidth","onChange","Component","GridPagination","totalPages","articlesTotal","Math","ceil","calculatePagesTotal","aggregate","count","middlePage","Number","isMiddlePage","determineMiddlePage","lastPage","isLastPage","firstPage","onPageClick","internalPageNumber","goBackAPage","goForwardAPage","href","ArticlePaginationGrid","allArticles","GET_STRAPI_ARTICLES","gql","GET_STRAPI_ARTICLES_SEARCH","determineStart","alternateData","q","articlesConnection","values","i","MostRecentPosts","useStaticQuery","IndexPage","location","filterQuery","state","params","URL","searchParams","get","darkMode","window","localStorage","getItem","articlesAndCategoriesData","bodyTheme","description","keywords","Menu","darkModeToggle","data-sidebar-anchor","Footer","deburrLetter","reLatin","reComboMark","global","isArray","iteratee","accumulator","initAccum","reAsciiWord","baseToString","reHasUnicodeWord","test","createCaseFirst","basePropertyOf","reHasUnicode","__WEBPACK_EXTERNAL_MODULE_1__","modules","__webpack_require__","moduleId","installedModules","l","m","c","d","getter","o","defineProperty","configurable","enumerable","n","__esModule","default","property","p","s","__webpack_exports__","_slicedToArray","arr","_arrayWithHoles","iterator","_arr","_n","_d","_e","_s","_i","done","err","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","constructor","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default","__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default","__WEBPACK_IMPORTED_MODULE_4__toQuery__","__WEBPACK_IMPORTED_MODULE_5__Context__","hyphenateKeys","obj","a","useIsUpdate","useRef","useEffect","settings","getQuery","makeQuery","_React$useState4","useState","setQuery","newQuery","device","deviceSettings","deviceFromProps","deviceFromContext","useContext","getDevice","_React$useState2","setDevice","newDevice","useDevice","matches","mediaQuery","_React$useState8","setMatches","updateMatches","addListener","removeListener","useMatches","getMatchMedia","_React$useState6","mq","setMq","isUpdate","dispose","useMatchMedia","toHyphenLower","uppercasePattern","msPattern","cache","hName","__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_1__mediaQuery__","rules","all","k","v","realKey","concat","keyVal","Context","createContext","__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__","__WEBPACK_IMPORTED_MODULE_1__Component__","__WEBPACK_IMPORTED_MODULE_2__toQuery__","__WEBPACK_IMPORTED_MODULE_3__Context__","Mql","forceStatic","update","evt","media","dynamicMatch","mql","staticMatch","listener","matchMedia","parseQuery","captures","RE_MEDIA_QUERY","modifier","expressions","parsed","inverse","expression","RE_MQ_EXPRESSION","feature","RE_MQ_FEATURE","toDecimal","ratio","numbers","decimal","toDpi","resolution","parseFloat","String","RE_RESOLUTION_UNIT","toPx","RE_LENGTH_UNIT","some","typeMatch","expressionsMatch","every","expValue","parseInt","objA","objB","aKeys","bKeys","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","writable","__WEBPACK_IMPORTED_MODULE_0_prop_types__","__WEBPACK_IMPORTED_MODULE_0_prop_types___default","stringOrNumber","oneOfType","number","matchers","orientation","oneOf","scan","aspectRatio","deviceAspectRatio","height","deviceHeight","width","deviceWidth","color","bool","colorIndex","monochrome","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","types","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","ReactIs","isElement","typeOf","$$typeof","REACT_ELEMENT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","$$typeofType","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_LAZY_TYPE","REACT_MEMO_TYPE","REACT_PROVIDER_TYPE","REACT_PORTAL_TYPE","isConcurrentMode","hasSymbol","for","REACT_SUSPENSE_LIST_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","console","warn","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","emptyFunctionThatReturnsNull","printWarning","ReactPropTypesSecret","checkPropTypes","has","text","message","x","isValidElement","throwOnDirectAccess","is","y","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","isNode","iteratorFn","maybeIterable","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","step","entries","entry","propType","isSymbol","Date","getPostfixForTypeWarning","ReactPropTypes","func","symbol","any","arrayOf","typeChecker","element","elementType","instanceOf","expectedClass","expectedClassName","objectOf","expectedValues","valuesString","stringify","arrayOfTypeCheckers","checker","shape","shapeTypes","exact","allKeys","resetWarningCache","PropTypes","toObject","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","_ref","children","arrayReduce","deburr","words","reApos","callback","SEO","lang","image","meta","imageUrl","pathname","readingTime","publishedTime","site","metaDescription","siteMetadata","metaUrl","siteUrl","htmlAttributes","titleTemplate","content","charset","author","defaultProps","baseSlice","arrayMap","symbolProto","symbolToString"],"mappings":";8FAAA,kJASO,SAASA,EAASC,EAAOC,GAC9B,IAAIC,EAEAC,EAAU,qBAAW,eACrBC,EAAS,YAAgBH,aAAyC,EAASA,EAAQG,QACnFC,EAA2BD,EAAOE,eAAeC,WACrD,YAAmBP,EAAO,IAAaQ,OAEvC,IAiLIC,EAjLAC,EAAK,oBAAS,WAChB,IAAIC,EAAoBC,EAAwBZ,EAAOC,EAASI,GAC5DQ,EAAW,KA2Cf,OAzCIV,EAAQW,iBACVD,EAAWV,EAAQW,eAAeC,iBAAiBJ,IAGhDE,IACHA,EAAWT,EAAOG,WAAWI,GAEzBR,EAAQW,gBACVX,EAAQW,eAAeE,sBAAsBH,EAAUF,IAIvDR,EAAQW,iBAAsF,KAAnEb,aAAyC,EAASA,EAAQgB,QAAoBhB,aAAyC,EAASA,EAAQiB,OAASL,EAASM,mBAAmBC,SAC1MjB,EAAQW,eAAeO,gBAAgB,CACrCC,WAAY,WACV,OAAOV,EAAwBZ,EAAOC,EAASI,IAEjDkB,UAAW,WACT,OAAO,IAAIC,SAAQ,SAAUC,GAC3B,IAAIC,EAAMb,EAASc,UAAU,CAC3BC,KAAM,SAAcC,GACbA,EAAOT,UACVK,IACAC,EAAII,gBAGRC,MAAO,WACLN,IACAC,EAAII,eAENE,SAAU,WACRP,aAKP,WACD,OAAO,QAIJZ,KAELA,EAAWH,EAAG,GACduB,EAAcvB,EAAG,GAEjBwB,EAAK,oBAAS,WAChB,IAAIhC,EAAIQ,EAEJmB,EAAShB,EAASM,mBAUtB,OARKU,EAAOT,SAAWnB,IACjB4B,EAAOE,MACkB,QAA1B7B,EAAKD,EAAQkC,eAA4B,IAAPjC,GAAyBA,EAAGkC,KAAKnC,EAAS4B,EAAOE,OAC3EF,EAAOQ,OACe,QAA9B3B,EAAKT,EAAQqC,mBAAgC,IAAP5B,GAAyBA,EAAG0B,KAAKnC,EAAS4B,EAAOQ,QAIrFR,KAELA,EAASK,EAAG,GACZK,EAAYL,EAAG,GAEfM,EAAM,iBAAO,CACfpC,OAAQA,EACRJ,MAAOA,EACPC,QAASA,EACT4B,OAAQA,EACRY,kBAAc,EACd9B,kBAAmBC,EAAwBZ,EAAOC,EAASI,KAE7D,qBAAU,WACR,IAAIH,EAAIQ,EAGJgC,EADA/B,EAAoBC,EAAwBZ,EAAOC,EAASI,GAGhE,GAAImC,EAAIG,QAAQvC,SAAWA,GAAW,YAAMoC,EAAIG,QAAQ3C,MAAOA,GAInD,YAAMwC,EAAIG,QAAQhC,kBAAmBA,KAC/CE,EAAS+B,WAAWjC,GAAmBkC,OAAM,eAC7CH,EAAa7B,EAASM,mBACtBqB,EAAIG,QAAQhC,kBAAoBA,OAPqC,CACrE,IAAImC,EAAa1C,EAAOG,WAAWI,GACnCsB,EAAYa,GACZJ,EAAaI,EAAW3B,mBAO1B,GAAIuB,EAAY,CACd,IAAIK,EAAiBP,EAAIG,QAAQd,OAE7BkB,EAAeV,OACjBG,EAAIG,QAAQF,aAAeM,EAAeV,MAG5CE,EAAUC,EAAIG,QAAQd,OAASa,IAE1BA,EAAWtB,SAAWnB,IACrByC,EAAWX,MACc,QAA1B7B,EAAKD,EAAQkC,eAA4B,IAAPjC,GAAyBA,EAAGkC,KAAKnC,EAASyC,EAAWX,OAC/EW,EAAWL,OACW,QAA9B3B,EAAKT,EAAQqC,mBAAgC,IAAP5B,GAAyBA,EAAG0B,KAAKnC,EAASyC,EAAWL,QAKlGW,OAAOC,OAAOT,EAAIG,QAAS,CACzBvC,OAAQA,EACRJ,MAAOA,MAER,CAACa,EAAUT,EAAQJ,EAAOC,IAC7B,qBAAU,WACR,IAAIE,EAAQW,eAAZ,CAIA,IAAIoC,EAAerC,EAASc,UAAUwB,GAuBtC,SAAShB,EAAQJ,GACf,IAAI7B,EAAIQ,EAEJ0C,EAAOvC,EAAe,KAC1BqC,EAAapB,cAEb,IACEjB,EAASwC,mBACTH,EAAerC,EAASc,UAAUwB,EAAQhB,GAC1C,QACAtB,EAAe,KAAIuC,EAGrB,IAAKrB,EAAMuB,eAAe,iBACxB,MAAMvB,EAGR,IAAIgB,EAAiBP,EAAIG,QAAQd,QAE7BkB,GAAkBA,EAAe3B,UAAY,YAAMW,EAAOgB,EAAehB,UAC3EQ,EAAUC,EAAIG,QAAQd,OAAS,CAC7BQ,KAAMU,EAAeV,KACrBN,MAAOA,EACPX,SAAS,EACTmC,cAAe,IAAcxB,QAEuD,QAArFrB,EAAoC,QAA9BR,EAAKsC,EAAIG,QAAQ1C,eAA4B,IAAPC,OAAgB,EAASA,EAAGiC,eAA4B,IAAPzB,GAAyBA,EAAG0B,KAAKlC,EAAI6B,OAIvI,OAAO,WACL,OAAOmB,EAAapB,eApDtB,SAASqB,IACP,IAAIjD,EAAIQ,EAEJqC,EAAiBP,EAAIG,QAAQd,OAC7BA,EAAShB,EAASM,mBAElB4B,GAAkBA,EAAe3B,UAAYS,EAAOT,SAAW2B,EAAeQ,gBAAkB1B,EAAO0B,eAAiB,YAAMR,EAAeV,KAAMR,EAAOQ,QAI1JU,EAAeV,OACjBG,EAAIG,QAAQF,aAAeM,EAAeV,MAG5CE,EAAUC,EAAIG,QAAQd,OAASA,GAE1BA,EAAOT,SACgF,QAAzFV,EAAoC,QAA9BR,EAAKsC,EAAIG,QAAQ1C,eAA4B,IAAPC,OAAgB,EAASA,EAAGoC,mBAAgC,IAAP5B,GAAyBA,EAAG0B,KAAKlC,EAAI2B,EAAOQ,UAqCjJ,CAACxB,EAAUV,EAAQW,eAAgBV,EAAOoD,wBAEhC/C,GAAbP,EAAK2B,GAAqBpB,QAASoB,EAAS,YAAO3B,EAAI,CAAC,aAElDO,KAAYR,aAAyC,EAASA,EAAQwD,iBAAoB5B,EAAOT,SAAaS,EAAOQ,MAA4C,IAApCW,OAAOU,KAAK7B,EAAOQ,MAAMsB,QAAkD,eAAjC9C,EAASZ,QAAQ2D,cAC1L/B,EAAS,YAAS,YAAS,GAAIA,GAAS,CACtCT,SAAS,EACTmC,cAAe,IAAcM,UAE/BhD,EAASgD,WAGP1D,EAAQW,iBAAsF,KAAnEb,aAAyC,EAASA,EAAQgB,QAAoBhB,aAAyC,EAASA,EAAQiB,OAASW,EAAOT,SACrLP,EAAS+B,WAAWhC,EAAwBZ,EAAOC,EAASI,IAA2BwC,OAAM,eAG/FG,OAAOC,OAAOT,EAAIG,QAAS,CACzB1C,QAASA,KAIRE,EAAQW,gBAAkBV,EAAOoD,yBAA8F,KAAnEvD,aAAyC,EAASA,EAAQgB,KACzHY,EAASW,EAAIG,QAAQd,OAAS,CAC5BT,SAAS,EACTiB,UAAM,EACNN,WAAO,EACPwB,cAAe,IAAcnC,WAErBnB,aAAyC,EAASA,EAAQiB,OAAqF,aAA3EjB,aAAyC,EAASA,EAAQ2D,gBACxI/B,EAAS,CACPT,SAAS,EACTiB,UAAM,EACNN,WAAO,EACPwB,cAAe,IAAcO,QAI7BjC,EAAOkC,QAAUlC,EAAOkC,OAAOJ,SACjC9B,EAAS,YAAS,YAAS,GAAIA,GAAS,CACtCE,MAAOF,EAAOE,OAAS,IAAI,IAAY,CACrCiC,cAAenC,EAAOkC,YAK5B,IAAIE,EAAiB,mBAAQ,WAC3B,MAAO,CACLJ,QAAShD,EAASgD,QAAQK,KAAKrD,GAC/BsD,UAAWtD,EAASsD,UAAUD,KAAKrD,GACnCuD,YAAavD,EAASuD,YAAYF,KAAKrD,GACvCwD,aAAcxD,EAASwD,aAAaH,KAAKrD,GACzCyD,YAAazD,EAASyD,YAAYJ,KAAKrD,GACvC0D,gBAAiB1D,EAAS0D,gBAAgBL,KAAKrD,MAEhD,CAACA,IACJ,OAAO,YAAS,YAAS,YAAS,GAAIoD,GAAiB,CACrDO,UAAW5D,EAAwBZ,EAAOC,EAASI,GAA0BmE,UAC7EpE,OAAQA,EACRqE,QAAQ,EACRhC,aAAcD,EAAIG,QAAQF,eACxBZ,GAGN,SAASjB,EAAwBZ,EAAOC,EAASK,GAC/C,IAAIJ,OAEY,IAAZD,IACFA,EAAU,IAGZ,IAAIiB,EAAOjB,EAAQiB,KAKfwD,GAJMzE,EAAQgB,IACAhB,EAAQqC,YACZrC,EAAQkC,QACJlC,EAAQ0E,YACP,YAAO1E,EAAS,CAAC,OAAQ,MAAO,cAAe,UAAW,iBAEzEU,EAAoB,YAAS,CAC/BX,MAAOA,GACN0E,GAkBH,OAhBIpE,IACFK,EAAoB,YAAaL,EAAgBK,IAG/CO,EACFP,EAAkBiD,YAAc,aACe,QAApC1D,EAAKS,EAAkBR,eAA4B,IAAPD,OAAgB,EAASA,EAAGY,iBAAsD,iBAAlCH,EAAkBiD,aAAoE,sBAAlCjD,EAAkBiD,cAEnKjD,EAAkBiD,cAD5BjD,EAAkBiD,YAAc,eAK7BjD,EAAkB6D,YACrB7D,EAAkB6D,UAAY,IAGzB7D,I,uBClST,IAAIiE,EAAa,EAAQ,QACrBC,EAAe,EAAQ,QA2B3BC,EAAOC,QALP,SAAkBC,GAChB,MAAuB,iBAATA,GACXH,EAAaG,IArBF,mBAqBYJ,EAAWI,K,qBCxBvC,IAQIC,EAAW,oBACXC,EAAU,kDACVC,EAAS,2BAETC,EAAc,qBACdC,EAAa,kCACbC,EAAa,qCAIbC,EAPa,MAAQL,EAAU,IAAMC,EAAS,IAOtB,IAGxBK,EAFW,oBAEQD,GADP,gBAAwB,CAACH,EAAaC,EAAYC,GAAYG,KAAK,KAAnE,qBAA2FF,EAAW,MAElHG,EAAW,MAAQ,CAACN,EAAcF,EAAU,IAAKA,EAASG,EAAYC,EAAYL,GAAUQ,KAAK,KAAO,IAGxGE,EAAYC,OAAOT,EAAS,MAAQA,EAAS,KAAOO,EAAWF,EAAO,KAa1EV,EAAOC,QAJP,SAAwBc,GACtB,OAAOA,EAAOC,MAAMH,IAAc,K,uBCpCpC,IAAII,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QACrBC,EAAgB,EAAQ,QACxBC,EAAW,EAAQ,QA6BvBpB,EAAOC,QApBP,SAAyBoB,GACvB,OAAO,SAASN,GACdA,EAASK,EAASL,GAElB,IAAIO,EAAaJ,EAAWH,GACxBI,EAAcJ,QACdQ,EAEAC,EAAMF,EACNA,EAAW,GACXP,EAAOU,OAAO,GAEdC,EAAWJ,EACXL,EAAUK,EAAY,GAAGX,KAAK,IAC9BI,EAAOY,MAAM,GAEjB,OAAOH,EAAIH,KAAgBK,K,qBCf/B1B,EAAOC,QANP,SAAwB2B,GACtB,OAAO,SAASC,GACd,OAAiB,MAAVD,OAAiBL,EAAYK,EAAOC,M,uBCT/C,IAAIC,EAAmB,EAAQ,QAC3BC,EAAa,EAAQ,QAuBrBC,EAAYF,GAAiB,SAAS/E,EAAQkF,EAAMC,GACtD,OAAOnF,GAAUmF,EAAQ,IAAM,IAAMH,EAAWE,MAGlDjC,EAAOC,QAAU+B,G,uBC5BjB,IAAIG,EAAa,EAAQ,QACrBC,EAAiB,EAAQ,QACzBhB,EAAW,EAAQ,QACnBiB,EAAe,EAAQ,QA+B3BrC,EAAOC,QAVP,SAAec,EAAQuB,EAASC,GAI9B,OAHAxB,EAASK,EAASL,QAGFQ,KAFhBe,EAAUC,OAAQhB,EAAYe,GAGrBF,EAAerB,GAAUsB,EAAatB,GAAUoB,EAAWpB,GAE7DA,EAAOC,MAAMsB,IAAY,K,qBC9BlC,IAaIE,EAAeC,8OAIfC,EAAU,IAAMF,EAAe,IAE/BG,EAAW,OACXC,EAAY,oBACZC,EAAU,8BACVC,EAAS,oBAAuBN,EAAeG,EAAtC,qEAITpC,EAAa,kCACbC,EAAa,qCACbuC,EAAU,8BAIVC,EAAc,MAAQH,EAAU,IAAMC,EAAS,IAC/CG,EAAc,MAAQF,EAAU,IAAMD,EAAS,IAG/CrC,EAAWyC,gFAKXxC,EAJW,oBAIQD,GAHP,gBAAwB,CAbtB,qBAaoCF,EAAYC,GAAYG,KAAK,KAAnE,qBAA2FF,EAAW,MAIlH0C,EAAU,MAAQ,CAACP,EAAWrC,EAAYC,GAAYG,KAAK,KAAO,IAAMD,EAGxE0C,EAAgBtC,OAAO,CACzBiC,EAAU,IAAMF,EAAhBE,oCAA0D,CAACL,EAASK,EAAS,KAAKpC,KAAK,KAAO,IAC9FsC,sCAA8C,CAACP,EAASK,EAAUC,EAAa,KAAKrC,KAAK,KAAO,IAChGoC,EAAU,IAAMC,EAAhBD,iCACAA,mCATe,mDADA,mDAafJ,EACAQ,GACAxC,KAAK,KAAM,KAabX,EAAOC,QAJP,SAAsBc,GACpB,OAAOA,EAAOC,MAAMoC,IAAkB,K,qBCjExC,IAAIC,EAAS,EAAQ,QAGjBC,EAAcpF,OAAOqF,UAGrB/E,EAAiB8E,EAAY9E,eAO7BgF,EAAuBF,EAAYlC,SAGnCqC,EAAiBJ,EAASA,EAAOK,iBAAcnC,EA6BnDvB,EAAOC,QApBP,SAAmBC,GACjB,IAAIyD,EAAQnF,EAAelB,KAAK4C,EAAOuD,GACnCG,EAAM1D,EAAMuD,GAEhB,IACEvD,EAAMuD,QAAkBlC,EACxB,IAAIsC,GAAW,EACf,MAAOC,IAET,IAAI/G,EAASyG,EAAqBlG,KAAK4C,GAQvC,OAPI2D,IACEF,EACFzD,EAAMuD,GAAkBG,SAEjB1D,EAAMuD,IAGV1G,I,qBC1CT,IAAIgH,EAAe,EAAQ,QACvB7C,EAAa,EAAQ,QACrB8C,EAAiB,EAAQ,QAe7BhE,EAAOC,QANP,SAAuBc,GACrB,OAAOG,EAAWH,GACdiD,EAAejD,GACfgD,EAAahD,K,mBCcnBf,EAAOC,QAJP,SAAsBC,GACpB,OAAgB,MAATA,GAAiC,iBAATA,I,wGCpB3B+D,E,kGAQJC,OAAA,WACE,MAAiEC,KAAKC,MAA9DC,EAAR,EAAQA,OAAQC,EAAhB,EAAgBA,MAAOC,EAAvB,EAAuBA,SAAUC,EAAjC,EAAiCA,WAAYC,EAA7C,EAA6CA,WAAYC,EAAzD,EAAyDA,IAEnDC,EAAqB,CACzBC,gBAAgB,OAAQP,EAAT,IACfQ,mBAAoB,gBACpBC,iBAAkB,YAClBC,eAAgB,QAChBC,cAAe,OAGjB,OACE,yBAAKC,UAAU,aACb,yBAAKA,UAAU,kBACb,kBAAC,OAAD,CACEC,GAAIR,EAAG,IAAOA,EAAP,QAAoBS,IAAQb,EAAMc,eAAlC,IACPH,UAAU,wBAEV,yBACEA,UAAU,6BACVI,MAAOV,KAIX,yBAAKM,UAAU,uDACZR,GACC,kBAAC,OAAD,CACES,GAAE,IAAMC,IAAQX,EAAWY,eAAzB,IACFH,UAAU,yBAFZ,cAIa,8BAAOT,KAGpBC,GACA,yBAAKQ,UAAU,yBAAf,cACa,8BAAOT,IAItB,4BACE,kBAAC,OAAD,CAAMU,GAAIR,EAAG,IAAOA,EAAP,QAAoBS,IAAQb,EAAMc,eAAlC,KACVd,IAGL,uBAAGW,UAAU,+BAA+BV,O,GApD7Be,iBA4DZrB,O,kCCjEA,SAASsB,EAAuBC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,EALT,mC,mBCCA,IAOIhC,EAPctF,OAAOqF,UAOcnC,SAavCpB,EAAOC,QAJP,SAAwBC,GACtB,OAAOsD,EAAqBlG,KAAK4C,K,mBCYnCF,EAAOC,QArBP,SAAmByF,EAAOC,EAAOC,GAC/B,IAAI1D,GAAS,EACTrD,EAAS6G,EAAM7G,OAEf8G,EAAQ,IACVA,GAASA,EAAQ9G,EAAS,EAAKA,EAAS8G,IAE1CC,EAAMA,EAAM/G,EAASA,EAAS+G,GACpB,IACRA,GAAO/G,GAETA,EAAS8G,EAAQC,EAAM,EAAMA,EAAMD,IAAW,EAC9CA,KAAW,EAGX,IADA,IAAI5I,EAAS8I,MAAMhH,KACVqD,EAAQrD,GACf9B,EAAOmF,GAASwD,EAAMxD,EAAQyD,GAEhC,OAAO5I,I,qBC3BT,IAAI+I,EAAa,EAAQ,QAGrBC,EAA0B,iBAARP,MAAoBA,MAAQA,KAAKtH,SAAWA,QAAUsH,KAGxEQ,EAAOF,GAAcC,GAAYE,SAAS,cAATA,GAErCjG,EAAOC,QAAU+F,G,qBCJjB,IAAuBE,EAJvB,EAAQ,QAIeA,EAWH,WAClB,IAAIC,EAAUC,KAAKC,MAAM,k2KACrBC,EAAUF,KAAKC,MAAM,wmCAEzB,SAASE,EAAQxF,EAAQ5F,GACvB,GAAsB,iBAAX4F,EACT,MAAM,IAAIyF,MAAM,qCAMlB,IAAIC,EAASH,GAHbnL,EAA6B,iBAAZA,EAAuB,CACtCuL,YAAavL,GACXA,GAAW,IACcsL,SAAW,GACpCC,OAAsCnF,IAAxBpG,EAAQuL,YAA4B,IAAMvL,EAAQuL,YAChEC,OAAwBpF,IAAjBpG,EAAQwL,MAA4BxL,EAAQwL,KACnDC,EAAO7F,EAAO8F,YAAYC,MAAM,IACnCC,QAAO,SAAUhK,EAAQiK,GACxB,IAAIC,EAAaR,EAAOO,IAAOb,EAAQa,IAAOA,EAM9C,OAJIC,IAAeP,IACjBO,EAAa,KAGRlK,EAASkK,EACfV,QAAQpL,EAAQ+L,QAAU,2BAA4B,MACtD,IAkBH,OAhBI/L,EAAQgM,SACVP,EAAOA,EAAKL,QAAQ,kBAAmB,KAGrCI,IACFC,EAAOA,EAAKD,QAKdC,EAAOA,EAAKL,QAAQ,OAAQG,GAExBvL,EAAQiM,QACVR,EAAOA,EAAKxB,eAGPwB,EAOT,OAJAL,EAAQc,OAAS,SAAUC,GACzBpJ,OAAOC,OAAOgI,EAASmB,IAGlBf,GA3DLvG,EAAOC,QAAUiG,IACjBlG,EAAOC,QAAiB,QAAIiG,K,qBCPhC,IAAI7C,EAAS,EAAQ,QACjBkE,EAAY,EAAQ,QACpBC,EAAiB,EAAQ,QAOzB/D,EAAiBJ,EAASA,EAAOK,iBAAcnC,EAkBnDvB,EAAOC,QATP,SAAoBC,GAClB,OAAa,MAATA,OACeqB,IAAVrB,EAdQ,qBADL,gBAiBJuD,GAAkBA,KAAkBvF,OAAOgC,GAC/CqH,EAAUrH,GACVsH,EAAetH,K,iDCnBjBuH,EACAC,E,oLCkIWC,E,iRA/HDC,IAAMC,a,4CA8BF,SAACC,EAAOC,GACJ,UAAdD,EAAMjG,KACR,EAAKmG,eAAeF,EAAMG,OAAO/H,U,8CA9BrCgI,gBAAA,SAAgBC,EAAMC,GAElBjE,KAAKkE,gBADM,QAATF,EACqB,OAEAhD,IAAQgD,EAAM,CACnCzB,YAAa,IACbU,OAAO,EACPD,QAAQ,IAIPhD,KAAKmE,YAGRC,mBAAS,aAAapE,KAAKkE,gBAAnB,aAA+ClE,KAAKmE,aAF5DC,mBAAS,aAAapE,KAAKkE,gBAAnB,Y,EAMZL,eAAA,SAAeQ,GACbrE,KAAKmE,YAAcE,EAAO7B,OAEtBxC,KAAKkE,gBACPE,mBAAS,aAAapE,KAAKkE,gBAAnB,aAA+ClE,KAAKmE,aAE5DC,mBAAS,2BAA2BpE,KAAKmE,c,EAU7CpE,OAAA,WAAU,IAAD,OACP,EAAuCC,KAAKC,MAApCqE,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,KAAMC,EAA1B,EAA0BA,SAEtBC,EAAgB,GAMpB,OALAH,EAAWI,SAAQ,YAAc,EAAXC,KACfC,SAASF,SAAQ,SAAAG,GACpBJ,EAAcK,KAAKD,SAIrB,yBAAK/D,UAAU,qBACb,yBAAKA,UAAU,0BAA0BiE,eAAa,QACpD,yBAAKjE,UAAU,eACb,2BACEkE,KAAK,SACLlE,UAAU,eACVmE,YAAY,qBACZC,UAAW,SAACvB,EAAOC,GAAR,OAAgB,EAAKuB,cAAcxB,EAAOC,IACrDrK,IAAKyG,KAAKoF,YAEZ,4BACEJ,KAAK,SACLK,QAAS,kBAAM,EAAKxB,eAAe,EAAKuB,UAAU1L,QAAQqC,SAE1D,uBAAG+E,UAAU,oBAGjB,kBAAC,IAAD,CAAYwE,SAAS,UACnB,wBAAIxE,UAAU,oBACZ,wBACEuE,QAAS,kBAAM,EAAKtB,gBAAgB,OAAQQ,IAC5CzD,UAAwB,KAAb0D,EAAkB,SAAW,GACxC9G,IAAK,KAEL,0BAAMoD,UAAU,QAAhB,OACA,0BAAMA,UAAU,SAAS2D,EAAc/J,SAExC4J,EAAWiB,KAAI,WAAWxH,GAAW,IAAnB4G,EAAkB,EAAlBA,KACjB,OAAIA,EAAKC,SAASlK,OAAS,EAEvB,wBACE2K,QAAS,kBAAM,EAAKtB,gBAAgBY,EAAKX,KAAMO,IAC/CzD,UACE6D,EAAKX,OAAS,IAAYQ,GAAY,SAAW,GAEnD9G,IAAKK,GAEL,0BAAM+C,UAAU,QAAQ6D,EAAKX,MAC7B,0BAAMlD,UAAU,SAAS6D,EAAKC,SAASlK,SAIpC,UAKf,kBAAC,IAAD,CAAY8K,SAAS,UACnB,yBAAK1E,UAAU,oCACb,4BACEA,UAAU,4BACV2E,SAAU,SAAA9B,GAAK,OAAI,EAAKI,gBAAgBJ,EAAMG,OAAO/H,SAErD,4BAAQ+E,UAAwB,KAAb0D,EAAkB,SAAW,GAAI9G,IAAK,KAAzD,OAGC4G,EAAWiB,KAAI,WAAWxH,GAAW,IAAnB4G,EAAkB,EAAlBA,KACjB,OAAIA,EAAKC,SAASlK,OAAS,EAEvB,4BACEoG,UACE6D,EAAKX,OAAS,IAAYQ,GAAY,SAAW,GAEnD9G,IAAKK,GAEJ4G,EAAKX,MAIH,c,GAtHD0B,a,wBCiHXC,EAnHQ,SAAC,GAA2C,IAAzCnB,EAAwC,EAAxCA,SAAUD,EAA8B,EAA9BA,KAAMF,EAAwB,EAAxBA,OAEpCuB,EAyBJ,SAA6BC,GAC3B,OAAOC,KAAKC,KAAKF,EAAgB,GA1BlBG,CAF+C,EAAhBC,UAClBC,OAE1BC,EAIJ,SAA6B5B,GAC3B,GAuBF,SAAsBC,EAAUD,GAC9B,QAAIqB,EAAa,IACRA,EAAaQ,OAAO7B,GAAQ,EAzBjC8B,CAAa,IAAY7B,GAAWD,GACtC,OAAIA,EAAO,EACFA,EAEA6B,OAAO7B,GAAQ,EAG1B,OAAO,KAZQ+B,CAAoB/B,GACjCgC,EAmCJ,SAAoBJ,GAClB,GAAIA,EACF,OAAOP,EAAaQ,OAAOD,GAAc,EArC9BK,CAAWL,GAAcC,OAAOD,GAAc,EAAI,KAC7DM,EAAYlC,EAAO,EAAI,EAAI6B,OAAOD,GAAc,EAcpD,SAASO,EAAYzC,GACdI,EAGHD,mBAAS,aAAaI,EAAd,SAA+BP,EAA/B,MAA+CI,GAFvDD,mBAAS,aAAaI,EAAd,SAA+BP,GAwC3C,OACE,yBAAKnD,UAAU,cACb,4BACE,wBACEuE,QAAS,kBApBjB,SAAqBpB,GACnB,KAAImC,OAAOnC,GAAc,GAAzB,CAGA,IAAI0C,EAAqBP,OAAOnC,GAAc,EAC9CG,mBAAS,aAAaI,EAAd,SAA+BmC,EAA/B,MAAuDtC,IAe1CuC,CAAYrC,IAC3BzD,UAAWyD,EAAO,EAAI,WAAa,IAEnC,yBAAKzD,UAAU,kCAAf,aAGF,wBACEuE,QAAS,kBAAMqB,EAAYD,IAC3B3F,UAAS,eACP2F,EAAUxJ,aAAesH,EAAO,SAAW,KAG7C,yBAAKzD,UAAU,mBAAmB2F,IAGnCN,GACC,wBACEd,QAAS,kBAAMqB,EAAYP,IAC3BrF,UAAS,gBACPqF,EAAWlJ,aAAesH,EAAO,SAAW,KAG9C,yBAAKzD,UAAU,mBAAmBqF,IAIrCI,GACC,wBACElB,QAAS,kBAAMqB,EAAYH,IAC3BzF,UAAS,cACPyF,EAAStJ,aAAesH,EAAO,SAAW,KAG5C,yBAAKzD,UAAU,mBAAmByF,IAItC,wBACElB,QAAS,kBAlDjB,SAAwBpB,GACtB,GAAImC,OAAOnC,KAAgB2B,EAA3B,CAGA,IAAIe,EAAqBP,OAAOnC,GAAc,EAC9CG,mBAAS,aAAaI,EAAd,SAA+BmC,EAA/B,MAAuDtC,IA6C1CwC,CAAetC,IAC9BzD,UAAWyD,IAASqB,EAAW3I,WAAa,WAAa,IAEzD,yBAAK6J,KAAK,IAAIhG,UAAU,kCAAxB,Y,wBFsDKiG,EA5Je,SAAC,GAMzB,EALJC,YAKK,IAJLxC,EAII,EAJJA,SACAD,EAGI,EAHJA,KACAF,EAEI,EAFJA,OACAC,EACI,EADJA,WAEM2C,EAAsBC,YAAH,kxBAwCnBC,EAA6BD,YAAH,4yBAwChC,SAASE,EAAe7C,GACtB,OAAoB,GAAZA,EAAO,GAGjB,MAAiCzN,YAASmQ,EAAqB,CAC7D1L,UAAW,CACTyI,KAAMQ,EAAWA,EAASpC,QAAQ,KAAM,KAAO,GAC/CZ,MAAO4F,EAAe7C,MAHFnL,GAAxB,EAAQjB,QAAR,EAAiBW,MAAjB,EAAwBM,MAOlBiO,EAAgBvQ,YAASqQ,EAA4B,CACzD5L,UAAW,CACTyI,KAAMQ,EAAWA,EAASpC,QAAQ,KAAM,KAAO,GAC/CZ,MAAO4F,EAAe7C,GACtB+C,EAAGjD,KAEJjL,KAcH,OAZAkK,EAAa+D,EACTA,EAAcE,mBAAmBC,OACjCpO,EACAA,EAAKmO,mBAAmBC,OACxB,GAEJjE,EAAe8D,EACXA,EAAcE,mBAAmBtB,UACjC7M,EACAA,EAAKmO,mBAAmBtB,UACxB,GAGF,6BACE,yBAAKnF,UAAU,kEACZwC,EAAW5I,OAAS,EACnB4I,EAAWiC,KAAI,SAACZ,EAAM8C,GACpB,OACE,kBAAC3H,EAAA,EAAD,CACEI,OACEyE,EAAI,UAAgBA,EAAI,SAAJ,cAChBA,EAAI,SAAJ,kBACAA,EAAI,UAAJ,IAENvE,SAAUuE,EAAI,YACdxE,MAAOwE,EAAI,MACXtE,WAAesE,EAAI,OAAJ,UAAL,IAAoCA,EAAI,OAAJ,SAC9CrE,WAAYqE,EAAI,OAAJ,WACZjH,IAAK+J,EACLlH,IAAKoE,EAAI,SAKf,yBAAK7D,UAAU,aACb,+EAIN,kBAAC,EAAD,CACEwD,WAAYA,EACZE,SAAUA,EACVD,KAAMA,EACNF,OAAQA,EACR4B,UAAW1C,M,YGzGJmE,EAhDS,WACtB,IAAMtO,EAAOuO,yBAAe,cAkB5B,OACE,yBAAK7G,UAAU,oBACb,wBAAIA,UAAU,mBAAd,qBACA,yBAAKA,UAAU,6CACZ1H,EAAI,kBAAJ,MAAmCoE,MAAM,EAAG,GAAG+H,KAAI,WAAWkC,GAAO,IAAf9C,EAAc,EAAdA,KACrD,OACE,yBAAK7D,UAAU,YAAYpD,IAAK+J,GAC9B,yBAAK3G,UAAU,yBACb,yBAAKA,UAAU,0BACb,uBAAGgG,KAAK,IAAIhG,UAAU,yBAAtB,aACa,IACX,8BAAU6D,EAAI,OAAJ,UAAV,IAAyCA,EAAI,OAAJ,WAE3C,4BACE,kBAAC,OAAD,CAAM5D,GAAIC,IAAQ2D,EAAI,MAAU1D,gBAC7B0D,EAAI,QAGT,2BAAIA,EAAI,sBCuEXiD,UAvGG,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SACbC,EACHD,EAASE,OAASF,EAASE,MAAMhR,OAAU8Q,EAASf,MAAQ,GAE3DkB,EAASF,EAAc,IAAIG,IAAIH,GAAaI,aAAe,GAC3D1D,EACFwD,GAAqC,SAA3BA,EAAOG,IAAI,YAAyBH,EAAOG,IAAI,YAAc,GACrE5D,EAAOyD,GAAUA,EAAOG,IAAI,QAAUH,EAAOG,IAAI,QAAU,IAC3D9D,EAAS2D,GAAUA,EAAOG,IAAI,KAAOH,EAAOG,IAAI,KAAO,GACvDC,EACF,oBAAOC,OACHA,OAAOC,aAAaC,QAAQ,YAC5B,KAEAC,EAA4Bb,yBAAe,aAmCjD,OACE,kBAAC,IAAD,CACEc,UAAwB,SAAbL,EAAsB,kBAAoB,oBAErD,kBAAC,IAAD,CACEjI,MAAM,cACNuI,YAAY,kDACZC,SAAU,CAAC,UAAD,sDAQZ,gCACE,kBAACC,EAAA,EAAD,CAAMC,eAAe,OAAOT,SAAuB,SAAbA,KAExC,0BAAMtH,UAAU,gBACd,6BAASA,UAAU,yBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,YAAYgI,sBAAoB,QAC7C,kBAAC,EAAD,CACExE,WACEkE,EAAyB,oBAAzB,MAEFjE,KAAMA,EACNC,SAAUA,IAEZ,yBAAK1D,UAAU,kBACb,kBAAC,EAAD,CACEkG,YACEwB,EAAyB,kBAAzB,MAEFjE,KAAMA,EACNC,SAAUA,EACVH,OAAQA,IAEV,kBAAC,EAAD,YAQZ,kBAAC0E,EAAA,EAAD,U,qBC3GR,IAAIC,EAAe,EAAQ,QACvB/L,EAAW,EAAQ,QAGnBgM,EAAU,8CAeVC,EAAcvM,OANJ,kDAMoB,KAyBlCd,EAAOC,QALP,SAAgBc,GAEd,OADAA,EAASK,EAASL,KACDA,EAAOwF,QAAQ6G,EAASD,GAAc5G,QAAQ8G,EAAa,M,sBCzC9E,YACA,IAAIvH,EAA8B,iBAAVwH,GAAsBA,GAAUA,EAAOpP,SAAWA,QAAUoP,EAEpFtN,EAAOC,QAAU6F,I,yCCoBjB,IAAIyH,EAAU1H,MAAM0H,QAEpBvN,EAAOC,QAAUsN,G,mBCAjBvN,EAAOC,QAbP,SAAqByF,EAAO8H,EAAUC,EAAaC,GACjD,IAAIxL,GAAS,EACTrD,EAAkB,MAAT6G,EAAgB,EAAIA,EAAM7G,OAKvC,IAHI6O,GAAa7O,IACf4O,EAAc/H,IAAQxD,MAEfA,EAAQrD,GACf4O,EAAcD,EAASC,EAAa/H,EAAMxD,GAAQA,EAAOwD,GAE3D,OAAO+H,I,mBCXTzN,EAAOC,QAJP,SAAsBc,GACpB,OAAOA,EAAO+F,MAAM,M,mBCPtB,IAAI6G,EAAc,4CAalB3N,EAAOC,QAJP,SAAoBc,GAClB,OAAOA,EAAOC,MAAM2M,IAAgB,K,qBCXtC,IAAIC,EAAe,EAAQ,QA2B3B5N,EAAOC,QAJP,SAAkBC,GAChB,OAAgB,MAATA,EAAgB,GAAK0N,EAAa1N,K,mBCJ3CF,EAAOC,QAXP,SAAkByF,EAAO8H,GAKvB,IAJA,IAAItL,GAAS,EACTrD,EAAkB,MAAT6G,EAAgB,EAAIA,EAAM7G,OACnC9B,EAAS8I,MAAMhH,KAEVqD,EAAQrD,GACf9B,EAAOmF,GAASsL,EAAS9H,EAAMxD,GAAQA,EAAOwD,GAEhD,OAAO3I,I,mBChBT,IAAI8Q,EAAmB,qEAavB7N,EAAOC,QAJP,SAAwBc,GACtB,OAAO8M,EAAiBC,KAAK/M,K,qBCX/B,IAmBIgB,EAnBkB,EAAQ,OAmBbgM,CAAgB,eAEjC/N,EAAOC,QAAU8B,G,qBCrBjB,IAGIsB,EAHO,EAAQ,QAGDA,OAElBrD,EAAOC,QAAUoD,G,qBCLjB,IAoEI8J,EApEiB,EAAQ,OAoEVa,CAjEG,CAEpB,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAC1E,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAC1E,IAAQ,IAAM,IAAQ,IACtB,IAAQ,IAAM,IAAQ,IACtB,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IACtB,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAC1E,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAC1E,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IAAK,IAAQ,IAChD,IAAQ,IAAM,IAAQ,IAAK,IAAQ,IACnC,IAAQ,KAAM,IAAQ,KACtB,IAAQ,KAAM,IAAQ,KACtB,IAAQ,KAER,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAC1B,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACvE,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IACxD,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACtF,IAAU,IAAM,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IAAK,IAAU,IACtF,IAAU,IAAM,IAAU,IAC1B,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,IAAM,IAAU,IAAK,IAAU,IACzC,IAAU,KAAM,IAAU,KAC1B,IAAU,KAAM,IAAU,KAC1B,IAAU,KAAM,IAAU,MAa5BhO,EAAOC,QAAUkN,G,mBCrEjB,IAWIc,EAAenN,OAAO,uFAa1Bd,EAAOC,QAJP,SAAoBc,GAClB,OAAOkN,EAAaH,KAAK/M,K,uBCpB1B,IAEqDmN,EAJtD,EAAQ,QAIN,oBAAsB1I,MAAOA,KAD6BxF,EAAOC,SACbiO,EAD+B,EAAQ,QAEpF,SAAUC,GACf,SAASC,EAAoBC,GAC3B,GAAIC,EAAiBD,GAAW,OAAOC,EAAiBD,GAAUpO,QAClE,IAAID,EAASsO,EAAiBD,GAAY,CACxCzC,EAAGyC,EACHE,GAAG,EACHtO,QAAS,IAEX,OAAOkO,EAAQE,GAAU/Q,KAAK0C,EAAOC,QAASD,EAAQA,EAAOC,QAASmO,GAAsBpO,EAAOuO,GAAI,EAAIvO,EAAOC,QAGpH,IAAIqO,EAAmB,GACvB,OAAOF,EAAoBI,EAAIL,EAASC,EAAoBK,EAAIH,EAAkBF,EAAoBM,EAAI,SAAUzO,EAASkI,EAAMwG,GACjIP,EAAoBQ,EAAE3O,EAASkI,IAASjK,OAAO2Q,eAAe5O,EAASkI,EAAM,CAC3E2G,cAAc,EACdC,YAAY,EACZzC,IAAKqC,KAENP,EAAoBY,EAAI,SAAUhP,GACnC,IAAI2O,EAAS3O,GAAUA,EAAOiP,WAAa,WACzC,OAAOjP,EAAOkP,SACZ,WACF,OAAOlP,GAET,OAAOoO,EAAoBM,EAAEC,EAAQ,IAAKA,GAASA,GAClDP,EAAoBQ,EAAI,SAAUhN,EAAQuN,GAC3C,OAAOjR,OAAOqF,UAAU/E,eAAelB,KAAKsE,EAAQuN,IACnDf,EAAoBgB,EAAI,GAAIhB,EAAoBA,EAAoBiB,EAAI,GA3BtE,CA4BL,CAAC,SAAUrP,EAAQsP,EAAqBlB,GACxC,aAEA,SAASmB,EAAeC,EAAK5D,GAC3B,OAkDF,SAAyB4D,GACvB,GAAI3J,MAAM0H,QAAQiC,GAAM,OAAOA,EAnDxBC,CAAgBD,IAyBzB,SAA+BA,EAAK5D,GAClC,GAAI,oBAAsBvI,QAAUA,OAAOqM,YAAYxR,OAAOsR,GAAM,CAClE,IAAIG,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAK,EAET,IACE,IAAK,IAAIC,EAAIC,EAAKR,EAAInM,OAAOqM,cAAeE,GAAMG,EAAKC,EAAGlT,QAAQmT,QAAUN,EAAK1G,KAAK8G,EAAG7P,QAAS0L,GAAK+D,EAAK9Q,SAAW+M,GAAIgE,GAAK,IAGhI,MAAOM,GACPL,GAAK,EAAIC,EAAKI,EACd,QACA,IACEN,GAAM,MAAQI,EAAGG,QAAUH,EAAGG,SAC9B,QACA,GAAIN,EAAI,MAAMC,GAIlB,OAAOH,GA9CsBS,CAAsBZ,EAAK5D,IAO5D,SAAqCgD,EAAGyB,GACtC,GAAIzB,EAAG,CACL,GAAI,iBAAmBA,EAAG,OAAO0B,EAAkB1B,EAAGyB,GACtD,IAAIrB,EAAI9Q,OAAOqF,UAAUnC,SAAS9D,KAAKsR,GAAGjN,MAAM,GAAI,GACpD,MAAO,WAAaqN,GAAKJ,EAAE2B,cAAgBvB,EAAIJ,EAAE2B,YAAYpI,MAAO,QAAU6G,GAAK,QAAUA,EAAInJ,MAAM2K,KAAK5B,GAAK,cAAgBI,GAAK,2CAA2ClB,KAAKkB,GAAKsB,EAAkB1B,EAAGyB,QAAU,GAX5JI,CAA4BjB,EAAK5D,IAGnG,WACE,MAAM,IAAI8E,UAAU,6IAJmFC,GAezG,SAASL,EAAkBd,EAAKoB,IAC7B,MAAQA,GAAOA,EAAMpB,EAAI3Q,UAAY+R,EAAMpB,EAAI3Q,QAEhD,IAAK,IAAI+M,EAAI,EAAGiF,EAAO,IAAIhL,MAAM+K,GAAMhF,EAAIgF,EAAKhF,IAC9CiF,EAAKjF,GAAK4D,EAAI5D,GAGhB,OAAOiF,EAgCT,IAAIC,EAAsC1C,EAAoB,GAC1D2C,EAA8C3C,EAAoBY,EAAE8B,GACpEE,EAAgD5C,EAAoB,GACpE6C,EAAwD7C,EAAoBY,EAAEgC,GAC9EE,EAAqD9C,EAAoB,GACzE+C,EAAsD/C,EAAoB,IAC1EgD,EAA8DhD,EAAoBY,EAAEmC,GACpFE,EAAyCjD,EAAoB,GAC7DkD,EAAyClD,EAAoB,GAI7DmD,EAAgB,SAAuBC,GACzC,IAAKA,EAAK,OAAO,KACjB,IAAI5S,EAAOV,OAAOU,KAAK4S,GACvB,OAAO,IAAM5S,EAAKC,OAAS,KAAOD,EAAKmI,QAAO,SAAUhK,EAAQ8E,GAC9D,OAAO9E,EAAOmB,OAAOgT,EAAmDO,EAA1DvT,CAA6D2D,IAAQ2P,EAAI3P,GAAM9E,IAC5F,KAED2U,EAAc,WAChB,IAAIhU,EAAMqT,EAA4CU,EAAEE,QAAO,GAE/D,OAAOZ,EAA4CU,EAAEG,WAAU,WAC7DlU,EAAIG,SAAU,IACb,IAAKH,EAAIG,SAiBV5C,EAAW,SAAkB4W,GAC/B,IAAIC,EAAW,WACb,OAlCY,SAAmBD,GACjC,OAAOA,EAAS3W,OAASgD,OAAOmT,EAAuCI,EAA9CvT,CAAiD2T,GAiCjEE,CAAUF,IAGfG,EAAmBzC,EADAwB,EAA4CU,EAAEQ,SAASH,GACtB,GACpD5W,EAAQ8W,EAAiB,GACzBE,EAAWF,EAAiB,GAEhC,OAAOjB,EAA4CU,EAAEG,WAAU,WAC7D,IAAIO,EAAWL,IACf5W,IAAUiX,GAAYD,EAASC,KAC9B,CAACN,IAAY3W,GA8ClBoU,EAAoBmC,EAZA,SAAuBI,EAAUO,EAAQxI,GAC3D,IAAIyI,EA9DU,SAAmBC,GACjC,IAAIC,EAAoBxB,EAA4CU,EAAEe,WAAWlB,EAAuCG,GACpHgB,EAAY,WACd,OAAOlB,EAAce,IAAoBf,EAAcgB,IAGrDG,EAAmBnD,EADDwB,EAA4CU,EAAEQ,SAASQ,GACtB,GACnDL,EAASM,EAAiB,GAC1BC,EAAYD,EAAiB,GAEjC,OAAO3B,EAA4CU,EAAEG,WAAU,WAC7D,IAAIgB,EAAYH,IAChBrB,IAA8DgB,EAAQQ,IAAcD,EAAUC,KAC7F,CAACN,EAAiBC,IAAqBH,EAiDrBS,CAAUT,GAC3BlX,EAAQD,EAAS4W,GACrB,IAAK3W,EAAO,MAAM,IAAIsL,MAAM,kCAC5B,IACIsM,EArBW,SAAoBC,GACnC,IACIC,EAAmBzD,EADAwB,EAA4CU,EAAEQ,SAASc,EAAWD,SACjC,GACpDA,EAAUE,EAAiB,GAC3BC,EAAaD,EAAiB,GAElC,OAAOjC,EAA4CU,EAAEG,WAAU,WAC7D,IAAIsB,EAAgB,WAClBD,EAAWF,EAAWD,UAGxB,OAAOC,EAAWI,YAAYD,GAAgBA,IAAiB,WAC7DH,EAAWK,eAAeF,MAE3B,CAACH,IAAcD,EAOJO,CArCI,SAAuBnY,EAAOkX,GAChD,IAAIkB,EAAgB,WAClB,OAAOrC,IAAwD/V,EAAOkX,GAAU,KAAMA,IAGpFmB,EAAmBhE,EADAwB,EAA4CU,EAAEQ,SAASqB,GACtB,GACpDE,EAAKD,EAAiB,GACtBE,EAAQF,EAAiB,GACzBG,EAAWhC,IAEf,OAAOX,EAA4CU,EAAEG,WAAU,WAC7D,OAAO8B,GAAYD,EAAMH,KAAkB,WACzCE,EAAGG,aAEJ,CAACzY,EAAOkX,IAAUoB,EAsBZI,CAAc1Y,EAAOmX,IAE1BqB,EAAWhC,IACf,OAAOX,EAA4CU,EAAEG,WAAU,WAC7D8B,GAAY9J,GAAYA,EAASkJ,KAChC,CAACA,IAAWA,IAIhB,SAAU9S,EAAQC,GACnBD,EAAOC,QAAUiO,GAChB,SAAUlO,EAAQsP,EAAqBlB,GACxC,aAEA,SAASyF,EAAc7S,GACrB,MAAO,IAAMA,EAAMoE,cASrB,IAAI0O,EAAmB,SACnBC,EAAY,OACZC,EAAQ,GACZ1E,EAAoBmC,EATpB,SAA4BtJ,GAC1B,GAAI6L,EAAMxV,eAAe2J,GAAO,OAAO6L,EAAM7L,GAC7C,IAAI8L,EAAQ9L,EAAK5B,QAAQuN,EAAkBD,GAC3C,OAAOG,EAAM7L,GAAQ4L,EAAUjG,KAAKmG,GAAS,IAAMA,EAAQA,IAO5D,SAAUjU,EAAQsP,EAAqBlB,GACxC,aAEA,IAAI8F,EAAqD9F,EAAoB,GACzE+F,EAA4C/F,EAAoB,IAmBpEkB,EAAoBmC,EARN,SAAiBD,GAC7B,IAAI4C,EAAQ,GACZ,OAAOlW,OAAOU,KAAKuV,EAA0C1C,EAAE4C,KAAKxL,SAAQ,SAAUyL,GACpF,IAAIC,EAAI/C,EAAI8C,GACZ,MAAQC,GAAKH,EAAMnL,KAXV,SAAgBqL,EAAGC,GAC9B,IAAIC,EAAUtW,OAAOgW,EAAmDzC,EAA1DvT,CAA6DoW,GAC3E,MAAO,iBAAmBC,IAAMA,EAAI,GAAGE,OAAOF,EAAG,QAAQ,IAAOA,EAAIC,GAAU,IAAOD,EAJ9E,OAAOE,OAIkFD,GAAW,IAAIC,OAAOD,EAAS,MAAMC,OAAOF,EAAG,KASrHG,CAAOJ,EAAGC,OAC3BH,EAPIzT,KAAK,WAWnB,SAAUX,EAAQC,EAASmO,GAC5B,aAEApO,EAAOC,QAAUmO,EAAoB,KACpC,SAAUpO,EAAQC,EAASmO,GAC5B,aAEApO,EAAOC,QAAU,gDAChB,SAAUD,EAAQsP,EAAqBlB,GACxC,aAEA,IAAI0C,EAAsC1C,EAAoB,GAE1DuG,EAD8CvG,EAAoBY,EAAE8B,GACdW,EAAEmD,gBAE5DtF,EAAoBmC,EAAIkD,GACvB,SAAU3U,EAAQsP,EAAqBlB,GACxC,aAEAlQ,OAAO2Q,eAAeS,EAAqB,aAAc,CACvDpP,OAAO,IAGT,IAAI2U,EAA+CzG,EAAoB,GACnE0G,EAA2C1G,EAAoB,IAC/D2G,EAAyC3G,EAAoB,GAC7D4G,EAAyC5G,EAAoB,GAEjEA,EAAoBM,EAAEY,EAAqB,WAAW,WACpD,OAAOwF,EAAyCrD,KAC9CrD,EAAoBM,EAAEY,EAAqB,iBAAiB,WAC9D,OAAOuF,EAA6CpD,KAClDrD,EAAoBM,EAAEY,EAAqB,WAAW,WACxD,OAAOyF,EAAuCtD,KAC5CrD,EAAoBM,EAAEY,EAAqB,WAAW,WACxD,OAAO0F,EAAuCvD,MAE/C,SAAUzR,EAAQC,EAASmO,GAC5B,aAEA,SAAS6G,EAAI/Z,EAAOyQ,EAAQuJ,GAS1B,SAASC,EAAOC,GACd5P,EAAKsN,QAAUsC,EAAItC,QAAStN,EAAK6P,MAAQD,EAAIC,MAO/C,IAAI7P,EAAOrB,KAEX,GAAImR,IAAiBJ,EAAa,CAChC,IAAIK,EAAMD,EAAahY,KAAKkP,OAAQtR,GACpCiJ,KAAK2O,QAAUyC,EAAIzC,QAAS3O,KAAKkR,MAAQE,EAAIF,MAAOE,EAAIpC,YAAYgC,QAC/DhR,KAAK2O,QAAU0C,EAAYta,EAAOyQ,GAASxH,KAAKkR,MAAQna,EAE/DiJ,KAAKgP,YAvBL,SAAqBsC,GACnBF,GAAOA,EAAIpC,YAAYsC,IAsBOtR,KAAKiP,eAnBrC,SAAwBqC,GACtBF,GAAOA,EAAInC,eAAeqC,IAkB0CtR,KAAKwP,QAX3E,WACE4B,GAAOA,EAAInC,eAAe+B,IAiB9B,IAAIK,EAAcpH,EAAoB,GAAGpN,MACrCsU,EAAe,oBAAsB9I,OAASA,OAAOkJ,WAAa,KAEtE1V,EAAOC,QAPP,SAAoB/E,EAAOyQ,EAAQuJ,GACjC,OAAO,IAAID,EAAI/Z,EAAOyQ,EAAQuJ,KAO/B,SAAUlV,EAAQC,EAASmO,GAC5B,aA0DA,SAASuH,EAAW5C,GAClB,OAAOA,EAAWjM,MAAM,KAAK4C,KAAI,SAAUxO,GAEzC,IAAI0a,GADJ1a,EAAQA,EAAMyL,QACO3F,MAAM6U,GACvBC,EAAWF,EAAS,GACpBzM,EAAOyM,EAAS,GAChBG,EAAcH,EAAS,IAAM,GAC7BI,EAAS,GACb,OAAOA,EAAOC,UAAYH,GAAY,QAAUA,EAAS1Q,cAAe4Q,EAAO7M,KAAOA,EAAOA,EAAK/D,cAAgB,MAAO2Q,EAAcA,EAAY/U,MAAM,gBAAkB,GAAIgV,EAAOD,YAAcA,EAAYrM,KAAI,SAAUwM,GAC5N,IAAIN,EAAWM,EAAWlV,MAAMmV,GAC5BC,EAAUR,EAAS,GAAGxQ,cAAcpE,MAAMqV,GAC9C,MAAO,CACLP,SAAUM,EAAQ,GAClBA,QAASA,EAAQ,GACjBlW,MAAO0V,EAAS,OAEhBI,KAIR,SAASM,EAAUC,GACjB,IAAIC,EACAC,EAAUlM,OAAOgM,GACrB,OAAOE,IAA2DA,GAA/CD,EAAUD,EAAMvV,MAAM,yBAA2C,GAAKwV,EAAQ,IAAKC,EAGxG,SAASC,EAAMC,GACb,IAAIzW,EAAQ0W,WAAWD,GAEvB,OAAQE,OAAOF,GAAY3V,MAAM8V,GAAoB,IACnD,IAAK,OACH,OAAO5W,EAAQ,KAEjB,IAAK,OACH,OAAO,GAAKA,EAEd,QACE,OAAOA,GAIb,SAAS6W,EAAKlY,GACZ,IAAIqB,EAAQ0W,WAAW/X,GAEvB,OAAQgY,OAAOhY,GAAQmC,MAAMgW,GAAgB,IAC3C,IAAK,KACL,IAAK,MACH,OAAO,GAAK9W,EAEd,IAAK,KACH,OAAO,GAAKA,EAAQ,KAEtB,IAAK,KACH,OAAO,GAAKA,EAAQ,KAAO,GAE7B,IAAK,KACH,OAAO,GAAKA,EAEd,IAAK,KACH,OAAO,GAAKA,EAEd,IAAK,KACH,OAAO,GAAKA,EAAQ,GAEtB,QACE,OAAOA,GAIbD,EAAQe,MA7HR,SAAoB+R,EAAYpH,GAC9B,OAAOgK,EAAW5C,GAAYkE,MAAK,SAAU/b,GAC3C,IAAI+a,EAAU/a,EAAM+a,QAChBiB,EAAY,QAAUhc,EAAMiO,MAAQwC,EAAOxC,OAASjO,EAAMiO,KAC9D,GAAI+N,GAAajB,IAAYiB,IAAcjB,EAAS,OAAO,EAC3D,IAAIkB,EAAmBjc,EAAM6a,YAAYqB,OAAM,SAAUlB,GACvD,IAAIE,EAAUF,EAAWE,QACrBN,EAAWI,EAAWJ,SACtBuB,EAAWnB,EAAWhW,MACtBA,EAAQyL,EAAOyK,GACnB,IAAKlW,EAAO,OAAO,EAEnB,OAAQkW,GACN,IAAK,cACL,IAAK,OACH,OAAOlW,EAAMkF,gBAAkBiS,EAASjS,cAE1C,IAAK,QACL,IAAK,SACL,IAAK,eACL,IAAK,gBACHiS,EAAWN,EAAKM,GAAWnX,EAAQ6W,EAAK7W,GACxC,MAEF,IAAK,aACHmX,EAAWX,EAAMW,GAAWnX,EAAQwW,EAAMxW,GAC1C,MAEF,IAAK,eACL,IAAK,sBACL,IAAK,qBACHmX,EAAWf,EAAUe,GAAWnX,EAAQoW,EAAUpW,GAClD,MAEF,IAAK,OACL,IAAK,QACL,IAAK,cACL,IAAK,aACHmX,EAAWC,SAASD,EAAU,KAAO,EAAGnX,EAAQoX,SAASpX,EAAO,KAAO,EAG3E,OAAQ4V,GACN,IAAK,MACH,OAAO5V,GAASmX,EAElB,IAAK,MACH,OAAOnX,GAASmX,EAElB,QACE,OAAOnX,IAAUmX,MAGvB,OAAOF,IAAqBlB,IAAYkB,GAAoBlB,MAyEpChW,EAAQoG,MAAQsP,EAC5C,IAAIE,EAAiB,sDACjBM,EAAmB,gDACnBE,EAAgB,uBAChBW,EAAiB,+BACjBF,EAAqB,qBACxB,SAAU9W,EAAQC,EAASmO,GAC5B,aAkBApO,EAAOC,QAhBP,SAA6BsX,EAAMC,GACjC,GAAID,IAASC,EAAM,OAAO,EAC1B,IAAKD,IAASC,EAAM,OAAO,EAC3B,IAAIC,EAAQvZ,OAAOU,KAAK2Y,GACpBG,EAAQxZ,OAAOU,KAAK4Y,GACpB5G,EAAM6G,EAAM5Y,OAChB,GAAI6Y,EAAM7Y,SAAW+R,EAAK,OAAO,EAEjC,IAAK,IAAIhF,EAAI,EAAGA,EAAIgF,EAAKhF,IAAK,CAC5B,IAAI/J,EAAM4V,EAAM7L,GAChB,GAAI2L,EAAK1V,KAAS2V,EAAK3V,KAAS3D,OAAOqF,UAAU/E,eAAelB,KAAKka,EAAM3V,GAAM,OAAO,EAG1F,OAAO,IAIR,SAAU7B,EAAQsP,EAAqBlB,GACxC,aAEA,SAASuJ,EAAQ/V,EAAQgW,GACvB,IAAIhZ,EAAOV,OAAOU,KAAKgD,GAEvB,GAAI1D,OAAO2Z,sBAAuB,CAChC,IAAIC,EAAU5Z,OAAO2Z,sBAAsBjW,GAC3CgW,IAAmBE,EAAUA,EAAQC,QAAO,SAAUC,GACpD,OAAO9Z,OAAO+Z,yBAAyBrW,EAAQoW,GAAKjJ,eACjDnQ,EAAKqK,KAAKiP,MAAMtZ,EAAMkZ,GAG7B,OAAOlZ,EAGT,SAASuZ,EAAclQ,GACrB,IAAK,IAAI2D,EAAI,EAAGA,EAAIwM,UAAUvZ,OAAQ+M,IAAK,CACzC,IAAIyM,EAAS,MAAQD,UAAUxM,GAAKwM,UAAUxM,GAAK,GACnDA,EAAI,EAAI+L,EAAQzZ,OAAOma,IAAS,GAAIxP,SAAQ,SAAUhH,GACpDyW,EAAgBrQ,EAAQpG,EAAKwW,EAAOxW,OACjC3D,OAAOqa,0BAA4Bra,OAAOsa,iBAAiBvQ,EAAQ/J,OAAOqa,0BAA0BF,IAAWV,EAAQzZ,OAAOma,IAASxP,SAAQ,SAAUhH,GAC5J3D,OAAO2Q,eAAe5G,EAAQpG,EAAK3D,OAAO+Z,yBAAyBI,EAAQxW,OAI/E,OAAOoG,EAGT,SAASqQ,EAAgB9G,EAAK3P,EAAK3B,GACjC,OAAO2B,KAAO2P,EAAMtT,OAAO2Q,eAAe2C,EAAK3P,EAAK,CAClD3B,MAAOA,EACP6O,YAAY,EACZD,cAAc,EACd2J,UAAU,IACPjH,EAAI3P,GAAO3B,EAAOsR,EAGzB,IAAIkH,EAA2CtK,EAAoB,IAC/DuK,EAAmDvK,EAAoBY,EAAE0J,GACzEE,EAAiBD,EAAiDlH,EAAEoH,UAAU,CAACF,EAAiDlH,EAAE1Q,OAAQ4X,EAAiDlH,EAAEqH,SAC7LC,EAAW,CACbC,YAAaL,EAAiDlH,EAAEwH,MAAM,CAAC,WAAY,cACnFC,KAAMP,EAAiDlH,EAAEwH,MAAM,CAAC,cAAe,cAC/EE,YAAaR,EAAiDlH,EAAE1Q,OAChEqY,kBAAmBT,EAAiDlH,EAAE1Q,OACtEsY,OAAQT,EACRU,aAAcV,EACdW,MAAOX,EACPY,YAAaZ,EACba,MAAOd,EAAiDlH,EAAEiI,KAC1DC,WAAYhB,EAAiDlH,EAAEiI,KAC/DE,WAAYjB,EAAiDlH,EAAEiI,KAC/D/C,WAAYiC,GAEViB,EAAW1B,EAAc,CAC3B2B,eAAgBnB,EAAiDlH,EAAE1Q,OACnEgZ,eAAgBpB,EAAiDlH,EAAE1Q,OACnEiZ,qBAAsBrB,EAAiDlH,EAAE1Q,OACzEkZ,qBAAsBtB,EAAiDlH,EAAE1Q,OACzEmZ,UAAWtB,EACXuB,UAAWvB,EACXwB,gBAAiBxB,EACjByB,gBAAiBzB,EACjBnP,SAAUmP,EACVjP,SAAUiP,EACV0B,eAAgB1B,EAChB2B,eAAgB3B,EAChB4B,SAAU7B,EAAiDlH,EAAEqH,OAC7D2B,SAAU9B,EAAiDlH,EAAEqH,OAC7D4B,cAAe/B,EAAiDlH,EAAEqH,OAClE6B,cAAehC,EAAiDlH,EAAEqH,OAClE8B,cAAejC,EAAiDlH,EAAEqH,OAClE+B,cAAelC,EAAiDlH,EAAEqH,OAClEgC,cAAelC,EACfmC,cAAenC,GACdG,GACCiC,EAAQ,CACV3G,IAAKsE,EAAiDlH,EAAEiI,KACxDuB,KAAMtC,EAAiDlH,EAAEiI,KACzDwB,MAAOvC,EAAiDlH,EAAEiI,KAC1DyB,QAASxC,EAAiDlH,EAAEiI,KAC5D0B,SAAUzC,EAAiDlH,EAAEiI,KAC7D2B,MAAO1C,EAAiDlH,EAAEiI,KAC1D4B,WAAY3C,EAAiDlH,EAAEiI,KAC/D6B,OAAQ5C,EAAiDlH,EAAEiI,KAC3D8B,IAAK7C,EAAiDlH,EAAEiI,KACxD+B,GAAI9C,EAAiDlH,EAAEiI,KACvDgC,SAAU/C,EAAiDlH,EAAEiI,MAE3DrF,EAAM8D,EAAcA,EAAc,GAAI6C,GAAQnB,GAElDd,EAAS5P,KAAOjL,OAAOU,KAAKoc,GAAQ1L,EAAoBmC,EAAI,CAC1D4C,IAAKA,EACL2G,MAAOA,EACPjC,SAAUA,EACVc,SAAUA,IAEX,SAAU7Z,EAAQC,EAASmO,GAC5B,IAAIuN,EAAUvN,EAAoB,GAElCpO,EAAOC,QAAUmO,EAAoB,GAApBA,CAAwBuN,EAAQC,WAAW,IAC3D,SAAU5b,EAAQC,EAASmO,GAC5B,cAEC,WAKC,SAASyN,EAAOja,GACd,GAAI,iBAAmBA,GAAU,OAASA,EAAQ,CAChD,IAAIka,EAAWla,EAAOka,SAEtB,OAAQA,GACN,KAAKC,EACH,IAAI5S,EAAOvH,EAAOuH,KAElB,OAAQA,GACN,KAAK6S,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACH,OAAOlT,EAET,QACE,IAAImT,EAAenT,GAAQA,EAAK2S,SAEhC,OAAQQ,GACN,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACH,OAAOL,EAET,QACE,OAAOR,GAKjB,KAAKc,EACH,OAAOd,IASf,SAASe,EAAiBjb,GACxB,OAAOia,EAAOja,KAAYqa,EA+C5B,IAAIa,EAAY,mBAAqBzZ,QAAUA,OAAO0Z,IAClDhB,EAAqBe,EAAYzZ,OAAO0Z,IAAI,iBAAmB,MAC/DH,EAAoBE,EAAYzZ,OAAO0Z,IAAI,gBAAkB,MAC7Db,EAAsBY,EAAYzZ,OAAO0Z,IAAI,kBAAoB,MACjEX,EAAyBU,EAAYzZ,OAAO0Z,IAAI,qBAAuB,MACvEZ,EAAsBW,EAAYzZ,OAAO0Z,IAAI,kBAAoB,MACjEJ,EAAsBG,EAAYzZ,OAAO0Z,IAAI,kBAAoB,MACjER,EAAqBO,EAAYzZ,OAAO0Z,IAAI,iBAAmB,MAC/Df,EAAwBc,EAAYzZ,OAAO0Z,IAAI,oBAAsB,MACrEd,EAA6Ba,EAAYzZ,OAAO0Z,IAAI,yBAA2B,MAC/EP,EAAyBM,EAAYzZ,OAAO0Z,IAAI,qBAAuB,MACvEV,EAAsBS,EAAYzZ,OAAO0Z,IAAI,kBAAoB,MACjEC,EAA2BF,EAAYzZ,OAAO0Z,IAAI,uBAAyB,MAC3EL,EAAkBI,EAAYzZ,OAAO0Z,IAAI,cAAgB,MACzDN,EAAkBK,EAAYzZ,OAAO0Z,IAAI,cAAgB,MACzDE,EAAmBH,EAAYzZ,OAAO0Z,IAAI,eAAiB,MAC3DG,EAAyBJ,EAAYzZ,OAAO0Z,IAAI,qBAAuB,MACvEI,EAAuBL,EAAYzZ,OAAO0Z,IAAI,mBAAqB,MACnEK,EAAmBN,EAAYzZ,OAAO0Z,IAAI,eAAiB,MAC3DM,EAAYrB,EACZsB,EAAiBrB,EACjBsB,EAAkBhB,EAClBiB,EAAkBb,EAClBc,EAAU1B,EACV2B,EAAalB,EACbmB,EAAWzB,EACX0B,EAAOnB,EACPoB,EAAOnB,EACPoB,EAASlB,EACTmB,EAAW5B,EACX6B,EAAa5B,EACb6B,EAAW5B,EACX6B,GAAsC,EAC1Cje,EAAQod,UAAYA,EAAWpd,EAAQqd,eAAiBA,EAAgBrd,EAAQsd,gBAAkBA,EAAiBtd,EAAQud,gBAAkBA,EAAiBvd,EAAQwd,QAAUA,EAASxd,EAAQyd,WAAaA,EAAYzd,EAAQ0d,SAAWA,EAAU1d,EAAQ2d,KAAOA,EAAM3d,EAAQ4d,KAAOA,EAAM5d,EAAQ6d,OAASA,EAAQ7d,EAAQ8d,SAAWA,EAAU9d,EAAQ+d,WAAaA,EAAY/d,EAAQge,SAAWA,EAAUhe,EAAQke,YArF7Z,SAAqBvc,GACnB,OAAOsc,IAAwCA,GAAsC,EAAIE,QAAQC,KAAK,kLAAmLxB,EAAiBjb,IAAWia,EAAOja,KAAYoa,GAoF8G/b,EAAQ4c,iBAAmBA,EAAkB5c,EAAQqe,kBA7E7e,SAA2B1c,GACzB,OAAOia,EAAOja,KAAY2a,GA4Ewftc,EAAQse,kBAzE5hB,SAA2B3c,GACzB,OAAOia,EAAOja,KAAY+a,GAwEuiB1c,EAAQ2b,UArE3kB,SAAmBha,GACjB,MAAO,iBAAmBA,GAAU,OAASA,GAAUA,EAAOka,WAAaC,GAoEqhB9b,EAAQue,aAjE1mB,SAAsB5c,GACpB,OAAOia,EAAOja,KAAY4a,GAgE2mBvc,EAAQwe,WA7D/oB,SAAoB7c,GAClB,OAAOia,EAAOja,KAAYsa,GA4D4oBjc,EAAQye,OAzDhrB,SAAgB9c,GACd,OAAOia,EAAOja,KAAY6a,GAwDqqBxc,EAAQ0e,OArDzsB,SAAgB/c,GACd,OAAOia,EAAOja,KAAY8a,GAoD8rBzc,EAAQ2e,SAjDluB,SAAkBhd,GAChB,OAAOia,EAAOja,KAAYgb,GAgD2tB3c,EAAQ4e,WA7C/vB,SAAoBjd,GAClB,OAAOia,EAAOja,KAAYua,GA4C4vBlc,EAAQ6e,aAzChyB,SAAsBld,GACpB,OAAOia,EAAOja,KAAYwa,GAwCiyBnc,EAAQ8e,WArCr0B,SAAoBnd,GAClB,OAAOia,EAAOja,KAAYya,GAoCk0Bpc,EAAQ+e,mBAjIt2B,SAA4B7V,GAC1B,MAAO,iBAAmBA,GAAQ,mBAAqBA,GAAQA,IAAS+S,GAAuB/S,IAAS8S,GAA8B9S,IAASgT,GAAuBhT,IAASiT,GAA0BjT,IAASkT,GAAuBlT,IAAS6T,GAA4B,iBAAmB7T,GAAQ,OAASA,IAASA,EAAK2S,WAAaW,GAAmBtT,EAAK2S,WAAaY,GAAmBvT,EAAK2S,WAAaa,GAAuBxT,EAAK2S,WAAaS,GAAsBpT,EAAK2S,WAAaU,GAA0BrT,EAAK2S,WAAaoB,GAA0B/T,EAAK2S,WAAaqB,GAAwBhU,EAAK2S,WAAasB,GAAoBjU,EAAK2S,WAAamB,IAgI6Phd,EAAQ4b,OAASA,EAlIj6B,IAoIA,SAAU7b,EAAQC,EAASmO,GAC5B,aAEA,SAAS6Q,IACP,OAAO,KAGT,IAKIC,EALAvD,EAAUvN,EAAoB,GAC9BjQ,EAASiQ,EAAoB,IAC7B+Q,EAAuB/Q,EAAoB,GAC3CgR,EAAiBhR,EAAoB,IACrCiR,EAAMpZ,SAAS3I,KAAK8B,KAAKlB,OAAOqF,UAAU/E,gBAG9C0gB,EAAe,SAAsBI,GACnC,IAAIC,EAAU,YAAcD,EAC5B,oBAAsBlB,SAAWA,QAAQnhB,MAAMsiB,GAE/C,IACE,MAAM,IAAI/Y,MAAM+Y,GAChB,MAAOC,MACRxf,EAAOC,QAAU,SAAUwf,EAAgBC,GAM5C,SAASC,EAAGH,EAAGI,GACb,OAAOJ,IAAMI,EAAI,IAAMJ,GAAK,EAAIA,GAAK,EAAII,EAAIJ,GAAMA,GAAKI,GAAMA,EAGhE,SAASC,EAAcN,GACrBpb,KAAKob,QAAUA,EAASpb,KAAK2b,MAAQ,GAGvC,SAASC,EAA2BC,GAClC,SAASC,EAAUC,EAAY9b,EAAO+b,EAAUC,EAAepU,EAAUqU,EAAcC,GACrF,GAAIF,EAAgBA,GAAiBG,EAAWF,EAAeA,GAAgBF,EAAUG,IAAWnB,EAAsB,CACxH,GAAIO,EAAqB,CACvB,IAAIxP,EAAM,IAAI1J,MAAM,qLACpB,MAAM0J,EAAI/H,KAAO,sBAAuB+H,EAG1C,GAAI,oBAAsBkO,QAAS,CACjC,IAAIoC,EAAWJ,EAAgB,IAAMD,GACpCM,EAAwBD,IAAaE,EAA6B,IAAMxB,EAAa,2EAA6EmB,EAAe,cAAgBD,EAAgB,wNAAyNK,EAAwBD,IAAY,EAAIE,MAIvd,OAAO,MAAQtc,EAAM+b,GAAYD,EAAa,IAAIL,EAAc,OAASzb,EAAM+b,GAAY,OAASnU,EAAW,KAAOqU,EAAe,+BAAiCD,EAAgB,8BAAgC,OAASpU,EAAW,KAAOqU,EAAe,+BAAiCD,EAAgB,oCAAsC,KAAOJ,EAAS5b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAGnZ,IAAII,EAA0B,GAC1BC,EAA6B,EAC7BC,EAAmBV,EAAU7gB,KAAK,MAAM,GAC5C,OAAOuhB,EAAiBT,WAAaD,EAAU7gB,KAAK,MAAM,GAAKuhB,EAGjE,SAASC,EAA2BC,GAOlC,OAAOd,GANP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,EAAcC,GACxE,IAAIQ,EAAY1c,EAAM+b,GACtB,OAAIY,EAAYD,KAAeD,EAAqB,IAAIhB,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBW,EAAeF,GAAa,kBAAoBV,EAAgB,gBAAkBS,EAAe,MAC9N,QAsIX,SAASI,EAAOH,GACd,cAAeA,GACb,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAO,EAET,IAAK,UACH,OAAQA,EAEV,IAAK,SACH,GAAIjb,MAAM0H,QAAQuT,GAAY,OAAOA,EAAU1J,MAAM6J,GACrD,GAAI,OAASH,GAAarB,EAAeqB,GAAY,OAAO,EAC5D,IAAII,EA3LV,SAAuBC,GACrB,IAAID,EAAaC,IAAkBC,GAAmBD,EAAcC,IAAoBD,EAAcE,IACtG,GAAI,mBAAqBH,EAAY,OAAOA,EAyLvBI,CAAcR,GAC/B,IAAKI,EAAY,OAAO,EACxB,IAAIK,EACA7R,EAAWwR,EAAW5jB,KAAKwjB,GAE/B,GAAII,IAAeJ,EAAUU,SAC3B,OAASD,EAAO7R,EAAS5S,QAAQmT,MAC/B,IAAKgR,EAAOM,EAAKrhB,OAAQ,OAAO,OAE7B,OAASqhB,EAAO7R,EAAS5S,QAAQmT,MAAO,CAC7C,IAAIwR,EAAQF,EAAKrhB,MACjB,GAAIuhB,IAAUR,EAAOQ,EAAM,IAAK,OAAO,EAGzC,OAAO,EAET,QACE,OAAO,GAQb,SAASV,EAAYD,GACnB,IAAIY,SAAkBZ,EACtB,OAAOjb,MAAM0H,QAAQuT,GAAa,QAAUA,aAAqBhgB,OAAS,SAN5E,SAAkB4gB,EAAUZ,GAC1B,MAAO,WAAaY,KAAcZ,IAAc,WAAaA,EAAU,kBAAoB,mBAAqBzd,QAAUyd,aAAqBzd,QAK1Dse,CAASD,EAAUZ,GAAa,SAAWY,EAGlI,SAASV,EAAeF,GACtB,GAAI,MAAWA,EAAiC,MAAO,GAAKA,EAC5D,IAAIY,EAAWX,EAAYD,GAE3B,GAAI,WAAaY,EAAU,CACzB,GAAIZ,aAAqBc,KAAM,MAAO,OACtC,GAAId,aAAqBhgB,OAAQ,MAAO,SAG1C,OAAO4gB,EAGT,SAASG,EAAyB3hB,GAChC,IAAIiJ,EAAO6X,EAAe9gB,GAE1B,OAAQiJ,GACN,IAAK,QACL,IAAK,SACH,MAAO,MAAQA,EAEjB,IAAK,UACL,IAAK,OACL,IAAK,SACH,MAAO,KAAOA,EAEhB,QACE,OAAOA,GAQb,IAAIiY,EAAkB,mBAAqB/d,QAAUA,OAAOqM,SACxD2R,EAAuB,aACvBd,EAAY,gBACZuB,EAAiB,CACnBpc,MAAOkb,EAA2B,SAClClH,KAAMkH,EAA2B,WACjCmB,KAAMnB,EAA2B,YACjC9H,OAAQ8H,EAA2B,UACnChf,OAAQgf,EAA2B,UACnC7f,OAAQ6f,EAA2B,UACnCoB,OAAQpB,EAA2B,UACnCqB,IACSlC,EAA2Bd,GAEpCiD,QA3NF,SAAkCC,GAiBhC,OAAOpC,GAhBP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,GAAI,mBAAqB8B,EAAa,OAAO,IAAItC,EAAc,aAAeQ,EAAe,mBAAqBD,EAAgB,mDAClI,IAAIU,EAAY1c,EAAM+b,GAEtB,IAAKta,MAAM0H,QAAQuT,GACjB,OAAO,IAAIjB,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBV,EAAgB,yBAGtJ,IAAK,IAAIxU,EAAI,EAAGA,EAAIkV,EAAUjiB,OAAQ+M,IAAK,CACzC,IAAI3O,EAAQklB,EAAYrB,EAAWlV,EAAGwU,EAAepU,EAAUqU,EAAe,IAAMzU,EAAI,IAAKuT,GAC7F,GAAIliB,aAAiBuJ,MAAO,OAAOvJ,EAGrC,OAAO,SA8MTmlB,QAWSrC,GAVP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAIS,EAAY1c,EAAM+b,GAEtB,OAAKV,EAAeqB,GAIb,KAHE,IAAIjB,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBV,EAAgB,yCAQ1JiC,YAWStC,GAVP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAIS,EAAY1c,EAAM+b,GAEtB,OAAKxE,EAAQqD,mBAAmB8B,GAIzB,KAHE,IAAIjB,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBV,EAAgB,8CAQ1JkC,WAlOF,SAAmCC,GAUjC,OAAOxC,GATP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,KAAMjc,EAAM+b,aAAqBoC,GAAgB,CAC/C,IAAIC,EAAoBD,EAAcpa,MAAQoY,EAC9C,OAAO,IAAIV,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,gBAiLvDS,EAjLoF1c,EAAM+b,IAkL7F5P,aAAeuQ,EAAUvQ,YAAYpI,KAAO2Y,EAAUvQ,YAAYpI,KAAOoY,GAlLiC,kBAAoBH,EAAgB,4BAA8BoC,EAAoB,MAiLnN,IAAsB1B,EA9KlB,OAAO,SA4NThY,KAKSiX,GAJP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,OAAOY,EAAO7c,EAAM+b,IAAa,KAAO,IAAIN,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,kBAAoBD,EAAgB,+BAKhJqC,SA9MF,SAAmCN,GAiBjC,OAAOpC,GAhBP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,GAAI,mBAAqB8B,EAAa,OAAO,IAAItC,EAAc,aAAeQ,EAAe,mBAAqBD,EAAgB,oDAClI,IAAIU,EAAY1c,EAAM+b,GAClBuB,EAAWX,EAAYD,GAC3B,GAAI,WAAaY,EAAU,OAAO,IAAI7B,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBqB,EAAW,kBAAoBtB,EAAgB,0BAEjK,IAAK,IAAIve,KAAOif,EACd,GAAIzB,EAAIyB,EAAWjf,GAAM,CACvB,IAAI5E,EAAQklB,EAAYrB,EAAWjf,EAAKue,EAAepU,EAAUqU,EAAe,IAAMxe,EAAKsd,GAC3F,GAAIliB,aAAiBuJ,MAAO,OAAOvJ,EAIvC,OAAO,SAiMTgc,MA9NF,SAA+ByJ,GAC7B,SAAS1C,EAAS5b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAK,IAAIS,EAAY1c,EAAM+b,GAAWvU,EAAI,EAAGA,EAAI8W,EAAe7jB,OAAQ+M,IACtE,GAAI+T,EAAGmB,EAAW4B,EAAe9W,IAAK,OAAO,KAG/C,IAAI+W,EAAevc,KAAKwc,UAAUF,GAAgB,SAAU7gB,EAAK3B,GAC/D,MAAO,WAAa8gB,EAAe9gB,GAAS2W,OAAO3W,GAASA,KAE9D,OAAO,IAAI2f,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,eAAiBxJ,OAAOiK,GAAa,kBAAoBV,EAAgB,sBAAwBuC,EAAe,KAGzL,OAAO9c,MAAM0H,QAAQmV,GAAkB3C,EAA2BC,IAAad,EAAa9G,UAAUvZ,OAAS,EAAI,+DAAiEuZ,UAAUvZ,OAAS,uFAAyF,0DAA2DogB,IAmN3VpG,UA5LF,SAAgCgK,GAS9B,IAAKhd,MAAM0H,QAAQsV,GAAsB,OAAO3D,EAAa,0EAA2ED,EAExI,IAAK,IAAIrT,EAAI,EAAGA,EAAIiX,EAAoBhkB,OAAQ+M,IAAK,CACnD,IAAIkX,EAAUD,EAAoBjX,GAClC,GAAI,mBAAqBkX,EAAS,OAAO5D,EAAa,8FAAgG2C,EAAyBiB,GAAW,aAAelX,EAAI,KAAMqT,EAGrN,OAAOc,GAfP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAK,IAAIzU,EAAI,EAAGA,EAAIiX,EAAoBhkB,OAAQ+M,IAC9C,GAAI,OAAQ,EAAIiX,EAAoBjX,IAAIxH,EAAO+b,EAAUC,EAAepU,EAAUqU,EAAclB,GAAuB,OAAO,KAGhI,OAAO,IAAIU,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,kBAAoBD,EAAgB,UAuL7G2C,MA1KF,SAAgCC,GAkB9B,OAAOjD,GAjBP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAIS,EAAY1c,EAAM+b,GAClBuB,EAAWX,EAAYD,GAC3B,GAAI,WAAaY,EAAU,OAAO,IAAI7B,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBqB,EAAW,kBAAoBtB,EAAgB,yBAEjK,IAAK,IAAIve,KAAOmhB,EAAY,CAC1B,IAAIF,EAAUE,EAAWnhB,GAEzB,GAAIihB,EAAS,CACX,IAAI7lB,EAAQ6lB,EAAQhC,EAAWjf,EAAKue,EAAepU,EAAUqU,EAAe,IAAMxe,EAAKsd,GACvF,GAAIliB,EAAO,OAAOA,GAItB,OAAO,SA4JTgmB,MAtJF,SAAsCD,GAiBpC,OAAOjD,GAhBP,SAAkB3b,EAAO+b,EAAUC,EAAepU,EAAUqU,GAC1D,IAAIS,EAAY1c,EAAM+b,GAClBuB,EAAWX,EAAYD,GAC3B,GAAI,WAAaY,EAAU,OAAO,IAAI7B,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,cAAgBqB,EAAW,kBAAoBtB,EAAgB,yBACjK,IAAI8C,EAAU/kB,EAAO,GAAIiG,EAAM+b,GAAW6C,GAE1C,IAAK,IAAInhB,KAAOqhB,EAAS,CACvB,IAAIJ,EAAUE,EAAWnhB,GACzB,IAAKihB,EAAS,OAAO,IAAIjD,EAAc,WAAa7T,EAAW,KAAOqU,EAAe,UAAYxe,EAAM,kBAAoBue,EAAgB,mBAAqBha,KAAKwc,UAAUxe,EAAM+b,GAAW,KAAM,MAAQ,iBAAmB/Z,KAAKwc,UAAU1kB,OAAOU,KAAKokB,GAAa,KAAM,OAC/Q,IAAI/lB,EAAQ6lB,EAAQhC,EAAWjf,EAAKue,EAAepU,EAAUqU,EAAe,IAAMxe,EAAKsd,GACvF,GAAIliB,EAAO,OAAOA,EAGpB,OAAO,UA0IX,OAAO4iB,EAActc,UAAYiD,MAAMjD,UAAWue,EAAe1C,eAAiBA,EAAgB0C,EAAeqB,kBAAoB/D,EAAe+D,kBAAmBrB,EAAesB,UAAYtB,EAAgBA,IAEnN,SAAU9hB,EAAQC,EAASmO,GAC5B,aAEA,SAASiV,EAAStb,GAChB,GAAI,MAASA,EAAuB,MAAM,IAAI2I,UAAU,yDACxD,OAAOxS,OAAO6J,GAShB,IAAI8P,EAAwB3Z,OAAO2Z,sBAC/BrZ,EAAiBN,OAAOqF,UAAU/E,eAClC8kB,EAAmBplB,OAAOqF,UAAUggB,qBACxCvjB,EAAOC,QAAU,WACf,IACE,IAAK/B,OAAOC,OAAQ,OAAO,EAC3B,IAAIqlB,EAAQ,IAAI3M,OAAO,OACvB,GAAI2M,EAAM,GAAK,KAAM,MAAQtlB,OAAOulB,oBAAoBD,GAAO,GAAI,OAAO,EAE1E,IAAK,IAAIE,EAAQ,GAAI9X,EAAI,EAAGA,EAAI,GAAIA,IAClC8X,EAAM,IAAM7M,OAAO8M,aAAa/X,IAAMA,EAGxC,GAAI,eAAiB1N,OAAOulB,oBAAoBC,GAAOha,KAAI,SAAUsF,GACnE,OAAO0U,EAAM1U,MACZrO,KAAK,IAAK,OAAO,EACpB,IAAIijB,EAAQ,GACZ,MAAO,uBAAuB9c,MAAM,IAAI+B,SAAQ,SAAUgb,GACxDD,EAAMC,GAAUA,KACd,yBAA2B3lB,OAAOU,KAAKV,OAAOC,OAAO,GAAIylB,IAAQjjB,KAAK,IAC1E,MAAOuP,GACP,OAAO,GAlBM,GAoBXhS,OAAOC,OAAS,SAAU8J,EAAQoQ,GACtC,IAAK,IAAI7H,EAAMsH,EAAS5S,EAAKme,EAASpb,GAASoH,EAAI,EAAGA,EAAI+I,UAAUvZ,OAAQwQ,IAAK,CAG/E,IAAK,IAAIxN,KAFT2O,EAAOtS,OAAOka,UAAU/I,IAGtB7Q,EAAelB,KAAKkT,EAAM3O,KAASqD,EAAGrD,GAAO2O,EAAK3O,IAGpD,GAAIgW,EAAuB,CACzBC,EAAUD,EAAsBrH,GAEhC,IAAK,IAAI5E,EAAI,EAAGA,EAAIkM,EAAQjZ,OAAQ+M,IAClC0X,EAAiBhmB,KAAKkT,EAAMsH,EAAQlM,MAAQ1G,EAAG4S,EAAQlM,IAAM4E,EAAKsH,EAAQlM,MAKhF,OAAO1G,IAER,SAAUlF,EAAQC,EAASmO,GAC5B,aAEA,SAASgR,EAAe0E,EAAWnY,EAAQK,EAAUoU,EAAe2D,GAClE,IAAK,IAAIC,KAAgBF,EACvB,GAAIzE,EAAIyE,EAAWE,GAAe,CAChC,IAAI/mB,EAEJ,IACE,GAAI,mBAAqB6mB,EAAUE,GAAe,CAChD,IAAI9T,EAAM1J,OAAO4Z,GAAiB,eAAiB,KAAOpU,EAAW,UAAYgY,EAAe,oGAAsGF,EAAUE,GAAgB,MAChO,MAAM9T,EAAI/H,KAAO,sBAAuB+H,EAG1CjT,EAAQ6mB,EAAUE,GAAcrY,EAAQqY,EAAc5D,EAAepU,EAAU,KAAMmT,GACrF,MAAO8E,GACPhnB,EAAQgnB,EAGV,IAAKhnB,GAASA,aAAiBuJ,OAAS0Y,GAAckB,GAAiB,eAAiB,2BAA6BpU,EAAW,KAAOgY,EAAe,kGAAoG/mB,EAAQ,kKAAmKA,aAAiBuJ,SAAWvJ,EAAMsiB,WAAW2E,GAAqB,CACreA,EAAmBjnB,EAAMsiB,UAAW,EACpC,IAAIO,EAAQiE,EAAWA,IAAa,GACpC7E,EAAa,UAAYlT,EAAW,UAAY/O,EAAMsiB,SAAW,MAAQO,EAAQA,EAAQ,OAMjG,IAAIZ,EAAe,aACfC,EAAuB/Q,EAAoB,GAC3C8V,EAAqB,GACrB7E,EAAMpZ,SAAS3I,KAAK8B,KAAKlB,OAAOqF,UAAU/E,gBAE9C0gB,EAAe,SAAsBI,GACnC,IAAIC,EAAU,YAAcD,EAC5B,oBAAsBlB,SAAWA,QAAQnhB,MAAMsiB,GAE/C,IACE,MAAM,IAAI/Y,MAAM+Y,GAChB,MAAOC,MACRJ,EAAe+D,kBAAoB,WACpCe,EAAqB,IACpBlkB,EAAOC,QAAUmf,GACnB,SAAUpf,EAAQsP,EAAqBlB,GACxC,aAEA,SAAS+V,EAAyB9L,EAAQ+L,GACxC,GAAI,MAAQ/L,EAAQ,MAAO,GAE3B,IAAIxW,EACA+J,EACA3D,EAaN,SAAuCoQ,EAAQ+L,GAC7C,GAAI,MAAQ/L,EAAQ,MAAO,GAC3B,IAAIxW,EACA+J,EACA3D,EAAS,GACToc,EAAanmB,OAAOU,KAAKyZ,GAE7B,IAAKzM,EAAI,EAAGA,EAAIyY,EAAWxlB,OAAQ+M,IACjC/J,EAAMwiB,EAAWzY,GAAIwY,EAASE,QAAQziB,IAAQ,IAAMoG,EAAOpG,GAAOwW,EAAOxW,IAG3E,OAAOoG,EAxBMsc,CAA8BlM,EAAQ+L,GAEnD,GAAIlmB,OAAO2Z,sBAAuB,CAChC,IAAI2M,EAAmBtmB,OAAO2Z,sBAAsBQ,GAEpD,IAAKzM,EAAI,EAAGA,EAAI4Y,EAAiB3lB,OAAQ+M,IACvC/J,EAAM2iB,EAAiB5Y,GAAIwY,EAASE,QAAQziB,IAAQ,GAAK3D,OAAOqF,UAAUggB,qBAAqBjmB,KAAK+a,EAAQxW,KAASoG,EAAOpG,GAAOwW,EAAOxW,IAI9I,OAAOoG,EA2BTqH,EAAoBmC,EAVpB,SAAoBgT,GAClB,IAAIC,EAAWD,EAAKC,SAChBtS,EAASqS,EAAKrS,OACdxI,EAAW6a,EAAK7a,SAChBiI,EAAWsS,EAAyBM,EAAM,CAAC,WAAY,SAAU,aACjE3R,EAAU5U,OAAO2W,EAA6CpD,EAApDvT,CAAuD2T,EAAUO,EAAQxI,GAEvF,MAAO,mBAAqB8a,EAAWA,EAAS5R,GAAWA,EAAU4R,EAAW,MAKlF,IAAI7P,EAA+CzG,EAAoB,Q,qBCxpC3E,IAAIuW,EAAc,EAAQ,QACtBC,EAAS,EAAQ,QACjBC,EAAQ,EAAQ,QAMhBC,EAAShkB,OAHA,OAGe,KAe5Bd,EAAOC,QANP,SAA0B8kB,GACxB,OAAO,SAAShkB,GACd,OAAO4jB,EAAYE,EAAMD,EAAO7jB,GAAQwF,QAAQue,EAAQ,KAAMC,EAAU,O,kCCnB5E,sEAaA,SAASC,EAAT,GAYI,IAXFnY,EAWC,EAXDA,YACAoY,EAUC,EAVDA,KAGAnY,GAOC,EATDoY,MASC,EARDC,KAQC,EAPDrY,UACAxI,EAMC,EANDA,MAEA8gB,GAIC,EALDC,SAKC,EAJDD,UACAE,EAGC,EAHDA,YACAC,EAEC,EAFDA,cACA7gB,EACC,EADDA,IAEQ8gB,EAAS1Z,yBAAe,aAAxB0Z,KAeFC,EAAkB5Y,GAAe2Y,EAAKE,aAAa7Y,YACnD8Y,EAAUrhB,EACZI,EACK8gB,EAAKE,aAAaE,QADpB,IAC+BlhB,EAD/B,IAEE8gB,EAAKE,aAAaE,QAFpB,IAE+BzgB,IAAQb,EAAMc,eAF7C,IAGHogB,EAAKE,aAAaE,QAEtB,OACE,kBAAC,IAAD,CACEC,eAAgB,CACdZ,QAEF3gB,MAAOA,EACPwhB,cAAa,QAAUN,EAAKE,aAAaphB,MACzC6gB,KAAM,CACJ,CACE,aAAc,eACdY,QAAS,YACTC,QAAS,SAEX,CACE7d,KAAM,WACN4d,QAAS,yCAEX,CACE5d,KAAK,cACL4d,QAASN,GAEX,CACEtW,SAAS,WACT4W,QAASzhB,GAEX,CACE6K,SAAS,QACT4W,QAASzhB,GAEX,CACE6K,SAAS,SACT4W,QAASJ,GAEX,CACExW,SAAS,iBACT4W,QAASN,GAEX,CACEtW,SAAS,cACT4W,QAASN,GAEX,CACEtW,SAAS,WACT4W,QAASX,EAAQ,GAAMI,EAAKE,aAAaE,QAAUR,EAAa,MAElE,CACEjd,KAAK,kBACL4d,QAASP,EAAKE,aAAaO,QAE7B,CACE9d,KAAK,gBACL4d,QAASzhB,GAEX,CACE6D,KAAK,sBACL4d,QAASN,IAGVhR,OACC2Q,EACI,CACE,CACEjd,KAAK,eACL4d,QAAQ,uBAEV,CACE5W,SAAS,eACT4W,QAASzhB,IAGb,CACE,CACE6D,KAAK,eACL4d,QAAQ,aAIjBtR,OACC6Q,EACI,CACE,CACEnd,KAAK,iBACL4d,QAAQ,gBAEV,CACE5d,KAAK,gBACL4d,QAAST,GAEX,CACEnd,KAAK,UACL4d,QAAQ,WAEV,CACE5d,KAAK,yBACL4d,QAASR,IAGb,CACE,CACEpW,SAAS,UACT4W,QAAQ,aAIjBtR,OACC3H,EAASjO,OAAS,EACd,CACEsJ,KAAK,WACL4d,QAASjZ,EAASnM,KAAT,OAEX,MAMdqkB,EAAIkB,aAAe,CACjBjB,KAAK,KACLE,KAAM,GACNrY,SAAU,GACVuY,SAAS,IAaIL,O,qBCrLf,IAAImB,EAAY,EAAQ,QAiBxBnmB,EAAOC,QANP,SAAmByF,EAAOC,EAAOC,GAC/B,IAAI/G,EAAS6G,EAAM7G,OAEnB,OADA+G,OAAcrE,IAARqE,EAAoB/G,EAAS+G,GAC1BD,GAASC,GAAO/G,EAAU6G,EAAQygB,EAAUzgB,EAAOC,EAAOC,K,qBCdrE,IAAIvC,EAAS,EAAQ,QACjB+iB,EAAW,EAAQ,QACnB7Y,EAAU,EAAQ,QAClBoU,EAAW,EAAQ,QAMnB0E,EAAchjB,EAASA,EAAOE,eAAYhC,EAC1C+kB,EAAiBD,EAAcA,EAAYjlB,cAAWG,EA0B1DvB,EAAOC,QAhBP,SAAS2N,EAAa1N,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIqN,EAAQrN,GAEV,OAAOkmB,EAASlmB,EAAO0N,GAAgB,GAEzC,GAAI+T,EAASzhB,GACX,OAAOomB,EAAiBA,EAAehpB,KAAK4C,GAAS,GAEvD,IAAInD,EAAUmD,EAAQ,GACtB,MAAkB,KAAVnD,GAAkB,EAAImD,IA3BjB,IA2BwC,KAAOnD","file":"component---src-pages-index-js-e8f66d15b9a5e6b7e71d.js","sourcesContent":["import { __assign, __rest } from \"tslib\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { equal } from '@wry/equality';\nimport { mergeOptions } from \"../../core/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nexport function useQuery(query, options) {\n var _a;\n\n var context = useContext(getApolloContext());\n var client = useApolloClient(options === null || options === void 0 ? void 0 : options.client);\n var defaultWatchQueryOptions = client.defaultOptions.watchQuery;\n verifyDocumentType(query, DocumentType.Query);\n\n var _b = useState(function () {\n var watchQueryOptions = createWatchQueryOptions(query, options, defaultWatchQueryOptions);\n var obsQuery = null;\n\n if (context.renderPromises) {\n obsQuery = context.renderPromises.getSSRObservable(watchQueryOptions);\n }\n\n if (!obsQuery) {\n obsQuery = client.watchQuery(watchQueryOptions);\n\n if (context.renderPromises) {\n context.renderPromises.registerSSRObservable(obsQuery, watchQueryOptions);\n }\n }\n\n if (context.renderPromises && (options === null || options === void 0 ? void 0 : options.ssr) !== false && !(options === null || options === void 0 ? void 0 : options.skip) && obsQuery.getCurrentResult().loading) {\n context.renderPromises.addQueryPromise({\n getOptions: function getOptions() {\n return createWatchQueryOptions(query, options, defaultWatchQueryOptions);\n },\n fetchData: function fetchData() {\n return new Promise(function (resolve) {\n var sub = obsQuery.subscribe({\n next: function next(result) {\n if (!result.loading) {\n resolve();\n sub.unsubscribe();\n }\n },\n error: function error() {\n resolve();\n sub.unsubscribe();\n },\n complete: function complete() {\n resolve();\n }\n });\n });\n }\n }, function () {\n return null;\n });\n }\n\n return obsQuery;\n }),\n obsQuery = _b[0],\n setObsQuery = _b[1];\n\n var _c = useState(function () {\n var _a, _b;\n\n var result = obsQuery.getCurrentResult();\n\n if (!result.loading && options) {\n if (result.error) {\n (_a = options.onError) === null || _a === void 0 ? void 0 : _a.call(options, result.error);\n } else if (result.data) {\n (_b = options.onCompleted) === null || _b === void 0 ? void 0 : _b.call(options, result.data);\n }\n }\n\n return result;\n }),\n result = _c[0],\n setResult = _c[1];\n\n var ref = useRef({\n client: client,\n query: query,\n options: options,\n result: result,\n previousData: void 0,\n watchQueryOptions: createWatchQueryOptions(query, options, defaultWatchQueryOptions)\n });\n useEffect(function () {\n var _a, _b;\n\n var watchQueryOptions = createWatchQueryOptions(query, options, defaultWatchQueryOptions);\n var nextResult;\n\n if (ref.current.client !== client || !equal(ref.current.query, query)) {\n var obsQuery_1 = client.watchQuery(watchQueryOptions);\n setObsQuery(obsQuery_1);\n nextResult = obsQuery_1.getCurrentResult();\n } else if (!equal(ref.current.watchQueryOptions, watchQueryOptions)) {\n obsQuery.setOptions(watchQueryOptions).catch(function () {});\n nextResult = obsQuery.getCurrentResult();\n ref.current.watchQueryOptions = watchQueryOptions;\n }\n\n if (nextResult) {\n var previousResult = ref.current.result;\n\n if (previousResult.data) {\n ref.current.previousData = previousResult.data;\n }\n\n setResult(ref.current.result = nextResult);\n\n if (!nextResult.loading && options) {\n if (nextResult.error) {\n (_a = options.onError) === null || _a === void 0 ? void 0 : _a.call(options, nextResult.error);\n } else if (nextResult.data) {\n (_b = options.onCompleted) === null || _b === void 0 ? void 0 : _b.call(options, nextResult.data);\n }\n }\n }\n\n Object.assign(ref.current, {\n client: client,\n query: query\n });\n }, [obsQuery, client, query, options]);\n useEffect(function () {\n if (context.renderPromises) {\n return;\n }\n\n var subscription = obsQuery.subscribe(onNext, onError);\n\n function onNext() {\n var _a, _b;\n\n var previousResult = ref.current.result;\n var result = obsQuery.getCurrentResult();\n\n if (previousResult && previousResult.loading === result.loading && previousResult.networkStatus === result.networkStatus && equal(previousResult.data, result.data)) {\n return;\n }\n\n if (previousResult.data) {\n ref.current.previousData = previousResult.data;\n }\n\n setResult(ref.current.result = result);\n\n if (!result.loading) {\n (_b = (_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onCompleted) === null || _b === void 0 ? void 0 : _b.call(_a, result.data);\n }\n }\n\n function onError(error) {\n var _a, _b;\n\n var last = obsQuery[\"last\"];\n subscription.unsubscribe();\n\n try {\n obsQuery.resetLastResults();\n subscription = obsQuery.subscribe(onNext, onError);\n } finally {\n obsQuery[\"last\"] = last;\n }\n\n if (!error.hasOwnProperty('graphQLErrors')) {\n throw error;\n }\n\n var previousResult = ref.current.result;\n\n if (previousResult && previousResult.loading || !equal(error, previousResult.error)) {\n setResult(ref.current.result = {\n data: previousResult.data,\n error: error,\n loading: false,\n networkStatus: NetworkStatus.error\n });\n (_b = (_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);\n }\n }\n\n return function () {\n return subscription.unsubscribe();\n };\n }, [obsQuery, context.renderPromises, client.disableNetworkFetches]);\n var partial;\n _a = result, partial = _a.partial, result = __rest(_a, [\"partial\"]);\n {\n if (partial && (options === null || options === void 0 ? void 0 : options.partialRefetch) && !result.loading && (!result.data || Object.keys(result.data).length === 0) && obsQuery.options.fetchPolicy !== 'cache-only') {\n result = __assign(__assign({}, result), {\n loading: true,\n networkStatus: NetworkStatus.refetch\n });\n obsQuery.refetch();\n }\n\n if (context.renderPromises && (options === null || options === void 0 ? void 0 : options.ssr) !== false && !(options === null || options === void 0 ? void 0 : options.skip) && result.loading) {\n obsQuery.setOptions(createWatchQueryOptions(query, options, defaultWatchQueryOptions)).catch(function () {});\n }\n\n Object.assign(ref.current, {\n options: options\n });\n }\n\n if ((context.renderPromises || client.disableNetworkFetches) && (options === null || options === void 0 ? void 0 : options.ssr) === false) {\n result = ref.current.result = {\n loading: true,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.loading\n };\n } else if ((options === null || options === void 0 ? void 0 : options.skip) || (options === null || options === void 0 ? void 0 : options.fetchPolicy) === 'standby') {\n result = {\n loading: false,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.ready\n };\n }\n\n if (result.errors && result.errors.length) {\n result = __assign(__assign({}, result), {\n error: result.error || new ApolloError({\n graphQLErrors: result.errors\n })\n });\n }\n\n var obsQueryFields = useMemo(function () {\n return {\n refetch: obsQuery.refetch.bind(obsQuery),\n fetchMore: obsQuery.fetchMore.bind(obsQuery),\n updateQuery: obsQuery.updateQuery.bind(obsQuery),\n startPolling: obsQuery.startPolling.bind(obsQuery),\n stopPolling: obsQuery.stopPolling.bind(obsQuery),\n subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery)\n };\n }, [obsQuery]);\n return __assign(__assign(__assign({}, obsQueryFields), {\n variables: createWatchQueryOptions(query, options, defaultWatchQueryOptions).variables,\n client: client,\n called: true,\n previousData: ref.current.previousData\n }), result);\n}\n\nfunction createWatchQueryOptions(query, options, defaultOptions) {\n var _a;\n\n if (options === void 0) {\n options = {};\n }\n\n var skip = options.skip,\n ssr = options.ssr,\n onCompleted = options.onCompleted,\n onError = options.onError,\n displayName = options.displayName,\n otherOptions = __rest(options, [\"skip\", \"ssr\", \"onCompleted\", \"onError\", \"displayName\"]);\n\n var watchQueryOptions = __assign({\n query: query\n }, otherOptions);\n\n if (defaultOptions) {\n watchQueryOptions = mergeOptions(defaultOptions, watchQueryOptions);\n }\n\n if (skip) {\n watchQueryOptions.fetchPolicy = 'standby';\n } else if (((_a = watchQueryOptions.context) === null || _a === void 0 ? void 0 : _a.renderPromises) && (watchQueryOptions.fetchPolicy === 'network-only' || watchQueryOptions.fetchPolicy === 'cache-and-network')) {\n watchQueryOptions.fetchPolicy = 'cache-first';\n } else if (!watchQueryOptions.fetchPolicy) {\n watchQueryOptions.fetchPolicy = 'cache-first';\n }\n\n if (!watchQueryOptions.variables) {\n watchQueryOptions.variables = {};\n }\n\n return watchQueryOptions;\n}","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","var createCompounder = require('./_createCompounder'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n});\n\nmodule.exports = startCase;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport slugify from \"slugify\"\nimport { Link } from \"@reach/router\"\n\nclass BlogGridCard extends PureComponent {\n static propTypes = {\n imgUrl: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subTitle: PropTypes.string.isRequired,\n authorName: PropTypes.string,\n }\n\n render() {\n const { imgUrl, title, subTitle, authorName, publishBio, UID } = this.props\n\n const backgroundImgStyle = {\n backgroundImage: `url(${imgUrl})`,\n backgroundPosition: \"center center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n paddingBottom: \"50%\",\n }\n\n return (\n
\n
\n \n
\n \n\n
\n {publishBio && (\n \n written by {authorName}\n \n )}\n {!publishBio && (\n
\n written by {authorName}\n
\n )}\n\n
\n \n {title}\n \n
\n

{subTitle}

\n
\n
\n \n )\n }\n}\n\nexport default BlogGridCard\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","require(\"core-js/modules/es.array.reduce.js\");\n\n;\n\n(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory();\n module.exports['default'] = factory();\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory);\n } else {\n root[name] = factory();\n }\n})('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"Ա\":\"A\",\"Բ\":\"B\",\"Գ\":\"G\",\"Դ\":\"D\",\"Ե\":\"E\",\"Զ\":\"Z\",\"Է\":\"E\\'\",\"Ը\":\"Y\\'\",\"Թ\":\"T\\'\",\"Ժ\":\"JH\",\"Ի\":\"I\",\"Լ\":\"L\",\"Խ\":\"X\",\"Ծ\":\"C\\'\",\"Կ\":\"K\",\"Հ\":\"H\",\"Ձ\":\"D\\'\",\"Ղ\":\"GH\",\"Ճ\":\"TW\",\"Մ\":\"M\",\"Յ\":\"Y\",\"Ն\":\"N\",\"Շ\":\"SH\",\"Չ\":\"CH\",\"Պ\":\"P\",\"Ջ\":\"J\",\"Ռ\":\"R\\'\",\"Ս\":\"S\",\"Վ\":\"V\",\"Տ\":\"T\",\"Ր\":\"R\",\"Ց\":\"C\",\"Փ\":\"P\\'\",\"Ք\":\"Q\\'\",\"Օ\":\"O\\'\\'\",\"Ֆ\":\"F\",\"և\":\"EV\",\"ء\":\"a\",\"آ\":\"aa\",\"أ\":\"a\",\"ؤ\":\"u\",\"إ\":\"i\",\"ئ\":\"e\",\"ا\":\"a\",\"ب\":\"b\",\"ة\":\"h\",\"ت\":\"t\",\"ث\":\"th\",\"ج\":\"j\",\"ح\":\"h\",\"خ\":\"kh\",\"د\":\"d\",\"ذ\":\"th\",\"ر\":\"r\",\"ز\":\"z\",\"س\":\"s\",\"ش\":\"sh\",\"ص\":\"s\",\"ض\":\"dh\",\"ط\":\"t\",\"ظ\":\"z\",\"ع\":\"a\",\"غ\":\"gh\",\"ف\":\"f\",\"ق\":\"q\",\"ك\":\"k\",\"ل\":\"l\",\"م\":\"m\",\"ن\":\"n\",\"ه\":\"h\",\"و\":\"w\",\"ى\":\"a\",\"ي\":\"y\",\"ً\":\"an\",\"ٌ\":\"on\",\"ٍ\":\"en\",\"َ\":\"a\",\"ُ\":\"u\",\"ِ\":\"e\",\"ْ\":\"\",\"٠\":\"0\",\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"پ\":\"p\",\"چ\":\"ch\",\"ژ\":\"zh\",\"ک\":\"k\",\"گ\":\"g\",\"ی\":\"y\",\"۰\":\"0\",\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ṣ\":\"S\",\"ṣ\":\"s\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"–\":\"-\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"„\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\",\"ﻵ\":\"laa\",\"ﻷ\":\"laa\",\"ﻹ\":\"lai\",\"ﻻ\":\"la\"}');\n var locales = JSON.parse('{\"bg\":{\"Й\":\"Y\",\"Ц\":\"Ts\",\"Щ\":\"Sht\",\"Ъ\":\"A\",\"Ь\":\"Y\",\"й\":\"y\",\"ц\":\"ts\",\"щ\":\"sht\",\"ъ\":\"a\",\"ь\":\"y\"},\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"ß\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"¢\":\"centavos\",\"£\":\"libras\",\"¤\":\"moneda\",\"₣\":\"francos\",\"∑\":\"suma\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"¢\":\"centavo\",\"∑\":\"soma\",\"£\":\"libra\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"uk\":{\"И\":\"Y\",\"и\":\"y\",\"Й\":\"Y\",\"й\":\"y\",\"Ц\":\"Ts\",\"ц\":\"ts\",\"Х\":\"Kh\",\"х\":\"kh\",\"Щ\":\"Shch\",\"щ\":\"shch\",\"Г\":\"H\",\"г\":\"h\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"da\":{\"Ø\":\"OE\",\"ø\":\"oe\",\"Å\":\"AA\",\"å\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"større end\"},\"nb\":{\"&\":\"og\",\"Å\":\"AA\",\"Æ\":\"AE\",\"Ø\":\"OE\",\"å\":\"aa\",\"æ\":\"ae\",\"ø\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"Å\":\"AA\",\"Ä\":\"AE\",\"Ö\":\"OE\",\"å\":\"aa\",\"ä\":\"ae\",\"ö\":\"oe\"}}');\n\n function replace(string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected');\n }\n\n options = typeof options === 'string' ? {\n replacement: options\n } : options || {};\n var locale = locales[options.locale] || {};\n var replacement = options.replacement === undefined ? '-' : options.replacement;\n var trim = options.trim === undefined ? true : options.trim;\n var slug = string.normalize().split('') // replace characters based on charMap\n .reduce(function (result, ch) {\n var appendChar = locale[ch] || charMap[ch] || ch;\n\n if (appendChar === replacement) {\n appendChar = ' ';\n }\n\n return result + appendChar // remove not allowed characters\n .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '');\n }, '');\n\n if (options.strict) {\n slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n }\n\n if (trim) {\n slug = slug.trim();\n } // Replace spaces with replacement character, treating multiple consecutive\n // spaces as a single space.\n\n\n slug = slug.replace(/\\s+/g, replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase();\n }\n\n return slug;\n }\n\n replace.extend = function (customMap) {\n Object.assign(charMap, customMap);\n };\n\n return replace;\n});","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","import React from \"react\"\nimport BlogGridCard from \"../BlogGridCard\"\nimport GridPagination from \"../../grid-pagination\"\nimport { gql, useQuery } from \"@apollo/client\"\n\nlet hasResults\nlet hasAggregate\n\nconst ArticlePaginationGrid = ({\n allArticles,\n category,\n page,\n search,\n categories,\n}) => {\n const GET_STRAPI_ARTICLES = gql`\n query allStrapiArticles($name: String!, $start: Int!) {\n articlesConnection(\n start: $start\n limit: 6\n sort: \"updated_at:desc\"\n where: { category: { name_contains: $name } }\n ) {\n values {\n id\n Title\n Description\n thumbnail {\n url\n }\n author {\n firstName\n lastName\n publishBio\n }\n category {\n name\n }\n UID\n razaroon {\n name\n title\n razaroonImage {\n url\n }\n }\n }\n aggregate {\n count\n totalCount\n }\n }\n }\n `\n\n const GET_STRAPI_ARTICLES_SEARCH = gql`\n query allStrapiArticlesSearch($name: String!, $start: Int!, $q: String) {\n articlesConnection(\n start: $start\n limit: 6\n sort: \"updated_at:desc\"\n where: { _q: $q, category: { name_contains: $name } }\n ) {\n values {\n id\n Title\n Description\n thumbnail {\n url\n }\n author {\n firstName\n lastName\n publishBio\n }\n category {\n name\n }\n UID\n razaroon {\n name\n title\n razaroonImage {\n url\n }\n }\n }\n aggregate {\n count\n totalCount\n }\n }\n }\n `\n\n function determineStart(page) {\n return (page - 1) * 6\n }\n\n const { loading, error, data } = useQuery(GET_STRAPI_ARTICLES, {\n variables: {\n name: category ? category.replace(/-/g, \" \") : \"\",\n start: determineStart(page),\n },\n })\n\n const alternateData = useQuery(GET_STRAPI_ARTICLES_SEARCH, {\n variables: {\n name: category ? category.replace(/-/g, \" \") : \"\",\n start: determineStart(page),\n q: search,\n },\n }).data\n\n hasResults = alternateData\n ? alternateData.articlesConnection.values\n : data\n ? data.articlesConnection.values\n : []\n\n hasAggregate = alternateData\n ? alternateData.articlesConnection.aggregate\n : data\n ? data.articlesConnection.aggregate\n : []\n\n return (\n
\n
\n {hasResults.length > 0 ? (\n hasResults.map((node, i) => {\n return (\n \n )\n })\n ) : (\n
\n

No Results... But you're still awesome though

\n
\n )}\n
\n \n
\n )\n}\n\nexport default ArticlePaginationGrid\n","import React, { Component } from \"react\"\nimport { navigate } from \"@reach/router\"\nimport slugify from \"slugify\"\nimport * as _ from \"lodash\"\nimport MediaQuery from \"react-responsive\"\n\nclass BlogSidebar extends Component {\n transformedName\n searchQuery\n searchRef = React.createRef()\n\n onCategoryClick(name, pageNumber) {\n if (name === \"All\") {\n this.transformedName = \"null\"\n } else {\n this.transformedName = slugify(name, {\n replacement: \"-\",\n lower: true,\n strict: true,\n })\n }\n\n if (!this.searchQuery) {\n navigate(`?category=${this.transformedName}&page=1`)\n } else {\n navigate(`?category=${this.transformedName}&page=1&q=${this.searchQuery}`)\n }\n }\n\n onSearchChange(search) {\n this.searchQuery = search.trim()\n\n if (this.transformedName) {\n navigate(`?category=${this.transformedName}&page=1&q=${this.searchQuery}`)\n } else {\n navigate(`?category=null&page=1&q=${this.searchQuery}`)\n }\n }\n\n handleKeyDown = (event, val) => {\n if (event.key === \"Enter\") {\n this.onSearchChange(event.target.value)\n }\n }\n\n render() {\n const { categories, page, category } = this.props\n\n let allCategories = []\n categories.forEach(({ node }) => {\n node.articles.forEach(article => {\n allCategories.push(article)\n })\n })\n return (\n
\n
\n
\n this.handleKeyDown(event, val)}\n ref={this.searchRef}\n />\n this.onSearchChange(this.searchRef.current.value)}\n >\n \n \n
\n \n
    \n this.onCategoryClick(\"null\", page)}\n className={category === \"\" ? \"active\" : \"\"}\n key={\"0\"}\n >\n All\n {allCategories.length}\n \n {categories.map(({ node }, index) => {\n if (node.articles.length > 0) {\n return (\n this.onCategoryClick(node.name, page)}\n className={\n node.name === _.startCase(category) ? \"active\" : \"\"\n }\n key={index}\n >\n {node.name}\n {node.articles.length}\n \n )\n } else {\n return null\n }\n })}\n
\n
\n \n
\n this.onCategoryClick(event.target.value)}\n >\n \n {categories.map(({ node }, index) => {\n if (node.articles.length > 0) {\n return (\n \n {node.name}\n \n )\n } else {\n return null\n }\n })}\n \n
\n
\n
\n
\n )\n }\n}\n\nexport default BlogSidebar\n","import React from \"react\"\nimport { navigate } from \"@reach/router\"\nimport * as _ from \"lodash\"\n\nconst GridPagination = ({ category, page, search, aggregate }) => {\n let articlesTotal = aggregate.count\n let totalPages = calculatePagesTotal(articlesTotal)\n let middlePage = determineMiddlePage(page)\n let lastPage = isLastPage(middlePage) ? Number(middlePage) + 1 : null\n let firstPage = page < 2 ? 1 : Number(middlePage) - 1\n\n function determineMiddlePage(page) {\n if (isMiddlePage(_.startCase(category), page)) {\n if (page > 1) {\n return page\n } else {\n return Number(page) + 1\n }\n }\n return null\n }\n\n // logic to modify the route for the razroo website\n function onPageClick(pageNumber) {\n if (!search) {\n navigate(`?category=${category}&page=${pageNumber}`)\n } else {\n navigate(`?category=${category}&page=${pageNumber}&q=${search}`)\n }\n }\n\n function calculatePagesTotal(articlesTotal) {\n return Math.ceil(articlesTotal / 6)\n }\n\n function isMiddlePage(category, page) {\n if (totalPages < 2) {\n return totalPages - Number(page) > 0\n } else {\n return true\n }\n }\n\n function isLastPage(middlePage) {\n if (middlePage) {\n return totalPages - Number(middlePage) > 0\n }\n }\n\n function goBackAPage(pageNumber) {\n if (Number(pageNumber) < 2) {\n return\n }\n let internalPageNumber = Number(pageNumber) - 1\n navigate(`?category=${category}&page=${internalPageNumber}&q=${search}`)\n }\n\n function goForwardAPage(pageNumber) {\n if (Number(pageNumber) === totalPages) {\n return\n }\n let internalPageNumber = Number(pageNumber) + 1\n navigate(`?category=${category}&page=${internalPageNumber}&q=${search}`)\n }\n\n return (\n
\n \n
\n )\n}\n\nexport default GridPagination\n","import React from \"react\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport { Link } from \"@reach/router\"\nimport slugify from \"slugify\"\n\nconst MostRecentPosts = () => {\n const data = useStaticQuery(graphql`\n query TwoRecentArticlesQuery {\n allStrapiArticles(limit: 2, sort: { fields: created_at, order: DESC }) {\n edges {\n node {\n id\n Title\n Description\n author {\n firstName\n lastName\n }\n }\n }\n }\n }\n `)\n\n return (\n
\n
Most recent posts
\n
\n {data[\"allStrapiArticles\"][\"edges\"].slice(0, 3).map(({ node }, i) => {\n return (\n
\n
\n
\n \n written by{\" \"}\n {`${node[\"author\"][\"firstName\"]} ${node[\"author\"][\"lastName\"]}`}\n \n
\n \n {node[\"Title\"]}\n \n
\n

{node[\"Description\"]}

\n
\n
\n
\n )\n })}\n
\n
\n )\n}\n\nexport default MostRecentPosts\n","import React from \"react\"\nimport Layout from \"../components/layout\"\nimport Menu from \"../components/global/Menu\"\nimport Footer from \"../components/global/Footer\"\nimport SEO from \"../components/seo\"\nimport BlogSidebar from \"../components/blogSidebar\"\nimport ArticlePaginationGrid from \"../components/global/ArticlePaginationGrid\"\nimport MostRecentPosts from \"../components/global/MostRecentPosts\"\nimport { graphql, useStaticQuery } from \"gatsby\"\n\nconst IndexPage = ({ location }) => {\n const filterQuery =\n (location.state && location.state.query) || location.href || \"\"\n\n let params = filterQuery ? new URL(filterQuery).searchParams : \"\"\n let category =\n params && params.get(\"category\") !== \"null\" ? params.get(\"category\") : \"\"\n let page = params && params.get(\"page\") ? params.get(\"page\") : \"1\"\n let search = params && params.get(\"q\") ? params.get(\"q\") : \"\"\n let darkMode =\n typeof window !== `undefined`\n ? window.localStorage.getItem(\"darkMode\")\n : null\n\n const articlesAndCategoriesData = useStaticQuery(graphql`\n query articlesPaginationQueryAndAllCategories {\n allStrapiArticles(limit: 9, sort: { fields: updated_at, order: DESC }) {\n edges {\n node {\n id\n Title\n Description\n thumbnail {\n localFile {\n publicURL\n }\n }\n author {\n firstName\n lastName\n publishBio\n }\n }\n }\n }\n\n allStrapiCategories(sort: { order: ASC, fields: name }) {\n edges {\n node {\n name\n articles {\n id\n }\n }\n }\n }\n }\n `)\n\n return (\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n \n )\n}\n\nexport default IndexPage\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","require(\"core-js/modules/es.array.reduce.js\");\n\n!function (root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], factory) : \"object\" == typeof exports ? exports.MediaQuery = factory(require(\"react\")) : root.MediaQuery = factory(root.React);\n}(\"undefined\" != typeof self ? self : this, function (__WEBPACK_EXTERNAL_MODULE_1__) {\n return function (modules) {\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.l = !0, module.exports;\n }\n\n var installedModules = {};\n return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function (exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n configurable: !1,\n enumerable: !0,\n get: getter\n });\n }, __webpack_require__.n = function (module) {\n var getter = module && module.__esModule ? function () {\n return module.default;\n } : function () {\n return module;\n };\n return __webpack_require__.d(getter, \"a\", getter), getter;\n }, __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }, __webpack_require__.p = \"\", __webpack_require__(__webpack_require__.s = 7);\n }([function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n return \"Object\" === n && o.constructor && (n = o.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(o) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(o, minLen) : void 0;\n }\n }\n\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(arr)) {\n var _arr = [],\n _n = !0,\n _d = !1,\n _e = void 0;\n\n try {\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !i || _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n _n || null == _i.return || _i.return();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1),\n __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),\n __WEBPACK_IMPORTED_MODULE_1_matchmediaquery__ = __webpack_require__(8),\n __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__),\n __WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__ = __webpack_require__(2),\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__ = __webpack_require__(10),\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__),\n __WEBPACK_IMPORTED_MODULE_4__toQuery__ = __webpack_require__(3),\n __WEBPACK_IMPORTED_MODULE_5__Context__ = __webpack_require__(6),\n makeQuery = function makeQuery(settings) {\n return settings.query || Object(__WEBPACK_IMPORTED_MODULE_4__toQuery__.a)(settings);\n },\n hyphenateKeys = function hyphenateKeys(obj) {\n if (!obj) return null;\n var keys = Object.keys(obj);\n return 0 === keys.length ? null : keys.reduce(function (result, key) {\n return result[Object(__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__.a)(key)] = obj[key], result;\n }, {});\n },\n useIsUpdate = function useIsUpdate() {\n var ref = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useRef(!1);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n ref.current = !0;\n }, []), ref.current;\n },\n useDevice = function useDevice(deviceFromProps) {\n var deviceFromContext = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useContext(__WEBPACK_IMPORTED_MODULE_5__Context__.a),\n getDevice = function getDevice() {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n },\n _React$useState = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getDevice),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n device = _React$useState2[0],\n setDevice = _React$useState2[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var newDevice = getDevice();\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default()(device, newDevice) || setDevice(newDevice);\n }, [deviceFromProps, deviceFromContext]), device;\n },\n useQuery = function useQuery(settings) {\n var getQuery = function getQuery() {\n return makeQuery(settings);\n },\n _React$useState3 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getQuery),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n query = _React$useState4[0],\n setQuery = _React$useState4[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var newQuery = getQuery();\n query !== newQuery && setQuery(newQuery);\n }, [settings]), query;\n },\n useMatchMedia = function useMatchMedia(query, device) {\n var getMatchMedia = function getMatchMedia() {\n return __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default()(query, device || {}, !!device);\n },\n _React$useState5 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getMatchMedia),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n mq = _React$useState6[0],\n setMq = _React$useState6[1],\n isUpdate = useIsUpdate();\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n return isUpdate && setMq(getMatchMedia()), function () {\n mq.dispose();\n };\n }, [query, device]), mq;\n },\n useMatches = function useMatches(mediaQuery) {\n var _React$useState7 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(mediaQuery.matches),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n matches = _React$useState8[0],\n setMatches = _React$useState8[1];\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n var updateMatches = function updateMatches() {\n setMatches(mediaQuery.matches);\n };\n\n return mediaQuery.addListener(updateMatches), updateMatches(), function () {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]), matches;\n },\n useMediaQuery = function useMediaQuery(settings, device, onChange) {\n var deviceSettings = useDevice(device),\n query = useQuery(settings);\n if (!query) throw new Error(\"Invalid or missing MediaQuery!\");\n var mq = useMatchMedia(query, deviceSettings),\n matches = useMatches(mq),\n isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function () {\n isUpdate && onChange && onChange(matches);\n }, [matches]), matches;\n };\n\n __webpack_exports__.a = useMediaQuery;\n }, function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function toHyphenLower(match) {\n return \"-\" + match.toLowerCase();\n }\n\n function hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) return cache[name];\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \"-\" + hName : hName;\n }\n\n var uppercasePattern = /[A-Z]/g,\n msPattern = /^ms-/,\n cache = {};\n __webpack_exports__.a = hyphenateStyleName;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n var __WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__ = __webpack_require__(2),\n __WEBPACK_IMPORTED_MODULE_1__mediaQuery__ = __webpack_require__(11),\n negate = function negate(cond) {\n return \"not \".concat(cond);\n },\n keyVal = function keyVal(k, v) {\n var realKey = Object(__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__.a)(k);\n return \"number\" == typeof v && (v = \"\".concat(v, \"px\")), !0 === v ? realKey : !1 === v ? negate(realKey) : \"(\".concat(realKey, \": \").concat(v, \")\");\n },\n join = function join(conds) {\n return conds.join(\" and \");\n },\n toQuery = function toQuery(obj) {\n var rules = [];\n return Object.keys(__WEBPACK_IMPORTED_MODULE_1__mediaQuery__.a.all).forEach(function (k) {\n var v = obj[k];\n null != v && rules.push(keyVal(k, v));\n }), join(rules);\n };\n\n __webpack_exports__.a = toQuery;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = __webpack_require__(13);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1),\n __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),\n Context = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext();\n\n __webpack_exports__.a = Context;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n });\n\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0),\n __WEBPACK_IMPORTED_MODULE_1__Component__ = __webpack_require__(17),\n __WEBPACK_IMPORTED_MODULE_2__toQuery__ = __webpack_require__(3),\n __WEBPACK_IMPORTED_MODULE_3__Context__ = __webpack_require__(6);\n\n __webpack_require__.d(__webpack_exports__, \"default\", function () {\n return __WEBPACK_IMPORTED_MODULE_1__Component__.a;\n }), __webpack_require__.d(__webpack_exports__, \"useMediaQuery\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"toQuery\", function () {\n return __WEBPACK_IMPORTED_MODULE_2__toQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"Context\", function () {\n return __WEBPACK_IMPORTED_MODULE_3__Context__.a;\n });\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function Mql(query, values, forceStatic) {\n function addListener(listener) {\n mql && mql.addListener(listener);\n }\n\n function removeListener(listener) {\n mql && mql.removeListener(listener);\n }\n\n function update(evt) {\n self.matches = evt.matches, self.media = evt.media;\n }\n\n function dispose() {\n mql && mql.removeListener(update);\n }\n\n var self = this;\n\n if (dynamicMatch && !forceStatic) {\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches, this.media = mql.media, mql.addListener(update);\n } else this.matches = staticMatch(query, values), this.media = query;\n\n this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose;\n }\n\n function matchMedia(query, values, forceStatic) {\n return new Mql(query, values, forceStatic);\n }\n\n var staticMatch = __webpack_require__(9).match,\n dynamicMatch = \"undefined\" != typeof window ? window.matchMedia : null;\n\n module.exports = matchMedia;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse,\n typeMatch = \"all\" === query.type || values.type === query.type;\n if (typeMatch && inverse || !typeMatch && !inverse) return !1;\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n if (!value) return !1;\n\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue), value = toPx(value);\n break;\n\n case \"resolution\":\n expValue = toDpi(expValue), value = toDpi(value);\n break;\n\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case \"device-pixel-ratio\":\n expValue = toDecimal(expValue), value = toDecimal(value);\n break;\n\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0;\n }\n\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n\n case \"max\":\n return value <= expValue;\n\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n }\n\n function parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map(function (query) {\n query = query.trim();\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || \"\",\n parsed = {};\n return parsed.inverse = !!modifier && \"not\" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : \"all\", expressions = expressions.match(/\\([^\\)]+\\)/g) || [], parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures[2]\n };\n }), parsed;\n });\n }\n\n function toDecimal(ratio) {\n var numbers,\n decimal = Number(ratio);\n return decimal || (numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/), decimal = numbers[1] / numbers[2]), decimal;\n }\n\n function toDpi(resolution) {\n var value = parseFloat(resolution);\n\n switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) {\n case \"dpcm\":\n return value / 2.54;\n\n case \"dppx\":\n return 96 * value;\n\n default:\n return value;\n }\n }\n\n function toPx(length) {\n var value = parseFloat(length);\n\n switch (String(length).match(RE_LENGTH_UNIT)[1]) {\n case \"em\":\n case \"rem\":\n return 16 * value;\n\n case \"cm\":\n return 96 * value / 2.54;\n\n case \"mm\":\n return 96 * value / 2.54 / 10;\n\n case \"in\":\n return 96 * value;\n\n case \"pt\":\n return 72 * value;\n\n case \"pc\":\n return 72 * value / 12;\n\n default:\n return value;\n }\n }\n\n exports.match = matchQuery, exports.parse = parseQuery;\n var RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function shallowEqualObjects(objA, objB) {\n if (objA === objB) return !0;\n if (!objA || !objB) return !1;\n var aKeys = Object.keys(objA),\n bKeys = Object.keys(objB),\n len = aKeys.length;\n if (bKeys.length !== len) return !1;\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) return !1;\n }\n\n return !0;\n }\n\n module.exports = shallowEqualObjects;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n return key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n\n var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(12),\n __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),\n stringOrNumber = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number]),\n matchers = {\n orientation: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([\"portrait\", \"landscape\"]),\n scan: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([\"progressive\", \"interlace\"]),\n aspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n deviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n colorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n monochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n resolution: stringOrNumber\n },\n features = _objectSpread({\n minAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n }, matchers),\n types = {\n all: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n grid: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n aural: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n braille: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n handheld: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n print: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n projection: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n screen: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tty: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tv: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n embossed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool\n },\n all = _objectSpread(_objectSpread({}, types), features);\n\n matchers.type = Object.keys(types), __webpack_exports__.a = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n };\n }, function (module, exports, __webpack_require__) {\n var ReactIs = __webpack_require__(4);\n\n module.exports = __webpack_require__(14)(ReactIs.isElement, !0);\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n !function () {\n function isValidElementType(type) {\n return \"string\" == typeof type || \"function\" == typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || \"object\" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n\n function typeOf(object) {\n if (\"object\" == typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n\n function isAsyncMode(object) {\n return hasWarnedAboutDeprecatedIsAsyncMode || (hasWarnedAboutDeprecatedIsAsyncMode = !0, console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")), isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n\n function isElement(object) {\n return \"object\" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n\n var hasSymbol = \"function\" == typeof Symbol && Symbol.for,\n REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for(\"react.element\") : 60103,\n REACT_PORTAL_TYPE = hasSymbol ? Symbol.for(\"react.portal\") : 60106,\n REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for(\"react.fragment\") : 60107,\n REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.strict_mode\") : 60108,\n REACT_PROFILER_TYPE = hasSymbol ? Symbol.for(\"react.profiler\") : 60114,\n REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for(\"react.provider\") : 60109,\n REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for(\"react.context\") : 60110,\n REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for(\"react.async_mode\") : 60111,\n REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.concurrent_mode\") : 60111,\n REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for(\"react.forward_ref\") : 60112,\n REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for(\"react.suspense\") : 60113,\n REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for(\"react.suspense_list\") : 60120,\n REACT_MEMO_TYPE = hasSymbol ? Symbol.for(\"react.memo\") : 60115,\n REACT_LAZY_TYPE = hasSymbol ? Symbol.for(\"react.lazy\") : 60116,\n REACT_BLOCK_TYPE = hasSymbol ? Symbol.for(\"react.block\") : 60121,\n REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for(\"react.fundamental\") : 60117,\n REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for(\"react.responder\") : 60118,\n REACT_SCOPE_TYPE = hasSymbol ? Symbol.for(\"react.scope\") : 60119,\n AsyncMode = REACT_ASYNC_MODE_TYPE,\n ConcurrentMode = REACT_CONCURRENT_MODE_TYPE,\n ContextConsumer = REACT_CONTEXT_TYPE,\n ContextProvider = REACT_PROVIDER_TYPE,\n Element = REACT_ELEMENT_TYPE,\n ForwardRef = REACT_FORWARD_REF_TYPE,\n Fragment = REACT_FRAGMENT_TYPE,\n Lazy = REACT_LAZY_TYPE,\n Memo = REACT_MEMO_TYPE,\n Portal = REACT_PORTAL_TYPE,\n Profiler = REACT_PROFILER_TYPE,\n StrictMode = REACT_STRICT_MODE_TYPE,\n Suspense = REACT_SUSPENSE_TYPE,\n hasWarnedAboutDeprecatedIsAsyncMode = !1;\n exports.AsyncMode = AsyncMode, exports.ConcurrentMode = ConcurrentMode, exports.ContextConsumer = ContextConsumer, exports.ContextProvider = ContextProvider, exports.Element = Element, exports.ForwardRef = ForwardRef, exports.Fragment = Fragment, exports.Lazy = Lazy, exports.Memo = Memo, exports.Portal = Portal, exports.Profiler = Profiler, exports.StrictMode = StrictMode, exports.Suspense = Suspense, exports.isAsyncMode = isAsyncMode, exports.isConcurrentMode = isConcurrentMode, exports.isContextConsumer = isContextConsumer, exports.isContextProvider = isContextProvider, exports.isElement = isElement, exports.isForwardRef = isForwardRef, exports.isFragment = isFragment, exports.isLazy = isLazy, exports.isMemo = isMemo, exports.isPortal = isPortal, exports.isProfiler = isProfiler, exports.isStrictMode = isStrictMode, exports.isSuspense = isSuspense, exports.isValidElementType = isValidElementType, exports.typeOf = typeOf;\n }();\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function emptyFunctionThatReturnsNull() {\n return null;\n }\n\n var ReactIs = __webpack_require__(4),\n assign = __webpack_require__(15),\n ReactPropTypesSecret = __webpack_require__(5),\n checkPropTypes = __webpack_require__(16),\n has = Function.call.bind(Object.prototype.hasOwnProperty),\n printWarning = function printWarning() {};\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, module.exports = function (isValidElement, throwOnDirectAccess) {\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (\"function\" == typeof iteratorFn) return iteratorFn;\n }\n\n function is(x, y) {\n return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y;\n }\n\n function PropTypeError(message) {\n this.message = message, this.stack = \"\";\n }\n\n function createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n var err = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n if (\"undefined\" != typeof console) {\n var cacheKey = componentName + \":\" + propName;\n !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (printWarning(\"You are manually calling a React.PropTypes validation function for the `\" + propFullName + \"` prop on `\" + componentName + \"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"), manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++);\n }\n }\n\n return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `null`.\" : \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `undefined`.\") : null : validate(props, propName, componentName, location, propFullName);\n }\n\n var manualPropTypeCallCache = {},\n manualPropTypeWarningCount = 0,\n chainedCheckType = checkType.bind(null, !1);\n return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n if (getPropType(propValue) !== expectedType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPreciseType(propValue) + \"` supplied to `\" + componentName + \"`, expected `\" + expectedType + \"`.\");\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside arrayOf.\");\n var propValue = props[propName];\n\n if (!Array.isArray(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected an array.\");\n }\n\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + \"[\" + i + \"]\", ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getClassName(props[propName]) + \"` supplied to `\" + componentName + \"`, expected instance of `\" + expectedClassName + \"`.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) return null;\n }\n\n var valuesString = JSON.stringify(expectedValues, function (key, value) {\n return \"symbol\" === getPreciseType(value) ? String(value) : value;\n });\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of value `\" + String(propValue) + \"` supplied to `\" + componentName + \"`, expected one of \" + valuesString + \".\");\n }\n\n return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (printWarning(arguments.length > 1 ? \"Invalid arguments supplied to oneOf, expected an array, got \" + arguments.length + \" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\" : \"Invalid argument supplied to oneOf, expected an array.\"), emptyFunctionThatReturnsNull);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside objectOf.\");\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected an object.\");\n\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n if (null == (0, arrayOfTypeCheckers[i])(props, propName, componentName, location, propFullName, ReactPropTypesSecret)) return null;\n }\n\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`.\");\n }\n\n if (!Array.isArray(arrayOfTypeCheckers)) return printWarning(\"Invalid argument supplied to oneOfType, expected an instance of array.\"), emptyFunctionThatReturnsNull;\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (\"function\" != typeof checker) return printWarning(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \" + getPostfixForTypeWarning(checker) + \" at index \" + i + \".\"), emptyFunctionThatReturnsNull;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n\n if (checker) {\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName],\n propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n var allKeys = assign({}, props[propName], shapeTypes);\n\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` key `\" + key + \"` supplied to `\" + componentName + \"`.\\nBad object: \" + JSON.stringify(props[propName], null, \" \") + \"\\nValid keys: \" + JSON.stringify(Object.keys(shapeTypes), null, \" \"));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case \"number\":\n case \"string\":\n case \"undefined\":\n return !0;\n\n case \"boolean\":\n return !propValue;\n\n case \"object\":\n if (Array.isArray(propValue)) return propValue.every(isNode);\n if (null === propValue || isValidElement(propValue)) return !0;\n var iteratorFn = getIteratorFn(propValue);\n if (!iteratorFn) return !1;\n var step,\n iterator = iteratorFn.call(propValue);\n\n if (iteratorFn !== propValue.entries) {\n for (; !(step = iterator.next()).done;) {\n if (!isNode(step.value)) return !1;\n }\n } else for (; !(step = iterator.next()).done;) {\n var entry = step.value;\n if (entry && !isNode(entry[1])) return !1;\n }\n\n return !0;\n\n default:\n return !1;\n }\n }\n\n function isSymbol(propType, propValue) {\n return \"symbol\" === propType || !!propValue && (\"Symbol\" === propValue[\"@@toStringTag\"] || \"function\" == typeof Symbol && propValue instanceof Symbol);\n }\n\n function getPropType(propValue) {\n var propType = typeof propValue;\n return Array.isArray(propValue) ? \"array\" : propValue instanceof RegExp ? \"object\" : isSymbol(propType, propValue) ? \"symbol\" : propType;\n }\n\n function getPreciseType(propValue) {\n if (void 0 === propValue || null === propValue) return \"\" + propValue;\n var propType = getPropType(propValue);\n\n if (\"object\" === propType) {\n if (propValue instanceof Date) return \"date\";\n if (propValue instanceof RegExp) return \"regexp\";\n }\n\n return propType;\n }\n\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n\n switch (type) {\n case \"array\":\n case \"object\":\n return \"an \" + type;\n\n case \"boolean\":\n case \"date\":\n case \"regexp\":\n return \"a \" + type;\n\n default:\n return type;\n }\n }\n\n function getClassName(propValue) {\n return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS;\n }\n\n var ITERATOR_SYMBOL = \"function\" == typeof Symbol && Symbol.iterator,\n FAUX_ITERATOR_SYMBOL = \"@@iterator\",\n ANONYMOUS = \"<>\",\n ReactPropTypes = {\n array: createPrimitiveTypeChecker(\"array\"),\n bool: createPrimitiveTypeChecker(\"boolean\"),\n func: createPrimitiveTypeChecker(\"function\"),\n number: createPrimitiveTypeChecker(\"number\"),\n object: createPrimitiveTypeChecker(\"object\"),\n string: createPrimitiveTypeChecker(\"string\"),\n symbol: createPrimitiveTypeChecker(\"symbol\"),\n any: function () {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }(),\n arrayOf: createArrayOfTypeChecker,\n element: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!isValidElement(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n elementType: function () {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!ReactIs.isValidElementType(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement type.\");\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }(),\n instanceOf: createInstanceTypeChecker,\n node: function () {\n function validate(props, propName, componentName, location, propFullName) {\n return isNode(props[propName]) ? null : new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected a ReactNode.\");\n }\n\n return createChainableTypeChecker(validate);\n }(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache, ReactPropTypes.PropTypes = ReactPropTypes, ReactPropTypes;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function toObject(val) {\n if (null === val || void 0 === val) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(val);\n }\n /*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n */\n\n\n var getOwnPropertySymbols = Object.getOwnPropertySymbols,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n propIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function () {\n try {\n if (!Object.assign) return !1;\n var test1 = new String(\"abc\");\n if (test1[5] = \"de\", \"5\" === Object.getOwnPropertyNames(test1)[0]) return !1;\n\n for (var test2 = {}, i = 0; i < 10; i++) {\n test2[\"_\" + String.fromCharCode(i)] = i;\n }\n\n if (\"0123456789\" !== Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n }).join(\"\")) return !1;\n var test3 = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function (letter) {\n test3[letter] = letter;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, test3)).join(\"\");\n } catch (err) {\n return !1;\n }\n }() ? Object.assign : function (target, source) {\n for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n hasOwnProperty.call(from, key) && (to[key] = from[key]);\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]);\n }\n }\n }\n\n return to;\n };\n }, function (module, exports, __webpack_require__) {\n \"use strict\";\n\n function checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n\n try {\n if (\"function\" != typeof typeSpecs[typeSpecName]) {\n var err = Error((componentName || \"React class\") + \": \" + location + \" type `\" + typeSpecName + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof typeSpecs[typeSpecName] + \"`.\");\n throw err.name = \"Invariant Violation\", err;\n }\n\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n\n if (!error || error instanceof Error || printWarning((componentName || \"React class\") + \": type specification of \" + location + \" `\" + typeSpecName + \"` is invalid; the type checker function must return `null` or an `Error` but returned a \" + typeof error + \". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"), error instanceof Error && !(error.message in loggedTypeFailures)) {\n loggedTypeFailures[error.message] = !0;\n var stack = getStack ? getStack() : \"\";\n printWarning(\"Failed \" + location + \" type: \" + error.message + (null != stack ? stack : \"\"));\n }\n }\n }\n }\n\n var printWarning = function printWarning() {},\n ReactPropTypesSecret = __webpack_require__(5),\n loggedTypeFailures = {},\n has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function printWarning(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n\n try {\n throw new Error(message);\n } catch (x) {}\n }, checkPropTypes.resetWarningCache = function () {\n loggedTypeFailures = {};\n }, module.exports = checkPropTypes;\n }, function (module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n\n function _objectWithoutProperties(source, excluded) {\n if (null == source) return {};\n\n var key,\n i,\n target = _objectWithoutPropertiesLoose(source, excluded);\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i], excluded.indexOf(key) >= 0 || Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);\n }\n }\n\n return target;\n }\n\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (null == source) return {};\n var key,\n i,\n target = {},\n sourceKeys = Object.keys(source);\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i], excluded.indexOf(key) >= 0 || (target[key] = source[key]);\n }\n\n return target;\n }\n\n function MediaQuery(_ref) {\n var children = _ref.children,\n device = _ref.device,\n onChange = _ref.onChange,\n settings = _objectWithoutProperties(_ref, [\"children\", \"device\", \"onChange\"]),\n matches = Object(__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a)(settings, device, onChange);\n\n return \"function\" == typeof children ? children(matches) : matches ? children : null;\n }\n\n __webpack_exports__.a = MediaQuery;\n\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0);\n }]);\n});","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport slugify from \"slugify\"\n\nfunction SEO({\n description,\n lang,\n image,\n meta,\n keywords,\n title,\n pathname,\n imageUrl,\n readingTime,\n publishedTime,\n UID,\n}) {\n const { site } = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n author\n siteUrl\n }\n }\n }\n `\n )\n\n const metaDescription = description || site.siteMetadata.description\n const metaUrl = title\n ? UID\n ? `${site.siteMetadata.siteUrl}/${UID}/`\n : `${site.siteMetadata.siteUrl}/${slugify(title.toLowerCase())}/`\n : site.siteMetadata.siteUrl\n\n return (\n 0\n ? {\n name: `keywords`,\n content: keywords.join(`, `),\n }\n : []\n )}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n keywords: [],\n pathname: ``,\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n image: PropTypes.object,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n pathname: PropTypes.string,\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n"],"sourceRoot":""}