! b      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aNone&'=>?@ASX_lm    None&'=>?@ASX_lm"G  minilight IRegistry: typeclass presents a registry interface. The complexity O(1)1 in the operations can be "amortized" complexity. minilightO(1)% Checking if the specified key exists minilightO(1) Indexing  minilightO(1) Safe indexing! minilightO(1)6 Update, raise an exception if the key does not exist." minilightO(1)5 Write, raise an exception if the key does not exist.# minilightO(1)( Adding a new value to the last position$ minilightO(n)K Inserting a new value to the specified position (in the underlying vector)% minilightO(n)9 Deleting the specified value (this is a slow operation).& minilightO(1)S Get the underlying vector. Be careful: modifying the vector might cause a problem.' minilight3For-loop over the registry, ignoring the key order.( minilightBFor-loop over the registry with the index, ignoring the key order.) minilight6Modifying the item one by one, ignoring the key order. &#! "$%'() &#! "$%'()9 9 None&'=>?@ASX_lm.* minilightIOVectorD consists of (1) pointer to the underlying vector (2) length While  has the underlying array itself, this type only has the pointer. This means read/write should be slower than the original vector.. minilight)Get the position of the last cell in the IOVector,. This operation is not safe because of the b.1 minilightGet the capacity of the IOVector,. This operation is not safe because of the b.3 minilightO(n)9 Insert a value into any place. This is a slow operation.4 minilightO(n)_ This is a slow operation. This also throws an exception if the specified index does not exist.3 minilight1The vector should have positive (non-zero) length*+,-./012345678*+,-./012345678None&'=>?@ASX_lm/<9:;9:;None&'=>?@ASX_lm3= minilightThe Registry type can represents any  instance.? minilightO(n)c Create a registry from a list. The current implementation uses a hashtable, defined in the module .@ minilightCreate a new empty registry.%$" !#&'()=>?@=>?@None%&'=>?@ASX_glm7$I minilightreference syntax: ${ref:...}J minilightvariable syntax: ${var:...}K minilightexpr operator: +, -, *, /L minilight$constants (string or number or null)BCEDFGIHLKJMNOPQRSTUGIHLKJNBCEDFOPMQRSTUNone&'-=>?@AEHSX_lm;X minilightEvent type representationc minilightThis type is same as c from  Data.Dynamic, but it requires ] contraint.] minilight6EventType says some type can be used as an event type.XZY[\]^_XZY[\]^_None&'1=>?@AIMSX_lmB ` minilight!The environment for LightT monad.b minilightRenderer for SDL2c minilightSystem font informationd minilightLogger connected stdouth minilightLCurrent state of keys, represents how many frames the key down has been downi minilight Event queuej minilightSSignals emitted from components are stored in the queue and poll in the next frame.( `abcdfghijknlmoqrstuvwxyz{|}~(knlmorst`abcdqz{|uvwxyfghij}~  None&'=>?@ACESX_lmV+ minilight:Rendering typeclass provides basic operations for figures. minilight Change the place to be rendered. minilight6Specify some area and clip the figure into the region. minilightRotate a figure. minilightCreate a text texture.  Be careful9: this is a slow operation, use cache as long as you can. minilight"Create a texture from a png file.  Be careful9: this is a slow operation, use cache as long as you can. minilight(Create a texture from a raw SDL texture. minilightCreate an outlined rectangle.  Be careful9: this is a slow operation, use cache as long as you can. minilightCreate a filled texture.  Be careful9: this is a slow operation, use cache as long as you can. minilightCreate an outlined triangle.  Be careful9: this is a slow operation, use cache as long as you can. minilightKFigure type carries a texture, sizing information and rotation information. minilight#Lens for the center of a rectangle. minilight!Lens for the size of a rectangle. minilightRender a figure. minilightRender figures. minilight Stroke color minilightSize minilight Filling color minilightSize minilight Stroke color minilightSize None&'=>?@AESX_lmh minilightA wrapper for  instances. minilightHCompoonentUnit typeclass provides a way to define a new component. Any  instance can be embedded into  type. minilightUpdating a model. minilight=Descirbes a view. The figures here would be cached. See also  for the cache configuration. minilightDrawing a figures. minilightEvent handlers minilightReturn True8 if a cache stored in the previous frame should be used. minilight~To be called just before clearing caches. If you want to destroy cached textures for memory efficiency, override this method.NBR: Freeing SDL textures and figures are not performed automatically. You must call  at your own risk. minilight<Lens to the unique id, which is provided for each component. minilight7Emit a signal, which will be catched at the next frame. minilightCreate a new component. minilightGet the size of a component. minilightGet its unique id. minilight=Clear the previous model cache and reflect the current model. minilight#A model value in the previous frame minilight"A model value in the current frame None&'7=>?@ASX_lml minilightThe type for component resolver minilightGenerate an unique id. minilight'Create a component with given resolver. minilightComponent Type minilightUID minilightComponent Property None&'=>?@ASX_lmx minilight!The environment for config loader minilight,Load an config file and return the resolved  AppConfig. minilightLoad an config file and set in the environment. Calling this function at once, this overrides all values in the environment. This will generate an error log and skip the component if the configuration is invalid. This function also assign unique IDs for each component, using  assignUID. minilightzLoad the config file again and place the newly loaded components. This is used for HCR (hot component replacement). Call  first. minilightFilepath to the yaml file. minilightSpecify any resolver. minilightFilepath to the yaml file. minilightSpecify any resolver. None&'=>?@ASX_lmz6% None&'=>?@ACSX_lm  minilightThe state in the mainloop. minilightUse  for a default setting. minilightSet Nothing) if all keys should be watched. See also . minilight<Specify a yaml file which describes component settings. See   for the yaml syntax. minilightnThe directory path to be watched. If set, the config file modification will replace the component dynamically. minilight;Your custom mappings between a component name and its type. minilight=The components here would be added during the initialization. minilightRun a Light monad. minilight9Default configurations for the mainloop. You need to set componentResolver if you use a component. minilight0Type synonym to the minimal type of the mainloop minilightSame as  but fixing the type. minilightBRun a mainloop. In a mainloop, components and events are managed.RComponents in a mainloop: draw ~ update ~ (user-defined function) ~ event handling minilightEnvironment conversion minilight Loop config minilight Initial state minilightA function called in every loop~ XZY[\]^_`abcdfghijknlmoqrstuvwxyz{|}~None&'=>?@ASX_lme minilightLoad a system font from  type.None&'=>?@ASX_lmKNone&'=>?@ASX_lm          None&'=>?@ASX_lmI minilightBasic signal type. minilightBasic config type minilightLThis wrapper function is useful when you write your component config parser. minilight&The rectangle region of the component.  minilightAThis automatically applies basic configuration such as: position.! minilight8This wrapper function is useful when you write your own  component." minilightBasic signaling function. minilight*The relative position of the mouse pointer minilight*The relative position of the mouse pointer minilight*The relative position of the mouse pointer! minilight getter minilightCustom onSignal function !"# !"#None&'=>?@ASX_lmo &')(*+,-./ *+,-&')(./None&'=>?@ASX_lmu23674589<:=;>?89<:=;>236745?None&'=>?@ASX_lm BCDFEGHKILJM GHKILJBCDFEMNone&'=>?@ASX_lmPQRSTUVYWXZ[\]UVYWXZ[\PQRST]None&'=>?@ASX_lma minilight=Pre-defined resolver supports all components in this library.`aa`d  !"!#!$!$%&'%&()*+)*,)*-)*.)*/)*0)*1)*2)*3)*4)*5)*6789:;<=>?@ABCDEFGHIJKKLMNOPQCEFRSTUVVWXYYSLZ[[\]^_`abcdefghijklmnopqrstuvwxxyz{|}}~       B               L      LrL !"##$%&L'()*++,L-./0112345L678%9:;<minilight-0.3.0-inplaceMiniLight.LightControl.Monad.CasterData.Registry.ClassData.Vector.Mutable.PushBackData.Registry.HashTable Data.Registry%MiniLight.Component.Internal.ResolverMiniLight.EventMiniLight.FigureMiniLight.Component.Types"MiniLight.Component.Internal.TypesMiniLight.Component.Loader MiniLightData.Config.FontData.Component.MessageEngineData.Component.ButtonData.Component.BasicData.Component.LayerData.Component.SelectionData.Component.AnimationLayerData.Component.MessageLayerData.Component.ResolverDataVector HashTableMiniLight.Component ComponentTFontyFruity-0.5.3.4-d0c1fd0e1980bdc97d95f14c301545ca54680af2785e26dd02f82e6c45f36abc"Graphics.Text.TrueType.FontFolders_descriptorStyle_descriptorFamilyNameFontDescriptorGraphics.Text.TrueType.Header_fontStyleItalic_fontStyleBold FontStylebaseControl.Monad.IO.ClassliftIOMonadIOOcaster-0.0.2.0-6309b26a866b8ce21a03c90fe3c23b8fb509c65b5879790cd55396b964b1f1eaSystem.Log.Caster toBuilder ToBuilder LogEmergencyLogAlert LogCriticalLogErrorLogWarn LogNoticeLogInfoLogDebugLogLevelLogQueue MonadLogger getLoggerdebuginfowarnerr stdoutLogger IRegistryhas!!?updatewriteregisterinsertdeleteasVecforV_iforV_modifyV_IOVectornewread safeLengthlength safeCapacitycapacitypushfromList asIOVectorasUnsafeIOVector HashTableImpl fromListImpl$fIRegistryHashTableImplRegistry$fIRegistryRegistryContextpath variablestargetExprNoneRefVarOpConstant ArithmeticparsergetAt normalizeeval convertPathconvert parseTextresolve$fEqExpr $fShowExprEventNeverSignalRawEvent NotifyEvent EventTypesignalasSignalLightEnvrenderer fontCachelogger$fHashableFontDescriptorLoopEnv keyStatesevents signalQueue HasLightEnvlightEnv _fontCache_logger _renderer$fHasLightEnvLightEnvLightT runLightT' HasLoopEnvloopEnv_events _keyStates _signalQueue liftMiniLight envLightT mapLightT loadFontCacheloadFontwithFont$fHasLoopEnvLoopEnv$fMonadLoggerLightT$fMonadReaderenvLightT$fFunctorLightT$fApplicativeLightT $fMonadLightT$fMonadIOLightT$fMonadThrowLightT$fMonadMaskLightT$fMonadCatchLightT Rendering translatecliprotatetextpicture fromTexturerectangleOutlinerectangleFilledtriangleOutlineFiguretexture sourceArea targetArearotationcenterLsizeL getFigureSize freeFigureunionrenderrenderswithBlendedText$fRenderingFigureLightT ComponentUnitfiguresdrawonSignaluseCachebeforeClearCacheHasComponentEnvuidLemit newComponentgetComponentSizegetUID propagate$fComponentUnitComponentResolver AppConfigappuuidComponentConfigname propertiesnewUIDcreateComponentBy$fFromJSONComponentConfig$fToJSONComponentConfig$fFromJSONAppConfig$fEqComponentConfig$fShowComponentConfig$fGenericComponentConfig $fEqAppConfig$fShowAppConfig LoaderEnvregistry appConfig HasLoaderEnv loaderEnv _appConfig _registry resolveConfig loadAppConfigpatchAppConfig$fHasLoaderEnvLoaderEnv LoopStatelightlooploader LoopConfig watchKeys appConfigFilehotConfigReplacementcomponentResolveradditionalComponents runLightT defConfig$fHashableScancodeMiniLoop runMiniloop runMainloop$fHasComponentEnv(,)$fHasLoaderEnv(,)$fHasLoopEnv(,)$fHasLightEnv(,)$fHasLoaderEnvLoopState$fHasLoopEnvLoopState$fHasLightEnvLoopState$fHasLoopStateLoopStateConfig descriptorsizecolor loadFontFrom$fFromJSONConfigmessagesstaticfontConffontSize MessageEnginefontcounterrendered textTexturefinishedconfig$fComponentUnitMessageEnginelabel ButtonEventClickButton$fEventTypeTYPEButtonEvent$fComponentUnitButton MousePressed MouseReleased MouseOverposition wrapConfig areaRectangle wrapFigures wrapSignalemitBasicSignalcontains$fEventTypeTYPESignalbasicimageLayerlayer newNineTile$fComponentUnitLayerlabels fontConfig SelectionhoverconfhoverL$fComponentUnitSelection layerConfdivisionintervalAnimationLayertileSize$fComponentUnitAnimationLayerenginewindownext MessageLayer messageEnginecursorengineLcursorL$fComponentUnitMessageLayer foldResultresolver GHC.IO.UnsafeunsafePerformIODynamic