m      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn o p q r s t u v w x y z { | } ~  CGiven a program name, return a human-readable version string. For H development builds, at least non-cabal builds, the patch level (ie the @ number of patches applied since last release tag) will also be  included. DGiven a program name, return a precise platform-specific executable H name suitable for naming downloadable binaries. Can raise an error if F the version and patch level was not defined correctly at build time. 2*An option value from a command-line flag.   !"#$%&=The program name which, if we are invoked as (via symlink or 4 renaming), causes us to default to reading the user's time log instead  of their journal.  Command-line options we accept. 'FParse the command-line arguments into options and arguments using the B specified option descriptors. Any smart dates in the options are  converted to explicit YYYYMM(DD format based on the current time. If F parsing fails, raise an error, displaying the problem along with the  provided usage string. ()EConvert any fuzzy dates within these option values to explicit ones,  based on today's date. *CFigure out the overall date span we should report on, based on any  beginend:period options provided. If there is a period option, the  others are ignored. +EFigure out the reporting interval, if any, specified by the options. 6 If there is a period option, the others are ignored. ,2Get the value of the (last) depth option, if any. ->Get the value of the (last) drop option, if any, otherwise 0. .4Get the value of the (last) display option, if any. /4Get the value of the (last) baseurl option, if any. 01Get the value of the (last) port option, if any. 11Get a maybe boolean representing the last cleared/uncleared option if any. Were we invoked as "hours" ? 2NGet the journal file path from options, an environment variable, or a default 3FGather filter pattern arguments into a list of account patterns and a A list of description patterns. We interpret pattern arguments as  follows: those prefixed with desc: are description patterns, all : others are account patterns; also patterns prefixed with not: are 9 negated. not: should come after desc: if both are used. 4*Convert application options to the library' s generic filter specification. =  !"#$%&'()*+,-./01234=&$#"!  %%%%%%%%%%%%'()*+,-./012342-$#"!  %%%%%%%%%%%%  !"#$%&'()*+,-./012345Parse the user'6s specified journal file and run a hledger command on  it, or throw an error. 6DGet a journal from the given string and options, or throw an error. 7ARe-read a journal from its data file, or return an error string. 8BRe-read a journal from its data file mostly, only if the file has D changed since last read (or if there is no file, ie data read from F stdin). The provided options are mostly ignored. Return a journal or F the error message while reading it, and a flag indicating whether it  was re-read or not. 9Has the journal'4s main data file changed since the journal was last  read ? :1Has the specified file (presumably one of journal's data files) ' changed since journal was last read ? ;DGet the last modified time of the specified file, or if it does not 7 exist or there is some other error, the current time. <?Attempt to open a web browser on the given url, all platforms. ==Back up this file with a (incrementing) numbered suffix then I overwrite it with this new text, or give an error, but only if the text @ is different from the current file contents, and return a flag % indicating whether we did anything. >>Back up this file with a (incrementing) numbered suffix, then 4 overwrite it with this new text, or give an error. ?KBack up this file with a (incrementing) numbered suffix, or give an error. VDoes the second file represent a backup of the first, and if so which version is it ? 56789:;<=>? 56789:;<>=? 56789:;<=>? @JThe data for a single balance report line item, representing one account. ANA balance report is a chart of accounts with balances, and their grand total. BPrint a balance report. CCRender a balance report as plain text suitable for console output. 3Render one balance report line item as plain text. DBGet a balance report with the specified options for this journal. ;Is the named account considered interesting for this ledger's balance report ? @ABCDA@BDC@ABCDEFGHFA set of data definitions and account-matching patterns sufficient to Tconvert a particular CSV data file into meaningful journal transactions. See above. IJKLMNOPQRSRRead the CSV file named as an argument and print equivalent journal transactions,  using/creating a .rules file. T:The highest (0-based) field index referenced in the field . definitions, or -1 if no fields are defined. UVWXYZNReal independent parser choice, even when alternative matches share a prefix. [\]^4Convert some date string with unknown format to YYYYMMDD. _DApply account matching rules to a transaction description to obtain 5 the most appropriate account and a new description. -EFGHIJKLMNOPQRSTUVWXYZ[\]^_HIJKLMNOPQRGFESTUVWXYZ[\]^_EFGH IJKLMNOPQRIJKLMNOPQRSTUVWXYZ[\]^_`DPrint a histogram of some statistic per reporting interval, such as  number of postings per day. a`a`a`abIThe data for a single journal report item, representing one transaction. cA journal report! is just a list of transactions. d/Print journal transactions in standard format. efbcdefcbdfebcdefgKThe data for a single register report line item, representing one posting. h@A register report is a list of postings to an account or set of E accounts, with a running total. Postings may be actual postings, or 8 virtual postings aggregated over a reporting interval. iPrint a register report. jDRender a register report as plain text suitable for console output. 8Render one register report line item as plain text. Eg:   S date (10) description (20) account (22) amount (11) balance (12) R DDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA ! ^ displayed for first postings^  only, otherwise blank   lCGet a register report with the specified options for this journal. %Generate register report line items. ?Generate one register report line item, from a flag indicating I whether to include transaction info, a posting, and the current running  balance. KDate-sort and split a list of postings into three spans - postings matched L by the given display expression, and the preceding and following postings. BDoes this display expression allow this posting to be displayed ? . Raises an error if the display expression can' t be parsed. EParse a hledger display expression, which is a simple date test like  d>[DATE] or  d<=[DATE], and return a Posting-matching predicate. CConvert a list of postings into summary postings. Summary postings H are one per account per interval and aggregated to the specified depth  if any. DGiven a date span (representing a reporting interval) and a list of E postings within it: aggregate the postings so there is only one per  account, and adjust their date/%description so that they will render ! as a summary for this interval. DAs usual with date spans the end date is exclusive, but for display = purposes we show the previous day as end date, like ledger. BWhen a depth argument is present, postings to accounts of greater & depth are aggregated where possible. EThe showempty flag includes spans with no postings and also postings  with 0 amount. EClip the account names to the specified depth in a list of postings. Clip a posting''s account name to the specified depth. mghijklmhgiljkmghijlm no?Read transactions from the terminal, prompting for each field, K and append them to the journal file. If the journal came from stdin, this  command has no effect. p@Read a number of transactions from the command line, prompting, F validating, displaying and appending them to the journal file, until H end of input (then raise an EOF exception). Any command-line arguments " are used as the first transaction's description. qHRead a transaction from the command line, with history-aware prompting. rBRead postings from the command line until . is entered, using any I provided historical postings and the journal context to guess defaults. sDPrompt for and read a string value, optionally with a default value D and a validator. A validator causes the prompt to repeat until the J input is valid. May also raise an EOF exception if control-d is pressed. t&Append this transaction to the journal's file, and to the journal's  transaction list. u1Append data to a journal file; or if the file is -, dump it to stdout. v9Convert a string of journal data into a register report. w;Return a similarity measure, from 0 to 1, for two strings.  This is Simon White's letter pairs algorithm from  http:www.catalysoft.comarticlesStrikeAMatch.html ( with a modification for short strings. xyz{|nopqrstuvwxyz{|opqrstuvwxyzn{|nopqrstuvwxyz{| }*Print various statistics for the journal. ~}~}~}~ W@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Run unit tests. Funit tests, augmenting the ones defined in each module. Where that is E inconvenient due to import cycles or whatever, we define them here.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz { | } ~   hledger-0.13Hledger.Cli.VersionHledger.Cli.OptionsHledger.Cli.UtilsHledger.Cli.BalanceHledger.Cli.ConvertHledger.Cli.HistogramHledger.Cli.PrintHledger.Cli.RegisterHledger.Cli.AddHledger.Cli.StatsHledger.Cli.CommandsHledger.Cli.TestsHledger.Cli.MainversionprogversionstrbinaryfilenameOpt ChartSize ChartItems ChartOutputPortBaseUrlDebugVtyDebugBinaryFilenameVersionVerboseHelp YearlyOpt QuarterlyOpt MonthlyOpt WeeklyOptDailyOptSubTotalNoTotalDropFlatRealEmpty EffectiveDisplayDepth CostBasis UnClearedClearedPeriodEndBegin NoNewAcctsFilevalue options_cliparseArgumentsWith argsError fixOptDatesdateSpanFromOptsintervalFromOpts depthFromOpts dropFromOptsdisplayExprFromOptsbaseUrlFromOpts portFromOptsusingTimeProgramNamejournalFilePathFromOptsparsePatternArgsoptsToFilterSpec withJournalDoreadJournalWithOpts journalReloadjournalReloadIfChangedjournalFileIsNewerjournalSpecifiedFileIsNewerfileModificationTime openBrowserOnwriteFileWithBackupIfChangedwriteFileWithBackupreadFileStrictlyBalanceReportItem BalanceReportbalancebalanceReportAsText balanceReport CsvRecord AccountRule FieldPositionCsvRules dateField statusField codeFielddescriptionField amountField currencyField baseCurrency baseAccount accountRulesconvert maxFieldIndex rulesFileForinitialRulesFileContentparseCsvRulesFile parseCsvRules csvrulesfile definitions accountruleprintTxntransactionFromCsvRecord normaliseDateidentify histogram showHistogramJournalReportItem JournalReportprint'showTransactions journalReportRegisterReportItemRegisterReportregisterregisterReportAsTextshowPostingWithBalanceForVtyregisterReporttests_RegisterCompletionCacheaddgetAndAddTransactionsgetTransaction getPostingsaskForjournalAddTransactionappendToJournalFileregisterFromStringcompareStringscompareDescriptionstransactionsSimilarTorunInteractioncompletionCacheaccountCompletionstatsshowLedgerStatstests_Hledger_CommandsrunteststestsjournalWithAmountsmain progname_cliprogname_cli_timeusage_preamble_cliusage_options_cliusage_postscript_cli usage_clioptsWithConstructoroptsWithConstructorsoptValuesForConstructoroptValuesForConstructorsclearedValueFromOpts backUpFilesafeGetDirectoryContents backupNumberbalanceReportItemAsTextexclusiveBalance isInterestingisInterestingFlatisInterestingIndented nullruleschoice' datefield codefield statusfielddescriptionfield amountfield currencyfield basecurrency baseaccount blanklines blankline commentchar commentlineblankorcommentlinematchreplacepatterncaseinsensitive tests_Convertbarchar printDayWithcountBarjournalReportAsTextregisterReportItemAsTextgetitemsmkitempostingsMatchingDisplayExprdisplayExprMatchesdatedisplayexprsummarisePostingsByIntervalsummarisePostingsInDateSpandepthClipPostingsdepthClipPostingwordLetterPairs letterPairsdate1t1 samplejournalsamplejournalwithoptssample_journal_strdefaultyear_journal_strwrite_sample_journal entry2_str entry3_strperiodic_entry1_strperiodic_entry2_strperiodic_entry3_str journal1_str journal2_str journal3_str journal4_str journal5_str journal6_str journal7_strjournal7ledger7 journal8_strtimelogentry1_str timelogentry1timelogentry2_str timelogentry2a1a2a3