!2)O      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN SafeM OPQRSTUNoneV WXY Z[\]^_`abNone "#4=?HPVcdefghijklmnNone"#=?M2salakLoad Salak Monad Transfersalak-Source package, used to store all properties.salakPut key value pairs into opqrstuvwxyz{|}~None"#48=>?@AMUVX  salak3Monad used to parse properties to destination type."salak Succeed value#salak Empty value$salak Fail value%salakOptional value.&salakDefault value.'salakReadPrimitive valuesalak Parse value" !$#"%&'%5&5None"#MPSX(salakRunSalak Monad TransfersalakReloadable SourcePack+salakTmsg stands for properties changing record if true, otherwise msg means reload error.,salak message log.salakRun action in (,  ) is reloadable action.()*+,-. NoneR/salakConvert arguments to properties0salak Load environment variables into 1salak+Default way to parse command line arguments2salak!Load command line arguments into /012(c) 2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone(c) 2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=?SUVX'3salak Monad that can fetch properties.;salakLoad file by extension<salakProp load configuration>salak Config name?salakSpecify config dir@salak&Search current directory, default trueAsalak%Search home directory, default false.BsalakHow to parse commandlineDsalakLoad and run salak  and fetch properties.FsalakiDefault run salak. All these configuration sources has orders, from highest priority to lowest priority: 1. loadCommandLine 2. loadEnvironment 3. loadConfFiles 4. load file from folder `salak.conf.dir` if defined 5. load file from current folder if enabled 6. load file from home folder if enabled 7. file extension matching, support yaml or toml or any other loader.GsalakASimplified run salak, should specified code name and file format.HsalakTry fetch properties from IsalakFetch properties from , or throw failJsalakFetch dynamic properties from , or throw failDsalakLoad properties monad.salakFetch properties monad.HsalakProperties keyIsalakProperties keyJsalakProperties key<  !"#$%&'()*,+-./0123456789:;<=>?@ABCDEFGHIJ<DFG<=>?@ABC2/10;E9:78(-3456HI)*,+.J  '!"#$%&7383     !"#$%&'()*+,-./012334567 8 9 : ;<=>?@@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu vwxyz{{|}~*2$salak-0.2.9.2-7iX0xESiRMVI07I3DEJHjJ Salak.LoadSalakSalak.Types.SelectorSalak.Types.ValueSalak.Types.Source Salak.Types Salak.PropSalak.Load.DynamicSalak.Load.EnvSelectorSStrSNumsimpleSelectorsValueVStrVRefVNumVBoolVZTimeVLTimeVDayVHourPrioritynewVStrSource emptySource nullSource updateSource updateSources insertSource LoadSalakT SourcePackaddErrloadFile tryLoadFileloadingloadMock FromEnumProp fromEnumPropFromPropfromPropPropPResultONF.?=.?: readPrimitive RunSalakT ReloadResultisErrormsgliftNTexecParseCommandLineloadEnvdefaultParseCommandLineloadCommandLine HasSourcePack askSourcePacklogSPreadLogs:|:HasLoadloadersExtLoad PropConfig configName configDirKey searchCurrent searchHome commandLineloadExtloadAndRunSalak loadByExtrunSalak runSalakWithfetchrequirerequireD$fDefaultPropConfig $fHasLoad:|:$fHasSourcePackLoadSalakT$fHasSourcePackRunSalakTisStrtoKey selectorsexprssNamesNumexprQVRefTextRValRRefreftypeOfV getPrioritygetTypegetVgetQnullQinsertQreplaceQSourceTmapValuevalueshowKey foldSource sizeSource selectSourcereplacereplace'insertinsert'unLoadreEnvpackIdprefixsourceerrsReloadreload canReload sourceName defReload emptyReloademptySourcePack mapSourceselect loadInternalrunLoadTjump readSelect GFromProp gFromPropPropTunProp PropSourcecacheRefcurrSPoriginSPrunPropaskSub askOrigingEnumevalVerrselectPsearchconverttoNum readTimeOfDayReloadableSourcePackghc-prim GHC.TypesIOunRun reloadAlllogs sourcePackreloadableSourcePackaskRSPsearch' reloadActionrunT