úÎEÀAÂD      !"#$%&'()*+,-./0123456789:;<=>?@ABCNone 5DIR[%A range specifies bounds on a semver.Exact equality Greater than Less thanGreater than or equal toLess than or equal to Conjunction DisjunctionYA SemVer has major, minor and patch versions, and zero or more pre-release version tags..Prerelease tags can either be numbers or text.1Pull all of the concrete versions out of a range.%Create a SemVer with no version tags.Create a SemVer with tags'Create a SemVer with tags and metadata.)Get only the version tuple from a semver.*Get a list of tuples from a version range.4Get all of the prerelease tags from a version range.JGet the range prerelease tags if they're all the same; otherwise Nothing.Satisfies any version.Render a semver as Text.ŽReturns whether a given semantic version matches a range. Note that there are special cases when there are prerelease tags. For details see  2https://github.com/npm/node-semver#prerelease-tagsÿ;. matches :: SemVerRange -> SemVer -> Bool matches range version = case (sharedTags range, svTags version) of -- This is the simple case, where neither the range nor the version has given -- prerelease tags. Then we can just do regular predicate calculus. (Nothing, PrereleaseTags []) -> matchesSimple range version _ -> undefined -- (Just rTags, PrereleaseTags vTags) -- | rTags == vTags -> matchesSimple range version -- | tuplesOf range /= [toTuple version] -> False -- | otherwise -> matchesTags range rTags vTags -- (_, _) -> False\Simple predicate calculus matching, doing AND and OR combination with numerical comparison. …Given a range and two sets of tags, the first being a bound on the second, uses the range to compare the tags and see if they match.!,Gets the highest-matching semver in a range.D7Define an Ord instance which ignores the buildMetaData.,  !EFGDHIJKLM"  !  !EFGDHIJKLM44444332None["gA partially specified semantic version. Implicitly defines a range of acceptable versions, as seen in wildcardToRange.(Fills in zeros in a wildcard.)|Translates a wildcard (partially specified version) to a range. Ex: 2 := >=2.0.0 <3.0.0 Ex: 1.2.x := 1.2 := >=1.2.0 <1.3.0*:Translates a ~wildcard to a range. Ex: ~1.2.3 := >=1.2.3  1.(2+1).0:= =1.2.3 <1.3.0+@Translates a ^wildcard to a range. Ex: ^1.2.x := >=1.2.0 <2.0.0,¢Translates two hyphenated wildcards to an actual range. Ex: 1.2.3 - 2.3.4 := >=1.2.3 <=2.3.4 Ex: 1.2 - 2.3.4 := >=1.2.0 <=2.3.4 Ex: 1.2.3 - 2 := >=1.2.3 <3.0.0-:Given a parser and a string, attempts to parse the string./+Consumes any spaces (not other whitespace).03Consumes at least one space (not other whitespace).10Parses the given string and any trailing spaces.23Parses the given character and any trailing spaces.3Parses p and any trailing spaces.4Parses an integer.54Parses an integer without consuming trailing spaces.66Parse a string as a version range, or return an error.7:Parse a string as an explicit version, or return an error.8Parses a semantic version.:Parses a comparison operator.;?Parses versions with an explicit range qualifier (gt, lt, etc).<8Parses semantic version ranges joined with Ands and Ors.=Parses a hyphenated range.>CParses a "wildcard" (which is a possibly partial semantic version).?Parses a tilde range (~1.2.3).@Parses a carat range (^1.2.3).A2Top-level parser. Parses a semantic version range.BgParse a semver from a haskell version. There must be exactly three numbers in the versionBranch field.CjParses the first argument as a range and the second argument as a semver, and returns whether they match.""#$%&'()*+,-./0123456789:;<=>?@ABC""#$%&'()*+,-./0123456789:;<=>?@ABC"#$%&'()*+,-./0123456789:;<=>?@ABCNoneD  !"#$%&'()*+,-./0123456789:;<=>?@ABCD  !'"#$%&()*+,-./0123456789:;<=>?@ABCN       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP)semver-range-0.2.2-JAfQZFaJx5YELPyjHOdwy1 Data.SemVerData.SemVer.TypesData.SemVer.Parser SemVerRangeEqGtLtGeqLeqAndOrSemVersvMajorsvMinorsvPatchsvTagssvBuildMetadata BuildMetaDataPrereleaseTags PrereleaseTagIntTagTextTag versionsOfsemversemver'semver''toTupletuplesOfrangePrereleaseTags sharedTags anyVersionrenderSVmatches matchesTags bestMatchWildcardAnyOneTwoFullParserwildcardToSemverwildcardToRange tildeToRange caratToRangehyphenatedRangeparse parseFullspacesspaces1sstringscharlexemepIntpInt'parseSemVerRange parseSemVerpSemVer pVersionCompcmppSemVerRangeSinglepJoinedSemVerRangepHyphen pWildCard pTildeRange pCaratRange pSemVerRangefromHaskellVersion matchText $fOrdSemVer$fShowSemVerRange$fHashableSemVer $fShowSemVer$fOrdPrereleaseTags$fHashablePrereleaseTags$fIsListPrereleaseTags$fHashablePrereleaseTag$fIsStringPrereleaseTag$fShowPrereleaseTag