€• Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ*/translations/zh_CN/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/it_IT/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/pt_BR/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/input/devices/atarikbd”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ$Intelligent Keyboard (ikbd) Protocol”h]”hŒ$Intelligent Keyboard (ikbd) Protocol”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒD/var/lib/git/docbuild/linux/Documentation/input/devices/atarikbd.rst”h´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ Introduction”h]”hŒ Introduction”…”�”}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´KubhŒ paragraph”“”)�”}”(hX¸The Atari Corp. Intelligent Keyboard (ikbd) is a general purpose keyboard controller that is flexible enough that it can be used in a variety of products without modification. The keyboard, with its microcontroller, provides a convenient connection point for a mouse and switch-type joysticks. The ikbd processor also maintains a time-of-day clock with one second resolution. The ikbd has been designed to be general enough that it can be used with a variety of new computer products. Product variations in a number of keyswitches, mouse resolution, etc. can be accommodated. The ikbd communicates with the main processor over a high speed bi-directional serial interface. It can function in a variety of modes to facilitate different applications of the keyboard, joysticks, or mouse. Limited use of the controller is possible in applications in which only a unidirectional communications medium is available by carefully designing the default modes.”h]”hX¸The Atari Corp. Intelligent Keyboard (ikbd) is a general purpose keyboard controller that is flexible enough that it can be used in a variety of products without modification. The keyboard, with its microcontroller, provides a convenient connection point for a mouse and switch-type joysticks. The ikbd processor also maintains a time-of-day clock with one second resolution. The ikbd has been designed to be general enough that it can be used with a variety of new computer products. Product variations in a number of keyswitches, mouse resolution, etc. can be accommodated. The ikbd communicates with the main processor over a high speed bi-directional serial interface. It can function in a variety of modes to facilitate different applications of the keyboard, joysticks, or mouse. Limited use of the controller is possible in applications in which only a unidirectional communications medium is available by carefully designing the default modes.”…”�”}”(hhÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K hhËh²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒKeyboard”h]”hŒKeyboard”…”�”}”(hh÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhôh²hh³hÊh´KubhÝ)�”}”(hX¥The keyboard always returns key make/break scan codes. The ikbd generates keyboard scan codes for each key press and release. The key scan make (key closure) codes start at 1, and are defined in Appendix A. For example, the ISO key position in the scan code table should exist even if no keyswitch exists in that position on a particular keyboard. The break code for each key is obtained by ORing 0x80 with the make code.”h]”hX¥The keyboard always returns key make/break scan codes. The ikbd generates keyboard scan codes for each key press and release. The key scan make (key closure) codes start at 1, and are defined in Appendix A. For example, the ISO key position in the scan code table should exist even if no keyswitch exists in that position on a particular keyboard. The break code for each key is obtained by ORing 0x80 with the make code.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Khhôh²hubhÝ)�”}”(hŒDThe special codes 0xF6 through 0xFF are reserved for use as follows:”h]”hŒDThe special codes 0xF6 through 0xFF are reserved for use as follows:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K"hhôh²hubhŒtable”“”)�”}”(hhh]”hŒtgroup”“”)�”}”(hhh]”(hŒcolspec”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j+hj(ubj,)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K4uh1j+hj(ubhŒthead”“”)�”}”(hhh]”hŒrow”“”)�”}”(hhh]”(hŒentry”“”)�”}”(hhh]”hÝ)�”}”(hŒCode”h]”hŒCode”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K%hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHubjL)�”}”(hhh]”hÝ)�”}”(hŒCommand”h]”hŒCommand”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K%hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhj(ubhŒtbody”“”)�”}”(hhh]”(jG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xF6”h]”hŒ0xF6”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K'hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjŒubjL)�”}”(hhh]”hÝ)�”}”(hŒ status report”h]”hŒ status report”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K'hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xF7”h]”hŒ0xF7”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K(hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÃubjL)�”}”(hhh]”hÝ)�”}”(hŒabsolute mouse position record”h]”hŒabsolute mouse position record”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K(hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ 0xF8-0xFB”h]”hŒ 0xF8-0xFB”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K)hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjúubjL)�”}”(hhh]”hÝ)�”}”(hŒHrelative mouse position records (lsbs determined by mouse button states)”h]”hŒHrelative mouse position records (lsbs determined by mouse button states)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K)hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xFC”h]”hŒ0xFC”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K+hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj1ubjL)�”}”(hhh]”hÝ)�”}”(hŒ time-of-day”h]”hŒ time-of-day”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K+hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xFD”h]”hŒ0xFD”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K,hjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjhubjL)�”}”(hhh]”hÝ)�”}”(hŒjoystick report (both sticks)”h]”hŒjoystick report (both sticks)”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K,hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xFE”h]”hŒ0xFE”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K-hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjŸubjL)�”}”(hhh]”hÝ)�”}”(hŒjoystick 0 event”h]”hŒjoystick 0 event”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K-hj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0xFF”h]”hŒ0xFF”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K.hjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÖubjL)�”}”(hhh]”hÝ)�”}”(hŒjoystick 1 event”h]”hŒjoystick 1 event”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K.hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‡hj(ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j&hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hhôh²hh³hÊh´NubhÝ)�”}”(hŒpThe two shift keys return different scan codes in this mode. The ENTER key and the RETurn key are also distinct.”h]”hŒpThe two shift keys return different scan codes in this mode. The ENTER key and the RETurn key are also distinct.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K1hhôh²hubeh}”(h]”Œkeyboard”ah ]”h"]”Œkeyboard”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒMouse”h]”hŒMouse”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj6h²hh³hÊh´K5ubhÝ)�”}”(hXNThe mouse port should be capable of supporting a mouse with resolution of approximately 200 counts (phase changes or 'clicks') per inch of travel. The mouse should be scanned at a rate that will permit accurate tracking at velocities up to 10 inches per second. The ikbd can report mouse motion in three distinctly different ways. It can report relative motion, absolute motion in a coordinate system maintained within the ikbd, or by converting mouse motion into keyboard cursor control key equivalents. The mouse buttons can be treated as part of the mouse or as additional keyboard keys.”h]”hXRThe mouse port should be capable of supporting a mouse with resolution of approximately 200 counts (phase changes or ‘clicks’) per inch of travel. The mouse should be scanned at a rate that will permit accurate tracking at velocities up to 10 inches per second. The ikbd can report mouse motion in three distinctly different ways. It can report relative motion, absolute motion in a coordinate system maintained within the ikbd, or by converting mouse motion into keyboard cursor control key equivalents. The mouse buttons can be treated as part of the mouse or as additional keyboard keys.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K7hj6h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒRelative Position Reporting”h]”hŒRelative Position Reporting”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjUh²hh³hÊh´KCubhÝ)�”}”(hX¤In relative position mode, the ikbd will return relative mouse position records whenever a mouse event occurs. A mouse event consists of a mouse button being pressed or released, or motion in either axis exceeding a settable threshold of motion. Regardless of the threshold, all bits of resolution are returned to the host computer. Note that the ikbd may return mouse relative position reports with significantly more than the threshold delta x or y. This may happen since no relative mouse motion events will be generated: (a) while the keyboard has been 'paused' ( the event will be stored until keyboard communications is resumed) (b) while any event is being transmitted.”h]”hX¨In relative position mode, the ikbd will return relative mouse position records whenever a mouse event occurs. A mouse event consists of a mouse button being pressed or released, or motion in either axis exceeding a settable threshold of motion. Regardless of the threshold, all bits of resolution are returned to the host computer. Note that the ikbd may return mouse relative position reports with significantly more than the threshold delta x or y. This may happen since no relative mouse motion events will be generated: (a) while the keyboard has been ‘paused’ ( the event will be stored until keyboard communications is resumed) (b) while any event is being transmitted.”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KEhjUh²hubhÝ)�”}”(hŒeThe relative mouse position record is a three byte record of the form (regardless of keyboard mode)::”h]”hŒdThe relative mouse position record is a three byte record of the form (regardless of keyboard mode):”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KPhjUh²hubhŒ literal_block”“”)�”}”(hX%111110xy ; mouse position record flag ; where y is the right button state ; and x is the left button state X ; delta x as twos complement integer Y ; delta y as twos complement integer”h]”hX%111110xy ; mouse position record flag ; where y is the right button state ; and x is the left button state X ; delta x as twos complement integer Y ; delta y as twos complement integer”…”�”}”hj„sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j‚h³hÊh´KShjUh²hubhÝ)�”}”(hXpNote that the value of the button state bits should be valid even if the MOUSE BUTTON ACTION has set the buttons to act like part of the keyboard. If the accumulated motion before the report packet is generated exceeds the +127...-128 range, the motion is broken into multiple packets. Note that the sign of the delta y reported is a function of the Y origin selected.”h]”hXpNote that the value of the button state bits should be valid even if the MOUSE BUTTON ACTION has set the buttons to act like part of the keyboard. If the accumulated motion before the report packet is generated exceeds the +127...-128 range, the motion is broken into multiple packets. Note that the sign of the delta y reported is a function of the Y origin selected.”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KYhjUh²hubeh}”(h]”Œrelative-position-reporting”ah ]”h"]”Œrelative position reporting”ah$]”h&]”uh1hµhj6h²hh³hÊh´KCubh¶)�”}”(hhh]”(h»)�”}”(hŒAbsolute Position reporting”h]”hŒAbsolute Position reporting”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjªh²hh³hÊh´KaubhÝ)�”}”(hŒ§The ikbd can also maintain absolute mouse position. Commands exist for resetting the mouse position, setting X/Y scaling, and interrogating the current mouse position.”h]”hŒ§The ikbd can also maintain absolute mouse position. Commands exist for resetting the mouse position, setting X/Y scaling, and interrogating the current mouse position.”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kchjªh²hubeh}”(h]”Œabsolute-position-reporting”ah ]”h"]”Œabsolute position reporting”ah$]”h&]”uh1hµhj6h²hh³hÊh´Kaubh¶)�”}”(hhh]”(h»)�”}”(hŒMouse Cursor Key Mode”h]”hŒMouse Cursor Key Mode”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÑh²hh³hÊh´KhubhÝ)�”}”(hXOThe ikbd can translate mouse motion into the equivalent cursor keystrokes. The number of mouse clicks per keystroke is independently programmable in each axis. The ikbd internally maintains mouse motion information to the highest resolution available, and merely generates a pair of cursor key events for each multiple of the scale factor. Mouse motion produces the cursor key make code immediately followed by the break code for the appropriate cursor key. The mouse buttons produce scan codes above those normally assigned for the largest envisioned keyboard (i.e. LEFT=0x74 & RIGHT=0x75).”h]”hXOThe ikbd can translate mouse motion into the equivalent cursor keystrokes. The number of mouse clicks per keystroke is independently programmable in each axis. The ikbd internally maintains mouse motion information to the highest resolution available, and merely generates a pair of cursor key events for each multiple of the scale factor. Mouse motion produces the cursor key make code immediately followed by the break code for the appropriate cursor key. The mouse buttons produce scan codes above those normally assigned for the largest envisioned keyboard (i.e. LEFT=0x74 & RIGHT=0x75).”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KjhjÑh²hubeh}”(h]”Œmouse-cursor-key-mode”ah ]”h"]”Œmouse cursor key mode”ah$]”h&]”uh1hµhj6h²hh³hÊh´Khubeh}”(h]”Œmouse”ah ]”h"]”Œmouse”ah$]”h&]”uh1hµhh·h²hh³hÊh´K5ubh¶)�”}”(hhh]”(h»)�”}”(hŒJoystick”h]”hŒJoystick”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´Kuubh¶)�”}”(hhh]”(h»)�”}”(hŒJoystick Event Reporting”h]”hŒJoystick Event Reporting”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KxubhÝ)�”}”(hŒ—In this mode, the ikbd generates a record whenever the joystick position is changed (i.e. for each opening or closing of a joystick switch or trigger).”h]”hŒ—In this mode, the ikbd generates a record whenever the joystick position is changed (i.e. for each opening or closing of a joystick switch or trigger).”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kzhjh²hubhÝ)�”}”(hŒ4The joystick event record is two bytes of the form::”h]”hŒ3The joystick event record is two bytes of the form:”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K}hjh²hubjƒ)�”}”(hŒ¾%1111111x ; Joystick event marker ; where x is Joystick 0 or 1 %x000yyyy ; where yyyy is the stick position ; and x is the trigger”h]”hŒ¾%1111111x ; Joystick event marker ; where x is Joystick 0 or 1 %x000yyyy ; where yyyy is the stick position ; and x is the trigger”…”�”}”hj>sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Khjh²hubeh}”(h]”Œjoystick-event-reporting”ah ]”h"]”Œjoystick event reporting”ah$]”h&]”uh1hµhjh²hh³hÊh´Kxubh¶)�”}”(hhh]”(h»)�”}”(hŒJoystick Interrogation”h]”hŒJoystick Interrogation”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjTh²hh³hÊh´K…ubhÝ)�”}”(hŒŽThe current state of the joystick ports may be interrogated at any time in this mode by sending an 'Interrogate Joystick' command to the ikbd.”h]”hŒ’The current state of the joystick ports may be interrogated at any time in this mode by sending an ‘Interrogate Joystick’ command to the ikbd.”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K‡hjTh²hubhÝ)�”}”(hŒPThe ikbd response to joystick interrogation is a three byte report of the form::”h]”hŒOThe ikbd response to joystick interrogation is a three byte report of the form:”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KŠhjTh²hubjƒ)�”}”(hŒÏ0xFD ; joystick report header %x000yyyy ; Joystick 0 %x000yyyy ; Joystick 1 ; where x is the trigger ; and yyy is the stick position”h]”hŒÏ0xFD ; joystick report header %x000yyyy ; Joystick 0 %x000yyyy ; Joystick 1 ; where x is the trigger ; and yyy is the stick position”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´KŒhjTh²hubeh}”(h]”Œjoystick-interrogation”ah ]”h"]”Œjoystick interrogation”ah$]”h&]”uh1hµhjh²hh³hÊh´K…ubh¶)�”}”(hhh]”(h»)�”}”(hŒJoystick Monitoring”h]”hŒJoystick Monitoring”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj—h²hh³hÊh´K“ubhÝ)�”}”(hX`A mode is available that devotes nearly all of the keyboard communications time to reporting the state of the joystick ports at a user specifiable rate. It remains in this mode until reset or commanded into another mode. The PAUSE command in this mode not only stop the output but also temporarily stops scanning the joysticks (samples are not queued).”h]”hX`A mode is available that devotes nearly all of the keyboard communications time to reporting the state of the joystick ports at a user specifiable rate. It remains in this mode until reset or commanded into another mode. The PAUSE command in this mode not only stop the output but also temporarily stops scanning the joysticks (samples are not queued).”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K•hj—h²hubeh}”(h]”Œjoystick-monitoring”ah ]”h"]”Œjoystick monitoring”ah$]”h&]”uh1hµhjh²hh³hÊh´K“ubh¶)�”}”(hhh]”(h»)�”}”(hŒFire Button Monitoring”h]”hŒFire Button Monitoring”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj¾h²hh³hÊh´KœubhÝ)�”}”(hXáA mode is provided to permit monitoring a single input bit at a high rate. In this mode the ikbd monitors the state of the Joystick 1 fire button at the maximum rate permitted by the serial communication channel. The data is packed 8 bits per byte for transmission to the host. The ikbd remains in this mode until reset or commanded into another mode. The PAUSE command in this mode not only stops the output but also temporarily stops scanning the button (samples are not queued).”h]”hXáA mode is provided to permit monitoring a single input bit at a high rate. In this mode the ikbd monitors the state of the Joystick 1 fire button at the maximum rate permitted by the serial communication channel. The data is packed 8 bits per byte for transmission to the host. The ikbd remains in this mode until reset or commanded into another mode. The PAUSE command in this mode not only stops the output but also temporarily stops scanning the button (samples are not queued).”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kžhj¾h²hubeh}”(h]”Œfire-button-monitoring”ah ]”h"]”Œfire button monitoring”ah$]”h&]”uh1hµhjh²hh³hÊh´Kœubh¶)�”}”(hhh]”(h»)�”}”(hŒJoystick Key Code Mode”h]”hŒJoystick Key Code Mode”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjåh²hh³hÊh´K§ubhÝ)�”}”(hXÐThe ikbd may be commanded to translate the use of either joystick into the equivalent cursor control keystroke(s). The ikbd provides a single breakpoint velocity joystick cursor. Joystick events produce the make code, immediately followed by the break code for the appropriate cursor motion keys. The trigger or fire buttons of the joysticks produce pseudo key scan codes above those used by the largest key matrix envisioned (i.e. JOYSTICK0=0x74, JOYSTICK1=0x75).”h]”hXÐThe ikbd may be commanded to translate the use of either joystick into the equivalent cursor control keystroke(s). The ikbd provides a single breakpoint velocity joystick cursor. Joystick events produce the make code, immediately followed by the break code for the appropriate cursor motion keys. The trigger or fire buttons of the joysticks produce pseudo key scan codes above those used by the largest key matrix envisioned (i.e. JOYSTICK0=0x74, JOYSTICK1=0x75).”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K©hjåh²hubeh}”(h]”Œjoystick-key-code-mode”ah ]”h"]”Œjoystick key code mode”ah$]”h&]”uh1hµhjh²hh³hÊh´K§ubeh}”(h]”Œjoystick”ah ]”h"]”Œjoystick”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kuubh¶)�”}”(hhh]”(h»)�”}”(hŒTime-of-Day Clock”h]”hŒTime-of-Day Clock”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´K²ubhÝ)�”}”(hŒÀThe ikbd also maintains a time-of-day clock for the system. Commands are available to set and interrogate the timer-of-day clock. Time-keeping is maintained down to a resolution of one second.”h]”hŒÀThe ikbd also maintains a time-of-day clock for the system. Commands are available to set and interrogate the timer-of-day clock. Time-keeping is maintained down to a resolution of one second.”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K´hjh²hubeh}”(h]”Œtime-of-day-clock”ah ]”h"]”Œtime-of-day clock”ah$]”h&]”uh1hµhh·h²hh³hÊh´K²ubh¶)�”}”(hhh]”(h»)�”}”(hŒStatus Inquiries”h]”hŒStatus Inquiries”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj;h²hh³hÊh´K¹ubhÝ)�”}”(hŒˆThe current state of ikbd modes and parameters may be found by sending status inquiry commands that correspond to the ikbd set commands.”h]”hŒˆThe current state of ikbd modes and parameters may be found by sending status inquiry commands that correspond to the ikbd set commands.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K»hj;h²hubeh}”(h]”Œstatus-inquiries”ah ]”h"]”h$]”Œstatus inquiries”ah&]”uh1hµhh·h²hh³hÊh´K¹Œ referenced”Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ Power-Up Mode”h]”hŒ Power-Up Mode”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjch²hh³hÊh´K¿ubhÝ)�”}”(hXøThe keyboard controller will perform a simple self-test on power-up to detect major controller faults (ROM checksum and RAM test) and such things as stuck keys. Any keys down at power-up are presumed to be stuck, and their BREAK (sic) code is returned (which without the preceding MAKE code is a flag for a keyboard error). If the controller self-test completes without error, the code 0xF0 is returned. (This code will be used to indicate the version/release of the ikbd controller. The first release of the ikbd is version 0xF0, should there be a second release it will be 0xF1, and so on.) The ikbd defaults to a mouse position reporting with threshold of 1 unit in either axis and the Y=0 origin at the top of the screen, and joystick event reporting mode for joystick 1, with both buttons being logically assigned to the mouse. After any joystick command, the ikbd assumes that joysticks are connected to both Joystick0 and Joystick1. Any mouse command (except MOUSE DISABLE) then causes port 0 to again be scanned as if it were a mouse, and both buttons are logically connected to it. If a mouse disable command is received while port 0 is presumed to be a mouse, the button is logically assigned to Joystick1 (until the mouse is reenabled by another mouse command).”h]”hXøThe keyboard controller will perform a simple self-test on power-up to detect major controller faults (ROM checksum and RAM test) and such things as stuck keys. Any keys down at power-up are presumed to be stuck, and their BREAK (sic) code is returned (which without the preceding MAKE code is a flag for a keyboard error). If the controller self-test completes without error, the code 0xF0 is returned. (This code will be used to indicate the version/release of the ikbd controller. The first release of the ikbd is version 0xF0, should there be a second release it will be 0xF1, and so on.) The ikbd defaults to a mouse position reporting with threshold of 1 unit in either axis and the Y=0 origin at the top of the screen, and joystick event reporting mode for joystick 1, with both buttons being logically assigned to the mouse. After any joystick command, the ikbd assumes that joysticks are connected to both Joystick0 and Joystick1. Any mouse command (except MOUSE DISABLE) then causes port 0 to again be scanned as if it were a mouse, and both buttons are logically connected to it. If a mouse disable command is received while port 0 is presumed to be a mouse, the button is logically assigned to Joystick1 (until the mouse is reenabled by another mouse command).”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÁhjch²hubeh}”(h]”Œ power-up-mode”ah ]”h"]”Œ power-up mode”ah$]”h&]”uh1hµhh·h²hh³hÊh´K¿ubh¶)�”}”(hhh]”(h»)�”}”(hŒikbd Command Set”h]”hŒikbd Command Set”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjŠh²hh³hÊh´KÔubhÝ)�”}”(hŒŸThis section contains a list of commands that can be sent to the ikbd. Command codes (such as 0x00) which are not specified should perform no operation (NOPs).”h]”hŒŸThis section contains a list of commands that can be sent to the ikbd. Command codes (such as 0x00) which are not specified should perform no operation (NOPs).”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÖhjŠh²hubh¶)�”}”(hhh]”(h»)�”}”(hŒRESET”h]”hŒRESET”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj©h²hh³hÊh´KÛubjƒ)�”}”(hŒ 0x80 0x01”h]”hŒ 0x80 0x01”…”�”}”hjºsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Kßhj©h²hubhÝ)�”}”(hXeN.B. The RESET command is the only two byte command understood by the ikbd. Any byte following an 0x80 command byte other than 0x01 is ignored (and causes the 0x80 to be ignored). A reset may also be caused by sending a break lasting at least 200mS to the ikbd. Executing the RESET command returns the keyboard to its default (power-up) mode and parameter settings. It does not affect the time-of-day clock. The RESET command or function causes the ikbd to perform a simple self-test. If the test is successful, the ikbd will send the code of 0xF0 within 300mS of receipt of the RESET command (or the end of the break, or power-up). The ikbd will then scan the key matrix for any stuck (closed) keys. Any keys found closed will cause the break scan code to be generated (the break code arriving without being preceded by the make code is a flag for a key matrix error).”h]”hXeN.B. The RESET command is the only two byte command understood by the ikbd. Any byte following an 0x80 command byte other than 0x01 is ignored (and causes the 0x80 to be ignored). A reset may also be caused by sending a break lasting at least 200mS to the ikbd. Executing the RESET command returns the keyboard to its default (power-up) mode and parameter settings. It does not affect the time-of-day clock. The RESET command or function causes the ikbd to perform a simple self-test. If the test is successful, the ikbd will send the code of 0xF0 within 300mS of receipt of the RESET command (or the end of the break, or power-up). The ikbd will then scan the key matrix for any stuck (closed) keys. Any keys found closed will cause the break scan code to be generated (the break code arriving without being preceded by the make code is a flag for a key matrix error).”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kâhj©h²hubeh}”(h]”Œreset”ah ]”h"]”Œreset”ah$]”h&]”uh1hµhjŠh²hh³hÊh´KÛubh¶)�”}”(hhh]”(h»)�”}”(hŒSET MOUSE BUTTON ACTION”h]”hŒSET MOUSE BUTTON ACTION”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÞh²hh³hÊh´Kñubjƒ)�”}”(hX·0x07 %00000mss ; mouse button action ; (m is presumed = 1 when in MOUSE KEYCODE mode) ; mss=0xy, mouse button press or release causes mouse ; position report ; where y=1, mouse key press causes absolute report ; and x=1, mouse key release causes absolute report ; mss=100, mouse buttons act like keys”h]”hX·0x07 %00000mss ; mouse button action ; (m is presumed = 1 when in MOUSE KEYCODE mode) ; mss=0xy, mouse button press or release causes mouse ; position report ; where y=1, mouse key press causes absolute report ; and x=1, mouse key release causes absolute report ; mss=100, mouse buttons act like keys”…”�”}”hjïsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´KõhjÞh²hubhÝ)�”}”(hŒäThis command sets how the ikbd should treat the buttons on the mouse. The default mouse button action mode is %00000000, the buttons are treated as part of the mouse logically. When buttons act like keys, LEFT=0x74 & RIGHT=0x75.”h]”hŒäThis command sets how the ikbd should treat the buttons on the mouse. The default mouse button action mode is %00000000, the buttons are treated as part of the mouse logically. When buttons act like keys, LEFT=0x74 & RIGHT=0x75.”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KþhjÞh²hubeh}”(h]”Œset-mouse-button-action”ah ]”h"]”Œset mouse button action”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Kñubh¶)�”}”(hhh]”(h»)�”}”(hŒ%SET RELATIVE MOUSE POSITION REPORTING”h]”hŒ%SET RELATIVE MOUSE POSITION REPORTING”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´Mubjƒ)�”}”(hŒ0x08”h]”hŒ0x08”…”�”}”hj$sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Mhjh²hubhÝ)�”}”(hX‹Set relative mouse position reporting. (DEFAULT) Mouse position packets are generated asynchronously by the ikbd whenever motion exceeds the setable threshold in either axis (see SET MOUSE THRESHOLD). Depending upon the mouse key mode, mouse position reports may also be generated when either mouse button is pressed or released. Otherwise the mouse buttons behave as if they were keyboard keys.”h]”hX‹Set relative mouse position reporting. (DEFAULT) Mouse position packets are generated asynchronously by the ikbd whenever motion exceeds the setable threshold in either axis (see SET MOUSE THRESHOLD). Depending upon the mouse key mode, mouse position reports may also be generated when either mouse button is pressed or released. Otherwise the mouse buttons behave as if they were keyboard keys.”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjh²hubeh}”(h]”Œ%set-relative-mouse-position-reporting”ah ]”h"]”Œ%set relative mouse position reporting”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒSET ABSOLUTE MOUSE POSITIONING”h]”hŒSET ABSOLUTE MOUSE POSITIONING”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjHh²hh³hÊh´Mubjƒ)�”}”(hŒ€0x09 XMSB ; X maximum (in scaled mouse clicks) XLSB YMSB ; Y maximum (in scaled mouse clicks) YLSB”h]”hŒ€0x09 XMSB ; X maximum (in scaled mouse clicks) XLSB YMSB ; Y maximum (in scaled mouse clicks) YLSB”…”�”}”hjYsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MhjHh²hubhÝ)�”}”(hX{Set absolute mouse position maintenance. Resets the ikbd maintained X and Y coordinates. In this mode, the value of the internally maintained coordinates does NOT wrap between 0 and large positive numbers. Excess motion below 0 is ignored. The command sets the maximum positive value that can be attained in the scaled coordinate system. Motion beyond that value is also ignored.”h]”hX{Set absolute mouse position maintenance. Resets the ikbd maintained X and Y coordinates. In this mode, the value of the internally maintained coordinates does NOT wrap between 0 and large positive numbers. Excess motion below 0 is ignored. The command sets the maximum positive value that can be attained in the scaled coordinate system. Motion beyond that value is also ignored.”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjHh²hubeh}”(h]”Œset-absolute-mouse-positioning”ah ]”h"]”Œset absolute mouse positioning”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒSET MOUSE KEYCODE MODE”h]”hŒSET MOUSE KEYCODE MODE”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj}h²hh³hÊh´M$ubjƒ)�”}”(hŒ�0x0A deltax ; distance in X clicks to return (LEFT) or (RIGHT) deltay ; distance in Y clicks to return (UP) or (DOWN)”h]”hŒ�0x0A deltax ; distance in X clicks to return (LEFT) or (RIGHT) deltay ; distance in Y clicks to return (UP) or (DOWN)”…”�”}”hjŽsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M(hj}h²hubhÝ)�”}”(hX©Set mouse monitoring routines to return cursor motion keycodes instead of either RELATIVE or ABSOLUTE motion records. The ikbd returns the appropriate cursor keycode after mouse travel exceeding the user specified deltas in either axis. When the keyboard is in key scan code mode, mouse motion will cause the make code immediately followed by the break code. Note that this command is not affected by the mouse motion origin.”h]”hX©Set mouse monitoring routines to return cursor motion keycodes instead of either RELATIVE or ABSOLUTE motion records. The ikbd returns the appropriate cursor keycode after mouse travel exceeding the user specified deltas in either axis. When the keyboard is in key scan code mode, mouse motion will cause the make code immediately followed by the break code. Note that this command is not affected by the mouse motion origin.”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M,hj}h²hubeh}”(h]”Œset-mouse-keycode-mode”ah ]”h"]”Œset mouse keycode mode”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M$ubh¶)�”}”(hhh]”(h»)�”}”(hŒSET MOUSE THRESHOLD”h]”hŒSET MOUSE THRESHOLD”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj²h²hh³hÊh´M4ubjƒ)�”}”(hŒŽ0x0B X ; x threshold in mouse ticks (positive integers) Y ; y threshold in mouse ticks (positive integers)”h]”hŒŽ0x0B X ; x threshold in mouse ticks (positive integers) Y ; y threshold in mouse ticks (positive integers)”…”�”}”hjÃsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M8hj²h²hubhÝ)�”}”(hXThis command sets the threshold before a mouse event is generated. Note that it does NOT affect the resolution of the data returned to the host. This command is valid only in RELATIVE MOUSE POSITIONING mode. The thresholds default to 1 at RESET (or power-up).”h]”hXThis command sets the threshold before a mouse event is generated. Note that it does NOT affect the resolution of the data returned to the host. This command is valid only in RELATIVE MOUSE POSITIONING mode. The thresholds default to 1 at RESET (or power-up).”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M<hj²h²hubeh}”(h]”Œset-mouse-threshold”ah ]”h"]”Œset mouse threshold”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M4ubh¶)�”}”(hhh]”(h»)�”}”(hŒSET MOUSE SCALE”h]”hŒSET MOUSE SCALE”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjçh²hh³hÊh´MBubjƒ)�”}”(hŒz0x0C X ; horizontal mouse ticks per internal X Y ; vertical mouse ticks per internal Y”h]”hŒz0x0C X ; horizontal mouse ticks per internal X Y ; vertical mouse ticks per internal Y”…”�”}”hjøsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MFhjçh²hubhÝ)�”}”(hXæThis command sets the scale factor for the ABSOLUTE MOUSE POSITIONING mode. In this mode, the specified number of mouse phase changes ('clicks') must occur before the internally maintained coordinate is changed by one (independently scaled for each axis). Remember that the mouse position information is available only by interrogating the ikbd in the ABSOLUTE MOUSE POSITIONING mode unless the ikbd has been commanded to report on button press or release (see SET MOUSE BUTTON ACTION).”h]”hXêThis command sets the scale factor for the ABSOLUTE MOUSE POSITIONING mode. In this mode, the specified number of mouse phase changes (‘clicks’) must occur before the internally maintained coordinate is changed by one (independently scaled for each axis). Remember that the mouse position information is available only by interrogating the ikbd in the ABSOLUTE MOUSE POSITIONING mode unless the ikbd has been commanded to report on button press or release (see SET MOUSE BUTTON ACTION).”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MJhjçh²hubeh}”(h]”Œset-mouse-scale”ah ]”h"]”Œset mouse scale”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MBubh¶)�”}”(hhh]”(h»)�”}”(hŒINTERROGATE MOUSE POSITION”h]”hŒINTERROGATE MOUSE POSITION”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´MSubjƒ)�”}”(hX‘0x0D Returns: 0xF7 ; absolute mouse position header BUTTONS 0000dcba ; where a is right button down since last interrogation ; b is right button up since last ; c is left button down since last ; d is left button up since last XMSB ; X coordinate XLSB YMSB ; Y coordinate YLSB”h]”hX‘0x0D Returns: 0xF7 ; absolute mouse position header BUTTONS 0000dcba ; where a is right button down since last interrogation ; b is right button up since last ; c is left button down since last ; d is left button up since last XMSB ; X coordinate XLSB YMSB ; Y coordinate YLSB”…”�”}”hj-sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MWhjh²hubhÝ)�”}”(hŒ’The INTERROGATE MOUSE POSITION command is valid when in the ABSOLUTE MOUSE POSITIONING mode, regardless of the setting of the MOUSE BUTTON ACTION.”h]”hŒ’The INTERROGATE MOUSE POSITION command is valid when in the ABSOLUTE MOUSE POSITIONING mode, regardless of the setting of the MOUSE BUTTON ACTION.”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mdhjh²hubeh}”(h]”Œinterrogate-mouse-position”ah ]”h"]”Œinterrogate mouse position”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MSubh¶)�”}”(hhh]”(h»)�”}”(hŒLOAD MOUSE POSITION”h]”hŒLOAD MOUSE POSITION”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjQh²hh³hÊh´Mhubjƒ)�”}”(hŒ 0x0E 0x00 ; filler XMSB ; X coordinate XLSB ; (in scaled coordinate system) YMSB ; Y coordinate YLSB”h]”hŒ 0x0E 0x00 ; filler XMSB ; X coordinate XLSB ; (in scaled coordinate system) YMSB ; Y coordinate YLSB”…”�”}”hjbsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MlhjQh²hubhÝ)�”}”(hŒYThis command allows the user to preset the internally maintained absolute mouse position.”h]”hŒYThis command allows the user to preset the internally maintained absolute mouse position.”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MshjQh²hubeh}”(h]”Œload-mouse-position”ah ]”h"]”Œload mouse position”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mhubh¶)�”}”(hhh]”(h»)�”}”(hŒSET Y=0 AT BOTTOM”h]”hŒSET Y=0 AT BOTTOM”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj†h²hh³hÊh´Mwubjƒ)�”}”(hŒ0x0F”h]”hŒ0x0F”…”�”}”hj—sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M{hj†h²hubhÝ)�”}”(hXThis command makes the origin of the Y axis to be at the bottom of the logical coordinate system internal to the ikbd for all relative or absolute mouse motion. This causes mouse motion toward the user to be negative in sign and away from the user to be positive.”h]”hXThis command makes the origin of the Y axis to be at the bottom of the logical coordinate system internal to the ikbd for all relative or absolute mouse motion. This causes mouse motion toward the user to be negative in sign and away from the user to be positive.”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M}hj†h²hubeh}”(h]”Œset-y-0-at-bottom”ah ]”h"]”Œset y=0 at bottom”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mwubh¶)�”}”(hhh]”(h»)�”}”(hŒSET Y=0 AT TOP”h]”hŒSET Y=0 AT TOP”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj»h²hh³hÊh´Mƒubjƒ)�”}”(hŒ0x10”h]”hŒ0x10”…”�”}”hjÌsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M‡hj»h²hubhÝ)�”}”(hŒüMakes the origin of the Y axis to be at the top of the logical coordinate system within the ikbd for all relative or absolute mouse motion. (DEFAULT) This causes mouse motion toward the user to be positive in sign and away from the user to be negative.”h]”hŒüMakes the origin of the Y axis to be at the top of the logical coordinate system within the ikbd for all relative or absolute mouse motion. (DEFAULT) This causes mouse motion toward the user to be positive in sign and away from the user to be negative.”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M‰hj»h²hubeh}”(h]”Œset-y-0-at-top”ah ]”h"]”Œset y=0 at top”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mƒubh¶)�”}”(hhh]”(h»)�”}”(hŒRESUME”h]”hŒRESUME”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjðh²hh³hÊh´M�ubjƒ)�”}”(hŒ0x11”h]”hŒ0x11”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M“hjðh²hubhÝ)�”}”(hXResume sending data to the host. Since any command received by the ikbd after its output has been paused also causes an implicit RESUME this command can be thought of as a NO OPERATION command. If this command is received by the ikbd and it is not PAUSED, it is simply ignored.”h]”hXResume sending data to the host. Since any command received by the ikbd after its output has been paused also causes an implicit RESUME this command can be thought of as a NO OPERATION command. If this command is received by the ikbd and it is not PAUSED, it is simply ignored.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M•hjðh²hubeh}”(h]”Œresume”ah ]”h"]”Œresume”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M�ubh¶)�”}”(hhh]”(h»)�”}”(hŒ DISABLE MOUSE”h]”hŒ DISABLE MOUSE”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj%h²hh³hÊh´M›ubjƒ)�”}”(hŒ0x12”h]”hŒ0x12”…”�”}”hj6sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MŸhj%h²hubhÝ)�”}”(hX‡All mouse event reporting is disabled (and scanning may be internally disabled). Any valid mouse mode command resumes mouse motion monitoring. (The valid mouse mode commands are SET RELATIVE MOUSE POSITION REPORTING, SET ABSOLUTE MOUSE POSITIONING, and SET MOUSE KEYCODE MODE. ) N.B. If the mouse buttons have been commanded to act like keyboard keys, this command DOES affect their actions.”h]”hX‡All mouse event reporting is disabled (and scanning may be internally disabled). Any valid mouse mode command resumes mouse motion monitoring. (The valid mouse mode commands are SET RELATIVE MOUSE POSITION REPORTING, SET ABSOLUTE MOUSE POSITIONING, and SET MOUSE KEYCODE MODE. ) N.B. If the mouse buttons have been commanded to act like keyboard keys, this command DOES affect their actions.”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M¡hj%h²hubeh}”(h]”Œ disable-mouse”ah ]”h"]”Œ disable mouse”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M›ubh¶)�”}”(hhh]”(h»)�”}”(hŒ PAUSE OUTPUT”h]”hŒ PAUSE OUTPUT”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjZh²hh³hÊh´M©ubjƒ)�”}”(hŒ0x13”h]”hŒ0x13”…”�”}”hjksbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M­hjZh²hubhÝ)�”}”(hX{Stop sending data to the host until another valid command is received. Key matrix activity is still monitored and scan codes or ASCII characters enqueued (up to the maximum supported by the microcontroller) to be sent when the host allows the output to be resumed. If in the JOYSTICK EVENT REPORTING mode, joystick events are also queued. Mouse motion should be accumulated while the output is paused. If the ikbd is in RELATIVE MOUSE POSITIONING REPORTING mode, motion is accumulated beyond the normal threshold limits to produce the minimum number of packets necessary for transmission when output is resumed. Pressing or releasing either mouse button causes any accumulated motion to be immediately queued as packets, if the mouse is in RELATIVE MOUSE POSITION REPORTING mode. Because of the limitations of the microcontroller memory this command should be used sparingly, and the output should not be shut of for more than milliseconds at a time. The output is stopped only at the end of the current 'even'. If the PAUSE OUTPUT command is received in the middle of a multiple byte report, the packet will still be transmitted to conclusion and then the PAUSE will take effect. When the ikbd is in either the JOYSTICK MONITORING mode or the FIRE BUTTON MONITORING mode, the PAUSE OUTPUT command also temporarily stops the monitoring process (i.e. the samples are not enqueued for transmission).”h]”hXStop sending data to the host until another valid command is received. Key matrix activity is still monitored and scan codes or ASCII characters enqueued (up to the maximum supported by the microcontroller) to be sent when the host allows the output to be resumed. If in the JOYSTICK EVENT REPORTING mode, joystick events are also queued. Mouse motion should be accumulated while the output is paused. If the ikbd is in RELATIVE MOUSE POSITIONING REPORTING mode, motion is accumulated beyond the normal threshold limits to produce the minimum number of packets necessary for transmission when output is resumed. Pressing or releasing either mouse button causes any accumulated motion to be immediately queued as packets, if the mouse is in RELATIVE MOUSE POSITION REPORTING mode. Because of the limitations of the microcontroller memory this command should be used sparingly, and the output should not be shut of for more than milliseconds at a time. The output is stopped only at the end of the current ‘even’. If the PAUSE OUTPUT command is received in the middle of a multiple byte report, the packet will still be transmitted to conclusion and then the PAUSE will take effect. When the ikbd is in either the JOYSTICK MONITORING mode or the FIRE BUTTON MONITORING mode, the PAUSE OUTPUT command also temporarily stops the monitoring process (i.e. the samples are not enqueued for transmission).”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M¯hjZh²hubeh}”(h]”Œ pause-output”ah ]”h"]”Œ pause output”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M©ubh¶)�”}”(hhh]”(h»)�”}”(hŒSET JOYSTICK EVENT REPORTING”h]”hŒSET JOYSTICK EVENT REPORTING”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj�h²hh³hÊh´MÅubjƒ)�”}”(hŒ0x14”h]”hŒ0x14”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MÉhj�h²hubhÝ)�”}”(hŒ–Enter JOYSTICK EVENT REPORTING mode (DEFAULT). Each opening or closure of a joystick switch or trigger causes a joystick event record to be generated.”h]”hŒ–Enter JOYSTICK EVENT REPORTING mode (DEFAULT). Each opening or closure of a joystick switch or trigger causes a joystick event record to be generated.”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MËhj�h²hubeh}”(h]”Œset-joystick-event-reporting”ah ]”h"]”Œset joystick event reporting”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MÅubh¶)�”}”(hhh]”(h»)�”}”(hŒSET JOYSTICK INTERROGATION MODE”h]”hŒSET JOYSTICK INTERROGATION MODE”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÄh²hh³hÊh´MÏubjƒ)�”}”(hŒ0x15”h]”hŒ0x15”…”�”}”hjÕsbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MÓhjÄh²hubhÝ)�”}”(hŒsDisables JOYSTICK EVENT REPORTING. Host must send individual JOYSTICK INTERROGATE commands to sense joystick state.”h]”hŒsDisables JOYSTICK EVENT REPORTING. Host must send individual JOYSTICK INTERROGATE commands to sense joystick state.”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÕhjÄh²hubeh}”(h]”Œset-joystick-interrogation-mode”ah ]”h"]”Œset joystick interrogation mode”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MÏubh¶)�”}”(hhh]”(h»)�”}”(hŒJOYSTICK INTERROGATE”h]”hŒJOYSTICK INTERROGATE”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjùh²hh³hÊh´MÙubjƒ)�”}”(hŒ0x16”h]”hŒ0x16”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MÝhjùh²hubhÝ)�”}”(hŒ¤Return a record indicating the current state of the joysticks. This command is valid in either the JOYSTICK EVENT REPORTING mode or the JOYSTICK INTERROGATION MODE.”h]”hŒ¤Return a record indicating the current state of the joysticks. This command is valid in either the JOYSTICK EVENT REPORTING mode or the JOYSTICK INTERROGATION MODE.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mßhjùh²hubeh}”(h]”Œjoystick-interrogate”ah ]”h"]”Œjoystick interrogate”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MÙubh¶)�”}”(hhh]”(h»)�”}”(hŒSET JOYSTICK MONITORING”h]”hŒSET JOYSTICK MONITORING”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj. h²hh³hÊh´Mäubjƒ)�”}”(hXE0x17 rate ; time between samples in hundredths of a second Returns: (in packets of two as long as in mode) %000000xy ; where y is JOYSTICK1 Fire button ; and x is JOYSTICK0 Fire button %nnnnmmmm ; where m is JOYSTICK1 state ; and n is JOYSTICK0 state”h]”hXE0x17 rate ; time between samples in hundredths of a second Returns: (in packets of two as long as in mode) %000000xy ; where y is JOYSTICK1 Fire button ; and x is JOYSTICK0 Fire button %nnnnmmmm ; where m is JOYSTICK1 state ; and n is JOYSTICK0 state”…”�”}”hj? sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Mèhj. h²hubhÝ)�”}”(hX5Sets the ikbd to do nothing but monitor the serial command line, maintain the time-of-day clock, and monitor the joystick. The rate sets the interval between joystick samples. N.B. The user should not set the rate higher than the serial communications channel will allow the 2 bytes packets to be transmitted.”h]”hX5Sets the ikbd to do nothing but monitor the serial command line, maintain the time-of-day clock, and monitor the joystick. The rate sets the interval between joystick samples. N.B. The user should not set the rate higher than the serial communications channel will allow the 2 bytes packets to be transmitted.”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mðhj. h²hubeh}”(h]”Œset-joystick-monitoring”ah ]”h"]”Œset joystick monitoring”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mäubh¶)�”}”(hhh]”(h»)�”}”(hŒSET FIRE BUTTON MONITORING”h]”hŒSET FIRE BUTTON MONITORING”…”�”}”(hjf h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjc h²hh³hÊh´M÷ubjƒ)�”}”(hŒ¥0x18 Returns: (as long as in mode) %bbbbbbbb ; state of the JOYSTICK1 fire button packed ; 8 bits per byte, the first sample if the MSB”h]”hŒ¥0x18 Returns: (as long as in mode) %bbbbbbbb ; state of the JOYSTICK1 fire button packed ; 8 bits per byte, the first sample if the MSB”…”�”}”hjt sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Mûhjc h²hubhÝ)�”}”(hXnSet the ikbd to do nothing but monitor the serial command line, maintain the time-of-day clock, and monitor the fire button on Joystick 1. The fire button is scanned at a rate that causes 8 samples to be made in the time it takes for the previous byte to be sent to the host (i.e. scan rate = 8/10 * baud rate). The sample interval should be as constant as possible.”h]”hXnSet the ikbd to do nothing but monitor the serial command line, maintain the time-of-day clock, and monitor the fire button on Joystick 1. The fire button is scanned at a rate that causes 8 samples to be made in the time it takes for the previous byte to be sent to the host (i.e. scan rate = 8/10 * baud rate). The sample interval should be as constant as possible.”…”�”}”(hj‚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjc h²hubeh}”(h]”Œset-fire-button-monitoring”ah ]”h"]”Œset fire button monitoring”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M÷ubh¶)�”}”(hhh]”(h»)�”}”(hŒSET JOYSTICK KEYCODE MODE”h]”hŒSET JOYSTICK KEYCODE MODE”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj˜ h²hh³hÊh´Mubjƒ)�”}”(hXÜ0x19 RX ; length of time (in tenths of seconds) until ; horizontal velocity breakpoint is reached RY ; length of time (in tenths of seconds) until ; vertical velocity breakpoint is reached TX ; length (in tenths of seconds) of joystick closure ; until horizontal cursor key is generated before RX ; has elapsed TY ; length (in tenths of seconds) of joystick closure ; until vertical cursor key is generated before RY ; has elapsed VX ; length (in tenths of seconds) of joystick closure ; until horizontal cursor keystrokes are generated ; after RX has elapsed VY ; length (in tenths of seconds) of joystick closure ; until vertical cursor keystrokes are generated ; after RY has elapsed”h]”hXÜ0x19 RX ; length of time (in tenths of seconds) until ; horizontal velocity breakpoint is reached RY ; length of time (in tenths of seconds) until ; vertical velocity breakpoint is reached TX ; length (in tenths of seconds) of joystick closure ; until horizontal cursor key is generated before RX ; has elapsed TY ; length (in tenths of seconds) of joystick closure ; until vertical cursor key is generated before RY ; has elapsed VX ; length (in tenths of seconds) of joystick closure ; until horizontal cursor keystrokes are generated ; after RX has elapsed VY ; length (in tenths of seconds) of joystick closure ; until vertical cursor keystrokes are generated ; after RY has elapsed”…”�”}”hj© sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M hj˜ h²hubhÝ)�”}”(hXIIn this mode, joystick 0 is scanned in a way that simulates cursor keystrokes. On initial closure, a keystroke pair (make/break) is generated. Then up to Rn tenths of seconds later, keystroke pairs are generated every Tn tenths of seconds. After the Rn breakpoint is reached, keystroke pairs are generated every Vn tenths of seconds. This provides a velocity (auto-repeat) breakpoint feature. Note that by setting RX and/or Ry to zero, the velocity feature can be disabled. The values of TX and TY then become meaningless, and the generation of cursor 'keystrokes' is set by VX and VY.”h]”hXMIn this mode, joystick 0 is scanned in a way that simulates cursor keystrokes. On initial closure, a keystroke pair (make/break) is generated. Then up to Rn tenths of seconds later, keystroke pairs are generated every Tn tenths of seconds. After the Rn breakpoint is reached, keystroke pairs are generated every Vn tenths of seconds. This provides a velocity (auto-repeat) breakpoint feature. Note that by setting RX and/or Ry to zero, the velocity feature can be disabled. The values of TX and TY then become meaningless, and the generation of cursor ‘keystrokes’ is set by VX and VY.”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj˜ h²hubeh}”(h]”Œset-joystick-keycode-mode”ah ]”h"]”Œset joystick keycode mode”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒDISABLE JOYSTICKS”h]”hŒDISABLE JOYSTICKS”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÍ h²hh³hÊh´M(ubjƒ)�”}”(hŒ0x1A”h]”hŒ0x1A”…”�”}”hjÞ sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M,hjÍ h²hubhÝ)�”}”(hXIDisable the generation of any joystick events (and scanning may be internally disabled). Any valid joystick mode command resumes joystick monitoring. (The joystick mode commands are SET JOYSTICK EVENT REPORTING, SET JOYSTICK INTERROGATION MODE, SET JOYSTICK MONITORING, SET FIRE BUTTON MONITORING, and SET JOYSTICK KEYCODE MODE.)”h]”hXIDisable the generation of any joystick events (and scanning may be internally disabled). Any valid joystick mode command resumes joystick monitoring. (The joystick mode commands are SET JOYSTICK EVENT REPORTING, SET JOYSTICK INTERROGATION MODE, SET JOYSTICK MONITORING, SET FIRE BUTTON MONITORING, and SET JOYSTICK KEYCODE MODE.)”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M.hjÍ h²hubeh}”(h]”Œdisable-joysticks”ah ]”h"]”Œdisable joysticks”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M(ubh¶)�”}”(hhh]”(h»)�”}”(hŒTIME-OF-DAY CLOCK SET”h]”hŒTIME-OF-DAY CLOCK SET”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´M5ubjƒ)�”}”(hŒÇ0x1B YY ; year (2 least significant digits) MM ; month DD ; day hh ; hour mm ; minute ss ; second”h]”hŒÇ0x1B YY ; year (2 least significant digits) MM ; month DD ; day hh ; hour mm ; minute ss ; second”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M9hj h²hubhÝ)�”}”(hX All time-of-day data should be sent to the ikbd in packed BCD format. Any digit that is not a valid BCD digit should be treated as a 'don't care' and not alter that particular field of the date or time. This permits setting only some subfields of the time-of-day clock.”h]”hXAll time-of-day data should be sent to the ikbd in packed BCD format. Any digit that is not a valid BCD digit should be treated as a ‘don’t care’ and not alter that particular field of the date or time. This permits setting only some subfields of the time-of-day clock.”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MAhj h²hubeh}”(h]”Œtime-of-day-clock-set”ah ]”h"]”Œtime-of-day clock set”ah$]”h&]”uh1hµhjŠh²hh³hÊh´M5ubh¶)�”}”(hhh]”(h»)�”}”(hŒINTERROGATE TIME-OF-DAT CLOCK”h]”hŒINTERROGATE TIME-OF-DAT CLOCK”…”�”}”(hj: h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj7 h²hh³hÊh´MGubjƒ)�”}”(hX.0x1C Returns: 0xFC ; time-of-day event header YY ; year (2 least significant digits) MM ; month DD ; day hh ; hour mm ; minute ss ; second All time-of-day is sent in packed BCD format.”h]”hX.0x1C Returns: 0xFC ; time-of-day event header YY ; year (2 least significant digits) MM ; month DD ; day hh ; hour mm ; minute ss ; second All time-of-day is sent in packed BCD format.”…”�”}”hjH sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MKhj7 h²hubeh}”(h]”Œinterrogate-time-of-dat-clock”ah ]”h"]”Œinterrogate time-of-dat clock”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MGubh¶)�”}”(hhh]”(h»)�”}”(hŒ MEMORY LOAD”h]”hŒ MEMORY LOAD”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj^ h²hh³hÊh´MXubjƒ)�”}”(hŒ‘0x20 ADRMSB ; address in controller ADRLSB ; memory to be loaded NUM ; number of bytes (0-128) { data }”h]”hŒ‘0x20 ADRMSB ; address in controller ADRLSB ; memory to be loaded NUM ; number of bytes (0-128) { data }”…”�”}”hjo sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M\hj^ h²hubhÝ)�”}”(hŒ‹This command permits the host to load arbitrary values into the ikbd controller memory. The time between data bytes must be less than 20ms.”h]”hŒ‹This command permits the host to load arbitrary values into the ikbd controller memory. The time between data bytes must be less than 20ms.”…”�”}”(hj} h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mbhj^ h²hubeh}”(h]”Œ memory-load”ah ]”h"]”Œ memory load”ah$]”h&]”uh1hµhjŠh²hh³hÊh´MXubh¶)�”}”(hhh]”(h»)�”}”(hŒ MEMORY READ”h]”hŒ MEMORY READ”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj“ h²hh³hÊh´Mfubjƒ)�”}”(hŒÜ0x21 ADRMSB ; address in controller ADRLSB ; memory to be read Returns: 0xF6 ; status header 0x20 ; memory access { data } ; 6 data bytes starting at ADR”h]”hŒÜ0x21 ADRMSB ; address in controller ADRLSB ; memory to be read Returns: 0xF6 ; status header 0x20 ; memory access { data } ; 6 data bytes starting at ADR”…”�”}”hj¤ sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´Mjhj“ h²hubhÝ)�”}”(hŒFThis command permits the host to read from the ikbd controller memory.”h]”hŒFThis command permits the host to read from the ikbd controller memory.”…”�”}”(hj² h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mrhj“ h²hubeh}”(h]”Œ memory-read”ah ]”h"]”Œ memory read”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Mfubh¶)�”}”(hhh]”(h»)�”}”(hŒCONTROLLER EXECUTE”h]”hŒCONTROLLER EXECUTE”…”�”}”(hjË h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÈ h²hh³hÊh´Muubjƒ)�”}”(hŒh0x22 ADRMSB ; address of subroutine in ADRLSB ; controller memory to be called”h]”hŒh0x22 ADRMSB ; address of subroutine in ADRLSB ; controller memory to be called”…”�”}”hjÙ sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´MyhjÈ h²hubhÝ)�”}”(hŒdThis command allows the host to command the execution of a subroutine in the ikbd controller memory.”•ŠÖh]”hŒdThis command allows the host to command the execution of a subroutine in the ikbd controller memory.”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M}hjÈ h²hubeh}”(h]”Œcontroller-execute”ah ]”h"]”Œcontroller execute”ah$]”h&]”uh1hµhjŠh²hh³hÊh´Muubh¶)�”}”(hhh]”(h»)�”}”(hŒSTATUS INQUIRIES”h]”hŒSTATUS INQUIRIES”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjý h²hh³hÊh´M�ubjƒ)�”}”(hX(Status commands are formed by inclusively ORing 0x80 with the relevant SET command. Example: 0x88 (or 0x89 or 0x8A) ; request mouse mode Returns: 0xF6 ; status response header mode ; 0x08 is RELATIVE ; 0x09 is ABSOLUTE ; 0x0A is KEYCODE param1 ; 0 is RELATIVE ; XMSB maximum if ABSOLUTE ; DELTA X is KEYCODE param2 ; 0 is RELATIVE ; YMSB maximum if ABSOLUTE ; DELTA Y is KEYCODE param3 ; 0 if RELATIVE ; or KEYCODE ; YMSB is ABSOLUTE param4 ; 0 if RELATIVE ; or KEYCODE ; YLSB is ABSOLUTE 0 ; pad 0”h]”hX(Status commands are formed by inclusively ORing 0x80 with the relevant SET command. Example: 0x88 (or 0x89 or 0x8A) ; request mouse mode Returns: 0xF6 ; status response header mode ; 0x08 is RELATIVE ; 0x09 is ABSOLUTE ; 0x0A is KEYCODE param1 ; 0 is RELATIVE ; XMSB maximum if ABSOLUTE ; DELTA X is KEYCODE param2 ; 0 is RELATIVE ; YMSB maximum if ABSOLUTE ; DELTA Y is KEYCODE param3 ; 0 if RELATIVE ; or KEYCODE ; YMSB is ABSOLUTE param4 ; 0 if RELATIVE ; or KEYCODE ; YLSB is ABSOLUTE 0 ; pad 0”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M…hjý h²hubhÝ)�”}”(hXÆThe STATUS INQUIRY commands request the ikbd to return either the current mode or the parameters associated with a given command. All status reports are padded to form 8 byte long return packets. The responses to the status requests are designed so that the host may store them away (after stripping off the status report header byte) and later send them back as commands to ikbd to restore its state. The 0 pad bytes will be treated as NOPs by the ikbd.”h]”hXÆThe STATUS INQUIRY commands request the ikbd to return either the current mode or the parameters associated with a given command. All status reports are padded to form 8 byte long return packets. The responses to the status requests are designed so that the host may store them away (after stripping off the status report header byte) and later send them back as commands to ikbd to restore its state. The 0 pad bytes will be treated as NOPs by the ikbd.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mžhjý h²hubhŒ block_quote”“”)�”}”(hXsValid STATUS INQUIRY commands are:: 0x87 mouse button action 0x88 mouse mode 0x89 0x8A 0x8B mnouse threshold 0x8C mouse scale 0x8F mouse vertical coordinates 0x90 ( returns 0x0F Y=0 at bottom 0x10 Y=0 at top ) 0x92 mouse enable/disable ( returns 0x00 enabled) 0x12 disabled ) 0x94 joystick mode 0x95 0x96 0x9A joystick enable/disable ( returns 0x00 enabled 0x1A disabled ) ”h]”(hÝ)�”}”(hŒ#Valid STATUS INQUIRY commands are::”h]”hŒ"Valid STATUS INQUIRY commands are:”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M¦hj, ubjƒ)�”}”(hX½0x87 mouse button action 0x88 mouse mode 0x89 0x8A 0x8B mnouse threshold 0x8C mouse scale 0x8F mouse vertical coordinates 0x90 ( returns 0x0F Y=0 at bottom 0x10 Y=0 at top ) 0x92 mouse enable/disable ( returns 0x00 enabled) 0x12 disabled ) 0x94 joystick mode 0x95 0x96 0x9A joystick enable/disable ( returns 0x00 enabled 0x1A disabled )”h]”hX½0x87 mouse button action 0x88 mouse mode 0x89 0x8A 0x8B mnouse threshold 0x8C mouse scale 0x8F mouse vertical coordinates 0x90 ( returns 0x0F Y=0 at bottom 0x10 Y=0 at top ) 0x92 mouse enable/disable ( returns 0x00 enabled) 0x12 disabled ) 0x94 joystick mode 0x95 0x96 0x9A joystick enable/disable ( returns 0x00 enabled 0x1A disabled )”…”�”}”hj> sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚h³hÊh´M¨hj, ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÊh´M¦hjý h²hubhÝ)�”}”(hŒ×It is the (host) programmer's responsibility to have only one unanswered inquiry in process at a time. STATUS INQUIRY commands are not valid if the ikbd is in JOYSTICK MONITORING mode or FIRE BUTTON MONITORING mode.”h]”hŒÙIt is the (host) programmer’s responsibility to have only one unanswered inquiry in process at a time. STATUS INQUIRY commands are not valid if the ikbd is in JOYSTICK MONITORING mode or FIRE BUTTON MONITORING mode.”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M»hjý h²hubeh}”(h]”Œid1”ah ]”h"]”h$]”j`ah&]”uh1hµhjŠh²hh³hÊh´M�jbKubeh}”(h]”Œikbd-command-set”ah ]”h"]”Œikbd command set”ah$]”h&]”uh1hµhh·h²hh³hÊh´KÔubh¶)�”}”(hhh]”(h»)�”}”(hŒ SCAN CODES”h]”hŒ SCAN CODES”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjo h²hh³hÊh´MÂubhÝ)�”}”(hŒYThe key scan codes returned by the ikbd are chosen to simplify the implementation of GSX.”h]”hŒYThe key scan codes returned by the ikbd are chosen to simplify the implementation of GSX.”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÄhjo h²hubhÝ)�”}”(hŒGSX Standard Keyboard Mapping”h]”hŒGSX Standard Keyboard Mapping”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÇhjo h²hubj")�”}”(hhh]”j')�”}”(hhh]”(j,)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j+hjŸ ubj,)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1j+hjŸ ubjB)�”}”(hhh]”jG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒHex”h]”hŒHex”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÊhj¼ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¹ ubjL)�”}”(hhh]”hÝ)�”}”(hŒKeytop”h]”hŒKeytop”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÊhjÓ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¹ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jAhjŸ ubjˆ)�”}”(hhh]”(jG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ01”h]”hŒ01”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÌhjü ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjù ubjL)�”}”(hhh]”hÝ)�”}”(hŒEsc”h]”hŒEsc”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÌhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjù ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ02”h]”hŒ02”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÍhj3 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj0 ubjL)�”}”(hhh]”hÝ)�”}”(hŒ1”h]”hŒ1”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÍhjJ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj0 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ03”h]”hŒ03”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÎhjj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjg ubjL)�”}”(hhh]”hÝ)�”}”(hŒ2”h]”hŒ2”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÎhj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjg ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ04”h]”hŒ04”…”�”}”(hj¤ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÏhj¡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjž ubjL)�”}”(hhh]”hÝ)�”}”(hŒ3”h]”hŒ3”…”�”}”(hj» h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÏhj¸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjž ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ05”h]”hŒ05”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÐhjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÕ ubjL)�”}”(hhh]”hÝ)�”}”(hŒ4”h]”hŒ4”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÐhjï ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÕ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ06”h]”hŒ06”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÑhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj ubjL)�”}”(hhh]”hÝ)�”}”(hŒ5”h]”hŒ5”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÑhj& ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ07”h]”hŒ07”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÒhjF ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjC ubjL)�”}”(hhh]”hÝ)�”}”(hŒ6”h]”hŒ6”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÒhj] ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjC ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ08”h]”hŒ08”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÓhj} ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjz ubjL)�”}”(hhh]”hÝ)�”}”(hŒ7”h]”hŒ7”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÓhj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjz ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ09”h]”hŒ09”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÔhj´ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj± ubjL)�”}”(hhh]”hÝ)�”}”(hŒ8”h]”hŒ8”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÔhjË ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj± ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0A”h]”hŒ0A”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÕhjë ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjè ubjL)�”}”(hhh]”hÝ)�”}”(hŒ9”h]”hŒ9”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÕhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjè ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0B”h]”hŒ0B”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÖhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒ0”h]”hŒ0”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÖhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0C”h]”hŒ0C”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M×hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjVubjL)�”}”(hhh]”hÝ)�”}”(hŒ\-”h]”hŒ-”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M×hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0D”h]”hŒ0D”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MØhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj�ubjL)�”}”(hhh]”hÝ)�”}”(hŒ\=”h]”hŒ=”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MØhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0E”h]”hŒ0E”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÙhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÄubjL)�”}”(hhh]”hÝ)�”}”(hŒBS”h]”hŒBS”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÙhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ0F”h]”hŒ0F”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÚhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjûubjL)�”}”(hhh]”hÝ)�”}”(hŒTAB”h]”hŒTAB”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÚhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ10”h]”hŒ10”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÛhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj2ubjL)�”}”(hhh]”hÝ)�”}”(hŒQ”h]”hŒQ”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÛhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ11”h]”hŒ11”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÜhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjiubjL)�”}”(hhh]”hÝ)�”}”(hŒW”h]”hŒW”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÜhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ12”h]”hŒ12”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÝhj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj ubjL)�”}”(hhh]”hÝ)�”}”(hŒE”h]”hŒE”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÝhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ13”h]”hŒ13”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÞhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj×ubjL)�”}”(hhh]”hÝ)�”}”(hŒR”h]”hŒR”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MÞhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ14”h]”hŒ14”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mßhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒT”h]”hŒT”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mßhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ15”h]”hŒ15”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MàhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjEubjL)�”}”(hhh]”hÝ)�”}”(hŒY”h]”hŒY”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Màhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ16”h]”hŒ16”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Máhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj|ubjL)�”}”(hhh]”hÝ)�”}”(hŒU”h]”hŒU”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Máhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ17”h]”hŒ17”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mâhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj³ubjL)�”}”(hhh]”hÝ)�”}”(hŒI”h]”hŒI”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MâhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ18”h]”hŒ18”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mãhjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjêubjL)�”}”(hhh]”hÝ)�”}”(hŒO”h]”hŒO”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mãhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ19”h]”hŒ19”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mähj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj!ubjL)�”}”(hhh]”hÝ)�”}”(hŒP”h]”hŒP”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mähj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1A”h]”hŒ1A”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Måhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjXubjL)�”}”(hhh]”hÝ)�”}”(hŒ[”h]”hŒ[”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Måhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1B”h]”hŒ1B”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mæhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj�ubjL)�”}”(hhh]”hÝ)�”}”(hŒ]”h]”hŒ]”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mæhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1C”h]”hŒ1C”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MçhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÆubjL)�”}”(hhh]”hÝ)�”}”(hŒRET”h]”hŒRET”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mçhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1D”h]”hŒ1D”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mèhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjýubjL)�”}”(hhh]”hÝ)�”}”(hŒCTRL”h]”hŒCTRL”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mèhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1E”h]”hŒ1E”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Méhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj4ubjL)�”}”(hhh]”hÝ)�”}”(hŒA”h]”hŒA”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MéhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ1F”h]”hŒ1F”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mêhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkubjL)�”}”(hhh]”hÝ)�”}”(hŒS”h]”hŒS”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mêhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ20”h]”hŒ20”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mëhj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¢ubjL)�”}”(hhh]”hÝ)�”}”(hŒD”h]”hŒD”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mëhj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ21”h]”hŒ21”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MìhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÙubjL)�”}”(hhh]”hÝ)�”}”(hŒF”h]”hŒF”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mìhjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ22”h]”hŒ22”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Míhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒG”h]”hŒG”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Míhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ23”h]”hŒ23”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MîhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjGubjL)�”}”(hhh]”hÝ)�”}”(hŒH”h]”hŒH”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mîhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ24”h]”hŒ24”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mïhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj~ubjL)�”}”(hhh]”hÝ)�”}”(hŒJ”h]”hŒJ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mïhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ25”h]”hŒ25”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mðhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjµubjL)�”}”(hhh]”hÝ)�”}”(hŒK”h]”hŒK”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MðhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ26”h]”hŒ26”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mñhjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjìubjL)�”}”(hhh]”hÝ)�”}”(hŒL”h]”hŒL”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mñhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ27”h]”hŒ27”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mòhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj#ubjL)�”}”(hhh]”hÝ)�”}”(hŒ;”h]”hŒ;”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mòhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ28”h]”hŒ28”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Móhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjZubjL)�”}”(hhh]”hÝ)�”}”(hŒ'”h]”hŒ‘”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Móhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ29”h]”hŒ29”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Môhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj‘ubjL)�”}”(hhh]”hÝ)�”}”(hŒ\`”h]”hŒ`”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Môhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2A”h]”hŒ2A”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MõhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÈubjL)�”}”(hhh]”hÝ)�”}”(hŒ (LEFT) SHIFT”h]”hŒ (LEFT) SHIFT”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mõhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2B”h]”hŒ2B”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Möhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÿubjL)�”}”(hhh]”hÝ)�”}”(hŒ\\”h]”hŒ\”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Möhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2C”h]”hŒ2C”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M÷hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj6ubjL)�”}”(hhh]”hÝ)�”}”(hŒZ”h]”hŒZ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M÷hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2D”h]”hŒ2D”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Møhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjmubjL)�”}”(hhh]”hÝ)�”}”(hŒX”h]”hŒX”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Møhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2E”h]”hŒ2E”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mùhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¤ubjL)�”}”(hhh]”hÝ)�”}”(hŒC”h]”hŒC”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mùhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ2F”h]”hŒ2F”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MúhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÛubjL)�”}”(hhh]”hÝ)�”}”(hŒV”h]”hŒV”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Múhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ30”h]”hŒ30”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mûhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒB”h]”hŒB”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mûhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ31”h]”hŒ31”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MühjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjIubjL)�”}”(hhh]”hÝ)�”}”(hŒN”h]”hŒN”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mühjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ32”h]”hŒ32”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mýhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj€ubjL)�”}”(hhh]”hÝ)�”}”(hŒM”h]”hŒM”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mýhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ33”h]”hŒ33”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mþhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj·ubjL)�”}”(hhh]”hÝ)�”}”(hŒ,”h]”hŒ,”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MþhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ34”h]”hŒ34”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mÿhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjîubjL)�”}”(hhh]”hÝ)�”}”(hŒ.”h]”hŒ.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mÿhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ35”h]”hŒ35”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj%ubjL)�”}”(hhh]”hÝ)�”}”(hŒ/”h]”hŒ/”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ36”h]”hŒ36”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj\ubjL)�”}”(hhh]”hÝ)�”}”(hŒ (RIGHT) SHIFT”h]”hŒ (RIGHT) SHIFT”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ37”h]”hŒ37”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj“ubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ38”h]”hŒ38”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÊubjL)�”}”(hhh]”hÝ)�”}”(hŒALT”h]”hŒALT”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ39”h]”hŒ39”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒ SPACE BAR”h]”hŒ SPACE BAR”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3A”h]”hŒ3A”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj8ubjL)�”}”(hhh]”hÝ)�”}”(hŒ CAPS LOCK”h]”hŒ CAPS LOCK”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3B”h]”hŒ3B”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjoubjL)�”}”(hhh]”hÝ)�”}”(hŒF1”h]”hŒF1”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3C”h]”hŒ3C”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¦ubjL)�”}”(hhh]”hÝ)�”}”(hŒF2”h]”hŒF2”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3D”h]”hŒ3D”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÝubjL)�”}”(hhh]”hÝ)�”}”(hŒF3”h]”hŒF3”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3E”h]”hŒ3E”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒF4”h]”hŒF4”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ3F”h]”hŒ3F”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjKubjL)�”}”(hhh]”hÝ)�”}”(hŒF5”h]”hŒF5”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ40”h]”hŒ40”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj‚ubjL)�”}”(hhh]”hÝ)�”}”(hŒF6”h]”hŒF6”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ41”h]”hŒ41”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¹ubjL)�”}”(hhh]”hÝ)�”}”(hŒF7”h]”hŒF7”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ42”h]”hŒ42”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjðubjL)�”}”(hhh]”hÝ)�”}”(hŒF8”h]”hŒF8”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ43”h]”hŒ43”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj'ubjL)�”}”(hhh]”hÝ)�”}”(hŒF9”h]”hŒF9”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ44”h]”hŒ44”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj^ubjL)�”}”(hhh]”hÝ)�”}”(hŒF10”h]”hŒF10”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ45”h]”hŒ45”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj•ubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ46”h]”hŒ46”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÌubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ47”h]”hŒ47”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒHOME”h]”hŒHOME”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ48”h]”hŒ48”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj:ubjL)�”}”(hhh]”hÝ)�”}”(hŒUP ARROW”h]”hŒUP ARROW”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ49”h]”hŒ49”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjqubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4A”h]”hŒ4A”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¨ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD -”h]”hŒKEYPAD -”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4B”h]”hŒ4B”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjßubjL)�”}”(hhh]”hÝ)�”}”(hŒ LEFT ARROW”h]”hŒ LEFT ARROW”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4C”h]”hŒ4C”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4D”h]”hŒ4D”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjMubjL)�”}”(hhh]”hÝ)�”}”(hŒ RIGHT ARROW”h]”hŒ RIGHT ARROW”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4E”h]”hŒ4E”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj„ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD +”h]”hŒKEYPAD +”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ4F”h]”hŒ4F”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj»ubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ50”h]”hŒ50”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjòubjL)�”}”(hhh]”hÝ)�”}”(hŒ DOWN ARROW”h]”hŒ DOWN ARROW”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ51”h]”hŒ51”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj)ubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ52”h]”hŒ52”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj`ubjL)�”}”(hhh]”hÝ)�”}”(hŒINSERT”h]”hŒINSERT”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ53”h]”hŒ53”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj—ubjL)�”}”(hhh]”hÝ)�”}”(hŒDEL”h]”hŒDEL”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ54”h]”hŒ54”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´MhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÎubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ5F”h]”hŒ5F”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒ { NOT USED }”h]”hŒ { NOT USED }”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ60”h]”hŒ60”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M!hj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj<ubjL)�”}”(hhh]”hÝ)�”}”(hŒISO KEY”h]”hŒISO KEY”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M!hjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ61”h]”hŒ61”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M"hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjsubjL)�”}”(hhh]”hÝ)�”}”(hŒUNDO”h]”hŒUNDO”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M"hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ62”h]”hŒ62”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M#hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjªubjL)�”}”(hhh]”hÝ)�”}”(hŒHELP”h]”hŒHELP”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M#hjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ63”h]”hŒ63”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M$hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjáubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD (”h]”hŒKEYPAD (”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M$hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ64”h]”hŒ64”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M%hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD /”h]”hŒKEYPAD /”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M%hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ65”h]”hŒ65”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M&hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjOubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD *”h]”hŒKEYPAD *”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M&hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ66”h]”hŒ66”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M'hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj†ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD *”h]”hŒKEYPAD *”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M'hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ67”h]”hŒ67”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M(hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj½ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 7”h]”hŒKEYPAD 7”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M(hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ68”h]”hŒ68”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M)hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjôubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 8”h]”hŒKEYPAD 8”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M)hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ69”h]”hŒ69”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M*hj. ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj+ ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 9”h]”hŒKEYPAD 9”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M*hjE ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj+ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6A”h]”hŒ6A”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M+hje ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjb ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 4”h]”hŒKEYPAD 4”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M+hj| ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjb ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6B”h]”hŒ6B”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M,hjœ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj™ ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 5”h]”hŒKEYPAD 5”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M,hj³ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj™ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6C”h]”hŒ6C”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M-hjÓ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÐ ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 6”h]”hŒKEYPAD 6”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M-hjê ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÐ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6D”h]”hŒ6D”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M.hj !ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj!ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 1”h]”hŒKEYPAD 1”…”�”}”(hj$!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M.hj!!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6E”h]”hŒ6E”…”�”}”(hjD!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M/hjA!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj>!ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 2”h]”hŒKEYPAD 2”…”�”}”(hj[!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M/hjX!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj>!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ6F”h]”hŒ6F”…”�”}”(hj{!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M0hjx!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhju!ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 3”h]”hŒKEYPAD 3”…”�”}”(hj’!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M0hj�!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhju!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ70”h]”hŒ70”…”�”}”(hj²!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M1hj¯!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¬!ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD 0”h]”hŒKEYPAD 0”…”�”}”(hjÉ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M1hjÆ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj¬!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ71”h]”hŒ71”…”�”}”(hjé!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M2hjæ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjã!ubjL)�”}”(hhh]”hÝ)�”}”(hŒKEYPAD .”h]”hŒKEYPAD .”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M2hjý!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjã!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubjG)�”}”(hhh]”(jL)�”}”(hhh]”hÝ)�”}”(hŒ72”h]”hŒ72”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M3hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj"ubjL)�”}”(hhh]”hÝ)�”}”(hŒ KEYPAD ENTER”h]”hŒ KEYPAD ENTER”…”�”}”(hj7"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M3hj4"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jFhjö ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‡hjŸ ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j&hjœ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjo h²hh³hÊh´Nubeh}”(h]”Œ scan-codes”ah ]”h"]”Œ scan codes”ah$]”h&]”uh1hµhh·h²hh³hÊh´MÂubeh}”(h]”Œ"intelligent-keyboard-ikbd-protocol”ah ]”h"]”Œ$intelligent keyboard (ikbd) protocol”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”jKŒfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j–"Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jq"jn"hñhîj3j0jýjúj§j¤jÎjËjõjòjjjQjNj”j‘j»j¸jâjßj jj8j5Œstatus inquiries”Nj‡j„jl ji jÛjØjj jEjBjzjwj¯j¬jäjájjjNjKjƒj€j¸jµjíjêj"jjWjTjŒj‰jÁj¾jöjój+ j( j` j] j• j’ jÊ jÇ jÿ jü j4 j1 j[ jX j� j� jÅ j jú j÷ ji"jf"uŒ nametypes”}”(jq"‰hñ‰j3‰jý‰j§‰jΉjõ‰j‰jQ‰j”‰j»‰jâ‰j ‰j8‰jÚ"‰j‡‰jl ‰jÛ‰j‰jE‰jz‰j¯‰jä‰j‰jN‰jƒ‰j¸‰jí‰j"‰jW‰jŒ‰jÁ‰jö‰j+ ‰j` ‰j• ‰jÊ ‰jÿ ‰j4 ‰j[ ‰j� ‰jÅ ‰jú ‰ji"‰uh}”(jn"h·hîhËj0hôjúj6j¤jUjËjªjòjÑjjjNjj‘jTj¸j—jßj¾jjåj5jj\j;j„jcji jŠjØj©j jÞjBjjwjHj¬j}jáj²jjçjKjj€jQjµj†jêj»jjðjTj%j‰jZj¾j�jójÄj( jùj] j. j’ jc jÇ j˜ jü jÍ j1 j jX j7 j� j^ j j“ j÷ jÈ jb jý jf"jo uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”j¤"Ks…”R”Œparse_messages”]”(hŒsystem_message”“”)�”}”(hhh]”hÝ)�”}”(hŒ3Duplicate implicit target name: "status inquiries".”h]”hŒ7Duplicate implicit target name: “status inquiriesâ€�.”…”�”}”(hjþ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjû"ubah}”(h]”h ]”h"]”h$]”h&]”jb aŒlevel”KŒtype”ŒINFO”Œsource”hÊŒline”M�uh1jù"hjý h²hh³hÊh´M�ubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MæŒsource”hÊuh1jù"hjrubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj5#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj2#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MçŒsource”hÊuh1jù"hj©ubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hjP#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjM#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MóŒsource”hÊuh1jù"hj=ubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hjk#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjh#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MôŒsource”hÊuh1jù"hjtubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj†#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjƒ#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”M÷Œsource”hÊuh1jù"hjubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj¡#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjž#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MÿŒsource”hÊuh1jù"hjÑubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj¼#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj¹#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MŒsource”hÊuh1jù"hjubjú")�”}”(hhh]”hÝ)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj×#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjÔ#ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j#Œline”MŒsource”hÊuh1jù"hj?ubeŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.