&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     SafeSafe !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./Z0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe0A small wrapper around , to ensure the ncurses' library is initialized while running.None w  (X, Y, Z) pIf the mouse event was caused by a change in button state, the buttons and their new state will be listed here.Function keys, F0  F64!#Sent by rmir or smir in insert mode" Clear screen#Clear to end of screen$Clear to end of line/Upper left of keypad0Upper right of keypad1Center of keypad2Lower left of keypad3Lower right of keypadrNA glyph is a character, typically spacing, combined with a set of attributes.vA wrapper around E to ensure clients don t use an uninitialized color in an attribute.qAn unspecified default terminal color, for terminals that support ISO/IEC 6429 escape sequences (or equivalent).?This is most useful for terminals with translucent backgrounds.gA color outside of the standard COLOR_* enum space, for terminals that support more than eight colors.Color-related functions may fail if a Color is provided that cannot be supported by the current terminal. Users are responsible for checking  when using extended colors.A_COLOR A_STANDOUT A_UNDERLINE A_REVERSEA_BLINKA_DIMA_BOLD A_ALTCHARSET A_INVISIBLE A_PROTECT A_HORIZONTALA_LEFTA_LOWA_RIGHTA_TOP A_VERTICAL A Pad is a ( that is not associated with the screen."Overlay only non-blank characters.)Overlay all characters, including blanks.nPut the terminal in graphical mode, including enabling special keys, colors, and mouse events (if supported). After the A block has finished running, the terminal is reset to text mode. The default window created when ncurses is initialized, also known as stdscr. Create a new A, with the given dimensions. To create a fullscreen window, use  0 0 0 0.*When the window is no longer needed, call . Windows are not garbage collected, because there s no way to know if they re still in use (as a background, or event source, etc).wClose a window, and free all resources associated with it. Once a window has been closed, it is no longer safe to use.PNote: this computation will not automatically clear the window from the screen.LCreate a separate window, initialised with the state of an existing window.dApply a window update to the window. After all of an application s windows have been updated, call $ to update the terminal s contents.6Moves the window to the given (row,column) coordinate.<Returns the current (row, column) coordinates of the window.:Resizes the window to the given row and column dimensions.>Overlay the entire content of another window onto this window.<The overlay mode specifies whether to copy blank characters.Use 1 if precise control over coordinates is required.4Overlay a region of another window onto this window.Use ) for copying the entire area of a window. Create a new  with the given dimensions.'When the pad is no longer needed, call [. Pads are not garbage collected, because there s no way to know if they re still in use.qClose a pad, and free all resources associated with it. Once a pad has been closed, it is no longer safe to use.>Move the window s cursor position to the given row and column.;Returns the current (row,column) coordinates of the cursor.This is the same as !, but is usable within an Update.0Return current cursor position as (row, column).This is the same as &, but is usable outside of an Update.MRe draw any portions of the screen which have changed since the last render.6Set the current foreground and background colors. See  for how to create color IDs.<Add some text to the window, at the current cursor position.<Add some text to the window, at the current cursor position.DDraw a border around the edge of the window. For any edge, passing  means to use the default glyph. @drawBox v h = drawBorder v v h h Nothing Nothing Nothing NothingDraw a horizontal line from left to right, using the given glyph and maximum character count. The cursor position is not changed.Draw a vertical line from top to bottom, using the given glyph and maximum character count. The cursor position is not changed.=Clear the window content by drawing blanks to every position.eClear the current line starting from the current cursor position (inclusive) to the end of the line.Set the window s background glyph. The glyph will be drawn in place of any blank characters, and the glyph s attributes will be combined with those of every character. Set a single : on the current window. No other attributes are modified.Set all Xs at once on the current window. Any attributes not included in the list will be unset.yCheck if the terminal supports color. If it doesn t, alternative indicators (such as underlines or bold) should be used.:Check if the terminal supports changing color defintiions.0Change the definition of an existing color. Use 9 to determine whether changing color values is possible.5Query the current definition of the given color (see C). The returned tuple is (red, green, blue), with values 0  1000.The default color ID Assign a new vx to some (foreground, background) color pair. The user may pick which color ID is assigned, but it must be valid. Use < to determine how many colors the current terminal supports.:Get the maximum color ID supported by the current terminalUpper left cornerLower left cornerUpper right cornerLower right cornerTee pointing rightTee pointing leftTee pointing upTee pointing downHorizontal line Vertical lineLarge plus or crossover Scan line 1 Scan line 9DiamondStipple, or checker board Degree symbol Plus/minusBulletArrow pointing leftArrow pointing rightArrow pointing downArrow pointing upBoard of squaresLantern symbolSolid square block Scan line 3 Scan line 7 Not equalLess than or equalGreater than or equalPiUK pounds sterling symbol Get the next l from a given window.If the timeout is , getEvent# blocks until an event is received.If the timeout is specified, getEventV blocks for up to that many milliseconds. If no event is received before timing out, getEvent returns .If the timeout is 0 or less, getEvent will not block at all.lSet the current cursor mode to visible, invisible, or "very visible". The previous cursor mode is returned.DReturns Left if a Curses exception occured in the given computation.See  for more details.FHandles errors in the given computation by passing them to a callback.See  for more details.kThrows an exception from within Curses handling code. This is useful for re-throwing errors from within a  callback.See  for more details.Runs raw() or noraw()Runs cbreak() or  nocbreak()Runs echo() or noecho()AGet the output speed of the current terminal, in bits per second.!Check if the terminal has a mouse5Check if some position is contained within the given .(Return (rows, columns) of current screenfSet whether the entire window has been touched ; touched characters are redrawn on the next refresh.?Set whether particular rows in the window have been touched .(Enable/disable support for special keys.HAttempt to resize the terminal to the given number of lines and columns.E  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     RowsColumnsBegin YBegin XRowsColumnsRowColumn Left edge Right edgeTop edge Bottom edgeTop left cornerTop right cornerBottom left cornerBottom right cornerRed (0  1000)Green (0  1000)Blue (0  1000) Foreground BackgroundA value n, such that (0 < n "d ) Foreground BackgroundThe v to change !Timeout, in milliseconds"#RowColumnStartCount$%  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~wxyz{|}~vrstulmnopq !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk  V !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~      !"#$%None Creates a new , on top of the panel stack.9Permanently removes the given panel from the panel stack. RUpdates windows to account for the current panel stack order. The user must call ( before changes are drawn to the screen.  panelAbove p retrieve the panel above p.  panelAbove p retrieve the panel below p. )Retrieve the top most panel in the stack. ,Retrieve the bottom most panel in the stack.DMakes a hidden panel visible, and places it on the top of the stack.?Temporarily removes the given panel from the panel stack. Use  to restore it./Checks if the given panel is currently visible.CMove the panel so its upper left corner is at the new coordinates.'Raise a bottom to the top of the stack.)Lower a panel to the bottom of the stack.+Retrieves which window a panel is drawn to.*Replaces which window a panel is drawn to.&'()*+,-./01234     New upper left rowNew upper left column          &'()*+,-./01234     5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwwxyz{|}~{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~{ z      !"#$%&' ()*+,-./0123456#ncurses-0.2.16-AYBNvG44DKBJ6EDCsNEG UI.NCursesUI.NCurses.PanelUI.NCurses.CompatUI.NCurses.EnumsUI.NCurses.TypesCursesExceptionWindowUpdateCurses CursorModeCursorInvisible CursorVisibleCursorVeryVisible MouseStatemouseCoordinates mouseButtonsmouseAlt mouseShift mouseControl ButtonState ButtonPressedButtonReleased ButtonClickedButtonDoubleClickedButtonTripleClickedKey KeyUpArrow KeyDownArrow KeyLeftArrow KeyRightArrowKeyHome KeyBackspace KeyFunction KeyDeleteLine KeyInsertLineKeyDeleteCharacterKeyInsertCharacterKeyEICKeyClearKeyEOSKeyEOLKeyScrollForwardKeyScrollBackward KeyNextPageKeyPreviousPage KeySetTab KeyClearTabKeyClearAllTabsKeyEnterKeyPrint KeyHomeDownKeyA1KeyA3KeyB2KeyC1KeyC3 KeyBackTabKeyBegin KeyCancelKeyClose KeyCommandKeyCopy KeyCreateKeyEndKeyExitKeyFindKeyHelpKeyMark KeyMessageKeyMoveKeyNextKeyOpen KeyOptions KeyPreviousKeyRedo KeyReference KeyRefresh KeyReplace KeyRestart KeyResumeKeySaveKeyShiftedBeginKeyShiftedCancelKeyShiftedCommandKeyShiftedCopyKeyShiftedCreateKeyShiftedDeleteCharacterKeyShiftedDeleteLine KeySelect KeyShiftedEnd KeyShiftedEOLKeyShiftedExitKeyShiftedFindKeyShiftedHelpKeyShiftedHomeKeyShiftedInsertCharacterKeyShiftedLeftArrowKeyShiftedMessageKeyShiftedMoveKeyShiftedNextKeyShiftedOptionsKeyShiftedPreviousKeyShiftedPrintKeyShiftedRedoKeyShiftedReplaceKeyShiftedRightArrowKeyShiftedResumeKeyShiftedSaveKeyShiftedSuspendKeyShiftedUndo KeySuspendKeyUndoEventEventCharacterEventSpecialKey EventMouse EventResized EventUnknownGlyphglyphCharacterglyphAttributesColorIDColor ColorBlackColorRed ColorGreen ColorYellow ColorBlue ColorMagenta ColorCyan ColorWhite ColorDefault AttributeAttributeColorAttributeStandoutAttributeUnderlineAttributeReverseAttributeBlink AttributeDim AttributeBoldAttributeAltCharsetAttributeInvisibleAttributeProtectAttributeHorizontal AttributeLeft AttributeLowAttributeRight AttributeTopAttributeVerticalPad OverlayMode OverlayMergeOverlayReplace runCurses defaultWindow newWindow closeWindow cloneWindow updateWindow moveWindowwindowPosition resizeWindow windowSizeoverlay copyWindownewPadclosePad updatePad moveCursorcursorPosition getCursorrendersetColor drawStringdrawText drawGlyph drawBorderdrawBox drawLineH drawLineVclear clearLine setBackground setAttribute setAttributesmaxColor supportsColorcanDefineColor defineColor queryColordefaultColorID newColorID setColorID maxColorID glyphCornerUL glyphCornerLL glyphCornerUR glyphCornerLR glyphTeeL glyphTeeR glyphTeeB glyphTeeT glyphLineH glyphLineV glyphPlus glyphScan1 glyphScan9 glyphDiamond glyphStipple glyphDegreeglyphPlusMinus glyphBullet glyphArrowL glyphArrowR glyphArrowD glyphArrowU glyphBoard glyphLantern glyphBlockglyphS3glyphS7glyphNEglyphLTEglyphGTEglyphPi glyphSterlinggetEvent setCursorMode tryCurses catchCurses throwCursessetRaw setCBreaksetEchobaudratebeepflashhasMouseenclosed screenSize setTouchedsetRowsTouched setKeypadresizeTerminal$fShowOverlayMode$fEqOverlayMode $fShowColor $fEqColor $fShowColorID $fEqColorID$fShowAttribute $fEqAttribute $fShowGlyph $fEqGlyph $fShowKey$fEqKey$fShowButtonState$fEqButtonState$fShowMouseState$fEqMouseState $fShowEvent $fEqEvent$fEqCursorMode$fShowCursorModePanelnewPanel deletePanel refreshPanels panelAbove panelBelowpanelTop panelBottom showPanel hidePanel panelHidden movePanel raisePanel lowerPanelgetPanelWindowreplacePanelWindowbase Data.FunctorvoidButton BUTTON_CTRL BUTTON_SHIFT BUTTON_ALTBUTTON1_RELEASEDBUTTON1_PRESSEDBUTTON1_CLICKEDBUTTON1_DOUBLE_CLICKEDBUTTON1_TRIPLE_CLICKEDBUTTON2_RELEASEDBUTTON2_PRESSEDBUTTON2_CLICKEDBUTTON2_DOUBLE_CLICKEDBUTTON2_TRIPLE_CLICKEDBUTTON3_RELEASEDBUTTON3_PRESSEDBUTTON3_CLICKEDBUTTON3_DOUBLE_CLICKEDBUTTON3_TRIPLE_CLICKEDBUTTON4_RELEASEDBUTTON4_PRESSEDBUTTON4_CLICKEDBUTTON4_DOUBLE_CLICKEDBUTTON4_TRIPLE_CLICKED KEY_CODE_YESKEY_DOWNKEY_UPKEY_LEFT KEY_RIGHTKEY_HOME KEY_BACKSPACEKEY_F0KEY_DLKEY_ILKEY_DCKEY_ICKEY_EIC KEY_CLEARKEY_EOSKEY_EOLKEY_SFKEY_SR KEY_NPAGE KEY_PPAGEKEY_STABKEY_CTAB KEY_CATAB KEY_ENTER KEY_PRINTKEY_LLKEY_A1KEY_A3KEY_B2KEY_C1KEY_C3KEY_BTABKEY_BEG KEY_CANCEL KEY_CLOSE KEY_COMMANDKEY_COPY KEY_CREATEKEY_ENDKEY_EXITKEY_FINDKEY_HELPKEY_MARK KEY_MESSAGEKEY_MOVEKEY_NEXTKEY_OPEN KEY_OPTIONS KEY_PREVIOUSKEY_REDO KEY_REFERENCE KEY_REFRESH KEY_REPLACE KEY_RESTART KEY_RESUMEKEY_SAVEKEY_SBEG KEY_SCANCEL KEY_SCOMMAND KEY_SCOPY KEY_SCREATEKEY_SDCKEY_SDL KEY_SELECTKEY_SENDKEY_SEOL KEY_SEXIT KEY_SFIND KEY_SHELP KEY_SHOMEKEY_SIC KEY_SLEFT KEY_SMESSAGE KEY_SMOVE KEY_SNEXT KEY_SOPTIONS KEY_SPREVIOUS KEY_SPRINT KEY_SREDO KEY_SREPLACE KEY_SRIGHT KEY_SRSUME KEY_SSAVE KEY_SSUSPEND KEY_SUNDO KEY_SUSPENDKEY_UNDO KEY_MOUSE KEY_RESIZE KEY_EVENT COLOR_BLACK COLOR_RED COLOR_GREEN COLOR_YELLOW COLOR_BLUE COLOR_MAGENTA COLOR_CYAN COLOR_WHITE COLOR_DEFAULT WA_STANDOUT WA_UNDERLINE WA_REVERSEWA_BLINKWA_DIMWA_BOLD WA_ALTCHARSETWA_INVIS WA_PROTECT WA_HORIZONTALWA_LEFTWA_LOWWA_RIGHTWA_TOP WA_VERTICAL EnumWrapperALL_MOUSE_EVENTSERREnumtoEnumfromEnumpredsuccenumFrom enumFromThen enumFromToenumFromThenTo $fEnumButton $fEnumKey $fEnumColor$fEnumAttribute$fEnumEnumWrapperghc-prim GHC.TypesIO windowPtrunUpdateunCursescheckRCcToBool cFromBool$fExceptionCursesException$fApplicativeUpdate$fFunctorUpdate$fMonadFixUpdate $fMonadUpdate$fApplicativeCurses$fFunctorCurses$fMonadIOCurses$fMonadFixCurses $fMonadCurses integer-gmpGHC.Integer.TypeIntegerGHC.BaseNothingControl.Exception.BasetrycatchGHC.IOthrowIOCursorModeUnknownMMaskTAttrTCCharT resizetermwtouchln untouchwintouchwinwenclosec_flashc_beep c_baudratenoechoechonocbreaknorawrawcurs_setgetmousehsncurses_wget_wchhsncurses_init_cchar_t init_pair color_content init_colorcan_change_color wattr_set wattr_get wattr_offwattr_on c_COLOR_PAIR wbkgrndset wclrtoeolwclear wvline_set whline_set wborder_setwadd_wchwaddwstr wcolor_setdoupdategetcurxgetcurywmove pnoutrefreshnewpadcopywin overwrite c_overlaygetmaxxgetmaxywresizegetbegxgetbegymvwin wnoutrefreshdupwindelwinnewwinwtimeoutmetakeypaduse_default_colors start_color has_colors mousemaskcbreakinitscrendwinc_COLSc_LINES c_hasMouse c_COLOR_PAIRSc_COLORSc_stdscrattrEnum attrToInt colorEnum colorToShortwithMaybeGlyph withGlyphkeyMapparseMouseState withWindow withWindow_panelPtr replace_panel panel_window bottom_panel top_panel move_panel panel_hidden hide_panel show_panel panel_below panel_above update_panels del_panel new_panel