!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd e f g h i j k l m n o p q r s t u v w x y z { | } ~                  Safe-Inferred Safe-Inferred>This is the accessor for the Trie. The list of keys should be  sorted. 9This is a Trie constructor for a complete range of keys. BThis is a Trie constructor for a complete range of keys that uses B a function from single values and a merge operation on values to  fill the Trie. BThis is a Trie constructor for a complete range of keys that uses E a function from single values and a sum operation of values to fill  the Trie.  "(lower,upper) range of keys, lower<=upper )Function from list of keys to its value. . It must work for distinct ascending lists. The constructed Trie value for (lookupAsc trie []) merge operation on values "(lower,upper) range of keys, lower<=upper (Function from a single key to its value The constructed Trie summation operation for values #(lower,upper) range of keys, lower <= upper (Function from a single key to its value The constructed Trie     Safe-Inferred   Safe-Inferred!  !"#$%&'()*+  !"#$%&'()*+  !"#$%&'()*+   !"#$%&'()*+ Safe-InferredH,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopE,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopE,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopF,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopNoneHqrstuvwxyz{|}~Fqrstuvwxyz{|}~Frstquvwxyz{|}~Fqrstuvwxyz{|}~None;The  and newFlagsD lists in Instructions are sorted by, and unique in, the Tag values ?Positions for which a * was re-started while looping. Need to B append locations at back but compare starting with front, so use B Seq as a Queue. The initial position is saved in basePos (and a ? Maximize Tag), the middle positions in the Seq, and the final ? position is NOT saved in the Orbits (only in a Maximize Tag). :The orderinal code is being written XXX TODO document it. 4Internal convenience type for the text display code BInternal type to repesent the commands for the tagged transition. D The outer IntMap is for the destination Index and the inner IntMap E is for the Source Index. This is convenient since all runtime data B going to the same destination must be compared to find the best. BA Destination IntMap entry may have an empty Source IntMap if and : only if the destination is the starting index and the NFA/DFA. E This instructs the matching engine to spawn a new entry starting at  the post-update position. Internal to the DFA node The test to perform 4location(s) of the anchor(s) in the original regexp 'use dt_a if test is True else use dt_b 'use dt_a if test is True else use dt_b Actions to perform to win Transition to accept Char default accepting transition ,where to go (maximal), including respawning &where to go, not including respawning  how to go, including respawning @Internal DFA node, identified by the Set of indices of the QNFA  nodes it represents. >Ordered list of tags and their associated update operation to > perform on an empty transition to the virtual winning state. ?A TagList and the location of the item in the original pattern  that is being accepted. <Ordered list of tags and their associated update operation. BWhen attached to a QTrans the TagTask can be done before or after  accepting the character. /Ordered list of tags and their associated Task 5The things that can be done with a Tag. TagTask and > ResetGroupStopTask are for tags with Maximize or Minimize OP C values. ResetOrbitTask and EnterOrbitTask and LeaveOrbitTask are  for tags with Orbit OP value. BKnown predicates, just Beginning of Line (^) and End of Line ($). 1 Also support for GNU extensions is being added: ` beginning of  buffer, ' end of buffer, < and > for begin and end of words, b  and B* for word boundary and not word boundary. BInternal type to represent the tagged transition from one QNFA to E another (or itself). The key is the Index of the destination QNFA. Internal to QNFA type. The test to perform 4location(s) of the anchor(s) in the original regexp (use qt_a if test is True, else use qt_b (use qt_a if test is True, else use qt_b /empty transitions to the virtual winning state 6all ways to leave this QNFA to other or the same QNFA :default ways to leave this QNFA to other or the same QNFA Internal NFA node type The TDFA backend specific  type, used by this module's RegexOptions and RegexMaker starting DFA state index of starting state  'indexes of smallest and largest states  %indexes of smallest and largest tags  All DFA states  information about each tag  information about each group used for optimizing execution CGroupInfo collects the parent and tag information for an instance  of a group 5GroupIndex is for indexing submatches from capturing  parenthesized groups (PGroup/Group) #Index into the text being searched /Internal DFA identity is this Set of NFA Index "Internal NFA node identity number TInternal use to indicate type of tag and preference for larger or smaller Positions !7Used by implementation to name certain Postions during ? matching. Identity of Position tag to set during a transition $=True by default. Set to False to improve speed (and space). %ZControl whether the pattern is multiline or case-sensitive like Text.Regex and whether to  capture the subgroups (1, 20, etc). Controls enabling extra anchor syntax. '(True in blankCompOpt and defaultCompOpt (;False in blankCompOpt, True in defaultCompOpt. Compile for 3 newline-sensitive matching. By default, newline is a completely ordinary character with no special meaning in either REs or strings. With this flag, inverted bracket expressions and . never match newline, a ^ anchor matches the null string after any newline in the string in addition to its normal function, and the $ anchor matches the null string before any newline in the string in addition to its normal function. )JTrue (and therefore Right associative) in blankCompOpt and defaultCompOpt *^False in blankCompOpt, True in defaultCompOpt. Add the extended non-POSIX syntax described in Text.Regex.TDFA haddock documentation. +KFalse by default. This is POSIX correct but it takes space and is slower. C Setting this to true will improve performance, and should be done ; if you plan to set the captureGroups execoption to False. ,AUsed to track elements of the pattern that accept characters or  are anchors 2#after sort or sortBy the use of nubnubBy can be replaced by norepnorepBy 3#after sort or sortBy the use of nubnubBy can be replaced by norepnorepBy       !"#$%&'()*+,-./0123456789:;<=>      !"#$%&'()*+,-./0123456789:;<=>/0123456789:,-.%&'()*+"#$!      ;<=>7         !"#$%&'()*+,-./0123456789:;<=>NoneJ?Pattern is the type returned by the regular expression parser. B This is consumed by the CorePattern module and the tender leaves ! are nibbled by the TNFA module. _AI have not been checking, but this should have the property that E parsing the resulting string should result in an identical Pattern. E This is not true if starTrans has created PNonCapture and PNonEmpty / values or a (PStar False). The contents of a [ ] grouping are + always shown in a sorted canonical order. `@Do the transformation and simplification in a single traversal. D This removes the PPlus, PQuest, and PBound values, changing to POr  and PEmpty and PStar True/'False. For some PBound values it adds C PNonEmpty and PNonCapture semantic marker. It also simplifies to A flatten out nested POr and PConcat instances and eliminate some  unneeded PEmpty values. a3Apply a Pattern transfomation function depth first c=Function to transform a pattern into an equivalent, but less  redundant form. Nested \ and [ are flattened. PEmpty  is propagated. @Function to flatten nested POr or nested PConcat applicataions. 'Determines if pIn will fail or accept [] and never accept any / characters. Treat PCarat and PDollar as True. .?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aThe transformation function The Pattern to transform The transformed Pattern bc),-.?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc1J^]\[ZYXWUTSQPNMLKVVVVRVRVOVOHIEFGBCD?@A,-._`bca?@ABCDEFGHIJ^]\[ZYXWUTSQPNMLKVVVVRVRVOVO_`abc None*BracketElement is internal to this module dAReturn either an error message or a tuple of the Pattern and the D largest group index and the largest DoPa index (both have smallest @ index of 1). Since the regular expression is supplied as [Char] it $ automatically supports unicode and '\NUL' characters. dddd NoneCefghijklmnopqrstuvwxyz{|}~4 efghijklmnopqrstuvwxyz{|}~4opqrstuvwxyz{~}|eihgfn klmj$eihgfjklmno pqrstuvwxyz{ ~}| None None None+      !"#$%&'()*+,-./01      !"#$%&'()*+,-./01None23456789:;<=>?@ABCDEFGHIJK23456789:;<=>?@ABCDEFGHIJKNoneLLNone0MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{None|<decodePatternSet cannot handle collating element and treats @ equivalence classes as just their definition and nothing more. }8This returns the disctince ascending list of characters  represented by [: :]/ values in legalCharacterClasses; unrecognized $ class names return an empty string 3~|}3~|}None NoneFlags (summed together) Flags (summed together) >The regular expression to compile (ASCII only, no null bytes) )Returns: the compiled regular expression Compiled regular expression String to match against Compiled regular expression String to match against "%%"NoneFlags (summed together) Flags (summed together) "The regular expression to compile )Returns: the compiled regular expression Compiled regular expression ByteString to match against Compiled regular expression ByteString to match against "%%"NoneFlags (summed together) Flags (summed together) "The regular expression to compile )Returns: the compiled regular expression Compiled regular expression ByteString to match against Compiled regular expression ByteString to match against "%%"NoneFlags (summed together) Flags (summed together) "The regular expression to compile )Returns: the compiled regular expression Compiled regular expression ByteString to match against Compiled regular expression ByteString to match against "%%"None>This is the pure functional matching operator. If the target A cannot be produced then some empty result will be returned. If ' there is an error in processing, then  will be called. AThis is the monadic matching operator. If a single match fails,  then  will be called. A   "#$%&'()*+  !"#$%%&'()*+,-./0123456789:;<=>?@ABCDDEF'()*+GH./0IJK1LMNOP2QR3S4TU5VW:XYZ;[<\]^=>_`?@abA6c7defgh8ijklmBCnoopF'()*+GH./0IJK1LMNOP2QR3S4TU5VW:XYZ;[<\]^=>_`?@abA6c7defgh8ijklmBCqrstuvwwxyzz{|}~                          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6666789:;<=><=><=><=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t u v w x y z { | } ~                                                            `                   ```   `  ` !"#$%&'$%&()*+,-+./0123456789:;<=>?@ABCDEFGH5IJKLMNOP.QRSTUUVWWXYYZ[[\regex-tdfa-1.1.8Text.Regex.TDFA.StringText.Regex.TDFA.NewDFA.UnconsText.Regex.TDFA.IntArrTrieSetData.IntSet.EnumSet2Data.IntMap.EnumMap2Data.IntMap.CharMap2Text.Regex.TDFA.CommonText.Regex.TDFA.PatternText.Regex.TDFA.ReadRegexText.Regex.TDFA.CorePatternText.Regex.TDFA.NewDFA.MakeTestText.Regex.TDFA.NewDFA.Tester Text.Regex.TDFA.NewDFA.Engine_FA Text.Regex.TDFA.NewDFA.Engine_NC#Text.Regex.TDFA.NewDFA.Engine_NC_FAText.Regex.TDFA.NewDFA.EngineText.Regex.TDFA.TNFAText.Regex.TDFA.TDFAText.Regex.TDFA.ByteStringText.Regex.TDFA.ByteString.LazyText.Regex.TDFA.SequenceText.Regex.TDFAPaths_regex_tdfaregex-base-0.93.2Text.Regex.Base.RegexLike MatchOffset MatchLengthUnconsunconsTrieSetvaluenext lookupAsc fromBoundsfromSinglesMergefromSinglesSumEnumSet unEnumSet\\nullsizemember notMember isSubsetOfisProperSubsetOfempty singletoninsertdeleteunionunions difference intersectionfilter partitionsplit splitMembermapfoldelemstoListfromList toAscList fromAscListfromDistinctAscListshowTree showTreeWithEnumMap unEnumMap!lookupfindWithDefault insertWith insertWithKeyinsertLookupWithKeyadjust adjustWithKeyupdate updateWithKeyupdateLookupWithKey unionWith unionWithKey unionsWithdifferenceWithdifferenceWithKeyintersectionWithintersectionWithKey mapWithKeymapAccummapAccumWithKey foldWithKeykeyskeysSetassocs fromListWithfromListWithKeyfromAscListWithfromAscListWithKey filterWithKeypartitionWithKeymapMaybemapMaybeWithKey mapEithermapEitherWithKey splitLookup isSubmapOf isSubmapOfByisProperSubmapOfisProperSubmapOfByKeyCharMap unCharMapOrbitLogOrbitTransformerActionSetValSetPostSetPre InstructionsnewPos newOrbitsOrbitsinOrbitbasePosordinal getOrbitsDTrans'DTransDTTesting'dt_testdt_dopasdt_adt_bSimple'dt_windt_transdt_other Transition trans_many trans_single trans_howDFAd_idd_dtWinTags TagCommandTagList TagUpdate PostUpdate PreUpdateTagTasksTagTaskLeaveOrbitTaskEnterOrbitTaskResetOrbitTaskSetGroupStopTaskResetGroupStopTask WhichTestTest_NotEdgeWord Test_EdgeWordTest_EOWTest_BOWTest_EOBTest_BOBTest_EOLTest_BOLQTransQTTestingqt_testqt_dopasqt_aqt_bSimpleqt_winqt_transqt_otherQNFAq_idq_qtWinEmptyWinTestRegex regex_dfa regex_init regex_b_index regex_b_tags regex_trie regex_tags regex_groupsregex_isFrontAnchoredregex_compOptionsregex_execOptions GroupInfo thisIndex parentIndexstartTagstopTagflagTag GroupIndexPositionSetIndexIndexOPIgnoreOrbitMinimizeMaximizeTag ExecOption captureGroups CompOption caseSensitive multiline rightAssoc newSyntaxlastStarGreedyDoPa dopaIndexlook common_erroronnorepnorepBymapFstmapSndfst3snd3thd3 flipOrdernoWinshowQTindentshowDT seeDTransPatternSetEquivalenceClassunSECPatternSetCollatingElementunSCEPatternSetCharacterClassunSCC PatternSetPattern PNonEmpty PNonCapturePCharPEscapegetPatternCharPAnyNotPAny getPatternSetPDotPDollarPCaratgetDoPaPBoundPStarPPlusPQuestPConcatPOrPGroupPEmpty showPattern starTrans dfsPattern starTrans' simplify' parseRegexWanted WantsEither WantsBothWantsQT WantsQNFANullView SetTestInfogetTestsTestInfoQnullQtakespreResetpostSetpreTagpostTagtagged childGroupswantsunQPNonEmptyOneCharTestStargetOrbit resetOrbits firstNullunStarSeqOrEmpty cleanNullView mustAccept cannotAccept patternToQtest_multilinetest_singleline matchTest execMatch patternToNFAnfaToDFApatternToRegexdfaMap examineDFAcompileexecuteregexecgetVersion_Text_Regex_TDFA=~=~~$fUnconsByteString$fUnconsByteString0 $fUnconsSeq $fUncons[]catchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName$fMonoidEnumSet$fFoldableEnumMap$fFunctorEnumMap$fMonoidEnumMap$fFunctorCharMap$fMonoidCharMap$fEqQT$fShowDT$fShowQT $fShowQNFA'$fRegexOptionsRegexCompOptionExecOption $fShowDoPa $fEnumDoPaflattencanOnlyMatchNullerrreGroup notPEmpty $fShowPatternSetEquivalenceClass $fShowPatternSetCollatingElement$fShowPatternSetCharacterClass$fShowPatternSetBracketElementBEClassBEEquivBECollBECharsBECharp_regexp_branchp_piecep_atom group_indexp_group p_post_atomp_bound p_bound_specp_anchor char_indexp_char p_bracketp_set p_set_elemp_set_elem_classp_set_elem_equivp_set_elem_collp_set_elem_rangep_set_elem_charHHQPM HandleTagApplyAdviceNoTagshowQnotNull promotePreTagmakeEmptyNullViewmakeTestNullViewtagWrapNullViewaddGroupResetsToNullVieworbitWrapNullViewmergeNullViewsseqTakeorTakesapplytoAdvicenoTag fromHandleTagvaries canAcceptmakeGroupArray fromRightpartitionEither$fShowQ$fShowSetTestInfo$fMonoidSetTestInfo test_commonisWordtestFA0testFAtest0testCFWScratchw_pos BlankScratch _blank_posMScratchm_posm_orbitSScratch_s_1_s_2_s_restMQmq_mWinmemcpy!!setnoSource doActionsmkTestnewMQresetMQputMQnewAnewA_ newScratch newMScratchorderOf ditzyComp'3 comparePostagsToGroupsSTspawnAt updateCopycopySTUws_start_ws_stop_s_mq mq_earliestmq_listgetMQ wsToGroup makeGroup blank_posMQA mqa_startmqa_ws spawnStartdecodePatternSetdecodeCharacterClassActContESecartdebugqtwinqtlosenullable notNullablemaybeOnlyEmptyusesQNFAmkQNFA mkTestingnullQT listTestInfoapplyNullViewspreferNullViewsdominate applyTest mergeQT_2nd mergeAltQTmergeQT mergeQTWith prependPreTagprependGroupResets prependTags'newQNFAfromQNFAfromQTasQNFAgetQNFAgetQTaddTest promoteTasks demoteTags addWinTagsaddTag'addTagaddGroupResets addGroupSetsgetE addTestACaddTagACaddGroupResetsACaddGroupSetsAC addWinTagsACqToNFA AlterOrbit AlterModify newInOrbit freshOrbit AlterLeave AlterResetCompileInstructionsdlosemakeDFA flattenDT pickQTranscleanWin bestTransisDFAFrontAnchoredtoInstructionsassemble setPreTag setPostTag resetGroupTag setGroupTag resetOrbit enterOrbit leaveOrbit modifyPos modifyOrbit alterOrbits alterOrbitunwrap$fRegexContextRegex[][]$fRegexLikeRegex[]'$fRegexMakerRegexCompOptionExecOption[]$fRegexLikeRegexByteString/$fRegexMakerRegexCompOptionExecOptionByteString'$fRegexContextRegexByteStringByteStringfi$fRegexLikeRegexSeq($fRegexMakerRegexCompOptionExecOptionSeq$fRegexContextRegexSeqSeqbaseGHC.ErrerrorGHC.BasefailText.Regex.BasegetVersion_Text_Regex_Base MatchArray MatchTextmrSubs mrSubListmrAftermrMatchmrBeforeMR MatchResult getExecOpts setExecOptsdefaultExecOptdefaultCompOpt blankExecOpt blankCompOpt RegexOptionsmakeRegexOptsM makeRegexM makeRegexOpts makeRegex RegexMaker matchOnceText matchAllText matchCountmatchAll matchOnce RegexLikematchMmatch RegexContextextractafterbeforeExtractgetAllSubmatches AllSubmatchesgetAllTextSubmatchesAllTextSubmatches getAllMatches AllMatchesgetAllTextMatchesAllTextMatches