h$Tc<(      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                    !!!!!!!!!!!!!!""""#$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))**+++++None 5678:< haskell-ci(Return the part after the first argumentafterInfix "BAR" "FOOBAR XYZZY" Just " XYZZY" haskell-ciafterPrefix "FOO" "FOOBAR" Just "BAR" haskell-ci4findMaybe readMaybe ["foo", "1", "bar"] :: Maybe IntJust 1 haskell-ci"Whether two ranges are equivalent. &'(g)* +,-v. /hijklm012345678u%#$9:;<=" !>KN?@ABCDELMFSQRGHIJOPTVWXYZ[\]^_`abcdefnopqrstwxyz{|}~ &'(g)* +,-v. /hijklm0123468u%#$9:<=" !>KN?@ABCELMFSQRGHIJOPdefnopqwz{|}~ 57;DTVWXYZ[\]^_`abcrstxyNone 5678:< haskell-ci!File fields to final value parser haskell-ci File to readNone5678:<> haskell-ciMore general version of . haskell-ciThis is a bit tricky since it has to cover globs which have embedded , chars. But we don't just want to parse strictly as a glob since we want to allow http urls which don't parse as globs, and possibly some system-dependent file paths. So we parse fairly liberally as a token, but we allow , inside matched {} braces.None-5678:<>? haskell-ci8Bash completion action for option argument. Example: "file" or  "directory".See  https://github.com/pcapriotti/optparse-applicative#actions-and-completers and  https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html. haskell-ci"Meta variable for option argument. haskell-ciHelp text for option. U UNone '(5678:<>None5678:<>~ haskell-ci is  MonadError without catchNone 5678:<None 5678:< None  5678:<_ haskell-ciRead . On error, return  emptyGitConfg. None 5678:<  haskell-ci ShellCheck disagrees. haskell-ciused by validations haskell-cimade by . None 5678:< O   None 5678:<  None 5678:< None 5678:<"4 haskell-ciJobsN:M - N ghcs (cabal -j), M threads (ghc -j)6let parseJobs = C.simpleParsec :: String -> Maybe JobsparseJobs "2:2"Just (BothJobs 2 2)parseJobs ":2"Just (GhcJobs 2) parseJobs "2"Just (CabalJobs 2)parseJobs "garbage"NothingNone 5678:<# haskell-ci Normalised9parseI = maybe (error "foo") id . traverse C.simpleParsec&normaliseInstalled $ parseI ["-Cabal"].InstalledDiff (fromList [PackageName "Cabal"])$normaliseInstalled $ parseI ["-all"]InstalledOnly (fromList [])5normaliseInstalled $ parseI ["-all", "+transformers"]5InstalledOnly (fromList [PackageName "transformers"])  None -/5678:<$ haskell-cirun with latest GHC haskell-cirun with specified GHC version  None5678:<>$None 5678:<%]None 5678:<%None  /5678:<%  None  /5678:<&"None5678:<>&nNone  /5678:<&  None 5678:<' haskell-ciAlphas, RCs and HEAD. haskell-ciPreferred Cabal Version haskell-ci GHC Version haskell-cihead.hackage rangeNone 5678:<(-None 5678:<(o  None 5678:<) haskell-ciWrite shell command haskell-ci Write comment haskell-ciCommented block.If the block is empty (or comments only), nothing might be written. haskell-cicommand haskell-cicommentNone 5678:<*2None 5678:<*cNone -/5678:<>*None #$5678:<,a haskell-ci all versions (useful for Travis) haskell-ci linux jobs haskell-ci macos jobs haskell-ciconfig None #$5678:demo $ YValue "inline json" $ Aeson.toJSON [True, False, True] # inline json[true,false,true]demo $ YKeyValues "" [ ("", "addons", YValue "" $ Aeson.toJSON $ [Just "foo", Just "bar", Nothing]) ]addons: ["foo","bar",null]/demo $ YString "" $ unlines ["foo","bar","baz"]"foo\nbar\nbaz\n":let multiline = YString "" $ unlines ["foo", "bar", "baz"]&demo $ YList "" [multiline, multiline]- | foo bar baz- | foo bar bazdemo $ YKeyValues "" [("", "keyA", multiline), ("", "keyB", multiline)]keyA: | foo bar bazkeyB: | foo bar baz'None #$5678:<8( haskell-cisourceline with optional key>>(None #$%5678:<9M)None #$5678:<9 haskell-ci Steps with uses haskell-ci Steps with run00*None #$%5678:<:+None /5678:<:,-./01,23,24,56,78,79,-:,-;,-</0=,>?,>@,AB,CD,CE,CF,CG/HI/HJ,>K,-L,-M,-N,-O,PQ,RS,AT,AU,AV,AW,-X,-Y,-Z,-[,-\,-],-^,C_,C`/Ha,bc,Ad,Ae,-f,-g,>h/Hi,jk,Al,bm,An,op,qr,Ps,Rt,-u,vw,xy,z{,-|,-}/~/~/~/~/~,,/~,A/~/~,/~,,/~,,/~/~/~/H/H/H/H/H/H/H/H/H/H,,,,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,>,>,>,>,>,7,7,,,,,,,,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,o,o,o,o,o,o,o,o,C,C,C,C,C,C,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,,,,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,,j,j,j,j,,,,,,,,,,,,,,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,,,,,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,,,,x,x,,,,v,x,x,-,,,,,,,,,,,,,,,,,,,v,v,,,2,2                                                    !!!!!!!!!!!!!!""""#$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))**++++:haskell-ci-0.14-3SMvNSvWWODJSIPScgdSKd-haskell-ci-internalHaskellCI.PreludeHaskellCI.OptionsGrammarHaskellCI.ParsecUtilsHaskellCI.NewtypesHaskellCI.OptparseGrammarHaskellCI.MonadErrHaskellCI.ListHaskellCI.HeadHackageHaskellCI.GitConfigHaskellCI.ErrorHaskellCI.DiagnosticsHaskellCI.Config.UbuntuHaskellCI.Config.PackageScopeHaskellCI.Config.JobsHaskellCI.Config.InstalledHaskellCI.Config.HLintHaskellCI.Config.FoldsHaskellCI.Config.EmptyHaskellCI.Config.DumpHaskellCI.Config.DoctestHaskellCI.Config.DocspecHaskellCI.Config.CopyFieldsHaskellCI.Config.ConstraintSetHaskellCI.CompilerHaskellCI.PackageHaskellCI.Bash.Template HaskellCI.ShHaskellCI.ShVersionRangeHaskellCI.TestedWithHaskellCI.ConfigHaskellCI.JobsHaskellCI.Config.ValidityHaskellCI.AuxiliaryHaskellCI.ToolsHaskellCI.BashHaskellCI.VersionInfo HaskellCI.CliHaskellCI.YamlSyntaxHaskellCI.Travis.YamlHaskellCI.TravisHaskellCI.GitHub.YamlHaskellCI.GitHub HaskellCIbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$coerceGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negate>>=>>fmapreturnControl.Monad.Failfail Data.String fromString fromIntegral realToFrac toInteger toRational<>memptymappendmconcat<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeable MonadFailIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric SemigroupMonoid GHC.TypesBoolCharDoubleFloatIntinteger-wired-inGHC.Integer.TypeInteger GHC.NaturalNatural GHC.MaybeMaybeOrderingRationalIOWord Data.EitherEitherFalseNothingJustTrueLeftRightLTEQGTbytestring-0.10.10.0Data.ByteString.Internal ByteString$Cabal-3.6.2.0-Gs52rnMRRrI82oZgek17JTDistribution.FieldGrammar^^^(Distribution.Types.VersionRange.Internal noVersion anyVersion VersionRangeDistribution.Types.Version mkVersionVersionDistribution.Parsec simpleParsecDistribution.Pretty prettyShowDistribution.Compat.Lens.~^.&toListOfovercontainers-0.6.2.1Data.Set.InternalSetbinary-0.8.8.0Data.Binary.ClassBinarynot||&&/=minmax><=<compareGHC.ErrerrorerrorWithoutStackTrace undefinedStringNonEmpty:|<|><*<$=<<whenapidconst.flip$!untilasTypeOf+*abssignumsubtractcurryuncurry Data.Functor<$>void Data.Functionon Data.MaybemaybeisJust isNothing fromMaybemapMaybescanlscanl1scanrscanr1iteraterepeat replicatecycle takeWhile dropWhiletakedropsplitAtspanbreakreverselookup!!zip3zipWithzipWith3unzipunzip3 showsPrecshowshowListShowSshowsshowChar showString showParensuccpredtoEnumfromEnumminBoundmaxBoundproperFractiontruncateroundceilingfloor/recipquotremdivmodquotRemdivModevenodd^^^gcdlcm GHC.UnicodeisSpaceisUppertoLower floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2piexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhText.ParserCombinators.ReadPReadS readsPrecreadList readParenlex Data.ProxyProxyeitherpartitionEithers Text.Readreads readMaybe Data.OldList isPrefixOfnub intercalatelinesunlineswordsunwordsfoldMapfoldrfoldlfoldl'toListnulllengthelemmaximumminimumsumproduct traverse_for_ sequence_concat concatMapandoranyallnotElemGHC.Exception.Type Exception toException fromExceptiondisplayExceptionGHC.IO.ExceptionIOError IOException userErrorGHC.IOFilePathioErrorputCharputStrputStrLngetChargetLine getContentsinteractreadFile writeFile appendFilereadLnreadIOData.Functor.IdentityIdentity runIdentitytraverse sequenceA Control.Monadunless Data.VoidVoid text-1.2.3.2Data.Text.InternalText<&>mapM_sequencemapMliftA2Data.Bifunctorbimap BifunctorreadData.BitraversablebifoldMapDefault bimapDefault bitraverse BitraversableData.Bifoldablebifoldlbifoldr bifoldMapbifold BifoldablesecondfirstData.List.NonEmptygroupByControl.Monad.IO.ClassliftIOMonadIOControl.Exception.Basehandlefoldl1foldr1tails stripPrefixinitlast*network-uri-2.6.4.1-EI9fbHPgPg3FkBWeXXqPMn Network.URIURIexceptions-0.10.4Control.Monad.Catch MonadThrow MonadCatch MonadMask,generic-lens-lite-0.1-6c9NdqTQFs5HTRkDu8fyHvData.Generics.Lens.Litefield0indexed-traversable-0.1.2-8tk2uvVrRDXLSkH9yi4BjI WithIndexifoldr%lattices-2.0.3-CfX0TkyXzdMB6HmQz7zXFPAlgebra.Lattice/\\/LatticebottomBoundedJoinSemiLatticetopBoundedMeetSemiLatticeBoundedLattice uriToStringparseURImappedhead afterInfix afterPrefix findMaybeequivVersionRanges$fPrettyNatural$fParsecNatural$fLatticeVersionRangereadAndParseFileAlaSet getAlaSetRangeInt' HeadVersiongetHeadVersionNoCommasPackageLocationalaSetalaSet'hack$fPrettyPackageLocation$fParsecPackageLocation$fPrettyNoCommas$fParsecNoCommas$fPrettyHeadVersion$fParsecHeadVersion $fPrettyInt' $fParsecInt' $fPrettyRange $fParsecRange$fPrettyAlaSet$fParsecAlaSet$fNewtypeSetAlaSet$fNewtypeVersionRangeRange$fNewtypeIntInt'$fNewtypeMaybeHeadVersion$fNewtype[]NoCommas$fNewtype[]PackageLocation ParsecPrettyOptionsGrammarmetaCompleterHelpmetahelphelp rangeFieldBashCompletionActionMetaVarHelpmetaActionHelp($fOptionsGrammarParsecParsecFieldGrammar$fParsecPrettyaOptparseGrammarrunOptparseGrammar+$fOptionsGrammarParsecPrettyOptparseGrammar)$fFieldGrammarParsecPrettyOptparseGrammar$fApplicativeOptparseGrammar$fFunctorOptparseGrammarMonadErrthrowErr$fMonadErreEither ListBuilder buildListitem$fMonadListBuilder$fApplicativeListBuilder$fFunctorListBuilderdefaultHeadHackageheadHackageRepoStanza GitConfig gitCfgRemotesemptyGitConfig readGitConfig$fShowGitConfig FromHsCiError fromHsCiError HsCiErrorShellCheckErrorValidationError FailError$fExceptionHsCiError$fFromHsCiErrorHsCiError$fShowHsCiError DiagnosticsT Diagnostics unDiagnosticsMonadDiagnostics putStrLnErr putStrLnErrs putStrLnWarn putStrLnInforunDiagnosticsT$fMonadDiagnosticsIO$fMonadDiagnosticsDiagnosticsT$fFunctorDiagnosticsT$fApplicativeDiagnosticsT$fMonadDiagnosticsT$fMonadIODiagnosticsT$fMonadCatchDiagnosticsT$fMonadMaskDiagnosticsT$fMonadThrowDiagnosticsTUbuntuXenialBionicFocal showUbuntu$fPrettyUbuntu$fParsecUbuntu $fEqUbuntu $fOrdUbuntu $fShowUbuntu PackageScopePackageScopeNonePackageScopeLocalPackageScopeAll$fPrettyPackageScope$fParsecPackageScope$fEqPackageScope$fShowPackageScopeJobs CabalJobsGhcJobsBothJobs cabalJobsghcJobs $fPrettyJobs $fParsecJobs $fShowJobsInstalledNormalised InstalledDiff InstalledOnly Installed InstalledAll InstalledNoneAddRemovenormaliseInstalled$fParsecInstalled$fPrettyInstalled$fShowInstalledNormalised $fEqInstalled$fShowInstalledHLintJobHLintJobLatest HLintConfigcfgHLintEnabled cfgHLintJob cfgHLintYamlcfgHLintOptionscfgHLintVersioncfgHLintDownloaddefaultHLintVersionhlintConfigGrammar$fPrettyHLintJob$fParsecHLintJob$fShowHLintConfig$fGenericHLintConfig$fBinaryHLintConfig $fEqHLintJob$fShowHLintJob$fGenericHLintJob$fBinaryHLintJobFoldsgetFoldsFold FoldSDist FoldUnpack FoldBuildFoldBuildInstalledFoldBuildEverythingFoldTest FoldHaddock FoldStackage FoldCheck FoldDoctest FoldHLintFoldConstraintSetsshowFold possibleFolds $fPrettyFolds $fParsecFolds$fNewtypeSetFolds$fEqFold $fOrdFold $fShowFold $fEnumFold $fBoundedFold EmptyGrammarEGrunEG$$fOptionsGrammarTypeableEmptyGrammar"$fFieldGrammarTypeableEmptyGrammar$fApplicativeEmptyGrammar$fFunctorEmptyGrammar DumpGrammarDGrunDG!$fOptionsGrammarPrettyDumpGrammar$fFieldGrammarPrettyDumpGrammar$fApplicativeDumpGrammar$fFunctorDumpGrammar DoctestConfigcfgDoctestEnabledcfgDoctestOptionscfgDoctestVersioncfgDoctestFilterEnvPkgscfgDoctestFilterSrcPkgsdefaultDoctestVersiondoctestConfigGrammar$fShowDoctestConfig$fGenericDoctestConfig$fBinaryDoctestConfig DocspecConfigcfgDocspecEnabledcfgDocspecOptions cfgDocspecUrlcfgDocspecHashdocspecConfigGrammar$fShowDocspecConfig$fGenericDocspecConfig$fBinaryDocspecConfig CopyFieldsCopyFieldsNoneCopyFieldsSome CopyFieldsAllshowCopyFields$fParsecCopyFields$fPrettyCopyFields$fEqCopyFields$fOrdCopyFields$fShowCopyFields$fEnumCopyFields$fBoundedCopyFields ConstraintSetcsName csGhcVersionscsGhcjs csConstraintscsTests csRunTests csDocspec csBenchmarks csHaddockconstraintSetGrammar$fShowConstraintSet$fGenericConstraintSet CompilerRangeRangeGHC RangeGHCJS RangePoints RangeInter RangeUnionCompilerVersionGHCHeadGHCGHCJSmaybeGHCisGHCJS maybeGHCJS compilerKindcompilerVersioncompilerWithinRangeinvertCompilerRangeknownGhcVersionsknownGhcjsVersionscorrespondingCabalVersiondispGhcVersiondispGhcVersionShortdispCabalVersion previewGHC ghcMajVer%$fBoundedMeetSemiLatticeCompilerRange%$fBoundedJoinSemiLatticeCompilerRange$fLatticeCompilerRange$fShowCompilerRange$fEqCompilerVersion$fOrdCompilerVersion$fShowCompilerVersionPackagePkgpkgNamepkgJobspkgDirpkgGpd $fEqPackage $fShowPackage$fGenericPackageZzJobs zRegendatazBlocks zTestsCond zBenchCondzAptzNotNullzUnwordsdefaultZrenderIOrender$fZinzaZ $fGenericZShMunShMMonadShsh'commentcommentedBlockShComment isComment shToStringshlistToStringshrunShliftSh $fMonadShShM$fMonadErrHsCiErrorShM $fMonadShM$fApplicativeShM $fFunctorShM$fShowShcompilerVersionPredicatecompilerVersionArithPredicate$fShowRTestedWithJobsTestedWithUniform TestedWithAny checkVersions$fPrettyTestedWithJobs$fParsecTestedWithJobs$fEqTestedWithJobs$fShowTestedWithJobsEnvConfigcfgCabalInstallVersioncfgJobs cfgUbuntu cfgTestedWithcfgEnabledJobs cfgCopyFieldscfgLocalGhcOptions cfgSubmodulescfgCachecfgInstallDeps cfgInstalledcfgTests cfgRunTests cfgBenchmarks cfgHaddockcfgNoTestsNoBenchcfgUnconstraintedcfgHeadHackage cfgGhcjsTests cfgGhcjsToolscfgTestOutputDirectcfgCheckcfgOnlyBranchescfgIrcChannelscfgIrcNicknamecfgIrcPasswordcfgIrcIfInOriginRepocfgEmailNotificationscfgProjectNamecfgFolds cfgGhcHead cfgPostgrescfgGoogleChromecfgEnvcfgAllowFailurescfgLastInSeries cfgLinuxJobs cfgMacosJobs cfgGhcupCabal cfgGhcupJobscfgGhcupVersioncfgAptcfgTravisPatchescfgGitHubPatchescfgInsertVersioncfgErrorMissingMethods cfgDoctest cfgDocspeccfgHLintcfgConstraintSets cfgRawProject cfgRawTraviscfgGitHubActionNamecfgTimeoutMinutesdefaultCabalInstallVersiondefaultGhcupVersion emptyConfig configGrammarreadConfigFileparseConfigFile parseName parseNameBS $fPrettyEnv $fParsecEnv$fNewtypeMapEnv$fGenericConfig JobVersions allVersions linuxVersions macosVersions describeJobsmakeJobVersionscheckConfigValidity Auxiliarypkgsuris projectNamedoctestEnableddocspecEnabledhasTests hasLibraryextraCabalProjectFieldstestShowDetails auxiliarypkgNameDirVariable'pkgNameDirVariabledoctestJobVersionRange doctestArgshlintJobVersionRange hlintArgsmakeBashhaskellCIVerStr dependencies InputTypeInputTypePackageInputTypeProject ConfigOpt ConfigOptAuto ConfigOptNoOutput OutputStdout OutputFileOptions optOutput optConfigoptCwd optInputTypeoptConfigMorphismCommand CommandTravis CommandBash CommandGitHubCommandRegenerateCommandListGHCCommandDumpConfigCommandVersionInfodefaultOptionsoptionsWithOutputFile optInputType'optionsP configOptPoutputPversionP inputTypeP cliParserInfo parseOptions$fSemigroupConfigOpt$fSemigroupOptions$fShowInputType $fEqConfigOpt$fShowConfigOpt $fShowCommandToYamltoYamlYamlYStringYNumberYBoolYList YKeyValuesYValuereann prettyYaml~>ykeyValuesFilt ylistFilt$fIsStringYaml $fToYamlMap $fToYamlValue $fToYaml[] $fToYamlBool $fToYamlYaml$fEqYaml $fShowYaml $fFunctorYaml$fFoldableYaml$fTraversableYamlTravisAllowFailure tafCompilerTravisAptSourceTravisAptSourceLine TravisApt taPackages taSources TravisAddonstaApt taPostgrestaGoogleChrome TravisJob tjCompilertjEnvtjAddonstjOS TravisMatrix tmIncludetmAllowFailures TravisIRC tiChannels tiSkipJoin tiTemplatetiNick tiPasswordTravisNotificationstnIRCtnEmailTravisBranchestbOnly TravisCache tcDirectories TravisGit tgSubmodulesTravis travisUbuntutravisLanguage travisGit travisCachetravisBranchestravisNotificationstravisServices travisAddons travisMatrixtravisBeforeCachetravisBeforeInstall travisInstall travisScript shListToYaml$fToYamlTravisGit$fToYamlTravisCache$fToYamlTravisBranches$fToYamlTravisIRC$fToYamlTravisNotifications$fToJSONTravisAptSource$fToJSONTravisApt$fToJSONTravisAddons$fToYamlTravisAddons$fToYamlTravisJob$fToYamlTravisAllowFailure$fToYamlTravisMatrix$fToYamlTravis $fShowTravis$fShowTravisMatrix$fShowTravisAllowFailure$fShowTravisJob$fShowTravisAddons$fShowTravisApt$fShowTravisAptSource$fShowTravisNotifications$fShowTravisIRC$fShowTravisBranches$fShowTravisCache$fShowTravisGit travisHeader makeTravis GitHubService ghServImage ghServEnv ghServOptions GitHubUses ghsActionghsIfghsWith GitHubRunghsRunghsEnv GitHubStepghsNameghsStepGitHubMatrixEntry ghmeCompilerghmeAllowFailureghmeSetupMethod SetupMethodHVRPPAGHCUP GitHubJobghjName ghjRunsOnghjNeedsghjIf ghjContainer ghjServicesghjContinueOnError ghjMatrixghjSteps ghjTimeoutGitHubOn ghBranchesGitHubghNameghOnghJobs notEmptyStep mapToYaml$fToYamlGitHubOn$fToYamlSetupMethod$fToYamlGitHubMatrixEntry$fToYamlGitHubStep$fToYamlGitHubService$fToYamlGitHubJob$fToYamlGitHub $fShowGitHub$fShowGitHubJob$fShowGitHubService$fShowGitHubStep$fShowGitHubUses$fShowGitHubRun$fShowGitHubMatrixEntry$fShowSetupMethod$fShowGitHubOn githubHeader makeGitHubmaintravisFromConfigFilebashFromConfigFilegithubFromConfigFile