!      !"#$%&'()*+,-./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[colour Constructs  from the CIE little x , little y; coordinates for the 2 standard (colourimetric) observer.colourReturns the CIE little x , little y , little z; coordinates for the 2 standard (colourimetric) observer.colourReturns the CIE little x: coordinate for the 2 standard (colourimetric) observer.colourReturns the CIE little y: coordinate for the 2 standard (colourimetric) observer.colourReturns the CIE little z: coordinate for the 2 standard (colourimetric) observer.colour?Change the type used to represent the chromaticity coordinates. Safe!colourIncandescent / Tungstencolour"{obsolete} Direct sunlight at noon colour'{obsolete} Average / North sky Daylight colourHorizon Light. ICC profile PCS colour$Mid-morning / Mid-afternoon Daylight colour+Noon Daylight: Television, sRGB color space colourNorth sky Daylightcolour Equal energycolourDaylight FluorescentcolourCool White FluorescentcolourWhite FluorescentcolourWarm White FluorescentcolourDaylight FluorescentcolourLite White Fluorescentcolour!D65 simulator, Daylight simulatorcolour%D50 simulator, Sylvania F40 Design 50colourCool White Deluxe FluorescentcolourPhilips TL85, Ultralume 50colourPhilips TL84, Ultralume 40colourPhilips TL83, Ultralume 30   Safe"      SafeFcolour c1 `over` c2 returns the ! created by compositing the   c1 over c2, which may be either a ! or  .colour darken s c: blends a colour with black without changing it's opacity.For !, darken s c = blend s c memptycoloursCompute a affine Combination (weighted-average) of points. The last parameter will get the remaining weight. e.g. 9affineCombo [(0.2,a), (0.3,b)] c == 0.2*a + 0.3*b + 0.5*cWeights can be negative, or greater than 1.0; however, be aware that non-convex combinations may lead to out of gamut colours. colourThis type represents a ! that may be semi-transparent.The  * instance allows you to composite colours. x `mappend` y == x `over` y1To get the (pre-multiplied) colour channel of an   c, simply composite c over black. c `over` black!colour:This type represents the human preception of colour. The aE parameter is a numeric type used internally for the representation.The  p instance allows one to add colours, but beware that adding colours can take you out of gamut. Consider using ) whenever possible."colour9Change the type used to represent the colour coordinates.$colourThis  ? is entirely transparent and has no associated colour channel.%colour9Change the type used to represent the colour coordinates.&colourCreates an opaque   from a !.'colour Returns an  ! more transparent by a factor of o.(colour Creates an   from a ! with a given opacity. *c `withOpacity` o == dissolve o (opaque c))colour1Compute the weighted average of two points. e.g. blend 0.4 a b = 0.4*a + 0.6*bThe weight can be negative, or greater than 1.0; however, be aware that non-convex combinations may lead to out of gamut colours.*colour c1 `atop` c2 returns the  & produced by covering the portion of c2 visible by c1K. The resulting alpha channel is always the same as the alpha channel of c2. ]c1 `atop` (opaque c2) == c1 `over` (opaque c2) AlphaChannel (c1 `atop` c2) == AlphaChannel c2colours and then clamps x between 0 and .+colourReturns the opacity of an  .colourReturns the colour of an  . colourChannel transparent is undefined and may result in nanB or an error. Its use is discouraged. If you are desperate, use 0darken (recip (alphaChannel c)) (c `over` black)colour  forms a monoid with  and $. !"#$%&'()*+ SafeG !SafeQQ,colourAn , is a 3-D colour cube  that contains all the colours that can be displayed by a RGB device. The cube  is normalized so that white has  1./colour.An RGB triple for an unspecified colour space.4colour8Uncurries a function expecting three r, g, b parameters.5colour/Curries a function expecting one RGB parameter.6colourdAn RGB gamut is specified by three primary colours (red, green, and blue) and a white point (often ).7colourThe 7 coordinate of an /> value is in degrees. Its value is always in the range 0-360.6colourThe three primariescolourThe white point,".-/0321456#$%&7'Safe[p8colour=Returns the HSL (hue-saturation-lightness) coordinates of an / triple. See 7, 9, and :.9colour7Returns the saturation coordinate (range [0, 1]) of an /V triple for the HSL (hue-saturation-lightness) system. Note: This is different from  for the Data.Colour.RGBSpace.HSV:colour6Returns the lightness coordinate (range [0, 1]) of an /7 triple for the HSL (hue-saturation-lightness) system.;colour9Convert HSL (hue-saturation-lightness) coordinates to an / value. Hue is expected to be measured in degrees [0,360], while saturation and lightness are expected to be in the closed range [0,1]./789:;/879:;Safee<colour9Returns the HSV (hue-saturation-value) coordinates of an / triple. See 7, =, and >.=colour6Returns the saturation coordinate (range [0,1]) of an /R triple for the HSV (hue-saturation-value) system. Note: This is different from  for the Data.Colour.RGBSpace.HSL>colour2Returns the value coordinate (raonge [0,1]) of an /3 triple for the HSV (hue-saturation-value) system.?colour5Convert HSV (hue-saturation-value) coordinates to an / value. Hue is expected to be measured in degrees [0,360], while saturation and value are expected to be in the closed range [0,1]./7<=>?/<7=>?Safei-@colour Constructs a ! from RGB values using the linear) RGB colour with the same gamut as sRGB.AcolourReturn RGB values using the linear) RGB colour with the same gamut as sRGB.Bcolour,This is the gamut for the sRGB colour space. !/0123@AB !/0123@ABSafe|* CcolourAn C3 is a colour coordinate system for colours laying K of D+. Linear coordinates are passed through a E to produce non-linear / values.FcolourA Hu function is a function that typically translates linear colour space coordinates into non-linear coordinates. The Iy function reverses this by translating non-linear colour space coordinates into linear coordinates. It is required that ?transfer . transferInverse === id === transferInverse . inverse>(or that this law holds up to floating point rounding errors).We also require that H is approximately (**transferGamma) (and hence I is approximately (**(recip transferGamma))). The value Jf is for informational purposes only, so there is no bound on how good this approximation needs to be.KcolourReturns (1 if the given colour lies inside the given gamut.LcolourThis is the identity F.Mcolour This is the  (**gamma) F.NcolourThis reverses a F.OcolourAn RGBSpace is specified by an , and a F.Pcolour&Produce a linear colour space from an ,.Qcolour Create a !; from red, green, and blue coordinates given in a general C.Rcolour"Return the coordinates of a given ! for a general C.!,.-/0123456CEDFGHIJKLMNOPQR!/012345,6-.KFGHIJLMNCODEPQRSafe UcolourhConstruct a colour from an sRGB specification. Input components are expected to be in the range [0..1].VcoloureConstruct a colour from an sRGB specification. Input components are expected to be in the range [0..].WcolourIConstruct a colour from a 24-bit (three 8-bit words) sRGB specification.Xcolour6Return the sRGB colour components in the range [0..1].Ycolour@Return the approximate sRGB colour components in the range [0..$]. Out of range values are clamped.ZcolourrReturn the approximate 24-bit sRGB colour components as three 8-bit components. Out of range values are clamped.[colour1Show a colour in hexadecimal form, e.g. "#00aaff"\colour1Show a colour in hexadecimal form, e.g. "#00aaff"]colour=Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"^colour=Read a colour in hexadecimal form, e.g. "#00aaff" or "00aaff"_colourThe sRGB colour space!/0123UVWXYZ[\]^_!/0123WVUZYX[\]^_Safe !"#$%&'()*+!"# &($%+)'* Safe#defghijklmnopqrstuvwxyz{|}~defghijk#lmnopqrstuvwxyz{|}~Safecolour Construct a !D from XYZ coordinates for the 2 standard (colourimetric) observer.colourQReturns the XYZ colour coordinates for the 2 standard (colourimetric) observer.colourZReturns the Y colour coordinate (luminance) for the 2 standard (colourimetric) observer.colour#Constructs a colour from the given  and .colourtReturns the lightness of a colour with respect to a given white point. Lightness is a perceptually uniform measure.colourtReturns the CIELAB coordinates of a colour, which is a perceptually uniform colour space. The first coordinate is 3. If you don't know what white point to use, use .colourReturns the colour for given CIELAB coordinates, which is a perceptually uniform colour space. If you don't know what white point to use, use .)colourReturns the CIELUV coordinates of a colour, which is a perceptually uniform colour space. If you don't know what white point to use, use .colourcolour White pointcolour White pointcolour White pointcolourL* coordinate (lightness)colour a* coordinatecolour b* coordinate)colour White point!!*        !"#$%&'()*+ , - . / 0 1 2 3 4 5 6 7 8 9 : ; <=>?@@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnop q r s t u v w x y z { | } ~     I            -       ! ! @ " " # # $ $ % & ' ( )=*+,-./0123"colour-2.3.5-y0xjV3ONUd40VuBtReEvCData.Colour.CIEData.Colour.CIE.Illuminant Data.ColourData.Colour.RGBSpaceData.Colour.RGBSpace.HSLData.Colour.RGBSpace.HSVData.Colour.SRGB.LinearData.Colour.SRGBData.Colour.NamesData.Colour.CIE.ChromaticityData.Colour.ChanData.Colour.InternalData.Colour.MatrixData.Colour.RGB luminanced65 saturation ChromaticitymkChromaticity chromaCoordschromaXchromaYchromaZ chromaConvertabcd50d55d75ef1f2f3f4f5f6f7f8f9f10f11f12 ColourOpsoverdarken AffineSpace affineCombo AlphaColourColour colourConvertblack transparentalphaColourConvertopaquedissolve withOpacityblendatop alphaChannelRGBGamut primaries whitePointRGB channelRed channelGreen channelBlue uncurryRGBcurryRGB mkRGBGamuthuehslView lightnesshslhsvViewvaluehsvrgbtoRGB sRGBGamutRGBSpacegamuttransferFunctionTransferFunctiontransfertransferInverse transferGammainGamutlinearTransferFunctionpowerTransferFunctioninverseTransferFunction mkRGBSpacelinearRGBSpace rgbUsingSpacetoRGBUsingSpace$fMonoidTransferFunction$fSemigroupTransferFunctionsRGB sRGBBoundedsRGB24toSRGB toSRGBBoundedtoSRGB24 sRGB24shows sRGB24show sRGB24reads sRGB24read sRGBSpace$fReadAlphaColour$fShowAlphaColour $fReadColour $fShowColourreadColourName aliceblue antiquewhiteaqua aquamarineazurebeigebisqueblanchedalmondblue bluevioletbrown burlywood cadetblue chartreuse chocolatecoralcornflowerbluecornsilkcrimsoncyandarkbluedarkcyan darkgoldenroddarkgray darkgreendarkgrey darkkhaki darkmagentadarkolivegreen darkorange darkorchiddarkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkvioletdeeppink deepskybluedimgraydimgrey dodgerblue firebrick floralwhite forestgreenfuchsia gainsboro ghostwhitegold goldenrodgraygreygreen greenyellowhoneydewhotpink indianredindigoivorykhakilavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyanlightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskybluelightslategraylightslategreylightsteelblue lightyellowlime limegreenlinenmagentamaroonmediumaquamarine mediumblue mediumorchid mediumpurplemediumseagreenmediumslatebluemediumspringgreenmediumturquoisemediumvioletred midnightblue mintcream mistyrosemoccasin navajowhitenavyoldlaceolive olivedraborange orangeredorchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuffperupinkplum powderbluepurplered rosybrown royalblue saddlebrownsalmon sandybrownseagreenseashellsiennasilverskyblue slateblue slategray slategreysnow springgreen steelbluetantealthistletomato turquoisevioletwheatwhite whitesmokeyellow yellowgreencieXYZ cieXYZViewtoCIEXYZ chromaColour cieLABViewcieLAB$fAffineSpaceChromaticityChromaapp_prec infix_precChanemptyfullscaleaddinvertconvertsumbaseGHC.BaseMonoidquantizeGHC.RealroundGHC.EnummaxBound colourChannel$fSemigroupAlphaColourRGBAAlphaBlueGreenRedrgbaAddinverse determinantmult matrixMult primaryMatrixrgb2xyzxyz2rgbhslsvmod1ghc-prim GHC.TypesTruecieLuv