a2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                               !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe1Skip whatever comments and whitespaces are found.FParse a comment, i.e. a string starting with "/*" and ending with "*/"DGiven a parser, makes it optional, defaulting to whatever value its  instance defines for  . +Parse a URL without enclosing quotes. See :https://drafts.csswg.org/css-syntax-3/#consume-a-url-token4.3.6. Consume a url token Assumes the identifier and the left parenthesis have been parsed Parses p, ignoring surrounding whitespace and comments, and consumes the final right parenthesis. Parser one or more digits.            !(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableSafe%The configuration used for minifying."Leave letter casing as is.#8Lowercase whatever possible to improve gzip compression.-gA default config with most settings enabled. Used by the minify function, mainly for testing purposes..  !"#$%&'()*+,-.  !"#$%&'()*+,-. *+,'()$%&!"# -   !"#$%&'()*+,-!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableSafe=WClass for types that can be converted to Text. Used for printing the minified results.@$Class for types that can be minified =>?@ABCDE=>?@A=>?@A=>?@ABCDE!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafeKCSS  @https://drafts.csswg.org/css-backgrounds-3/#typedef-repeat-style<repeat-style>$ data type, used in the properties background-repeat and  background.FGHIJKLMNOPQRS FGJHIKLMNO KLMNOFGHIJFGHIJKLMNOPQRS!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe9;The  .https://drafts.csswg.org/css-values-3/#strings<string>x data type. It represents a string, formed by Unicode characters, delimited by either double (") or single (') quotes. !"#$% !"#$%!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafeWXYZ[\]^WXYZ[\]^]^\[YXWZWXYZ[\]^!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneI_The <percentage> data type. Many CSS properties can take percentage values, often to define sizes in terms of parent objects. Percentages are formed by a <number> immediately followed by the percentage sign %. There is no space between the % and the number. Specification: < 2https://drafts.csswg.org/css-values-3/#percentages* CSS Value and Units Module Level 3 (4.3)< 8https://www.w3.org/TR/CSS2/syndata.html#percentage-units CSS2.1 (4.3.3)< ,https://www.w3.org/TR/CSS1/#percentage-units CSS1 (6.2)aThe <alphavalue> data type. Syntactically a <number>. It is the uniform opacity setting to be applied across an entire object. Any values outside the range 0.0 (fully transparent) to 1.0 (fully opaque) are clamped to this range. Specification: < .https://www.w3.org/TR/css3-color/#transparency CSS Color Module Level 3 (3.2)cThe <number> data type. Real numbers, possibly with a fractional component. When written literally, a number is either an integer, or zero or more decimal digits followed by a dot (.) followed by one or more decimal digits and optionally an exponent composed of "e" or E and an integer. It corresponds to the <number-token> production in the CSS Syntax Module [CSS3SYN]. As with integers, the first character of a number may be immediately preceded by - or + to indicate the number s sign. Specifications:  .https://drafts.csswg.org/css-values-3/#numbers*CSS Values and Units Module Level 3 (4.2) /https://www.w3.org/TR/CSS2/syndata.html#numbersCSS2.1 (4.3.1) !https://www.w3.org/TR/CSS1/#unitsCSS1 (6 Units)&}Show a Rational in decimal notation, removing leading zeros, and not displaying fractional part if the number is an integer._`abcdefghij&'klmnop _`abcdefghij _`jcdefgabhi_`abcdefghij&'klmnop!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneCSS  .https://drafts.csswg.org/css-color/#colorunits<color> data type.(CA map with hex values as keys, and their minimal colorname as value)*Mapping between color names and hex values@Pairs of color keywords, and their equivalent hexadecimal value.|Equality is slightly relaxed, since percentages and real numbers are mapped to the [0,255] integer range, and then compared+*+,-./0123456789:;<=>?() *+,-./0123456789:;<=>?()!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneThe <resolution> CSS data typeThe <frequency> CSS data typeThe <duration> CSS data typeThe <angle> CSS data typeThe <length> CSS data type@Given a constructor, a number, and a unit, returns the shortest equivalent representation. If there is more than one, returns the latest found to "normalize" values, hopefully improving gzip compression.^AB@CDEFGHIJKLMNOPQR22<AB@CDEFGHIJKLMNOPQR!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneSCSS  :https://drafts.csswg.org/css-backgrounds-3/#typedef-shadow<shadow> data type, used by the  box-shadow property. STUVWXYZ[\STUVWXYZSTUVWXYZ[\!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneCSS  ?https://drafts.fxtf.org/filter-effects/#typedef-filter-function<filter-function> data type.]^  ]^!(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNone9;_CSS  length-percentage data type, i.e.: [length | percentage] Though because of the name it would be more intuitive to define: type LengthPercentage = Either Length Percentage, they are inverted here to make use of Either's Functor instance, because it makes no sense to minify a Percentage._`ab_`a_`ab !(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneCSS  ;https://drafts.csswg.org/css-backgrounds-3/#typedef-bg-size <bg-size> data type, used by the background-size and  background properties.The CSS auto keyword.  Minifying a  <bg-size>J value entails, apart from minifying the individual values, removing any auto, value in the second position (if present). cd    cd    !(c) 2017 Cristian Adrin OntiveroBSD3 experimental non-portableNoneefg !" efg !""(c) 2017 Cristian Adrin Ontivero BSD3  experimental  non-portable NonehCSS  Jhttps://drafts.csswg.org/css-images-3/#valdef-radial-gradient-ending-shape<ending-shape> data type, used by radial-gradient().iCSS  3https://drafts.csswg.org/css-images-3/#typedef-size<size> data type, used by radial-gradient().jCSS  7https://drafts.csswg.org/css-images-3/#typedef-gradient <gradient> data type.kCSS  color-stop data typelCSS  side-or-corner data type)hmniopqrstjuvwkxyz{l|}~hmniopqrstjuvwkxyzl|}~hmniopqrstjuvwkxyz{l|}~!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownSafe9;'=''~=''|=''^=''$=''*='The  3https://drafts.csswg.org/css-syntax-3/#the-anb-type<an+b> microsyntax type.Data type representing the '+' and '-' signs, used by .A simple selector is either a type selector, universal selector, attribute selector, class selector, ID selector, or pseudo-class. The first selector must be a type or universal selector. When none is specified, the universal selector is implied, i.e.: myId is the same as *1myId mempty is used to denote an empty namespacee.g.: *, ns|*, h1, em, bodyCertain selectors support namespace prefixes. Namespace prefixes are declared with the @namespace rule. A type selector containing a namespace prefix that has not been previously declared for namespaced selectors is an invalid selector.Called  -https://www.w3.org/TR/css3-selectors/#grammarsimple_sequence_selector in CSS2.1, but < ?https://drafts.csswg.org/selectors-4/#typedef-compound-selector2 compound-selector> in CSS Syntax Module Level 3.=Data type representing a CSS selector. Technically, it is a  -https://drafts.csswg.org/selectors-4/#complexcomplex selector!, which consists of one or more  .https://drafts.csswg.org/selectors-4/#compoundcompound selectors, separated by  9https://drafts.csswg.org/selectors-4/#selector-combinatorselector combinators.A  9https://drafts.csswg.org/selectors-4/#selector-combinatorselector combinatorr, which can either: whitespace, "greater-than sign" (U+003E, >), "plus sign" (U+002B, +) or "tilde" (U+007E, ~).' ''~'Given a selector, calculate it's specificity. Technically, specificity is a 4-tuple, where the first and most important value is defined by whether the rule is inline or not, but that doesn't matter when only analyzing a CSS file.uList of pseudo-elements that support the old syntax of a single semicolon, as well as the new one of two semicolons.;(   2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone&!A step position, as used by the  <https://drafts.csswg.org/css-timing-1/#step-timing-functionsstep timing function.)CSS  Ehttps://drafts.csswg.org/css-timing-1/#typedef-single-timing-function#<single-transition-timing-function> data type.&'()*+,-./0123456 &'()*+,-./012 )*+,-./012&'(&'() *+,-./0123456 "(c) 2017 Cristian Adrin Ontivero BSD3  experimental  non-portable None:CSS  Chttps://drafts.csswg.org/css-transforms/#typedef-transform-function<transform-function> data type.YConvert a matrix to all the other possible equivalent transformation functions (if any).RSimplifies a <transform-function> without converting it to a 4x4 matrix, by doing some simple conversions between the different functions, or minifying the dimension arguments (<length> and <angle> values)SCombines consecutive <transform-functions> whenever possible, leaving translate functions that can't be converted to a matrix (because they use percentages or relative units) as they are, in the position they are in the list (since matrix multiplication isn't commutative) Example:import Control.Monad.Reader2let t10 = Translate (Right (Length 10 PX)) Nothing%let s45 = Skew (Angle 45 Deg) Nothinglet sx5 = ScaleX 5-let f x = runReader (combine x) defaultConfigfmap toText $ f [t10, s45, sx5]["matrix(5,0,1,1,10,0)"]3let tp = Translate (Left (Percentage 100)) Nothing$fmap toText $ f [s45,tp,sx5,sx5,sx5].["skew(45deg)","translate(100%)","scale(125)"]0:;<=>?@ABCDEFGHIJKLMNOPQRSTU:;<=>?@ABCDEFGHIJKLMNOPQRS:;<=>?@ABCDEFGHIJKLMNOPQSR:;<=>?@ABCDEFGHIJKLMNOPQRSTU !(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone9;IXA value separator.`iRedefines equality to be case-insensitive, since CSS literal values such as "auto", "none", etc. are so.cA CSS  .https://www.w3.org/TR/css-values-3/#value-defsvalue.Unrecognized textFXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1cdefghijklmnopqrstuvwxyz{|}~\]`abXYZ[^_XYZ[\]^_`abc defghijklmnopqrstuvwxyz{|}~!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneLvGiven a propery name, it returns a specific parser of values for that property. Fails if no specific parser is found. Parser for  +https://www.w3.org/TR/css-values-3/#numbers<number>. Parser for  2https://drafts.csswg.org/css-values-3/#percentages <percentage>.<integer> data type parser, but into a String instead of an Int, for other parsers to use (e.g.: see the parsers int, or rational)!Parser for <integer>: [+|-][0-9]+Real number parser. <number>:  'int'integer | [0-9]*.[0-9]+ Parser for  8https://drafts.csswg.org/css-fonts-3/#propdef-font-style <font-style>, used in the  font-style and font properties. Parser for  /https://drafts.csswg.org/css-values-3/#position <position>. Parser for  Hhttps://drafts.csswg.org/css-timing-1/#single-timing-function-production<single-timing-function>.sParses until the end of the declaration, i.e. ';' or '}'. Used to deal with invalid input, or an IE specific hack. Parser for  =https://www.w3.org/TR/css-backgrounds-3/#typedef-repeat-style<repeat-style> , used in background-repeat and  background. Parser for  :https://drafts.csswg.org/css-backgrounds-3/#typedef-shadow<shadow> values, used in the  box-shadow property.UAssumes "linear-gradient(", or one of its prefixed equivalents, has been parsed. : [ angle|to  side-or-corner ,]?  color-stop [,  color-stop]+ Parser for  0https://drafts.csswg.org/css-color-3/#colorunits<color>.'Assumes "rect(" has been already parsed,Assumes "translate(" has been already parsedDParser of scale() function. Assumes "scale(" has been already parsed Parser for  +https://drafts.csswg.org/css-values-3/#urls<url> . Assumes "url(" has already been parsed.)For cases when CSS hacks are used, e.g.: margin-top: 1px \9;.o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLj      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneMBMap relating property names to information regarding the property. NOPQRSTUVM NOPQRSTUVMNOPQRSTUVM!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneA CSS  /https://www.w3.org/TR/css-syntax-3/#declaration <declaration>.!Property name of the declaration.Values used in the declaration.<Whether the declaration is "!important" (i.e. ends with it).3Whether the declaration ends with the "\9" IE hack.WMinifies a declaration, based on the property's specific traits (i.e. if it inherits or not, and what its initial value is), and the chosen configurations.Removes longhand rules overwritten by their shorthand further down in the declaration list, and merges shorthand declarations with longhand properties later declared.*XYZ[\]^_`abcWdefghijklmnopqrstA margin declaration.Any of the margin longhands (e.g.: margin-top)&If successful, the combination of bothuv%XYZ[\]^_`abcWdefghijklmnopqrstuv!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone9;NA CSS rule, either a normal style rule, or one of the many possible at-rules.2Data type for media queries. For the syntax, see  /https://www.w3.org/TR/css3-mediaqueries/#syntaxmedia query syntax. First possibility in the grammar!Second possibility in the grammarGiven a list of declarations, gathers the longhands, and if every longhand of a given shorthand is present, "collapses" them into the shorthand (i.e. replaces all the declarations for an equivalent shorthand).7wxyz{|}!!  wxyz{|}!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNone&Parser for CSS complex selectors (see  for more details).~9Parser for selector combinators, i.e. ">>" (descendant),  (child),  (adjacent sibling), '~'5 (general sibling), and ' ' (descendant) combinators.iParses a "number sign" (U+0023, #) immediately followed by the ID value, which must be a CSS identifier.MParse a list of comma-separated selectors, ignoring whitespace and comments.8Parser for a declaration, starting by the property name.$Parser for property names. Usually, p would be enough, but this parser adds support for IE hacks (e.g. *width), which deviate from the CSS grammar.cUsed to parse the "!important" at the end of declarations, ignoring spaces and comments after the !.`Parser for a list of declarations, ignoring spaces, comments, and empty declarations (e.g. ; ;)1Parser for CSS at-rules (e.g. @keyframes, @media) Parser for a  >https://drafts.csswg.org/css-conditional-3/#supports_conditionsupports_condition , needed by  @supports rules.Parses a CSS style rule, e.g. body { padding: 0; }XParser for a CSS rule, which can be either an at-rule (e.g. @charset), or a style rule.iParser for CSS rules (both style rules, and at-rules), which can be separated by whitespace or comments.Parse a stylesheet, starting by the @charset, @import and @namespace rules, followed by the list of rules, and ignoring any unneeded whitespace and comments.Media Feature values. Per the  /https://www.w3.org/TR/css3-mediaqueries/#valuesoriginal spec (6.1), <resolution> only accepts dpi and dpcm units, dppx was added later. However, the w3c validator considers it valid, so we make no exceptions.Specs: /https://drafts.csswg.org/mediaqueries-3/#syntax  (https://www.w3.org/TR/css3-mediaqueries/ (https://www.w3.org/TR/CSS21/grammar.html/Implementation based on mozilla's pseudo BNF: Rhttps://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries'~  '~!(c) 2017 Cristian Adrin OntiveroBSD3 experimentalunknownNoneMinify Text, based on a 5. To just use a default set of configurations (i.e. -), use .Minify Z CSS, using a default set of configurations (with most minification techniques enabled).  is equivalent to  -.0  !"#$%&'()*+,- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxxyyzz{|}~                      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k k l l m m n o p q r s t u v w x y z { | } ~                                                !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijkl m n o p qrstuvwxyz{|}~u                                      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!hasmin-1.0-Iz2OKcN2wx2HQzjr3nsNB3 Hasmin.Config Hasmin.ClassHasmin.Types.RepeatStyle Hasmin.UtilsHasmin.Types.NumericHasmin.Types.ColorHasmin.Types.DimensionHasmin.Types.FilterFunctionHasmin.Types.BgSizeHasmin.Types.PositionHasmin.Types.TimingFunctionHasmin.Types.TransformFunctionHasmin.Types.ValueHasmin.Parser.ValueHasmin.Types.DeclarationHasmin.Types.StylesheetHasmin.Parser.InternalHasminHasmin.Parser.UtilsHasmin.Types.StringHasmin.Types.ShadowHasmin.Types.PercentageLengthHasmin.Types.GradientHasmin.Types.SelectorHasmin.PropertiesConfig colorSettingsdimensionSettingsgradientSettingsshouldUsePropertyTraitsshouldCleanRulesshouldMinifyTimingFunctionsshouldMinifyFilterFunctionsshouldRemoveQuotesfontweightSettingsshouldMinifyTransformOriginshouldMinifyMicrosyntaxshouldMinifyKeyframeSelectorsshouldMinifyTransformFunctionshouldConvertEscapedshouldConvertNullPercentagesshouldRemoveEmptyBlocksshouldRemoveDuplicateSelectorsshouldNormalizeQuotes letterCaseselectorSortingdeclarationSortingrulesMergeSettingsRulesMergeSettings MergeRulesOn MergeRulesOffFontWeightSettingsFontWeightMinOffFontWeightMinOn SortingMethod NoSortingLexicographical LetterCaseOriginal LowercaseGradientSettingsGradientMinOff GradientMinOnDimensionSettings DimMinOffDimMinOn ColorSettings ColorMinOff ColorMinOn defaultConfig$fShowColorSettings$fEqColorSettings$fShowDimensionSettings$fEqDimensionSettings$fShowGradientSettings$fEqGradientSettings$fShowLetterCase$fEqLetterCase$fShowSortingMethod$fEqSortingMethod$fShowFontWeightSettings$fEqFontWeightSettings$fShowRulesMergeSettings$fEqRulesMergeSettings $fShowConfigToTexttoText toBuilder Minifiableminify$fToTextEither $fToTextText $fToTextInt $fToTextWord8 RSKeywordRsRepeatRsSpaceRsRound RsNoRepeat RepeatStyleRepeatXRepeatY RepeatStyle1 RepeatStyle2$fToTextRSKeyword$fEqRepeatStyle$fMinifiableRepeatStyle$fToTextRepeatStyle $fEqRSKeyword$fShowRSKeyword$fShowRepeatStyle textualLengthrestrictmconcatIntersperse replaceAt fromRight' fromLeft'epsiloneps Percentage AlphavalueNumber getRationaltoNumber fromNumber toAlphavalue mkAlphavalue toPercentage$fToTextPercentage$fFractionalAlphavalue$fBoundedAlphavalue$fToTextAlphavalue$fNumAlphavalue$fToTextNumber $fEqNumber $fShowNumber $fOrdNumber $fNumNumber$fFractionalNumber $fRealNumber$fRealFracNumber$fEqAlphavalue$fShowAlphavalue$fOrdAlphavalue$fRealAlphavalue$fRealFracAlphavalue$fEqPercentage$fShowPercentage$fOrdPercentage$fNumPercentage$fFractionalPercentage$fRealPercentage$fRealFracPercentageColorNamed minifyColormkHex3mkHex6mkHex4mkHex8mkNamedmkHSLmkHSLAmkRGBIntmkRGBPer mkRGBAInt mkRGBAPer keywordColors $fToTextColor$fMinifiableColor $fOrdColor $fEqColor $fShowColorResolutionUnitDpiDpcmDppx FrequencyUnitHzKhz DurationUnitSMs AngleUnitDegGradRadTurn LengthUnitINCMMMQPCPTPXEMEXCHVHVWVMINVMAXREM Resolution FrequencyDurationAngle NullAngleLength NullLength isRelativeisRelativeLength isZeroLen isZeroAngletoInchestoPixels toRadians$fUnitResolutionUnit$fToTextResolutionUnit$fUnitFrequencyUnit$fToTextFrequencyUnit$fUnitDurationUnit$fToTextDurationUnit$fUnitAngleUnit$fToTextAngleUnit$fUnitLengthUnit$fToTextLengthUnit$fToTextResolution$fMinifiableResolution$fEqResolution$fToTextFrequency$fMinifiableFrequency $fEqFrequency$fToTextDuration$fMinifiableDuration $fEqDuration $fToTextAngle$fMinifiableAngle $fEqAngle$fToTextLength$fMinifiableLength $fEqLength$fShowLengthUnit$fEqLengthUnit $fShowLength$fShowAngleUnit $fEqAngleUnit $fShowAngle$fShowDurationUnit$fEqDurationUnit$fShowDuration$fShowFrequencyUnit$fEqFrequencyUnit$fShowFrequency$fShowResolutionUnit$fEqResolutionUnit$fShowResolutionFilterFunctionBlur BrightnessContrast GrayscaleInvertOpacitySaturateSepia HueRotate DropShadowminifyPseudoShadow$fMinifiableFilterFunction$fToTextFilterFunction$fEqFilterFunction$fShowFilterFunctionBgSizeCoverContainBgSize1BgSize2Auto$fMinifiableBgSize$fToTextBgSize $fEqBgSize $fToTextAuto$fEqAuto $fShowAuto $fShowBgSizePositionorigin1offset1origin2offset2 PosKeyword PosCenterPosLeftPosRightPosTop PosBottomminifyPositionl0p50 $fEqPosition$fToTextPosition$fMinifiablePosition$fToTextPosKeyword$fEqPosKeyword$fShowPosKeyword$fShowPosition StepPositionStartEndTimingFunction CubicBezierStepsEaseEaseIn EaseInOutEaseOutLinearStepEnd StepStart$fMinifiableTimingFunction$fToTextTimingFunction$fToTextStepPosition$fEqTimingFunction$fEqStepPosition$fShowStepPosition$fShowTimingFunctionTransformFunctionMatMat3d PerspectiveRotateRotateXRotateYRotateZRotate3dScaleScaleXScaleYScaleZScale3dSkewSkewXSkewY Translate TranslateX TranslateY TranslateZ Translate3dmkMatmkMat3dsimplifycombine$fToTextTransformFunction$fMinifiableTransformFunction$fEqTransformFunction$fShowTransformFunction SeparatorSpaceSlashCommaValuesUrlTextVgetTextValueInheritInitialUnsetNumberV PercentageVLengthVAngleV DurationV FrequencyV ResolutionVColorV GradientV GenericFunc TransformV TimingFuncVFilterVShadowV ShadowText PositionV RepeatStyleVBgSizeVBgLayer FinalBgLayerSingleTransitionSingleAnimationFontVStringVUrlVFormatLocalRectOthermkOther valuesToList lowercaseTextmkValuesoptimizeFontFamily$fToTextSeparator$fMinifiableValues$fToTextValues$fMinifiableValue $fToTextValue$fMinifiableUrl $fToTextUrl $fToTextTextV $fEqTextV $fShowTextV $fOrdTextV$fIsStringTextV$fEqUrl $fShowUrl$fShowSeparator $fEqSeparator $fShowValues $fEqValues $fEqValue $fShowValue valuesFornumber percentage fontStylepositiontimingFunction textualvalue stringvaluevaluesInParens stringOrUrl repeatStyle shadowListcolorurlvaluesFallbackvalue stringtype$fEqFontProperty$fShowFontProperty Declaration propertyName valueList isImportant hasIEhackclean$fMinifiableDeclaration$fOrdDeclaration$fToTextDeclaration$fEqDeclaration$fShowDeclarationSupportsCondInParens ParensCond ParensDecSupportsConditionNotAndOrParensRule AtCharsetAtImport AtNamespaceAtMedia AtKeyframes AtSupportsAtBlockWithRulesAtBlockWithDec StyleRule KeyframeBlockKeyframeSelectorFromTo KFPercentage ExpressionInvalidExpression MediaQuery MediaQuery1 MediaQuery2collapse minifyRules mergeRules$fMinifiable[] $fMinifiableSupportsCondInParens$fToTextSupportsCondInParens$fMinifiableSupportsCondition$fToTextSupportsCondition$fMinifiableRule $fToTextRule$fMinifiableKeyframeBlock$fToTextKeyframeBlock$fMinifiableKeyframeSelector$fToTextKeyframeSelector$fToTextExpression$fMinifiableExpression$fToTextMediaQuery$fMinifiableMediaQuery$fShowExpression$fEqExpression$fShowMediaQuery$fEqMediaQuery$fEqKeyframeSelector$fShowKeyframeSelector$fEqKeyframeBlock$fShowKeyframeBlock$fEqSupportsCondInParens$fShowSupportsCondInParens$fEqSupportsCondition$fShowSupportsCondition$fEqRule $fShowRuleselector declaration declarationsatRulesupportsCondition styleRulerulerules stylesheet minifyCSSWith minifyCSS skipCommentscommentoptbaseGHC.BaseMonoidmempty unquotedURLfunctionParserdigitscommacolonlexemefontfamilynameidentnmstartnmcharescapeunicode StringType DoubleQuotes SingleQuotesconvertEscapedText mapStringunquoteStringType removeQuotes unquoteUrlunquoteFontFamilyunquotetoIdent toUnquotedURLtoUnquotedFontFamilyconvertEscaped$fMinifiableStringType$fToTextStringTypeshowRattrimLeadingZerosminimalColorMapcolorMapHex3Hex4Hex6Hex8RGBIntRGBPerRGBAIntRGBAPerHSLHSLAtoBuilderWithCommasallHex strToLowertoHexShorthand word8ToHex toLongHex hexToWord8 toRGBAInt withAlphahslToRgb hslToRgb'hueToRgbminDimUnit convertTo toCentimeters toMilimeterstoQuarterMilimetertoPointstoPica rationalPi toDegrees toGradianstoTurns toSeconds toMilisecondstoHertz toKilohertztoDpitoDpcmtoDppxShadowinsetsOffsetXsOffsetY blurRadius spreadRadiussColor$fMinifiableShadow$fToTextShadowminifyNumberPercentagefilterFunctionEqualityPercentageLengthisNonZeroPercentageisZero$fMinifiableEither bgsizeArgEqminifyBgSizeArg minifyPos4minAxisp100ShapeSizeGradient ColorStopSideCircleEllipse ClosestCorner ClosestSideFarthestCorner FarthestSideSLPLOldLinearGradientLinearGradientRadialGradientcsColor colorHint SideOrCornerLeftSide RightSideTopSide BottomSideminifyColorHintsnotGreaterThan analyzeList minifySegmenthandlePercentagesminShapeAndSizeminifyRadialPositionminifyAngleOrSide angleSideEq $fEqGradient$fToTextGradient$fMinifiableGradient $fToTextShape $fToTextSize$fMinifiableColorStop$fToTextColorStop $fToTextSide:=::~=::|=::^=::$=::*=:AnPlusBSignSimpleSelectorType UniversalGHC.Num* NamespaceCompoundSelectorSelector Combinator DescendantChildghc-prim GHC.Classes>AdjacentSibling+GeneralSibling specificityspecialPseudoElementsAtt AttributeAttValueAttIdEvenOddABABPlusMinus AttributeSelClassSelIdSel PseudoElem PseudoClassLangFunctionalPseudoClassFunctionalPseudoClass1FunctionalPseudoClass2FunctionalPseudoClass3 IdentifierElement Specificity an2Builder $fToTextAtt$fMinifiableAnPlusB$fToTextAnPlusB $fToTextSign$fMinifiableSimpleSelector$fToTextSimpleSelector$fMinifiableNonEmpty$fToTextNonEmpty$fMinifiableSelector$fToTextSelector $fOrdSelector$fToTextCombinatorpossibleRepresentationsmaybeWithComma toMatrix3dmatrixToRotate3dfromPixelsToNumfromRadiansToNumtangentarctangetMatmatrixToSkewFunctionsmatrixToTranslateFunctionsmatrixToScaleFunctionsmatrixToPerspective matrixToMat mkMatMatrixmkTranslate3dMatrixmkScale3dMatrix mkSkewMatrixmkPerspectiveMatrix mk4x4MatrixhandleRepeatStyle handleImage handleBoxeshandleAttachment handleColor handleBgSizehandlePositionbldhandleTimingFunction handleTimeremoveIfEqualTo minifyBgLayerint'intrational invalidvaluelineargradientrect translatescale FontProperty FontStyle FontVariant FontWeight FontStretch Ambiguousrgbrgbahslhsla alphavaluehexvaluehexnumericalConstructorsMapnumericalvaluedimensionParserdistanceangledurationangleConstructorsListdistanceConstructorsListword8fontSize positionvaluepos1pos2pos4bgSize bgAttachmentbox background finalBgLayerbgLayerpositionAndBgSize matchKeywordsimage transitionsingleTransitionbackgroundSizeautopropertyValueParsersMap singleValuefont storePropertystoreProperty'fontFamilyValues fontfamilylocalunquotedFontFamilytextualParserscsswideKeywordcsswideKeywordsMapfunctionParsers genericFunc functionsMap dropShadow textShadow shadowText positionListparseCommaSeparatedshadowradialgradient sideOrCorner leftright topbottom colorStopList colorStoppercentageLengthnumberPercentagescale3dskew translate3dmatrixmatrix3drotate3d cubicbezierstepsformatnamedColorsParsersMap separatorcommaSeparatordoubleQuotesStringsingleQuotesString animationsingleAnimation parseIdentspropertiesTraits PropertyInfo initialValues inheritance overwrittenBy subproperties Inheritance Inherited NonInherited minifyDecpropertyTraitspropertyOptimizationsoptimizeValuesnullPercentageToLengthreplaceWithZerofontWeightOptimizeroptimizeTransformOrigin isZeroValtransformOrigin1transformOrigin2transformOrigin3transformOriginKeywordsunsetinitialinheritdeclarationExceptionscombineTransformFunctionsbackgroundSizeReducefontSynthesisReducereduceDeclaration shortestEquivminValanalyzeValueDifference solveClashes solveClashes'hasVendorPrefix attemptMergemerge mergeIntoTRBL reduceTRBL mapValues VendorPrefixsortDeclarations cleanRulecollapseLonghandsnub' appendWithmergeStyleRules combinatoridSel selectorsproperty importantmediaQueryListcompoundSelectorclassSel attributeSel identOrString typeSelector universalnamespacePrefixpseudoanplusbfpcMapiehackatImport atCharset atNamespace atKeyframe keyframeBlockatMedia atSupportssupportsCondInParensatSupportsDeclarationsupportsHelperatBlock mediaQuery expression#text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.InternalText