diff options
| author | Eli Zaretskii | 2013-09-26 10:37:16 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2013-09-26 10:37:16 +0300 |
| commit | b87c4ff2817e71ca71b028792200b1e069a95e04 (patch) | |
| tree | bfe00c0655fa02078a9ab2c633ea06d90c4a2064 /src | |
| parent | bbc108377873aa6ed7cf21c731770103096eea39 (diff) | |
| parent | ba355de014b75ed104da4777f909db70d62f2357 (diff) | |
| download | emacs-b87c4ff2817e71ca71b028792200b1e069a95e04.tar.gz emacs-b87c4ff2817e71ca71b028792200b1e069a95e04.zip | |
Merge from trunk.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 837 | ||||
| -rw-r--r-- | src/Makefile.in | 4 | ||||
| -rw-r--r-- | src/alloc.c | 186 | ||||
| -rw-r--r-- | src/bidi.c | 4 | ||||
| -rw-r--r-- | src/blockinput.h | 7 | ||||
| -rw-r--r-- | src/buffer.c | 8 | ||||
| -rw-r--r-- | src/buffer.h | 75 | ||||
| -rw-r--r-- | src/bytecode.c | 10 | ||||
| -rw-r--r-- | src/casetab.c | 4 | ||||
| -rw-r--r-- | src/category.c | 2 | ||||
| -rw-r--r-- | src/category.h | 5 | ||||
| -rw-r--r-- | src/ccl.c | 8 | ||||
| -rw-r--r-- | src/character.c | 2 | ||||
| -rw-r--r-- | src/character.h | 9 | ||||
| -rw-r--r-- | src/charset.c | 4 | ||||
| -rw-r--r-- | src/charset.h | 5 | ||||
| -rw-r--r-- | src/chartab.c | 4 | ||||
| -rw-r--r-- | src/composite.c | 6 | ||||
| -rw-r--r-- | src/composite.h | 19 | ||||
| -rw-r--r-- | src/conf_post.h | 39 | ||||
| -rw-r--r-- | src/data.c | 545 | ||||
| -rw-r--r-- | src/dired.c | 2 | ||||
| -rw-r--r-- | src/dispextern.h | 111 | ||||
| -rw-r--r-- | src/dispnew.c | 161 | ||||
| -rw-r--r-- | src/disptab.h | 2 | ||||
| -rw-r--r-- | src/emacs.c | 15 | ||||
| -rw-r--r-- | src/eval.c | 11 | ||||
| -rw-r--r-- | src/fileio.c | 3 | ||||
| -rw-r--r-- | src/filelock.c | 16 | ||||
| -rw-r--r-- | src/fns.c | 8 | ||||
| -rw-r--r-- | src/font.c | 17 | ||||
| -rw-r--r-- | src/font.h | 1 | ||||
| -rw-r--r-- | src/fontset.c | 15 | ||||
| -rw-r--r-- | src/frame.c | 103 | ||||
| -rw-r--r-- | src/frame.h | 197 | ||||
| -rw-r--r-- | src/ftfont.c | 2 | ||||
| -rw-r--r-- | src/gfilenotify.c | 2 | ||||
| -rw-r--r-- | src/gtkutil.c | 16 | ||||
| -rw-r--r-- | src/gtkutil.h | 4 | ||||
| -rw-r--r-- | src/image.c | 45 | ||||
| -rw-r--r-- | src/indent.c | 6 | ||||
| -rw-r--r-- | src/insdel.c | 3 | ||||
| -rw-r--r-- | src/intervals.c | 4 | ||||
| -rw-r--r-- | src/intervals.h | 7 | ||||
| -rw-r--r-- | src/keyboard.c | 41 | ||||
| -rw-r--r-- | src/keyboard.h | 19 | ||||
| -rw-r--r-- | src/lisp.h | 451 | ||||
| -rw-r--r-- | src/lisp.mk | 1 | ||||
| -rw-r--r-- | src/lread.c | 7 | ||||
| -rw-r--r-- | src/macfont.h | 144 | ||||
| -rw-r--r-- | src/macfont.m | 3858 | ||||
| -rw-r--r-- | src/macuvs.h | 9215 | ||||
| -rw-r--r-- | src/menu.c | 4 | ||||
| -rw-r--r-- | src/minibuf.c | 7 | ||||
| -rw-r--r-- | src/msdos.c | 8 | ||||
| -rw-r--r-- | src/msdos.h | 2 | ||||
| -rw-r--r-- | src/nsfns.m | 99 | ||||
| -rw-r--r-- | src/nsfont.m | 49 | ||||
| -rw-r--r-- | src/nsmenu.m | 2 | ||||
| -rw-r--r-- | src/nsterm.h | 51 | ||||
| -rw-r--r-- | src/nsterm.m | 202 | ||||
| -rw-r--r-- | src/process.c | 34 | ||||
| -rw-r--r-- | src/process.h | 7 | ||||
| -rw-r--r-- | src/ralloc.c | 22 | ||||
| -rw-r--r-- | src/regex.c | 6 | ||||
| -rw-r--r-- | src/syntax.c | 10 | ||||
| -rw-r--r-- | src/syntax.h | 55 | ||||
| -rw-r--r-- | src/sysdep.c | 2 | ||||
| -rw-r--r-- | src/systime.h | 9 | ||||
| -rw-r--r-- | src/term.c | 29 | ||||
| -rw-r--r-- | src/termchar.h | 4 | ||||
| -rw-r--r-- | src/termhooks.h | 15 | ||||
| -rw-r--r-- | src/terminal.c | 2 | ||||
| -rw-r--r-- | src/w32console.c | 1 | ||||
| -rw-r--r-- | src/w32fns.c | 114 | ||||
| -rw-r--r-- | src/w32font.c | 2 | ||||
| -rw-r--r-- | src/w32menu.c | 8 | ||||
| -rw-r--r-- | src/w32proc.c | 2 | ||||
| -rw-r--r-- | src/w32reg.c | 8 | ||||
| -rw-r--r-- | src/w32term.c | 247 | ||||
| -rw-r--r-- | src/w32term.h | 63 | ||||
| -rw-r--r-- | src/w32xfns.c | 8 | ||||
| -rw-r--r-- | src/widget.c | 2 | ||||
| -rw-r--r-- | src/window.c | 47 | ||||
| -rw-r--r-- | src/window.h | 30 | ||||
| -rw-r--r-- | src/xdisp.c | 410 | ||||
| -rw-r--r-- | src/xfaces.c | 45 | ||||
| -rw-r--r-- | src/xfns.c | 358 | ||||
| -rw-r--r-- | src/xfont.c | 12 | ||||
| -rw-r--r-- | src/xmenu.c | 24 | ||||
| -rw-r--r-- | src/xrdb.c | 4 | ||||
| -rw-r--r-- | src/xselect.c | 26 | ||||
| -rw-r--r-- | src/xsettings.c | 17 | ||||
| -rw-r--r-- | src/xsettings.h | 5 | ||||
| -rw-r--r-- | src/xterm.c | 1277 | ||||
| -rw-r--r-- | src/xterm.h | 115 |
96 files changed, 16977 insertions, 2737 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3ef8bee2f0b..a6774e30b0c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,840 @@ | |||
| 1 | 2013-09-26 Barry O'Reilly <gundaetiapo@gmail.com> | ||
| 2 | |||
| 3 | Signal error when reading an empty byte-code object (Bug#15405) | ||
| 4 | * lread.c (read1): signal error | ||
| 5 | * alloc.c (make_byte_code): eassert header size | ||
| 6 | (sweep_vectors): change an int to size_t | ||
| 7 | |||
| 8 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 9 | |||
| 10 | * dispnew.c (clear_glyph_row, copy_row_except_pointers): Use enums | ||
| 11 | instead of ints, as it's the usual style for offsetof constants. See: | ||
| 12 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00478.html | ||
| 13 | |||
| 14 | * data.c (POPCOUNT_STATIC_INLINE): New macro, as a hack for popcount. | ||
| 15 | This is ugly, but it should fix the performance problem for older | ||
| 16 | GCC versions in the short run. I'll look into integrating the | ||
| 17 | Gnulib module for popcount, as a better fix. | ||
| 18 | See the thread starting in: | ||
| 19 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00474.html | ||
| 20 | (popcount_size_t_generic) [NEED_GENERIC_POPCOUNT]: | ||
| 21 | (popcount_size_t_msc) [USE_MSC_POPCOUNT]: | ||
| 22 | (popcount_size_t_gcc) [USE_GCC_POPCOUNT]: | ||
| 23 | (popcount_size_t): Use it. | ||
| 24 | |||
| 25 | 2013-09-24 Daniel Colascione <dancol@dancol.org> | ||
| 26 | |||
| 27 | * process.c (Fnetwork_interface_info): Fix build break due to | ||
| 28 | vector changes. | ||
| 29 | |||
| 30 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 31 | |||
| 32 | * dispnew.c (clear_glyph_row, copy_row_except_pointers): | ||
| 33 | Prefer signed to unsigned integers where either will do. | ||
| 34 | No need for 'const' on locals that do not escape. | ||
| 35 | Omit easserts with unnecessary and unportable assumptions about | ||
| 36 | alignment. Avoid unnecessary casts to char *. | ||
| 37 | |||
| 38 | 2013-09-24 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 39 | |||
| 40 | Use union for the payload of struct Lisp_Vector. | ||
| 41 | This helps to avoid a few glitches dictated by C's aliasing rules. | ||
| 42 | * lisp.h (struct Lisp_Vector): Use union for next and | ||
| 43 | contents member. Adjust comment. Change related users. | ||
| 44 | * alloc.c (next_in_free_list, set_next_in_free_list): Remove. | ||
| 45 | Related users changed. | ||
| 46 | * buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c: | ||
| 47 | * composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c: | ||
| 48 | * lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c: | ||
| 49 | * xfaces.c, xfont.c, xmenu.c: Related users changed. | ||
| 50 | |||
| 51 | 2013-09-24 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 52 | |||
| 53 | Optimize glyph row clearing and copying routines. | ||
| 54 | * dispextern.h (struct glyph_row): Change layout of struct | ||
| 55 | glyph_row to help copy_row_except_pointers. Adjust comment. | ||
| 56 | * dispnew.c (null_row): Remove. | ||
| 57 | (clear_glyph_row): Use offsetof and memset to find and clear | ||
| 58 | just the members that need clearing. Adjust comment. | ||
| 59 | (copy_row_except_pointers): Likewise for copying. | ||
| 60 | |||
| 61 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 62 | |||
| 63 | Some minor cleanups of recently-added bool vector code. | ||
| 64 | * conf_post.h (assume): Always return void. Use lint version | ||
| 65 | only if GCC and MSC versions don't apply. | ||
| 66 | * conf_post.h (assume): | ||
| 67 | * data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits): | ||
| 68 | Depend on _MSC_VER, not __MSC_VER, for consistency with | ||
| 69 | the rest of Emacs. | ||
| 70 | * data.c (bool_vector_spare_mask, popcount_size_t_generic) | ||
| 71 | (popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t) | ||
| 72 | (bool_vector_binop_driver, count_trailing_zero_bits) | ||
| 73 | (size_t_to_host_endian): Now static, not static inline; | ||
| 74 | the latter isn't needed with modern compilers and doesn't | ||
| 75 | work with older compilers anyway. | ||
| 76 | |||
| 77 | * alloc.c (valgrind_p): Use bool for boolean. | ||
| 78 | |||
| 79 | 2013-09-23 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 80 | |||
| 81 | * xdisp.c (noninteractive_need_newline, message_log_need_newline) | ||
| 82 | (overlay_arrow_seen, message_enable_multibyte, line_number_displayed) | ||
| 83 | (display_last_displayed_message_p, message_buf_print) | ||
| 84 | (message_cleared_p, help_echo_showing_p, hourglass_shown_p): | ||
| 85 | Use bool for boolean. | ||
| 86 | * dispextern.h (cancel_line, init_desired_glyphs): | ||
| 87 | Remove ancient leftover. | ||
| 88 | (help_echo_showing_p, hourglass_shown_p): | ||
| 89 | * lisp.h (noninteractive_need_newline): Adjust declaration. | ||
| 90 | |||
| 91 | 2013-09-23 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 92 | |||
| 93 | * dispnew.c (frame_garbaged, selected_frame, last_nonminibuf_frame): | ||
| 94 | Move to... | ||
| 95 | * frame.c (frame_garbaged, selected_frame, last_nonminibuf_frame): | ||
| 96 | ...this file and convert the latter to static. Adjust comment. | ||
| 97 | (make_initial_frame): | ||
| 98 | * window.c (init_window_once): Adjust user. | ||
| 99 | * frame.h (last_nonminibuf_frame): Remove declaration. | ||
| 100 | * lisp.h (selected_frame): Likewise. | ||
| 101 | * msdos.c (the_only_display_info): Adjust comment. | ||
| 102 | |||
| 103 | 2013-09-23 Eli Zaretskii <eliz@gnu.org> | ||
| 104 | |||
| 105 | * xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in | ||
| 106 | computing the end column of mouse-highlight that comes from | ||
| 107 | display or overlay strings. (Bug#15437) | ||
| 108 | (note_mouse_highlight): Adapt calculation of last argument to | ||
| 109 | mouse_face_from_string_pos to the above change. | ||
| 110 | |||
| 111 | * conf_post.h (__has_builtin): Define to zero, if undefined, on | ||
| 112 | all platforms, not just for clang. | ||
| 113 | |||
| 114 | 2013-09-23 Jan Djärv <jan.h.d@swipnet.se> | ||
| 115 | |||
| 116 | * filelock.c (lock_file_1): Rearrange to remove compiler warning | ||
| 117 | about excess arguments to snprintf. | ||
| 118 | |||
| 119 | * conf_post.h(assume): Use __builtin_unreachable for clang. | ||
| 120 | |||
| 121 | 2013-09-23 Juanma Barranquero <lekktu@gmail.com> | ||
| 122 | |||
| 123 | * w32console.c (initialize_w32_display): Remove unused variable hlinfo. | ||
| 124 | * w32term.c (w32_scroll_bar_handle_click): Remove unused variable f. | ||
| 125 | |||
| 126 | 2013-09-23 Daniel Colascione <dancol@dancol.org> | ||
| 127 | |||
| 128 | * alloc.c (USE_VALGRIND): New macro; on by default | ||
| 129 | when ENABLE_CHECKING. | ||
| 130 | (mark_maybe_object,mark_maybe_pointer) | ||
| 131 | [USE_VALGRIND]: Mark conservatively-scanned regions valid for | ||
| 132 | valgrind purposes. | ||
| 133 | (valgrind_p) [USE_VALGRIND]: New variable. | ||
| 134 | (init_alloc) [USE_VALGRIND]: Initialize valgrind_p. | ||
| 135 | |||
| 136 | 2013-09-22 Jan Djärv <jan.h.d@swipnet.se> | ||
| 137 | |||
| 138 | * process.c (wait_reading_process_output): Change int pnamelen to | ||
| 139 | socklen_t. | ||
| 140 | |||
| 141 | * nsterm.m (setMarkedText:selectedRange:): | ||
| 142 | (deleteWorkingText): | ||
| 143 | * nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:): | ||
| 144 | * nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog | ||
| 145 | argument to unsigned long to avoid warning. | ||
| 146 | (nsfont_draw): Use 0.25 instead of Fix2X (kATSItalicQDSkew). | ||
| 147 | |||
| 148 | * conf_post.h (assume): Fix compiler error: x shall be cond. | ||
| 149 | |||
| 150 | 2013-09-22 Daniel Colascione <dancol@dancol.org> | ||
| 151 | |||
| 152 | * xfns.c (x_get_monitor_attributes): Suppress unused variable | ||
| 153 | warning when compiling without a window system. | ||
| 154 | |||
| 155 | 2013-09-22 Daniel Colascione <dancol@dancol.org> | ||
| 156 | |||
| 157 | * data.c (Qbool_vector_p): New symbol. | ||
| 158 | (bool_vector_spare_mask,popcount_size_t_generic) | ||
| 159 | (popcount_size_t_msc,popcount_size_t_gcc) | ||
| 160 | (popcount_size_t) | ||
| 161 | (bool_vector_binop_driver) | ||
| 162 | (count_trailing_zero_bits,size_t_to_host_endian) | ||
| 163 | (Fbool_vector_exclusive_or) | ||
| 164 | (Fbool_vector_union) | ||
| 165 | (Fbool_vector_intersection,Fbool_vector_set_difference) | ||
| 166 | (Fbool_vector_subsetp,Fbool_vector_not) | ||
| 167 | (Fbool_vector_count_matches) | ||
| 168 | (Fbool_vector_count_matches_at): New functions. | ||
| 169 | (syms_of_data): Intern new symbol, functions. | ||
| 170 | * alloc.c (bool_vector_payload_bytes): New function. | ||
| 171 | (Fmake_bool_vector): Instead of calling Fmake_vector, | ||
| 172 | which performs redundant initialization and argument checking, | ||
| 173 | just call allocate_vector ourselves. Make sure we clear any | ||
| 174 | terminating padding to zero. | ||
| 175 | (vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes | ||
| 176 | instead of open-coding the size calculation. | ||
| 177 | (vroundup_ct): New macro. | ||
| 178 | (vroundup): Assume argument >= 0; invoke vroundup_ct. | ||
| 179 | * casetab.c (shuffle,set_identity): Change lint_assume to assume. | ||
| 180 | * composite.c (composition_gstring_put_cache): Change | ||
| 181 | lint_assume to assume. | ||
| 182 | * conf_post.h (assume): New macro. | ||
| 183 | (lint_assume): Remove. | ||
| 184 | * dispnew.c (update_frame_1): Change lint_assume to assume. | ||
| 185 | * ftfont.c (ftfont_shape_by_flt): Change lint_assume | ||
| 186 | to assume. | ||
| 187 | * image.c (gif_load): Change lint_assume to assume. | ||
| 188 | * lisp.h (eassert_and_assume): New macro. | ||
| 189 | (Qbool_vector_p): Declare. | ||
| 190 | (CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros. | ||
| 191 | (swap16,swap32,swap64): New inline functions. | ||
| 192 | * macfont.c (macfont_shape): Change lint_assume to assume. | ||
| 193 | * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout. | ||
| 194 | * xsettings.c (parse_settings): Use new swap16 and | ||
| 195 | swap32 from lisp.h instead of file-specific macros. | ||
| 196 | |||
| 197 | 2013-09-22 Eli Zaretskii <eliz@gnu.org> | ||
| 198 | |||
| 199 | * xdisp.c (try_window_id): Don't abort if cursor row could not be | ||
| 200 | found (which can legitimately happen when the glyph row at the | ||
| 201 | window start is disabled in the current_matrix. (Bug#15365) | ||
| 202 | |||
| 203 | 2013-09-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 204 | |||
| 205 | Fix syntax.h bug introduced by recent INLINE change. | ||
| 206 | syntax.h defined an extern inline function SYNTAX_ENTRY that was | ||
| 207 | conditionally compiled one way in some modules, and a different | ||
| 208 | way in others. This doesn't work with extern inline functions, | ||
| 209 | which must have the same definition in all modules, because the | ||
| 210 | defining code might be shared across modules, depending on the | ||
| 211 | implementation. Symptoms reported by Martin Rudalics in: | ||
| 212 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html | ||
| 213 | * regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove. | ||
| 214 | (SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros, | ||
| 215 | overriding the corresponding functions in syntax.h. | ||
| 216 | * syntax.h (syntax_property_entry, syntax_property_with_flags) | ||
| 217 | (syntax_property): New inline functions. | ||
| 218 | (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX): | ||
| 219 | Rewrite in terms of these new functions. | ||
| 220 | |||
| 221 | 2013-09-21 Eli Zaretskii <eliz@gnu.org> | ||
| 222 | |||
| 223 | * dired.c (directory_files_internal): Use multibyte_chars_in_text, | ||
| 224 | not chars_in_text, whose result depends on the multibyteness of | ||
| 225 | the current buffer. (Bug#15426) | ||
| 226 | |||
| 227 | 2013-09-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 228 | |||
| 229 | Port recent change to hosts where pointers aren't 'long'. | ||
| 230 | * xterm.c (x_send_scroll_bar_event, x_scroll_bar_to_input_event): | ||
| 231 | Don't assume that pointers are the same width as 'long'. | ||
| 232 | Add a compile-time check that a pointer fits into two X slots. | ||
| 233 | |||
| 234 | A simpler, centralized INLINE. | ||
| 235 | * conf_post.h (INLINE): Define only if not already defined. | ||
| 236 | This allows us to use a single INLINE, defined by one file | ||
| 237 | per executable. | ||
| 238 | * emacs.c (INLINE): Define it. | ||
| 239 | Also, include category.h, charset.h, composite.h, dispextern.h, | ||
| 240 | syntax.h, systime.h, so that their INLINE definitions are expanded | ||
| 241 | properly for Emacs. | ||
| 242 | * blockinput.h, keyboard.c (BLOCKINPUT_INLINE): | ||
| 243 | * buffer.h, buffer.c (BUFFER_INLINE): | ||
| 244 | * category.h, category.c (CATEGORY_INLINE): | ||
| 245 | * character.h, character.c (CHARACTER_INLINE): | ||
| 246 | * charset.h, charset.c (CHARSET_INLINE): | ||
| 247 | * composite.h, composite.c (COMPOSITE_INLINE): | ||
| 248 | * dispextern.h, dispnew.c (DISPEXTERN_INLINE): | ||
| 249 | * frame.h, frame.c (FRAME_INLINE): | ||
| 250 | * intervals.h, intervals.c (INTERVALS_INLINE): | ||
| 251 | * keyboard.h, keyboard.c (KEYBOARD_INLINE): | ||
| 252 | * lisp.h, alloc.c (LISP_INLINE): | ||
| 253 | * process.h, process.c (PROCESS_INLINE): | ||
| 254 | * syntax.h, syntax.c (SYNTAX_INLINE): | ||
| 255 | * systime.h, sysdep.c (SYSTIME_INLINE): | ||
| 256 | * termhooks.h, terminal.h (TERMHOOKS_INLINE): | ||
| 257 | * window.h, window.c (WINDOW_INLINE): | ||
| 258 | Remove. All uses replaced with INLINE. | ||
| 259 | |||
| 260 | 2013-09-20 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 261 | |||
| 262 | * xterm.c (handle_one_xevent): Revert part of 2013-09-17 change | ||
| 263 | to avoid Bug#15398. | ||
| 264 | |||
| 265 | 2013-09-19 Eli Zaretskii <eliz@gnu.org> | ||
| 266 | |||
| 267 | * w32reg.c (w32_get_string_resource): Make the first 2 arguments | ||
| 268 | 'const char *' to avoid compiler warnings due to similar change in | ||
| 269 | the prototype of x_get_string_resource. | ||
| 270 | |||
| 271 | 2013-09-19 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 272 | |||
| 273 | * xterm.h (struct x_display_info): New members last_mouse_glyph_frame, | ||
| 274 | last_mouse_scroll_bar, last_mouse_glyph and last_mouse_movement_time, | ||
| 275 | going to replace static variables below. Adjust comments. | ||
| 276 | * xterm.c (last_mouse_glyph, last_mouse_glyph_frame) | ||
| 277 | (last_mouse_scroll_bar, last_mouse_movement_time): Remove. | ||
| 278 | (note_mouse_movement, XTmouse_position, x_scroll_bar_note_movement) | ||
| 279 | (x_scroll_bar_report_motion, handle_one_xevent, syms_of_xterm): | ||
| 280 | Related users changed. | ||
| 281 | * w32term.h (struct w32_display_info): New members last_mouse_glyph_frame, | ||
| 282 | last_mouse_scroll_bar, last_mouse_scroll_bar_pos, last_mouse_glyph and | ||
| 283 | last_mouse_movement_time, going to replace static variables below. | ||
| 284 | Adjust comments. | ||
| 285 | * w32term.c (last_mouse_glyph_frame, last_mouse_scroll_bar) | ||
| 286 | (last_mouse_scroll_bar_pos, last_mouse_glyph, last_mouse_movement_time): | ||
| 287 | Remove. | ||
| 288 | (note_mouse_movement, w32_mouse_position, w32_scroll_bar_handle_click) | ||
| 289 | (x_scroll_bar_report_motion, syms_of_w32term): Related users changed. | ||
| 290 | * nsterm.h (struct ns_display_info): New members last_mouse_glyph, | ||
| 291 | last_mouse_movement_time and last_mouse_scroll_bar, going to replace | ||
| 292 | static variables below. | ||
| 293 | * nsterm.m (last_mouse_glyph, last_mouse_movement_time) | ||
| 294 | (last_mouse_scroll_bar): Remove. | ||
| 295 | (note_mouse_movement, ns_mouse_position, mouseMoved, mouseEntered) | ||
| 296 | (mouseExited): Related users changed. | ||
| 297 | |||
| 298 | 2013-09-19 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 299 | |||
| 300 | Do not use external array to process X scroll bar messages. | ||
| 301 | * xterm.c (scroll_bar_windows, scroll_bar_windows_size): Remove. | ||
| 302 | (x_send_scroll_bar_event): Pack window pointer into two slots | ||
| 303 | of XClientMessageEvent if we're 64-bit. Adjust comment. | ||
| 304 | (x_scroll_bar_to_input_event): Unpack accordingly. | ||
| 305 | |||
| 306 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 307 | |||
| 308 | Ifdef away recent changes which aren't relevant to NS port. | ||
| 309 | * dispextern.h (x_mouse_grabbed, x_redo_mouse_highlight) | ||
| 310 | [!HAVE_NS]: Declare as such. | ||
| 311 | * frame.c (x_mouse_grabbed, x_redo_mouse_highlight) | ||
| 312 | [!HAVE_NS]: Define as such. | ||
| 313 | |||
| 314 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 315 | |||
| 316 | * frame.c (x_redo_mouse_highlight): New function | ||
| 317 | to factor out common code used in W32 and X ports. | ||
| 318 | * dispextern.h (x_redo_mouse_highlight): Add prototype. | ||
| 319 | * xterm.h (struct x_display_info): | ||
| 320 | * w32term.h (struct w32_display_info): | ||
| 321 | * nsterm.h (struct ns_display_info): New members | ||
| 322 | last_mouse_motion_frame, last_mouse_motion_x and | ||
| 323 | last_mouse_motion_y, going to replace static variables below. | ||
| 324 | * xterm.c (last_mouse_motion_event, last_mouse_motion_frame) | ||
| 325 | (redo_mouse_highlight): Remove. | ||
| 326 | (note_mouse_movement, syms_of_xterm): Adjust user. | ||
| 327 | (handle_one_xevent): Likewise. Use x_redo_mouse_highlight. | ||
| 328 | * w32term.c (last_mouse_motion_event, last_mouse_motion_frame) | ||
| 329 | (redo_mouse_highlight): Remove. | ||
| 330 | (note_mouse_movement, syms_of_w32term): Adjust user. | ||
| 331 | (w32_read_socket): Likewise. Use x_redo_mouse_highlight. | ||
| 332 | * nsterm.m (last_mouse_motion_position, last_mouse_motion_frame): | ||
| 333 | Remove. | ||
| 334 | (note_mouse_movement, mouseMoved, syms_of_nsterm): | ||
| 335 | * nsfns.m (compute_tip_xy): Adjust user. | ||
| 336 | |||
| 337 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 338 | |||
| 339 | * frame.c (x_mouse_grabbed): New function. | ||
| 340 | * dispextern.h (x_mouse_grabbed): Add prototype. | ||
| 341 | (last_mouse_frame): Remove declaration. | ||
| 342 | * xterm.h (struct x_display_info): | ||
| 343 | * w32term.h (struct w32_display_info): | ||
| 344 | * nsterm.h (struct ns_display_info): New member | ||
| 345 | last_mouse_frame, going to replace... | ||
| 346 | * xdisp.c (last_mouse_frame): ...global variable. | ||
| 347 | (note_tool_bar_highlight): | ||
| 348 | * w32term.c (w32_mouse_position, w32_read_socket): | ||
| 349 | * xterm.c (XTmouse_position, handle_one_xevent): | ||
| 350 | Use x_mouse_grabbed. | ||
| 351 | * nsterm.m (ns_mouse_position, mouseDown): Adjust user. | ||
| 352 | |||
| 353 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 354 | |||
| 355 | * w32term.c (w32_read_socket): Avoid temporary | ||
| 356 | variables in a call to x_real_positions. | ||
| 357 | * xterm.c (handle_one_xevent): Likewise. | ||
| 358 | |||
| 359 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 360 | |||
| 361 | * frame.h (x_set_bitmap_icon) [!HAVE_NS]: New function. | ||
| 362 | (x_icon_type): Remove prototype. | ||
| 363 | (x_bitmap_icon) [!HAVE_NS]: Declare as such. | ||
| 364 | * frame.c (x_icon_type): Remove. | ||
| 365 | * w32term.c (x_make_frame_visible, x_iconify_frame): | ||
| 366 | * xterm.c (x_make_frame_visible, x_iconify_frame): | ||
| 367 | Use x_set_bitmap_icon to factor out common code. | ||
| 368 | |||
| 369 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 370 | |||
| 371 | * dispextern.h (check_x_display_info, x_get_string_resource): | ||
| 372 | Declare here just once and unify the latter. | ||
| 373 | * frame.c (check_x_display_info, x_get_string_resource): | ||
| 374 | * nsterm.h (check_x_display_info): | ||
| 375 | * xrdb.c (x_get_string_resource): | ||
| 376 | * xterm.h (check_x_display_info): Remove prototypes. | ||
| 377 | * nsfns.m (x_get_string_resource): Likewise. Adjust definition. | ||
| 378 | * w32reg.c (x_get_string_resource): Likewise. | ||
| 379 | (w32_get_rdb_resource): Adjust user. | ||
| 380 | |||
| 381 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 382 | |||
| 383 | * xterm.h (struct x_display_info): New member | ||
| 384 | x_pending_autoraise_frame, going to replace... | ||
| 385 | * xterm.c (pending_autoraise_frame): ...static variable. | ||
| 386 | (x_new_focus_frame, XTread_socket): Adjust users. | ||
| 387 | * w32term.h (struct w32_display_info): New member | ||
| 388 | w32_pending_autoraise_frame, going to replace... | ||
| 389 | * w32term.c (pending_autoraise_frame): ...global variable. | ||
| 390 | (x_new_focus_frame, w32_read_socket): Adjust users. | ||
| 391 | |||
| 392 | 2013-09-17 Glenn Morris <rgm@gnu.org> | ||
| 393 | |||
| 394 | * xdisp.c (message_dolog): If we create *Messages*, | ||
| 395 | switch it to messages-buffer-mode. | ||
| 396 | |||
| 397 | 2013-09-17 Paul Eggert <eggert@cs.ucla.edu> | ||
| 398 | |||
| 399 | Don't overuse 'const' in types of locals. | ||
| 400 | * bidi.c (bidi_count_bytes): | ||
| 401 | * gtkutil.c, gtkutil.h (xg_event_is_for_menubar) | ||
| 402 | (xg_event_is_for_scrollbar): | ||
| 403 | * xselect.c (x_handle_property_notify) | ||
| 404 | (x_handle_selection_notify, x_handle_dnd_message): | ||
| 405 | * xsettings.c, xsettings.h (xft_settings_event): | ||
| 406 | * xterm.c (x_handle_net_wm_state, handle_one_event) | ||
| 407 | (x_menubar_window_to_frame, x_detect_focus_change) | ||
| 408 | (construct_mouse_click, note_mouse_movement) | ||
| 409 | (x_scroll_bar_to_input_event, x_scroll_bar_expose) | ||
| 410 | (x_scroll_bar_handle_click, x_scroll_bar_note_movement) | ||
| 411 | (handle_one_xevent, x_handle_net_wm_state): | ||
| 412 | * xterm.h (x_handle_property_notify, x_handle_selection_notify) | ||
| 413 | (x_handle_dnd_message): | ||
| 414 | Avoid unnecessary 'const', typically the second 'const' in | ||
| 415 | 'const foo * const arg', a 'const' that does not affect the API | ||
| 416 | and doesn't significantly help the human reader. | ||
| 417 | |||
| 418 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 419 | |||
| 420 | * image.c (fn_g_type_init) [WINDOWSNT]: Define and load | ||
| 421 | only if Glib < 2.36.0. | ||
| 422 | (fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0. | ||
| 423 | * xsettings.c (init_gconf, init_gsettings): Do not check | ||
| 424 | for g_type_init. | ||
| 425 | * xterm.c (handle_one_xevent): Do not call to x_clear_area | ||
| 426 | if GTK >= 2.7.0. | ||
| 427 | (toplevel) [USE_MOTIF]: Include xlwmenu.h to pacify GCC. | ||
| 428 | |||
| 429 | 2013-09-16 Jan Djärv <jan.h.d@swipnet.se> | ||
| 430 | |||
| 431 | * xsettings.c (init_gconf, init_gsettings): Check for Glib 2.36.0 | ||
| 432 | before calling g_type_init. | ||
| 433 | |||
| 434 | * font.c (syms_of_font): Move call to syms_of_(ns|mac)font ... | ||
| 435 | |||
| 436 | * nsterm.m (syms_of_nsterm): ... to here. | ||
| 437 | |||
| 438 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 439 | |||
| 440 | * xterm.c (toolkit_scroll_bar_interaction): Use bool for boolean. | ||
| 441 | (ignore_next_mouse_click_timeout): Use Time as X does. | ||
| 442 | (handle_one_xevent): Avoid cast and use unsigned comparison. | ||
| 443 | |||
| 444 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 445 | |||
| 446 | Do not copy X event in handle_one_xevent except KeyPress case. | ||
| 447 | Wnen XEvent is processed, it is unlikely to be changed except | ||
| 448 | KeyPress case, so we can avoid copying and use const pointer to | ||
| 449 | const data to make sure that an event is not changed elsewhere. | ||
| 450 | * xterm.c (handle_one_xevent): Change 2nd arg to 'const XEvent * | ||
| 451 | const' and do not create local copy except for the KeyPress event. | ||
| 452 | Use casts to avoid a few glitches. Adjust formatting. Add comments. | ||
| 453 | (SET_SAVED_BUTTON_EVENT): Remove and move the code to the only user. | ||
| 454 | (x_handle_net_wm_state, x_menubar_window_to_frame) | ||
| 455 | (x_detect_focus_change, construct_mouse_click, note_mouse_movement) | ||
| 456 | (x_scroll_bar_to_input_event, x_scroll_bar_expose) | ||
| 457 | (x_scroll_bar_handle_click, x_scroll_bar_note_movement): | ||
| 458 | * gtkutil.c (xg_event_is_for_menubar, xg_event_is_for_scrollbar): | ||
| 459 | * xselect.c (x_handle_property_notify, x_handle_selection_notify) | ||
| 460 | (x_handle_dnd_message): | ||
| 461 | * xsettings.c (xft_settings_event): | ||
| 462 | Use 'const XEvent * const' where appropriate. | ||
| 463 | * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes. | ||
| 464 | |||
| 465 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 466 | |||
| 467 | Fix X event waiting to handle multiple frames. | ||
| 468 | * frame.h (struct frame) [HAVE_X_WINDOWS]: New member wait_event_type. | ||
| 469 | * xterm.c (pending_event_wait): Remove. Adjust users. | ||
| 470 | (x_detect_focus_change): Pass frame arg. | ||
| 471 | (handle_one_xevent): Find related frame early and clear per-frame | ||
| 472 | wait_event_type only if this is an event for the relevant frame. | ||
| 473 | (x_wait_for_event): Use per-frame wait_event_type. | ||
| 474 | |||
| 475 | 2013-09-15 Jan Djärv <jan.h.d@swipnet.se> | ||
| 476 | |||
| 477 | * nsfns.m (Fx_create_frame): Fix font driver registration for | ||
| 478 | GNUStep. | ||
| 479 | |||
| 480 | * font.c (syms_of_font): Check MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | ||
| 481 | for syms_of_macfont. | ||
| 482 | |||
| 483 | * nsterm.m: Include macfont.h. | ||
| 484 | (ns_tmp_flags, ns_tmp_font): Remove. | ||
| 485 | (ns_compute_glyph_string_overhangs): Check for driver Qns. | ||
| 486 | (ns_draw_glyph_string): Use local variables instead of ns_tmp_flags, | ||
| 487 | ns_tmp_font. Call ns_draw_text_decoration here instead of nsfont.m. | ||
| 488 | (changeFont:): Fix code style. Check for font driver type when | ||
| 489 | getiing font. | ||
| 490 | |||
| 491 | * nsterm.h (FONT_DESCENT, FONT_ASCENT): Define to (f)->ascent and | ||
| 492 | (f)->descent. | ||
| 493 | |||
| 494 | * nsfont.m (ns_tmp_flags, ns_tmp_font): Remove. | ||
| 495 | (nsfont_open): Set font driver type. | ||
| 496 | Set font->ascent and font->descent. Figure out font instead of | ||
| 497 | ns_tmp_font, and flags instead of ns_tmp_flags. | ||
| 498 | Fix indentation. Remove call to ns_draw_text_decoration, | ||
| 499 | moved to nsterm. | ||
| 500 | |||
| 501 | * nsfns.m: Include macfont.h. | ||
| 502 | (Fx_create_frame): Register macfont driver, make a better default font. | ||
| 503 | (Fns_popup_font_panel): Get font from macfont driver, if used. | ||
| 504 | |||
| 505 | * macfont.m, macfont.h, maccuvs.h: New files. | ||
| 506 | |||
| 507 | * font.h: Declare syms_of_macfont. | ||
| 508 | |||
| 509 | * font.c (syms_of_font): Call syms_of_macfont. | ||
| 510 | |||
| 511 | * Makefile.in (NS_OBJ, SOME_MACHINE_OBJECTS): Add macfont.o. | ||
| 512 | |||
| 513 | 2013-09-15 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 514 | |||
| 515 | Drop VERTICAL_SCROLL_BAR_WIDTH_TRIM. For X, it is zero since 1999, | ||
| 516 | and it is always zero for others, so I assume that this is an ancient | ||
| 517 | leftover which nobody will want to change any more. | ||
| 518 | * xterm.h, w32term.h, nsterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Remove. | ||
| 519 | (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): | ||
| 520 | * frame.c (x_set_scroll_bar_width): | ||
| 521 | * w32fns.c (w32_createscrollbar): | ||
| 522 | * w32term.c (w32_set_vertical_scroll_bar): | ||
| 523 | * xfns.c (x_set_scroll_bar_default_width): | ||
| 524 | * xterm.c (XTflash, x_scroll_bar_create, XTset_vertical_scroll_bar) | ||
| 525 | (x_scroll_bar_expose): Related users changed. | ||
| 526 | |||
| 527 | 2013-09-15 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 528 | |||
| 529 | * xterm.h (FRAME_X_SCREEN_NUMBER): Add comment. | ||
| 530 | (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER. | ||
| 531 | (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]: | ||
| 532 | Define as such. | ||
| 533 | * frame.h (FRAME_SMALLEST_CHAR_WIDTH, FRAME_SMALLEST_FONT_HEIGHT): | ||
| 534 | Define once here... | ||
| 535 | * nsterm.h, w32term.h, xterm.h: ...and not here. | ||
| 536 | * w32term.h (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET): | ||
| 537 | Remove unused Xisms. | ||
| 538 | * xterm.c, xfns.c (toplevel): Remove #ifdef HAVE_X_WINDOWS because | ||
| 539 | these modules are never compiled otherwise. | ||
| 540 | |||
| 541 | 2013-09-14 Eli Zaretskii <eliz@gnu.org> | ||
| 542 | |||
| 543 | * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>: | ||
| 544 | Doc fix. (Bug#15375) | ||
| 545 | |||
| 546 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 547 | |||
| 548 | Unify Fx_focus_frame between all ports. | ||
| 549 | * frame.h (x_focus_frame): New prototype. | ||
| 550 | * xfns.c (Fx_focus_frame): Remove. | ||
| 551 | (syms_of_xfns): Do not defsubr it. | ||
| 552 | (x_focus_frame): X implementation. | ||
| 553 | * nsfns.m (Fx_focus_frame): Remove. | ||
| 554 | (syms_of_nsfns): Do not defsubr it. | ||
| 555 | (x_focus_frame): NS implementation. | ||
| 556 | * w32term.c (Fx_focus_frame): Remove. | ||
| 557 | (x_focus_on_frame): Rename to... | ||
| 558 | (x_focus_frame): W32 implementation. | ||
| 559 | * w32term.h (x_focus_on_frame): Remove prototype. | ||
| 560 | * w32fns.c (Fx_focus_frame): Remove. | ||
| 561 | (syms_of_w32fns): Do not defsubr it. | ||
| 562 | * frame.c (Fx_focus_frame): Define here. | ||
| 563 | (syms_of_frame): Defsubr here. | ||
| 564 | * gtkutil.c (xg_tool_bar_callback): Use x_focus_frame. | ||
| 565 | |||
| 566 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 567 | |||
| 568 | Unify FRAME_window_system_DISPLAY_INFO macros between all ports. | ||
| 569 | All of them are replaced with FRAME_DISPLAY_INFO, defined in | ||
| 570 | each port to reference the port-specific window system data. | ||
| 571 | * msdos.h (FRAME_X_DISPLAY_INFO): Remove. | ||
| 572 | (FRAME_DISPLAY_INFO): Define. | ||
| 573 | * w32term.h (FRAME_W32_DISPLAY_INFO, FRAME_X_DISPLAY_INFO): Remove. | ||
| 574 | (FRAME_DISPLAY_INFO): Define. Adjust users. | ||
| 575 | * xterm.h (FRAME_X_DISPLAY_INFO): Remove. | ||
| 576 | (FRAME_DISPLAY_INFO): Define. Adjust users. | ||
| 577 | * frame.h (FRAME_RES_X, FRAME_RES_Y): Unify. | ||
| 578 | * font.c, frame.c, gtkutil.c, image.c, menu.c, msdos.c, nsfns.m: | ||
| 579 | * nsfont.m, nsterm.m, w32fns.c, w32font.c, w32menu.c, w32term.c: | ||
| 580 | * w32xfns.c, widget.c, xdisp.c, xfaces.c, xfns.c, xfont.c, xmenu.c: | ||
| 581 | * xselect.c, xterm.c: All related users changed. | ||
| 582 | |||
| 583 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 584 | |||
| 585 | * xterm.h (x_window_to_frame, x_any_window_to_frame) | ||
| 586 | (x_menubar_window_to_frame): Remove prototypes. | ||
| 587 | * xfns.c (x_window_to_frame, x_any_window_to_frame) | ||
| 588 | (x_menubar_window_to_frame, x_top_window_to_frame): | ||
| 589 | Move from here... | ||
| 590 | * xterm.c (x_window_to_frame, x_any_window_to_frame) | ||
| 591 | (x_menubar_window_to_frame, x_top_window_to_frame): | ||
| 592 | ...to here and convert all but the last to static. | ||
| 593 | |||
| 594 | 2013-09-12 Eli Zaretskii <eliz@gnu.org> | ||
| 595 | |||
| 596 | * lisp.mk (lisp): Add w32-common-fns.elc. | ||
| 597 | |||
| 598 | 2013-09-12 Xue Fuqiao <xfq.free@gmail.com> | ||
| 599 | |||
| 600 | * charset.c (char_charset): Document an exception for char-charset. | ||
| 601 | |||
| 602 | 2013-09-12 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 603 | |||
| 604 | * xterm.h (x_display_info): New field last_user_time... | ||
| 605 | * xterm.c (toplevel): ...to replace static last_user_time. | ||
| 606 | (handle_one_xevent, x_ewmh_activate_frame): Adjust users. | ||
| 607 | |||
| 608 | 2013-09-12 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 609 | |||
| 610 | * xterm.c (x_set_scroll_bar_thumb) [USE_LUCID && !HAVE_XAW3D]: Clip | ||
| 611 | scroll bar values to prevent thumb from disappear and update comment. | ||
| 612 | |||
| 613 | 2013-09-11 Glenn Morris <rgm@gnu.org> | ||
| 614 | |||
| 615 | * emacs.c (usage_message): Possessive apostrophe tweak. | ||
| 616 | |||
| 617 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 618 | |||
| 619 | * nsterm.m (syms_of_nsterm): Use Qns. | ||
| 620 | * w32fns.c (Fx_open_connection): Remove old '#if 0' code. | ||
| 621 | * w32term.c (w32_create_terminal, syms_of_w32term): Use Qw32. | ||
| 622 | * xfns.c (x_display_info_for_name, Fx_open_connection): | ||
| 623 | Remove old '#if 0' code. | ||
| 624 | (syms_of_xfns): Use Qx. | ||
| 625 | * termhooks.h (fullscreen_hook): Remove the leftover. | ||
| 626 | (struct terminal): Fix typo in comment. | ||
| 627 | |||
| 628 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 629 | |||
| 630 | Cleaning up a few X scroll bar bits. | ||
| 631 | * termhooks.h (enum scroll_bar_part): Add scroll_bar_nowhere member. | ||
| 632 | * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]: | ||
| 633 | New member last_seen_part, going to replace... | ||
| 634 | * xterm.c [USE_TOOLKIT_SCROLL_BARS]: ...global last_scroll_bar_part. | ||
| 635 | (xt_action_hook) [USE_LUCID]: Adjust user. | ||
| 636 | (xm_scroll_callback, xg_scroll_callback): Do not bloat with | ||
| 637 | Lucid-specific scroll bar support. | ||
| 638 | (xaw_jump_callback, xaw_scroll_callback): Prefer enum scroll_par_part | ||
| 639 | to int and adjust to use last_seen_part member. | ||
| 640 | (x_set_toolkit_scroll_bar_thumb) [USE_LUCID]: Adjust user. | ||
| 641 | (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]: | ||
| 642 | Initialize last_seen_part. | ||
| 643 | |||
| 644 | 2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 645 | |||
| 646 | * insdel.c (insert_from_buffer_1): Don't mark buffer as modified when | ||
| 647 | insert-buffer-substring an empty string. | ||
| 648 | |||
| 649 | 2013-09-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 650 | |||
| 651 | * xdisp.c (Ftool_bar_lines_needed): Declare as 'const' if ifdeffed out, | ||
| 652 | avoiding a GCC warning. | ||
| 653 | |||
| 654 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 655 | |||
| 656 | Ifdef away frame tool bar code when it is not really used. | ||
| 657 | * frame.h (struct frame) [HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS]: | ||
| 658 | Move tool_bar_window, desired_tool_bar_string, current_tool_bar_string | ||
| 659 | and minimize_tool_bar_window_p under the above. | ||
| 660 | (fset_current_tool_bar_string, fset_desired_tool_bar_string) | ||
| 661 | (fset_tool_bar_window): Likewise. | ||
| 662 | * dispnew.c (clear_current_matrices, clear_desired_matrices) | ||
| 663 | (adjust_frame_glyphs_for_window_redisplay, free_glyphs, update_frame) | ||
| 664 | (change_frame_size_1): | ||
| 665 | * window.c (window_from_coordinates, Frecenter): Adjust users. | ||
| 666 | * window.h (WINDOW_TOOL_BAR_P): Define to zero when frame tool bar | ||
| 667 | code is not really used. | ||
| 668 | * xdisp.c (build_desired_tool_bar_string, display_tool_bar_line) | ||
| 669 | (tool_bar_lines_needed, MAX_FRAME_TOOL_BAR_HEIGHT, tool_bar_item_info) | ||
| 670 | (get_tool_bar_item, handle_tool_bar_click, note_tool_bar_highlight) | ||
| 671 | [!USE_GTK && !HAVE_NS]: Define as such. | ||
| 672 | (Ftool_bar_lines_needed, redisplay_tool_bar, show_mouse_face) | ||
| 673 | (note_mouse_highlight, expose_frame): | ||
| 674 | * xfns.c (x_set_tool_bar_lines): | ||
| 675 | * xterm.c (handle_one_xevent): Adjust users. | ||
| 676 | |||
| 677 | 2013-09-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 678 | |||
| 679 | Fix corruption with multiple emacsclient -t instances (Bug#15222). | ||
| 680 | This bug was introduced by my 2013-08-26 patch, which incorrectly | ||
| 681 | assumed that the terminfo implementation doesn't use termcap buffers. | ||
| 682 | * term.c (init_tty) [TERMINFO]: Remove optimization, as | ||
| 683 | these buffers apparently are used after all. | ||
| 684 | * termchar.h (TERMCAP_BUFFER_SIZE) [TERMINFO]: Define here too. | ||
| 685 | (struct tty_display_info): Define members termcap_term_buffer and | ||
| 686 | termcap_strings_buffer even if TERMINFO. | ||
| 687 | |||
| 688 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 689 | |||
| 690 | Fix last change. | ||
| 691 | * data.c (Feqlsign, Flss, Fgtr, Fleq, Fgeq): Add convenient | ||
| 692 | 'usage' docstring entry to pacify make-docfile. | ||
| 693 | |||
| 694 | 2013-09-11 Barry O'Reilly <gundaetiapo@gmail.com> | ||
| 695 | |||
| 696 | Change comparison functions =, <, >, <=, >= to take many arguments. | ||
| 697 | * data.c: Change comparison functions' interface and implementation. | ||
| 698 | * lisp.h: Make arithcompare available for efficient two arg | ||
| 699 | comparisons. | ||
| 700 | * bytecode.c: Use arithcompare. | ||
| 701 | * fileio.c: Use new interface. | ||
| 702 | |||
| 703 | 2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 704 | |||
| 705 | * keyboard.c (read_char): Don't break immediate_echo (bug#15332). | ||
| 706 | |||
| 707 | 2013-09-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 708 | |||
| 709 | * eval.c (Feval): Document the new use of `lexical'. | ||
| 710 | |||
| 711 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 712 | |||
| 713 | Review and drop old frame resize hack. | ||
| 714 | * frame.h (struct frame): Remove force_flush_display_p. | ||
| 715 | * dispnew.c (update_frame): Adjust user and don't call | ||
| 716 | flush_frame here. The comment has said that there was an issues | ||
| 717 | with redisplaying fringes, but I don't see any differences with | ||
| 718 | and without this hack. Hopefully we can continue without it. | ||
| 719 | * xdisp.c (clear_garbaged_frames): Adjust user and do not clear | ||
| 720 | current frame matrices twice if resized_p is set. | ||
| 721 | |||
| 722 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 723 | |||
| 724 | Do not populate pure Xism x_sync to other ports. | ||
| 725 | * frame.h (x_sync): Move under HAVE_X_WINDOWS. | ||
| 726 | * frame.c (other_visible_frames) [HAVE_X_WINDOWS]: Use as such. | ||
| 727 | * nsfns.m, w32xfns.c (x_sync): Remove no-op. | ||
| 728 | * w32term.h (x_sync): Remove prototype. | ||
| 729 | |||
| 730 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 731 | |||
| 732 | Cleanup frame flushing. | ||
| 733 | * dispextern.h (struct redisplay_interface): | ||
| 734 | Drop flush_display_optional because flush_display is enough | ||
| 735 | for X and flushing via RIF is just a no-op for others. | ||
| 736 | * frame.h (flush_frame): New function. | ||
| 737 | * dispnew.c (update_frame): | ||
| 738 | * minibuf.c (read_minibuf): | ||
| 739 | * xdisp.c (echo_area_display, redisplay_preserve_echo_area): | ||
| 740 | Use it. | ||
| 741 | * keyboard.c (detect_input_pending_run_timers): Do not flush | ||
| 742 | all frames but selected one in redisplay_preserve_echo_area. | ||
| 743 | * nsterm.m (ns_flush): Remove no-op. | ||
| 744 | (ns_redisplay_interface): Adjust user. | ||
| 745 | * w32term.h (x_flush): Remove no-op. | ||
| 746 | (w32_redisplay_interface): Adjust user. | ||
| 747 | * xterm.c (x_flush): Simplify because we do not flush all | ||
| 748 | frames at once any more. Adjust comment. | ||
| 749 | (x_redisplay_interface): Adjust user. | ||
| 750 | |||
| 751 | 2013-09-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 752 | |||
| 753 | Port --without-x --enable-gcc-warnings to Fedora 19. | ||
| 754 | * gfilenotify.c (globals_of_gfilenotify): | ||
| 755 | Call g_type_init only if using an older glib version that needs it. | ||
| 756 | |||
| 757 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 758 | |||
| 759 | * lisp.h (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) | ||
| 760 | (last_glyphless_glyph_merged_face_id): Remove declarations. | ||
| 761 | * dispextern.h (merge_glyphless_glyph_face): Add prototype. | ||
| 762 | * xdisp.c (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) | ||
| 763 | (last_glyphless_glyph_merged_face_id): Now static. | ||
| 764 | (merge_escape_glyph_face): New function, refactored from... | ||
| 765 | (get_next_display_element): ...here. | ||
| 766 | (merge_glyphless_glyph_face): New function, refactored from... | ||
| 767 | (produce_glyphless_glyph): ...here... | ||
| 768 | * term.c (produce_glyphless_glyph): ...and here. | ||
| 769 | |||
| 770 | 2013-09-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 771 | |||
| 772 | * eval.c (eval_sub): Only call Ffunction if necessary. | ||
| 773 | |||
| 774 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 775 | |||
| 776 | Attempt to make redisplay more selective when changing cursor type. | ||
| 777 | * frame.h (struct frame): New bitfield cursor_type_changed. | ||
| 778 | * xdisp.c (cursor_type_changed): Remove. | ||
| 779 | (try_cursor_movement, redisplay_window, try_window_id) | ||
| 780 | (set_frame_cursor_types, try_window_reusing_current_matrix): | ||
| 781 | Adjust to use per-frame bitfield. | ||
| 782 | (redisplay_internal): Look for cursor type change on each visible | ||
| 783 | frame and consider all frames if cursor type has been changed on | ||
| 784 | the frame other than selected. If cursor type has been changed on | ||
| 785 | selected frame only, do not use fast update. | ||
| 786 | |||
| 787 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 788 | |||
| 789 | Attempt to make redisplay more selective when changing fonts. | ||
| 790 | * frame.h (struct frame): New bitfield fonts_changed. | ||
| 791 | * dispextern.h (fonts_changed_p, adjust_glyphs): Remove declaration. | ||
| 792 | (adjust_frame_glyphs): Add prototype. | ||
| 793 | * dispnew.c (fonts_changed_p): Remove. | ||
| 794 | (adjust_glyphs): Remove because we do not | ||
| 795 | adjust matrices on all frames at once any more. | ||
| 796 | (adjust_frame_glyphs): Block and unblock input here. | ||
| 797 | (adjust_glyph_matrix): Use fonts_changed. | ||
| 798 | (change_frame_size_1): Use adjust_frame_glyphs. | ||
| 799 | * font.c (font_open_entity): Use fonts_changed. | ||
| 800 | * frame.c (set_menu_bar_lines, Fmake_terminal_frame): | ||
| 801 | * w32fns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip): | ||
| 802 | * window.c (Fdelete_other_windows_internal, Fwindow_resize_apply) | ||
| 803 | (Fsplit_window_internal, Fdelete_window_internal, grow_mini_window) | ||
| 804 | (shrink_mini_window, Fresize_mini_window_internal) | ||
| 805 | (window_scroll_pixel_based, Fset_window_configuration) | ||
| 806 | (apply_window_adjustment, Fset_window_vscroll): | ||
| 807 | * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip): | ||
| 808 | Use adjust_frame_glyphs. | ||
| 809 | * xdisp.c (redisplay_tool_bar, redisplay_window, try_window) | ||
| 810 | (try_window_reusing_current_matrix, try_window_id, display_line) | ||
| 811 | (IT_EXPAND_MATRIX_WIDTH): Use fonts_changed. | ||
| 812 | (redisplay_internal): Consider fonts_changed and adjust frame | ||
| 813 | matrices for each frame only if the frame is visible. If font | ||
| 814 | has been changed on some frame during full redisplay, retry | ||
| 815 | only visible frames where the font has been actually changed. | ||
| 816 | |||
| 817 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 818 | |||
| 819 | Cache current header and mode line height for each window. | ||
| 820 | * window.h (struct window): New fields mode_line_height | ||
| 821 | and header_line_height. | ||
| 822 | * window.c (make_window): Initialize them. | ||
| 823 | * dispextern.h (CURRENT_MODE_LINE_HEIGHT) | ||
| 824 | (CURRENT_HEADER_LINE_HEIGHT): Use them. Adjust comment. | ||
| 825 | (current_mode_line_height, current_header_line_height): | ||
| 826 | Remove declaration. | ||
| 827 | * xdisp.c (current_mode_line_height, current_header_line_height): | ||
| 828 | Remove. | ||
| 829 | (pos_visible_p, init_xdisp): Adjust user. | ||
| 830 | (redisplay_window): Invalidate mode_line_height and | ||
| 831 | header_line_height if current and desired matrices do not agree. | ||
| 832 | |||
| 833 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 834 | |||
| 835 | * fontset.c, window.c, xdisp.c (toplevel): Use TERM_HEADER. | ||
| 836 | * xfaces.c (toplevel) [HAVE_X_WINDOWS]: Do not include xterm.h twice. | ||
| 837 | |||
| 1 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> | 838 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 839 | ||
| 3 | Make --without-x compatible with --enable-gcc-warnings. | 840 | Make --without-x compatible with --enable-gcc-warnings. |
diff --git a/src/Makefile.in b/src/Makefile.in index fe8d2d13ce0..254aa175d49 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -266,7 +266,7 @@ MSDOS_OBJ = | |||
| 266 | MSDOS_X_OBJ = | 266 | MSDOS_X_OBJ = |
| 267 | 267 | ||
| 268 | NS_OBJ=@NS_OBJ@ | 268 | NS_OBJ=@NS_OBJ@ |
| 269 | ## nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o if HAVE_NS. | 269 | ## nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o if HAVE_NS. |
| 270 | NS_OBJC_OBJ=@NS_OBJC_OBJ@ | 270 | NS_OBJC_OBJ=@NS_OBJC_OBJ@ |
| 271 | ## Only set if NS_IMPL_GNUSTEP. | 271 | ## Only set if NS_IMPL_GNUSTEP. |
| 272 | GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ | 272 | GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ |
| @@ -388,7 +388,7 @@ obj = $(base_obj) $(NS_OBJC_OBJ) | |||
| 388 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ | 388 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ |
| 389 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ | 389 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ |
| 390 | fontset.o dbusbind.o cygw32.o \ | 390 | fontset.o dbusbind.o cygw32.o \ |
| 391 | nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ | 391 | nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o \ |
| 392 | w32.o w32console.o w32fns.o w32heap.o w32inevt.o w32notify.o \ | 392 | w32.o w32console.o w32fns.o w32heap.o w32inevt.o w32notify.o \ |
| 393 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ | 393 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ |
| 394 | w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \ | 394 | w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \ |
diff --git a/src/alloc.c b/src/alloc.c index a8cbee1cf36..621693fc096 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -20,8 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define LISP_INLINE EXTERN_INLINE | ||
| 24 | |||
| 25 | #include <stdio.h> | 23 | #include <stdio.h> |
| 26 | #include <limits.h> /* For CHAR_BIT. */ | 24 | #include <limits.h> /* For CHAR_BIT. */ |
| 27 | 25 | ||
| @@ -47,6 +45,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 47 | 45 | ||
| 48 | #include <verify.h> | 46 | #include <verify.h> |
| 49 | 47 | ||
| 48 | #if (defined ENABLE_CHECKING \ | ||
| 49 | && defined HAVE_VALGRIND_VALGRIND_H \ | ||
| 50 | && !defined USE_VALGRIND) | ||
| 51 | # define USE_VALGRIND 1 | ||
| 52 | #endif | ||
| 53 | |||
| 54 | #if USE_VALGRIND | ||
| 55 | #include <valgrind/valgrind.h> | ||
| 56 | #include <valgrind/memcheck.h> | ||
| 57 | static bool valgrind_p; | ||
| 58 | #endif | ||
| 59 | |||
| 50 | /* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects. | 60 | /* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects. |
| 51 | Doable only if GC_MARK_STACK. */ | 61 | Doable only if GC_MARK_STACK. */ |
| 52 | #if ! GC_MARK_STACK | 62 | #if ! GC_MARK_STACK |
| @@ -971,7 +981,7 @@ struct ablocks | |||
| 971 | #define ABLOCKS_BASE(abase) (abase) | 981 | #define ABLOCKS_BASE(abase) (abase) |
| 972 | #else | 982 | #else |
| 973 | #define ABLOCKS_BASE(abase) \ | 983 | #define ABLOCKS_BASE(abase) \ |
| 974 | (1 & (intptr_t) ABLOCKS_BUSY (abase) ? abase : ((void**)abase)[-1]) | 984 | (1 & (intptr_t) ABLOCKS_BUSY (abase) ? abase : ((void **)abase)[-1]) |
| 975 | #endif | 985 | #endif |
| 976 | 986 | ||
| 977 | /* The list of free ablock. */ | 987 | /* The list of free ablock. */ |
| @@ -1026,7 +1036,7 @@ lisp_align_malloc (size_t nbytes, enum mem_type type) | |||
| 1026 | 1036 | ||
| 1027 | aligned = (base == abase); | 1037 | aligned = (base == abase); |
| 1028 | if (!aligned) | 1038 | if (!aligned) |
| 1029 | ((void**)abase)[-1] = base; | 1039 | ((void **) abase)[-1] = base; |
| 1030 | 1040 | ||
| 1031 | #ifdef DOUG_LEA_MALLOC | 1041 | #ifdef DOUG_LEA_MALLOC |
| 1032 | /* Back to a reasonable maximum of mmap'ed areas. */ | 1042 | /* Back to a reasonable maximum of mmap'ed areas. */ |
| @@ -2003,6 +2013,34 @@ INIT must be an integer that represents a character. */) | |||
| 2003 | return val; | 2013 | return val; |
| 2004 | } | 2014 | } |
| 2005 | 2015 | ||
| 2016 | verify (sizeof (size_t) * CHAR_BIT == BITS_PER_SIZE_T); | ||
| 2017 | verify ((BITS_PER_SIZE_T & (BITS_PER_SIZE_T - 1)) == 0); | ||
| 2018 | |||
| 2019 | static ptrdiff_t | ||
| 2020 | bool_vector_payload_bytes (ptrdiff_t nr_bits, | ||
| 2021 | ptrdiff_t *exact_needed_bytes_out) | ||
| 2022 | { | ||
| 2023 | ptrdiff_t exact_needed_bytes; | ||
| 2024 | ptrdiff_t needed_bytes; | ||
| 2025 | |||
| 2026 | eassert_and_assume (nr_bits >= 0); | ||
| 2027 | |||
| 2028 | exact_needed_bytes = ROUNDUP ((size_t) nr_bits, CHAR_BIT) / CHAR_BIT; | ||
| 2029 | needed_bytes = ROUNDUP ((size_t) nr_bits, BITS_PER_SIZE_T) / CHAR_BIT; | ||
| 2030 | |||
| 2031 | if (needed_bytes == 0) | ||
| 2032 | { | ||
| 2033 | /* Always allocate at least one machine word of payload so that | ||
| 2034 | bool-vector operations in data.c don't need a special case | ||
| 2035 | for empty vectors. */ | ||
| 2036 | needed_bytes = sizeof (size_t); | ||
| 2037 | } | ||
| 2038 | |||
| 2039 | if (exact_needed_bytes_out != NULL) | ||
| 2040 | *exact_needed_bytes_out = exact_needed_bytes; | ||
| 2041 | |||
| 2042 | return needed_bytes; | ||
| 2043 | } | ||
| 2006 | 2044 | ||
| 2007 | DEFUN ("make-bool-vector", Fmake_bool_vector, Smake_bool_vector, 2, 2, 0, | 2045 | DEFUN ("make-bool-vector", Fmake_bool_vector, Smake_bool_vector, 2, 2, 0, |
| 2008 | doc: /* Return a new bool-vector of length LENGTH, using INIT for each element. | 2046 | doc: /* Return a new bool-vector of length LENGTH, using INIT for each element. |
| @@ -2011,37 +2049,43 @@ LENGTH must be a number. INIT matters only in whether it is t or nil. */) | |||
| 2011 | { | 2049 | { |
| 2012 | register Lisp_Object val; | 2050 | register Lisp_Object val; |
| 2013 | struct Lisp_Bool_Vector *p; | 2051 | struct Lisp_Bool_Vector *p; |
| 2014 | ptrdiff_t length_in_chars; | 2052 | ptrdiff_t exact_payload_bytes; |
| 2015 | EMACS_INT length_in_elts; | 2053 | ptrdiff_t total_payload_bytes; |
| 2016 | int bits_per_value; | 2054 | ptrdiff_t needed_elements; |
| 2017 | int extra_bool_elts = ((bool_header_size - header_size + word_size - 1) | ||
| 2018 | / word_size); | ||
| 2019 | 2055 | ||
| 2020 | CHECK_NATNUM (length); | 2056 | CHECK_NATNUM (length); |
| 2057 | if (PTRDIFF_MAX < XFASTINT (length)) | ||
| 2058 | memory_full (SIZE_MAX); | ||
| 2021 | 2059 | ||
| 2022 | bits_per_value = sizeof (EMACS_INT) * BOOL_VECTOR_BITS_PER_CHAR; | 2060 | total_payload_bytes = bool_vector_payload_bytes |
| 2061 | (XFASTINT (length), &exact_payload_bytes); | ||
| 2023 | 2062 | ||
| 2024 | length_in_elts = (XFASTINT (length) + bits_per_value - 1) / bits_per_value; | 2063 | eassert_and_assume (exact_payload_bytes <= total_payload_bytes); |
| 2064 | eassert_and_assume (0 <= exact_payload_bytes); | ||
| 2025 | 2065 | ||
| 2026 | val = Fmake_vector (make_number (length_in_elts + extra_bool_elts), Qnil); | 2066 | needed_elements = ROUNDUP ((size_t) ((bool_header_size - header_size) |
| 2067 | + total_payload_bytes), | ||
| 2068 | word_size) / word_size; | ||
| 2027 | 2069 | ||
| 2028 | /* No Lisp_Object to trace in there. */ | 2070 | p = (struct Lisp_Bool_Vector *) allocate_vector (needed_elements); |
| 2071 | XSETVECTOR (val, p); | ||
| 2029 | XSETPVECTYPESIZE (XVECTOR (val), PVEC_BOOL_VECTOR, 0, 0); | 2072 | XSETPVECTYPESIZE (XVECTOR (val), PVEC_BOOL_VECTOR, 0, 0); |
| 2030 | 2073 | ||
| 2031 | p = XBOOL_VECTOR (val); | ||
| 2032 | p->size = XFASTINT (length); | 2074 | p->size = XFASTINT (length); |
| 2033 | 2075 | if (exact_payload_bytes) | |
| 2034 | length_in_chars = ((XFASTINT (length) + BOOL_VECTOR_BITS_PER_CHAR - 1) | ||
| 2035 | / BOOL_VECTOR_BITS_PER_CHAR); | ||
| 2036 | if (length_in_chars) | ||
| 2037 | { | 2076 | { |
| 2038 | memset (p->data, ! NILP (init) ? -1 : 0, length_in_chars); | 2077 | memset (p->data, ! NILP (init) ? -1 : 0, exact_payload_bytes); |
| 2039 | 2078 | ||
| 2040 | /* Clear any extraneous bits in the last byte. */ | 2079 | /* Clear any extraneous bits in the last byte. */ |
| 2041 | p->data[length_in_chars - 1] | 2080 | p->data[exact_payload_bytes - 1] |
| 2042 | &= (1 << ((XFASTINT (length) - 1) % BOOL_VECTOR_BITS_PER_CHAR + 1)) - 1; | 2081 | &= (1 << ((XFASTINT (length) - 1) % BOOL_VECTOR_BITS_PER_CHAR + 1)) - 1; |
| 2043 | } | 2082 | } |
| 2044 | 2083 | ||
| 2084 | /* Clear padding at the end. */ | ||
| 2085 | memset (p->data + exact_payload_bytes, | ||
| 2086 | 0, | ||
| 2087 | total_payload_bytes - exact_payload_bytes); | ||
| 2088 | |||
| 2045 | return val; | 2089 | return val; |
| 2046 | } | 2090 | } |
| 2047 | 2091 | ||
| @@ -2567,24 +2611,22 @@ enum | |||
| 2567 | roundup_size = COMMON_MULTIPLE (word_size, USE_LSB_TAG ? GCALIGNMENT : 1) | 2611 | roundup_size = COMMON_MULTIPLE (word_size, USE_LSB_TAG ? GCALIGNMENT : 1) |
| 2568 | }; | 2612 | }; |
| 2569 | 2613 | ||
| 2570 | /* ROUNDUP_SIZE must be a power of 2. */ | ||
| 2571 | verify ((roundup_size & (roundup_size - 1)) == 0); | ||
| 2572 | |||
| 2573 | /* Verify assumptions described above. */ | 2614 | /* Verify assumptions described above. */ |
| 2574 | verify ((VECTOR_BLOCK_SIZE % roundup_size) == 0); | 2615 | verify ((VECTOR_BLOCK_SIZE % roundup_size) == 0); |
| 2575 | verify (VECTOR_BLOCK_SIZE <= (1 << PSEUDOVECTOR_SIZE_BITS)); | 2616 | verify (VECTOR_BLOCK_SIZE <= (1 << PSEUDOVECTOR_SIZE_BITS)); |
| 2576 | 2617 | ||
| 2577 | /* Round up X to nearest mult-of-ROUNDUP_SIZE. */ | 2618 | /* Round up X to nearest mult-of-ROUNDUP_SIZE --- use at compile time. */ |
| 2578 | 2619 | #define vroundup_ct(x) ROUNDUP ((size_t) (x), roundup_size) | |
| 2579 | #define vroundup(x) (((x) + (roundup_size - 1)) & ~(roundup_size - 1)) | 2620 | /* Round up X to nearest mult-of-ROUNDUP_SIZE --- use at runtime. */ |
| 2621 | #define vroundup(x) (assume ((x) >= 0), vroundup_ct (x)) | ||
| 2580 | 2622 | ||
| 2581 | /* Rounding helps to maintain alignment constraints if USE_LSB_TAG. */ | 2623 | /* Rounding helps to maintain alignment constraints if USE_LSB_TAG. */ |
| 2582 | 2624 | ||
| 2583 | #define VECTOR_BLOCK_BYTES (VECTOR_BLOCK_SIZE - vroundup (sizeof (void *))) | 2625 | #define VECTOR_BLOCK_BYTES (VECTOR_BLOCK_SIZE - vroundup_ct (sizeof (void *))) |
| 2584 | 2626 | ||
| 2585 | /* Size of the minimal vector allocated from block. */ | 2627 | /* Size of the minimal vector allocated from block. */ |
| 2586 | 2628 | ||
| 2587 | #define VBLOCK_BYTES_MIN vroundup (header_size + sizeof (Lisp_Object)) | 2629 | #define VBLOCK_BYTES_MIN vroundup_ct (header_size + sizeof (Lisp_Object)) |
| 2588 | 2630 | ||
| 2589 | /* Size of the largest vector allocated from block. */ | 2631 | /* Size of the largest vector allocated from block. */ |
| 2590 | 2632 | ||
| @@ -2605,22 +2647,6 @@ verify (VECTOR_BLOCK_SIZE <= (1 << PSEUDOVECTOR_SIZE_BITS)); | |||
| 2605 | 2647 | ||
| 2606 | #define VINDEX(nbytes) (((nbytes) - VBLOCK_BYTES_MIN) / roundup_size) | 2648 | #define VINDEX(nbytes) (((nbytes) - VBLOCK_BYTES_MIN) / roundup_size) |
| 2607 | 2649 | ||
| 2608 | /* Get and set the next field in block-allocated vectorlike objects on | ||
| 2609 | the free list. Doing it this way respects C's aliasing rules. | ||
| 2610 | We could instead make 'contents' a union, but that would mean | ||
| 2611 | changes everywhere that the code uses 'contents'. */ | ||
| 2612 | static struct Lisp_Vector * | ||
| 2613 | next_in_free_list (struct Lisp_Vector *v) | ||
| 2614 | { | ||
| 2615 | intptr_t i = XLI (v->contents[0]); | ||
| 2616 | return (struct Lisp_Vector *) i; | ||
| 2617 | } | ||
| 2618 | static void | ||
| 2619 | set_next_in_free_list (struct Lisp_Vector *v, struct Lisp_Vector *next) | ||
| 2620 | { | ||
| 2621 | v->contents[0] = XIL ((intptr_t) next); | ||
| 2622 | } | ||
| 2623 | |||
| 2624 | /* Common shortcut to setup vector on a free list. */ | 2650 | /* Common shortcut to setup vector on a free list. */ |
| 2625 | 2651 | ||
| 2626 | #define SETUP_ON_FREE_LIST(v, nbytes, tmp) \ | 2652 | #define SETUP_ON_FREE_LIST(v, nbytes, tmp) \ |
| @@ -2630,7 +2656,7 @@ set_next_in_free_list (struct Lisp_Vector *v, struct Lisp_Vector *next) | |||
| 2630 | eassert ((nbytes) % roundup_size == 0); \ | 2656 | eassert ((nbytes) % roundup_size == 0); \ |
| 2631 | (tmp) = VINDEX (nbytes); \ | 2657 | (tmp) = VINDEX (nbytes); \ |
| 2632 | eassert ((tmp) < VECTOR_MAX_FREE_LIST_INDEX); \ | 2658 | eassert ((tmp) < VECTOR_MAX_FREE_LIST_INDEX); \ |
| 2633 | set_next_in_free_list (v, vector_free_lists[tmp]); \ | 2659 | v->u.next = vector_free_lists[tmp]; \ |
| 2634 | vector_free_lists[tmp] = (v); \ | 2660 | vector_free_lists[tmp] = (v); \ |
| 2635 | total_free_vector_slots += (nbytes) / word_size; \ | 2661 | total_free_vector_slots += (nbytes) / word_size; \ |
| 2636 | } while (0) | 2662 | } while (0) |
| @@ -2644,7 +2670,7 @@ struct large_vector | |||
| 2644 | struct large_vector *vector; | 2670 | struct large_vector *vector; |
| 2645 | #if USE_LSB_TAG | 2671 | #if USE_LSB_TAG |
| 2646 | /* We need to maintain ROUNDUP_SIZE alignment for the vector member. */ | 2672 | /* We need to maintain ROUNDUP_SIZE alignment for the vector member. */ |
| 2647 | unsigned char c[vroundup (sizeof (struct large_vector *))]; | 2673 | unsigned char c[vroundup_ct (sizeof (struct large_vector *))]; |
| 2648 | #endif | 2674 | #endif |
| 2649 | } next; | 2675 | } next; |
| 2650 | struct Lisp_Vector v; | 2676 | struct Lisp_Vector v; |
| @@ -2727,7 +2753,7 @@ allocate_vector_from_block (size_t nbytes) | |||
| 2727 | if (vector_free_lists[index]) | 2753 | if (vector_free_lists[index]) |
| 2728 | { | 2754 | { |
| 2729 | vector = vector_free_lists[index]; | 2755 | vector = vector_free_lists[index]; |
| 2730 | vector_free_lists[index] = next_in_free_list (vector); | 2756 | vector_free_lists[index] = vector->u.next; |
| 2731 | total_free_vector_slots -= nbytes / word_size; | 2757 | total_free_vector_slots -= nbytes / word_size; |
| 2732 | return vector; | 2758 | return vector; |
| 2733 | } | 2759 | } |
| @@ -2741,7 +2767,7 @@ allocate_vector_from_block (size_t nbytes) | |||
| 2741 | { | 2767 | { |
| 2742 | /* This vector is larger than requested. */ | 2768 | /* This vector is larger than requested. */ |
| 2743 | vector = vector_free_lists[index]; | 2769 | vector = vector_free_lists[index]; |
| 2744 | vector_free_lists[index] = next_in_free_list (vector); | 2770 | vector_free_lists[index] = vector->u.next; |
| 2745 | total_free_vector_slots -= nbytes / word_size; | 2771 | total_free_vector_slots -= nbytes / word_size; |
| 2746 | 2772 | ||
| 2747 | /* Excess bytes are used for the smaller vector, | 2773 | /* Excess bytes are used for the smaller vector, |
| @@ -2785,10 +2811,14 @@ vector_nbytes (struct Lisp_Vector *v) | |||
| 2785 | if (size & PSEUDOVECTOR_FLAG) | 2811 | if (size & PSEUDOVECTOR_FLAG) |
| 2786 | { | 2812 | { |
| 2787 | if (PSEUDOVECTOR_TYPEP (&v->header, PVEC_BOOL_VECTOR)) | 2813 | if (PSEUDOVECTOR_TYPEP (&v->header, PVEC_BOOL_VECTOR)) |
| 2788 | size = (bool_header_size | 2814 | { |
| 2789 | + (((struct Lisp_Bool_Vector *) v)->size | 2815 | struct Lisp_Bool_Vector *bv = (struct Lisp_Bool_Vector *) v; |
| 2790 | + BOOL_VECTOR_BITS_PER_CHAR - 1) | 2816 | ptrdiff_t payload_bytes = |
| 2791 | / BOOL_VECTOR_BITS_PER_CHAR); | 2817 | bool_vector_payload_bytes (bv->size, NULL); |
| 2818 | |||
| 2819 | eassert_and_assume (payload_bytes >= 0); | ||
| 2820 | size = bool_header_size + ROUNDUP (payload_bytes, word_size); | ||
| 2821 | } | ||
| 2792 | else | 2822 | else |
| 2793 | size = (header_size | 2823 | size = (header_size |
| 2794 | + ((size & PSEUDOVECTOR_SIZE_MASK) | 2824 | + ((size & PSEUDOVECTOR_SIZE_MASK) |
| @@ -2859,7 +2889,7 @@ sweep_vectors (void) | |||
| 2859 | free_this_block = 1; | 2889 | free_this_block = 1; |
| 2860 | else | 2890 | else |
| 2861 | { | 2891 | { |
| 2862 | int tmp; | 2892 | size_t tmp; |
| 2863 | SETUP_ON_FREE_LIST (vector, total_bytes, tmp); | 2893 | SETUP_ON_FREE_LIST (vector, total_bytes, tmp); |
| 2864 | } | 2894 | } |
| 2865 | } | 2895 | } |
| @@ -2888,17 +2918,11 @@ sweep_vectors (void) | |||
| 2888 | total_vectors++; | 2918 | total_vectors++; |
| 2889 | if (vector->header.size & PSEUDOVECTOR_FLAG) | 2919 | if (vector->header.size & PSEUDOVECTOR_FLAG) |
| 2890 | { | 2920 | { |
| 2891 | struct Lisp_Bool_Vector *b = (struct Lisp_Bool_Vector *) vector; | ||
| 2892 | |||
| 2893 | /* All non-bool pseudovectors are small enough to be allocated | 2921 | /* All non-bool pseudovectors are small enough to be allocated |
| 2894 | from vector blocks. This code should be redesigned if some | 2922 | from vector blocks. This code should be redesigned if some |
| 2895 | pseudovector type grows beyond VBLOCK_BYTES_MAX. */ | 2923 | pseudovector type grows beyond VBLOCK_BYTES_MAX. */ |
| 2896 | eassert (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_BOOL_VECTOR)); | 2924 | eassert (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_BOOL_VECTOR)); |
| 2897 | 2925 | total_vector_slots += vector_nbytes (vector) / word_size; | |
| 2898 | total_vector_slots | ||
| 2899 | += (bool_header_size | ||
| 2900 | + ((b->size + BOOL_VECTOR_BITS_PER_CHAR - 1) | ||
| 2901 | / BOOL_VECTOR_BITS_PER_CHAR)) / word_size; | ||
| 2902 | } | 2926 | } |
| 2903 | else | 2927 | else |
| 2904 | total_vector_slots | 2928 | total_vector_slots |
| @@ -2941,7 +2965,7 @@ allocate_vectorlike (ptrdiff_t len) | |||
| 2941 | else | 2965 | else |
| 2942 | { | 2966 | { |
| 2943 | struct large_vector *lv | 2967 | struct large_vector *lv |
| 2944 | = lisp_malloc ((offsetof (struct large_vector, v.contents) | 2968 | = lisp_malloc ((offsetof (struct large_vector, v.u.contents) |
| 2945 | + len * word_size), | 2969 | + len * word_size), |
| 2946 | MEM_TYPE_VECTORLIKE); | 2970 | MEM_TYPE_VECTORLIKE); |
| 2947 | lv->next.vector = large_vectors; | 2971 | lv->next.vector = large_vectors; |
| @@ -2995,7 +3019,7 @@ allocate_pseudovector (int memlen, int lisplen, enum pvec_type tag) | |||
| 2995 | 3019 | ||
| 2996 | /* Only the first lisplen slots will be traced normally by the GC. */ | 3020 | /* Only the first lisplen slots will be traced normally by the GC. */ |
| 2997 | for (i = 0; i < lisplen; ++i) | 3021 | for (i = 0; i < lisplen; ++i) |
| 2998 | v->contents[i] = Qnil; | 3022 | v->u.contents[i] = Qnil; |
| 2999 | 3023 | ||
| 3000 | XSETPVECTYPESIZE (v, tag, lisplen, memlen - lisplen); | 3024 | XSETPVECTYPESIZE (v, tag, lisplen, memlen - lisplen); |
| 3001 | return v; | 3025 | return v; |
| @@ -3083,7 +3107,7 @@ See also the function `vector'. */) | |||
| 3083 | p = allocate_vector (XFASTINT (length)); | 3107 | p = allocate_vector (XFASTINT (length)); |
| 3084 | sizei = XFASTINT (length); | 3108 | sizei = XFASTINT (length); |
| 3085 | for (i = 0; i < sizei; i++) | 3109 | for (i = 0; i < sizei; i++) |
| 3086 | p->contents[i] = init; | 3110 | p->u.contents[i] = init; |
| 3087 | 3111 | ||
| 3088 | XSETVECTOR (vector, p); | 3112 | XSETVECTOR (vector, p); |
| 3089 | return vector; | 3113 | return vector; |
| @@ -3101,21 +3125,23 @@ usage: (vector &rest OBJECTS) */) | |||
| 3101 | register struct Lisp_Vector *p = XVECTOR (val); | 3125 | register struct Lisp_Vector *p = XVECTOR (val); |
| 3102 | 3126 | ||
| 3103 | for (i = 0; i < nargs; i++) | 3127 | for (i = 0; i < nargs; i++) |
| 3104 | p->contents[i] = args[i]; | 3128 | p->u.contents[i] = args[i]; |
| 3105 | return val; | 3129 | return val; |
| 3106 | } | 3130 | } |
| 3107 | 3131 | ||
| 3108 | void | 3132 | void |
| 3109 | make_byte_code (struct Lisp_Vector *v) | 3133 | make_byte_code (struct Lisp_Vector *v) |
| 3110 | { | 3134 | { |
| 3111 | if (v->header.size > 1 && STRINGP (v->contents[1]) | 3135 | /* Don't allow the global zero_vector to become a byte code object. */ |
| 3112 | && STRING_MULTIBYTE (v->contents[1])) | 3136 | eassert(0 < v->header.size); |
| 3137 | if (v->header.size > 1 && STRINGP (v->u.contents[1]) | ||
| 3138 | && STRING_MULTIBYTE (v->u.contents[1])) | ||
| 3113 | /* BYTECODE-STRING must have been produced by Emacs 20.2 or the | 3139 | /* BYTECODE-STRING must have been produced by Emacs 20.2 or the |
| 3114 | earlier because they produced a raw 8-bit string for byte-code | 3140 | earlier because they produced a raw 8-bit string for byte-code |
| 3115 | and now such a byte-code string is loaded as multibyte while | 3141 | and now such a byte-code string is loaded as multibyte while |
| 3116 | raw 8-bit characters converted to multibyte form. Thus, now we | 3142 | raw 8-bit characters converted to multibyte form. Thus, now we |
| 3117 | must convert them back to the original unibyte form. */ | 3143 | must convert them back to the original unibyte form. */ |
| 3118 | v->contents[1] = Fstring_as_unibyte (v->contents[1]); | 3144 | v->u.contents[1] = Fstring_as_unibyte (v->u.contents[1]); |
| 3119 | XSETPVECTYPE (v, PVEC_COMPILED); | 3145 | XSETPVECTYPE (v, PVEC_COMPILED); |
| 3120 | } | 3146 | } |
| 3121 | 3147 | ||
| @@ -3150,7 +3176,7 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT | |||
| 3150 | to be setcar'd). */ | 3176 | to be setcar'd). */ |
| 3151 | 3177 | ||
| 3152 | for (i = 0; i < nargs; i++) | 3178 | for (i = 0; i < nargs; i++) |
| 3153 | p->contents[i] = args[i]; | 3179 | p->u.contents[i] = args[i]; |
| 3154 | make_byte_code (p); | 3180 | make_byte_code (p); |
| 3155 | XSETCOMPILED (val, p); | 3181 | XSETCOMPILED (val, p); |
| 3156 | return val; | 3182 | return val; |
| @@ -4296,6 +4322,11 @@ mark_maybe_object (Lisp_Object obj) | |||
| 4296 | void *po; | 4322 | void *po; |
| 4297 | struct mem_node *m; | 4323 | struct mem_node *m; |
| 4298 | 4324 | ||
| 4325 | #if USE_VALGRIND | ||
| 4326 | if (valgrind_p) | ||
| 4327 | VALGRIND_MAKE_MEM_DEFINED (&obj, sizeof (obj)); | ||
| 4328 | #endif | ||
| 4329 | |||
| 4299 | if (INTEGERP (obj)) | 4330 | if (INTEGERP (obj)) |
| 4300 | return; | 4331 | return; |
| 4301 | 4332 | ||
| @@ -4364,6 +4395,11 @@ mark_maybe_pointer (void *p) | |||
| 4364 | { | 4395 | { |
| 4365 | struct mem_node *m; | 4396 | struct mem_node *m; |
| 4366 | 4397 | ||
| 4398 | #if USE_VALGRIND | ||
| 4399 | if (valgrind_p) | ||
| 4400 | VALGRIND_MAKE_MEM_DEFINED (&p, sizeof (p)); | ||
| 4401 | #endif | ||
| 4402 | |||
| 4367 | /* Quickly rule out some values which can't point to Lisp data. | 4403 | /* Quickly rule out some values which can't point to Lisp data. |
| 4368 | USE_LSB_TAG needs Lisp data to be aligned on multiples of GCALIGNMENT. | 4404 | USE_LSB_TAG needs Lisp data to be aligned on multiples of GCALIGNMENT. |
| 4369 | Otherwise, assume that Lisp data is aligned on even addresses. */ | 4405 | Otherwise, assume that Lisp data is aligned on even addresses. */ |
| @@ -5131,7 +5167,7 @@ Does not copy symbols. Copies strings without text properties. */) | |||
| 5131 | size &= PSEUDOVECTOR_SIZE_MASK; | 5167 | size &= PSEUDOVECTOR_SIZE_MASK; |
| 5132 | vec = XVECTOR (make_pure_vector (size)); | 5168 | vec = XVECTOR (make_pure_vector (size)); |
| 5133 | for (i = 0; i < size; i++) | 5169 | for (i = 0; i < size; i++) |
| 5134 | vec->contents[i] = Fpurecopy (AREF (obj, i)); | 5170 | vec->u.contents[i] = Fpurecopy (AREF (obj, i)); |
| 5135 | if (COMPILEDP (obj)) | 5171 | if (COMPILEDP (obj)) |
| 5136 | { | 5172 | { |
| 5137 | XSETPVECTYPE (vec, PVEC_COMPILED); | 5173 | XSETPVECTYPE (vec, PVEC_COMPILED); |
| @@ -5622,7 +5658,7 @@ mark_vectorlike (struct Lisp_Vector *ptr) | |||
| 5622 | The distinction is used e.g. by Lisp_Process which places extra | 5658 | The distinction is used e.g. by Lisp_Process which places extra |
| 5623 | non-Lisp_Object fields at the end of the structure... */ | 5659 | non-Lisp_Object fields at the end of the structure... */ |
| 5624 | for (i = 0; i < size; i++) /* ...and then mark its elements. */ | 5660 | for (i = 0; i < size; i++) /* ...and then mark its elements. */ |
| 5625 | mark_object (ptr->contents[i]); | 5661 | mark_object (ptr->u.contents[i]); |
| 5626 | } | 5662 | } |
| 5627 | 5663 | ||
| 5628 | /* Like mark_vectorlike but optimized for char-tables (and | 5664 | /* Like mark_vectorlike but optimized for char-tables (and |
| @@ -5639,7 +5675,7 @@ mark_char_table (struct Lisp_Vector *ptr) | |||
| 5639 | VECTOR_MARK (ptr); | 5675 | VECTOR_MARK (ptr); |
| 5640 | for (i = 0; i < size; i++) | 5676 | for (i = 0; i < size; i++) |
| 5641 | { | 5677 | { |
| 5642 | Lisp_Object val = ptr->contents[i]; | 5678 | Lisp_Object val = ptr->u.contents[i]; |
| 5643 | 5679 | ||
| 5644 | if (INTEGERP (val) || (SYMBOLP (val) && XSYMBOL (val)->gcmarkbit)) | 5680 | if (INTEGERP (val) || (SYMBOLP (val) && XSYMBOL (val)->gcmarkbit)) |
| 5645 | continue; | 5681 | continue; |
| @@ -5844,10 +5880,10 @@ mark_object (Lisp_Object arg) | |||
| 5844 | VECTOR_MARK (ptr); | 5880 | VECTOR_MARK (ptr); |
| 5845 | for (i = 0; i < size; i++) | 5881 | for (i = 0; i < size; i++) |
| 5846 | if (i != COMPILED_CONSTANTS) | 5882 | if (i != COMPILED_CONSTANTS) |
| 5847 | mark_object (ptr->contents[i]); | 5883 | mark_object (ptr->u.contents[i]); |
| 5848 | if (size > COMPILED_CONSTANTS) | 5884 | if (size > COMPILED_CONSTANTS) |
| 5849 | { | 5885 | { |
| 5850 | obj = ptr->contents[COMPILED_CONSTANTS]; | 5886 | obj = ptr->u.contents[COMPILED_CONSTANTS]; |
| 5851 | goto loop; | 5887 | goto loop; |
| 5852 | } | 5888 | } |
| 5853 | } | 5889 | } |
| @@ -6612,6 +6648,10 @@ init_alloc (void) | |||
| 6612 | #endif | 6648 | #endif |
| 6613 | Vgc_elapsed = make_float (0.0); | 6649 | Vgc_elapsed = make_float (0.0); |
| 6614 | gcs_done = 0; | 6650 | gcs_done = 0; |
| 6651 | |||
| 6652 | #if USE_VALGRIND | ||
| 6653 | valgrind_p = RUNNING_ON_VALGRIND != 0; | ||
| 6654 | #endif | ||
| 6615 | } | 6655 | } |
| 6616 | 6656 | ||
| 6617 | void | 6657 | void |
diff --git a/src/bidi.c b/src/bidi.c index 7d082a94997..dc905cd9e5f 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -870,8 +870,8 @@ bidi_line_init (struct bidi_it *bidi_it) | |||
| 870 | are zero-based character positions in S, BEGBYTE is byte position | 870 | are zero-based character positions in S, BEGBYTE is byte position |
| 871 | corresponding to BEG. UNIBYTE means S is a unibyte string. */ | 871 | corresponding to BEG. UNIBYTE means S is a unibyte string. */ |
| 872 | static ptrdiff_t | 872 | static ptrdiff_t |
| 873 | bidi_count_bytes (const unsigned char *s, const ptrdiff_t beg, | 873 | bidi_count_bytes (const unsigned char *s, ptrdiff_t beg, |
| 874 | const ptrdiff_t begbyte, const ptrdiff_t end, bool unibyte) | 874 | ptrdiff_t begbyte, ptrdiff_t end, bool unibyte) |
| 875 | { | 875 | { |
| 876 | ptrdiff_t pos = beg; | 876 | ptrdiff_t pos = beg; |
| 877 | const unsigned char *p = s + begbyte, *start = p; | 877 | const unsigned char *p = s + begbyte, *start = p; |
diff --git a/src/blockinput.h b/src/blockinput.h index 6dc22c6f5dd..8f1b1e18985 100644 --- a/src/blockinput.h +++ b/src/blockinput.h | |||
| @@ -20,9 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | #define EMACS_BLOCKINPUT_H | 20 | #define EMACS_BLOCKINPUT_H |
| 21 | 21 | ||
| 22 | INLINE_HEADER_BEGIN | 22 | INLINE_HEADER_BEGIN |
| 23 | #ifndef BLOCKINPUT_INLINE | ||
| 24 | # define BLOCKINPUT_INLINE INLINE | ||
| 25 | #endif | ||
| 26 | 23 | ||
| 27 | /* Emacs should avoid doing anything hairy in a signal handler, because | 24 | /* Emacs should avoid doing anything hairy in a signal handler, because |
| 28 | so many system functions are non-reentrant. For example, malloc | 25 | so many system functions are non-reentrant. For example, malloc |
| @@ -52,7 +49,7 @@ extern volatile int interrupt_input_blocked; | |||
| 52 | 49 | ||
| 53 | /* Begin critical section. */ | 50 | /* Begin critical section. */ |
| 54 | 51 | ||
| 55 | BLOCKINPUT_INLINE void | 52 | INLINE void |
| 56 | block_input (void) | 53 | block_input (void) |
| 57 | { | 54 | { |
| 58 | interrupt_input_blocked++; | 55 | interrupt_input_blocked++; |
| @@ -64,7 +61,7 @@ extern void unblock_input_to (int); | |||
| 64 | 61 | ||
| 65 | /* In critical section ? */ | 62 | /* In critical section ? */ |
| 66 | 63 | ||
| 67 | BLOCKINPUT_INLINE bool | 64 | INLINE bool |
| 68 | input_blocked_p (void) | 65 | input_blocked_p (void) |
| 69 | { | 66 | { |
| 70 | return interrupt_input_blocked > 0; | 67 | return interrupt_input_blocked > 0; |
diff --git a/src/buffer.c b/src/buffer.c index 0bcb608dbd3..1570f3831ac 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -20,8 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define BUFFER_INLINE EXTERN_INLINE | ||
| 24 | |||
| 25 | #include <sys/types.h> | 23 | #include <sys/types.h> |
| 26 | #include <sys/stat.h> | 24 | #include <sys/stat.h> |
| 27 | #include <sys/param.h> | 25 | #include <sys/param.h> |
| @@ -4536,7 +4534,7 @@ report_overlay_modification (Lisp_Object start, Lisp_Object end, bool after, | |||
| 4536 | Lisp_Object *copy = alloca (size * sizeof *copy); | 4534 | Lisp_Object *copy = alloca (size * sizeof *copy); |
| 4537 | ptrdiff_t i; | 4535 | ptrdiff_t i; |
| 4538 | 4536 | ||
| 4539 | memcpy (copy, XVECTOR (last_overlay_modification_hooks)->contents, | 4537 | memcpy (copy, XVECTOR (last_overlay_modification_hooks)->u.contents, |
| 4540 | size * word_size); | 4538 | size * word_size); |
| 4541 | gcpro1.var = copy; | 4539 | gcpro1.var = copy; |
| 4542 | gcpro1.nvars = size; | 4540 | gcpro1.nvars = size; |
| @@ -5900,7 +5898,7 @@ See also the functions `display-table-slot' and `set-display-table-slot'. */); | |||
| 5900 | 5898 | ||
| 5901 | DEFVAR_PER_BUFFER ("left-margin-width", &BVAR (current_buffer, left_margin_cols), | 5899 | DEFVAR_PER_BUFFER ("left-margin-width", &BVAR (current_buffer, left_margin_cols), |
| 5902 | Qintegerp, | 5900 | Qintegerp, |
| 5903 | doc: /* Width of left marginal area for display of a buffer. | 5901 | doc: /* Width in columns of left marginal area for display of a buffer. |
| 5904 | A value of nil means no marginal area. | 5902 | A value of nil means no marginal area. |
| 5905 | 5903 | ||
| 5906 | Setting this variable does not take effect until a new buffer is displayed | 5904 | Setting this variable does not take effect until a new buffer is displayed |
| @@ -5908,7 +5906,7 @@ in a window. To make the change take effect, call `set-window-buffer'. */); | |||
| 5908 | 5906 | ||
| 5909 | DEFVAR_PER_BUFFER ("right-margin-width", &BVAR (current_buffer, right_margin_cols), | 5907 | DEFVAR_PER_BUFFER ("right-margin-width", &BVAR (current_buffer, right_margin_cols), |
| 5910 | Qintegerp, | 5908 | Qintegerp, |
| 5911 | doc: /* Width of right marginal area for display of a buffer. | 5909 | doc: /* Width in columns of right marginal area for display of a buffer. |
| 5912 | A value of nil means no marginal area. | 5910 | A value of nil means no marginal area. |
| 5913 | 5911 | ||
| 5914 | Setting this variable does not take effect until a new buffer is displayed | 5912 | Setting this variable does not take effect until a new buffer is displayed |
diff --git a/src/buffer.h b/src/buffer.h index 169a15c7d0f..a36c0d13c9e 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -22,9 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | #include <time.h> | 22 | #include <time.h> |
| 23 | 23 | ||
| 24 | INLINE_HEADER_BEGIN | 24 | INLINE_HEADER_BEGIN |
| 25 | #ifndef BUFFER_INLINE | ||
| 26 | # define BUFFER_INLINE INLINE | ||
| 27 | #endif | ||
| 28 | 25 | ||
| 29 | /* Accessing the parameters of the current buffer. */ | 26 | /* Accessing the parameters of the current buffer. */ |
| 30 | 27 | ||
| @@ -875,97 +872,97 @@ struct buffer | |||
| 875 | 872 | ||
| 876 | /* Most code should use these functions to set Lisp fields in struct | 873 | /* Most code should use these functions to set Lisp fields in struct |
| 877 | buffer. */ | 874 | buffer. */ |
| 878 | BUFFER_INLINE void | 875 | INLINE void |
| 879 | bset_bidi_paragraph_direction (struct buffer *b, Lisp_Object val) | 876 | bset_bidi_paragraph_direction (struct buffer *b, Lisp_Object val) |
| 880 | { | 877 | { |
| 881 | b->INTERNAL_FIELD (bidi_paragraph_direction) = val; | 878 | b->INTERNAL_FIELD (bidi_paragraph_direction) = val; |
| 882 | } | 879 | } |
| 883 | BUFFER_INLINE void | 880 | INLINE void |
| 884 | bset_case_canon_table (struct buffer *b, Lisp_Object val) | 881 | bset_case_canon_table (struct buffer *b, Lisp_Object val) |
| 885 | { | 882 | { |
| 886 | b->INTERNAL_FIELD (case_canon_table) = val; | 883 | b->INTERNAL_FIELD (case_canon_table) = val; |
| 887 | } | 884 | } |
| 888 | BUFFER_INLINE void | 885 | INLINE void |
| 889 | bset_case_eqv_table (struct buffer *b, Lisp_Object val) | 886 | bset_case_eqv_table (struct buffer *b, Lisp_Object val) |
| 890 | { | 887 | { |
| 891 | b->INTERNAL_FIELD (case_eqv_table) = val; | 888 | b->INTERNAL_FIELD (case_eqv_table) = val; |
| 892 | } | 889 | } |
| 893 | BUFFER_INLINE void | 890 | INLINE void |
| 894 | bset_directory (struct buffer *b, Lisp_Object val) | 891 | bset_directory (struct buffer *b, Lisp_Object val) |
| 895 | { | 892 | { |
| 896 | b->INTERNAL_FIELD (directory) = val; | 893 | b->INTERNAL_FIELD (directory) = val; |
| 897 | } | 894 | } |
| 898 | BUFFER_INLINE void | 895 | INLINE void |
| 899 | bset_display_count (struct buffer *b, Lisp_Object val) | 896 | bset_display_count (struct buffer *b, Lisp_Object val) |
| 900 | { | 897 | { |
| 901 | b->INTERNAL_FIELD (display_count) = val; | 898 | b->INTERNAL_FIELD (display_count) = val; |
| 902 | } | 899 | } |
| 903 | BUFFER_INLINE void | 900 | INLINE void |
| 904 | bset_display_time (struct buffer *b, Lisp_Object val) | 901 | bset_display_time (struct buffer *b, Lisp_Object val) |
| 905 | { | 902 | { |
| 906 | b->INTERNAL_FIELD (display_time) = val; | 903 | b->INTERNAL_FIELD (display_time) = val; |
| 907 | } | 904 | } |
| 908 | BUFFER_INLINE void | 905 | INLINE void |
| 909 | bset_downcase_table (struct buffer *b, Lisp_Object val) | 906 | bset_downcase_table (struct buffer *b, Lisp_Object val) |
| 910 | { | 907 | { |
| 911 | b->INTERNAL_FIELD (downcase_table) = val; | 908 | b->INTERNAL_FIELD (downcase_table) = val; |
| 912 | } | 909 | } |
| 913 | BUFFER_INLINE void | 910 | INLINE void |
| 914 | bset_enable_multibyte_characters (struct buffer *b, Lisp_Object val) | 911 | bset_enable_multibyte_characters (struct buffer *b, Lisp_Object val) |
| 915 | { | 912 | { |
| 916 | b->INTERNAL_FIELD (enable_multibyte_characters) = val; | 913 | b->INTERNAL_FIELD (enable_multibyte_characters) = val; |
| 917 | } | 914 | } |
| 918 | BUFFER_INLINE void | 915 | INLINE void |
| 919 | bset_filename (struct buffer *b, Lisp_Object val) | 916 | bset_filename (struct buffer *b, Lisp_Object val) |
| 920 | { | 917 | { |
| 921 | b->INTERNAL_FIELD (filename) = val; | 918 | b->INTERNAL_FIELD (filename) = val; |
| 922 | } | 919 | } |
| 923 | BUFFER_INLINE void | 920 | INLINE void |
| 924 | bset_keymap (struct buffer *b, Lisp_Object val) | 921 | bset_keymap (struct buffer *b, Lisp_Object val) |
| 925 | { | 922 | { |
| 926 | b->INTERNAL_FIELD (keymap) = val; | 923 | b->INTERNAL_FIELD (keymap) = val; |
| 927 | } | 924 | } |
| 928 | BUFFER_INLINE void | 925 | INLINE void |
| 929 | bset_last_selected_window (struct buffer *b, Lisp_Object val) | 926 | bset_last_selected_window (struct buffer *b, Lisp_Object val) |
| 930 | { | 927 | { |
| 931 | b->INTERNAL_FIELD (last_selected_window) = val; | 928 | b->INTERNAL_FIELD (last_selected_window) = val; |
| 932 | } | 929 | } |
| 933 | BUFFER_INLINE void | 930 | INLINE void |
| 934 | bset_local_var_alist (struct buffer *b, Lisp_Object val) | 931 | bset_local_var_alist (struct buffer *b, Lisp_Object val) |
| 935 | { | 932 | { |
| 936 | b->INTERNAL_FIELD (local_var_alist) = val; | 933 | b->INTERNAL_FIELD (local_var_alist) = val; |
| 937 | } | 934 | } |
| 938 | BUFFER_INLINE void | 935 | INLINE void |
| 939 | bset_mark_active (struct buffer *b, Lisp_Object val) | 936 | bset_mark_active (struct buffer *b, Lisp_Object val) |
| 940 | { | 937 | { |
| 941 | b->INTERNAL_FIELD (mark_active) = val; | 938 | b->INTERNAL_FIELD (mark_active) = val; |
| 942 | } | 939 | } |
| 943 | BUFFER_INLINE void | 940 | INLINE void |
| 944 | bset_point_before_scroll (struct buffer *b, Lisp_Object val) | 941 | bset_point_before_scroll (struct buffer *b, Lisp_Object val) |
| 945 | { | 942 | { |
| 946 | b->INTERNAL_FIELD (point_before_scroll) = val; | 943 | b->INTERNAL_FIELD (point_before_scroll) = val; |
| 947 | } | 944 | } |
| 948 | BUFFER_INLINE void | 945 | INLINE void |
| 949 | bset_read_only (struct buffer *b, Lisp_Object val) | 946 | bset_read_only (struct buffer *b, Lisp_Object val) |
| 950 | { | 947 | { |
| 951 | b->INTERNAL_FIELD (read_only) = val; | 948 | b->INTERNAL_FIELD (read_only) = val; |
| 952 | } | 949 | } |
| 953 | BUFFER_INLINE void | 950 | INLINE void |
| 954 | bset_truncate_lines (struct buffer *b, Lisp_Object val) | 951 | bset_truncate_lines (struct buffer *b, Lisp_Object val) |
| 955 | { | 952 | { |
| 956 | b->INTERNAL_FIELD (truncate_lines) = val; | 953 | b->INTERNAL_FIELD (truncate_lines) = val; |
| 957 | } | 954 | } |
| 958 | BUFFER_INLINE void | 955 | INLINE void |
| 959 | bset_undo_list (struct buffer *b, Lisp_Object val) | 956 | bset_undo_list (struct buffer *b, Lisp_Object val) |
| 960 | { | 957 | { |
| 961 | b->INTERNAL_FIELD (undo_list) = val; | 958 | b->INTERNAL_FIELD (undo_list) = val; |
| 962 | } | 959 | } |
| 963 | BUFFER_INLINE void | 960 | INLINE void |
| 964 | bset_upcase_table (struct buffer *b, Lisp_Object val) | 961 | bset_upcase_table (struct buffer *b, Lisp_Object val) |
| 965 | { | 962 | { |
| 966 | b->INTERNAL_FIELD (upcase_table) = val; | 963 | b->INTERNAL_FIELD (upcase_table) = val; |
| 967 | } | 964 | } |
| 968 | BUFFER_INLINE void | 965 | INLINE void |
| 969 | bset_width_table (struct buffer *b, Lisp_Object val) | 966 | bset_width_table (struct buffer *b, Lisp_Object val) |
| 970 | { | 967 | { |
| 971 | b->INTERNAL_FIELD (width_table) = val; | 968 | b->INTERNAL_FIELD (width_table) = val; |
| @@ -1089,7 +1086,7 @@ extern void set_buffer_if_live (Lisp_Object); | |||
| 1089 | windows than the selected one requires a select_window at some | 1086 | windows than the selected one requires a select_window at some |
| 1090 | time, and that increments windows_or_buffers_changed. */ | 1087 | time, and that increments windows_or_buffers_changed. */ |
| 1091 | 1088 | ||
| 1092 | BUFFER_INLINE void | 1089 | INLINE void |
| 1093 | set_buffer_internal (struct buffer *b) | 1090 | set_buffer_internal (struct buffer *b) |
| 1094 | { | 1091 | { |
| 1095 | if (current_buffer != b) | 1092 | if (current_buffer != b) |
| @@ -1099,7 +1096,7 @@ set_buffer_internal (struct buffer *b) | |||
| 1099 | /* Arrange to go back to the original buffer after the next | 1096 | /* Arrange to go back to the original buffer after the next |
| 1100 | call to unbind_to if the original buffer is still alive. */ | 1097 | call to unbind_to if the original buffer is still alive. */ |
| 1101 | 1098 | ||
| 1102 | BUFFER_INLINE void | 1099 | INLINE void |
| 1103 | record_unwind_current_buffer (void) | 1100 | record_unwind_current_buffer (void) |
| 1104 | { | 1101 | { |
| 1105 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); | 1102 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); |
| @@ -1138,7 +1135,7 @@ extern Lisp_Object Qpriority, Qbefore_string, Qafter_string; | |||
| 1138 | 1135 | ||
| 1139 | /* Get text properties of B. */ | 1136 | /* Get text properties of B. */ |
| 1140 | 1137 | ||
| 1141 | BUFFER_INLINE INTERVAL | 1138 | INLINE INTERVAL |
| 1142 | buffer_intervals (struct buffer *b) | 1139 | buffer_intervals (struct buffer *b) |
| 1143 | { | 1140 | { |
| 1144 | eassert (b->text != NULL); | 1141 | eassert (b->text != NULL); |
| @@ -1147,7 +1144,7 @@ buffer_intervals (struct buffer *b) | |||
| 1147 | 1144 | ||
| 1148 | /* Set text properties of B to I. */ | 1145 | /* Set text properties of B to I. */ |
| 1149 | 1146 | ||
| 1150 | BUFFER_INLINE void | 1147 | INLINE void |
| 1151 | set_buffer_intervals (struct buffer *b, INTERVAL i) | 1148 | set_buffer_intervals (struct buffer *b, INTERVAL i) |
| 1152 | { | 1149 | { |
| 1153 | eassert (b->text != NULL); | 1150 | eassert (b->text != NULL); |
| @@ -1156,7 +1153,7 @@ set_buffer_intervals (struct buffer *b, INTERVAL i) | |||
| 1156 | 1153 | ||
| 1157 | /* Non-zero if current buffer has overlays. */ | 1154 | /* Non-zero if current buffer has overlays. */ |
| 1158 | 1155 | ||
| 1159 | BUFFER_INLINE bool | 1156 | INLINE bool |
| 1160 | buffer_has_overlays (void) | 1157 | buffer_has_overlays (void) |
| 1161 | { | 1158 | { |
| 1162 | return current_buffer->overlays_before || current_buffer->overlays_after; | 1159 | return current_buffer->overlays_before || current_buffer->overlays_after; |
| @@ -1176,7 +1173,7 @@ buffer_has_overlays (void) | |||
| 1176 | the buffer to the next character after fetching this one. Instead, | 1173 | the buffer to the next character after fetching this one. Instead, |
| 1177 | use either FETCH_CHAR_ADVANCE or STRING_CHAR_AND_LENGTH. */ | 1174 | use either FETCH_CHAR_ADVANCE or STRING_CHAR_AND_LENGTH. */ |
| 1178 | 1175 | ||
| 1179 | BUFFER_INLINE int | 1176 | INLINE int |
| 1180 | FETCH_MULTIBYTE_CHAR (ptrdiff_t pos) | 1177 | FETCH_MULTIBYTE_CHAR (ptrdiff_t pos) |
| 1181 | { | 1178 | { |
| 1182 | unsigned char *p = ((pos >= GPT_BYTE ? GAP_SIZE : 0) | 1179 | unsigned char *p = ((pos >= GPT_BYTE ? GAP_SIZE : 0) |
| @@ -1188,7 +1185,7 @@ FETCH_MULTIBYTE_CHAR (ptrdiff_t pos) | |||
| 1188 | If POS doesn't point the head of valid multi-byte form, only the byte at | 1185 | If POS doesn't point the head of valid multi-byte form, only the byte at |
| 1189 | POS is returned. No range checking. */ | 1186 | POS is returned. No range checking. */ |
| 1190 | 1187 | ||
| 1191 | BUFFER_INLINE int | 1188 | INLINE int |
| 1192 | BUF_FETCH_MULTIBYTE_CHAR (struct buffer *buf, ptrdiff_t pos) | 1189 | BUF_FETCH_MULTIBYTE_CHAR (struct buffer *buf, ptrdiff_t pos) |
| 1193 | { | 1190 | { |
| 1194 | unsigned char *p | 1191 | unsigned char *p |
| @@ -1199,7 +1196,7 @@ BUF_FETCH_MULTIBYTE_CHAR (struct buffer *buf, ptrdiff_t pos) | |||
| 1199 | 1196 | ||
| 1200 | /* Return number of windows showing B. */ | 1197 | /* Return number of windows showing B. */ |
| 1201 | 1198 | ||
| 1202 | BUFFER_INLINE int | 1199 | INLINE int |
| 1203 | buffer_window_count (struct buffer *b) | 1200 | buffer_window_count (struct buffer *b) |
| 1204 | { | 1201 | { |
| 1205 | if (b->base_buffer) | 1202 | if (b->base_buffer) |
| @@ -1306,13 +1303,13 @@ extern int last_per_buffer_idx; | |||
| 1306 | /* Functions to get and set default value of the per-buffer | 1303 | /* Functions to get and set default value of the per-buffer |
| 1307 | variable at offset OFFSET in the buffer structure. */ | 1304 | variable at offset OFFSET in the buffer structure. */ |
| 1308 | 1305 | ||
| 1309 | BUFFER_INLINE Lisp_Object | 1306 | INLINE Lisp_Object |
| 1310 | per_buffer_default (int offset) | 1307 | per_buffer_default (int offset) |
| 1311 | { | 1308 | { |
| 1312 | return *(Lisp_Object *)(offset + (char *) &buffer_defaults); | 1309 | return *(Lisp_Object *)(offset + (char *) &buffer_defaults); |
| 1313 | } | 1310 | } |
| 1314 | 1311 | ||
| 1315 | BUFFER_INLINE void | 1312 | INLINE void |
| 1316 | set_per_buffer_default (int offset, Lisp_Object value) | 1313 | set_per_buffer_default (int offset, Lisp_Object value) |
| 1317 | { | 1314 | { |
| 1318 | *(Lisp_Object *)(offset + (char *) &buffer_defaults) = value; | 1315 | *(Lisp_Object *)(offset + (char *) &buffer_defaults) = value; |
| @@ -1321,20 +1318,20 @@ set_per_buffer_default (int offset, Lisp_Object value) | |||
| 1321 | /* Functions to get and set buffer-local value of the per-buffer | 1318 | /* Functions to get and set buffer-local value of the per-buffer |
| 1322 | variable at offset OFFSET in the buffer structure. */ | 1319 | variable at offset OFFSET in the buffer structure. */ |
| 1323 | 1320 | ||
| 1324 | BUFFER_INLINE Lisp_Object | 1321 | INLINE Lisp_Object |
| 1325 | per_buffer_value (struct buffer *b, int offset) | 1322 | per_buffer_value (struct buffer *b, int offset) |
| 1326 | { | 1323 | { |
| 1327 | return *(Lisp_Object *)(offset + (char *) b); | 1324 | return *(Lisp_Object *)(offset + (char *) b); |
| 1328 | } | 1325 | } |
| 1329 | 1326 | ||
| 1330 | BUFFER_INLINE void | 1327 | INLINE void |
| 1331 | set_per_buffer_value (struct buffer *b, int offset, Lisp_Object value) | 1328 | set_per_buffer_value (struct buffer *b, int offset, Lisp_Object value) |
| 1332 | { | 1329 | { |
| 1333 | *(Lisp_Object *)(offset + (char *) b) = value; | 1330 | *(Lisp_Object *)(offset + (char *) b) = value; |
| 1334 | } | 1331 | } |
| 1335 | 1332 | ||
| 1336 | /* Downcase a character C, or make no change if that cannot be done. */ | 1333 | /* Downcase a character C, or make no change if that cannot be done. */ |
| 1337 | BUFFER_INLINE int | 1334 | INLINE int |
| 1338 | downcase (int c) | 1335 | downcase (int c) |
| 1339 | { | 1336 | { |
| 1340 | Lisp_Object downcase_table = BVAR (current_buffer, downcase_table); | 1337 | Lisp_Object downcase_table = BVAR (current_buffer, downcase_table); |
| @@ -1343,10 +1340,10 @@ downcase (int c) | |||
| 1343 | } | 1340 | } |
| 1344 | 1341 | ||
| 1345 | /* 1 if C is upper case. */ | 1342 | /* 1 if C is upper case. */ |
| 1346 | BUFFER_INLINE bool uppercasep (int c) { return downcase (c) != c; } | 1343 | INLINE bool uppercasep (int c) { return downcase (c) != c; } |
| 1347 | 1344 | ||
| 1348 | /* Upcase a character C known to be not upper case. */ | 1345 | /* Upcase a character C known to be not upper case. */ |
| 1349 | BUFFER_INLINE int | 1346 | INLINE int |
| 1350 | upcase1 (int c) | 1347 | upcase1 (int c) |
| 1351 | { | 1348 | { |
| 1352 | Lisp_Object upcase_table = BVAR (current_buffer, upcase_table); | 1349 | Lisp_Object upcase_table = BVAR (current_buffer, upcase_table); |
| @@ -1355,13 +1352,13 @@ upcase1 (int c) | |||
| 1355 | } | 1352 | } |
| 1356 | 1353 | ||
| 1357 | /* 1 if C is lower case. */ | 1354 | /* 1 if C is lower case. */ |
| 1358 | BUFFER_INLINE bool | 1355 | INLINE bool |
| 1359 | lowercasep (int c) | 1356 | lowercasep (int c) |
| 1360 | { | 1357 | { |
| 1361 | return !uppercasep (c) && upcase1 (c) != c; | 1358 | return !uppercasep (c) && upcase1 (c) != c; |
| 1362 | } | 1359 | } |
| 1363 | 1360 | ||
| 1364 | /* Upcase a character C, or make no change if that cannot be done. */ | 1361 | /* Upcase a character C, or make no change if that cannot be done. */ |
| 1365 | BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } | 1362 | INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } |
| 1366 | 1363 | ||
| 1367 | INLINE_HEADER_END | 1364 | INLINE_HEADER_END |
diff --git a/src/bytecode.c b/src/bytecode.c index e0e7b22ea13..23e50826633 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -536,7 +536,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 536 | #ifdef BYTE_CODE_SAFE | 536 | #ifdef BYTE_CODE_SAFE |
| 537 | bytestr_length = SBYTES (bytestr); | 537 | bytestr_length = SBYTES (bytestr); |
| 538 | #endif | 538 | #endif |
| 539 | vectorp = XVECTOR (vector)->contents; | 539 | vectorp = XVECTOR (vector)->u.contents; |
| 540 | 540 | ||
| 541 | stack.byte_string = bytestr; | 541 | stack.byte_string = bytestr; |
| 542 | stack.pc = stack.byte_string_start = SDATA (bytestr); | 542 | stack.pc = stack.byte_string_start = SDATA (bytestr); |
| @@ -1367,7 +1367,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1367 | Lisp_Object v1; | 1367 | Lisp_Object v1; |
| 1368 | BEFORE_POTENTIAL_GC (); | 1368 | BEFORE_POTENTIAL_GC (); |
| 1369 | v1 = POP; | 1369 | v1 = POP; |
| 1370 | TOP = Fgtr (TOP, v1); | 1370 | TOP = arithcompare (TOP, v1, ARITH_GRTR); |
| 1371 | AFTER_POTENTIAL_GC (); | 1371 | AFTER_POTENTIAL_GC (); |
| 1372 | NEXT; | 1372 | NEXT; |
| 1373 | } | 1373 | } |
| @@ -1377,7 +1377,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1377 | Lisp_Object v1; | 1377 | Lisp_Object v1; |
| 1378 | BEFORE_POTENTIAL_GC (); | 1378 | BEFORE_POTENTIAL_GC (); |
| 1379 | v1 = POP; | 1379 | v1 = POP; |
| 1380 | TOP = Flss (TOP, v1); | 1380 | TOP = arithcompare (TOP, v1, ARITH_LESS); |
| 1381 | AFTER_POTENTIAL_GC (); | 1381 | AFTER_POTENTIAL_GC (); |
| 1382 | NEXT; | 1382 | NEXT; |
| 1383 | } | 1383 | } |
| @@ -1387,7 +1387,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1387 | Lisp_Object v1; | 1387 | Lisp_Object v1; |
| 1388 | BEFORE_POTENTIAL_GC (); | 1388 | BEFORE_POTENTIAL_GC (); |
| 1389 | v1 = POP; | 1389 | v1 = POP; |
| 1390 | TOP = Fleq (TOP, v1); | 1390 | TOP = arithcompare (TOP, v1, ARITH_LESS_OR_EQUAL); |
| 1391 | AFTER_POTENTIAL_GC (); | 1391 | AFTER_POTENTIAL_GC (); |
| 1392 | NEXT; | 1392 | NEXT; |
| 1393 | } | 1393 | } |
| @@ -1397,7 +1397,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1397 | Lisp_Object v1; | 1397 | Lisp_Object v1; |
| 1398 | BEFORE_POTENTIAL_GC (); | 1398 | BEFORE_POTENTIAL_GC (); |
| 1399 | v1 = POP; | 1399 | v1 = POP; |
| 1400 | TOP = Fgeq (TOP, v1); | 1400 | TOP = arithcompare (TOP, v1, ARITH_GRTR_OR_EQUAL); |
| 1401 | AFTER_POTENTIAL_GC (); | 1401 | AFTER_POTENTIAL_GC (); |
| 1402 | NEXT; | 1402 | NEXT; |
| 1403 | } | 1403 | } |
diff --git a/src/casetab.c b/src/casetab.c index b6b1c99c39f..69cd784f4cc 100644 --- a/src/casetab.c +++ b/src/casetab.c | |||
| @@ -205,7 +205,7 @@ set_identity (Lisp_Object table, Lisp_Object c, Lisp_Object elt) | |||
| 205 | from = to = XINT (c); | 205 | from = to = XINT (c); |
| 206 | 206 | ||
| 207 | to++; | 207 | to++; |
| 208 | lint_assume (to <= MAX_CHAR + 1); | 208 | assume (to <= MAX_CHAR + 1); |
| 209 | for (; from < to; from++) | 209 | for (; from < to; from++) |
| 210 | CHAR_TABLE_SET (table, from, make_number (from)); | 210 | CHAR_TABLE_SET (table, from, make_number (from)); |
| 211 | } | 211 | } |
| @@ -232,7 +232,7 @@ shuffle (Lisp_Object table, Lisp_Object c, Lisp_Object elt) | |||
| 232 | from = to = XINT (c); | 232 | from = to = XINT (c); |
| 233 | 233 | ||
| 234 | to++; | 234 | to++; |
| 235 | lint_assume (to <= MAX_CHAR + 1); | 235 | assume (to <= MAX_CHAR + 1); |
| 236 | for (; from < to; from++) | 236 | for (; from < to; from++) |
| 237 | { | 237 | { |
| 238 | Lisp_Object tem = Faref (table, elt); | 238 | Lisp_Object tem = Faref (table, elt); |
diff --git a/src/category.c b/src/category.c index b28978fb721..da5e81e4709 100644 --- a/src/category.c +++ b/src/category.c | |||
| @@ -30,8 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 30 | 30 | ||
| 31 | #include <config.h> | 31 | #include <config.h> |
| 32 | 32 | ||
| 33 | #define CATEGORY_INLINE EXTERN_INLINE | ||
| 34 | |||
| 35 | #include "lisp.h" | 33 | #include "lisp.h" |
| 36 | #include "character.h" | 34 | #include "character.h" |
| 37 | #include "buffer.h" | 35 | #include "buffer.h" |
diff --git a/src/category.h b/src/category.h index 17cd203db45..828dcd1f325 100644 --- a/src/category.h +++ b/src/category.h | |||
| @@ -54,9 +54,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 54 | But, for the moment, we are not using this slot. */ | 54 | But, for the moment, we are not using this slot. */ |
| 55 | 55 | ||
| 56 | INLINE_HEADER_BEGIN | 56 | INLINE_HEADER_BEGIN |
| 57 | #ifndef CATEGORY_INLINE | ||
| 58 | # define CATEGORY_INLINE INLINE | ||
| 59 | #endif | ||
| 60 | 57 | ||
| 61 | #define CATEGORYP(x) RANGED_INTEGERP (0x20, x, 0x7E) | 58 | #define CATEGORYP(x) RANGED_INTEGERP (0x20, x, 0x7E) |
| 62 | 59 | ||
| @@ -84,7 +81,7 @@ INLINE_HEADER_BEGIN | |||
| 84 | >> ((category) % 8)) & 1) | 81 | >> ((category) % 8)) & 1) |
| 85 | 82 | ||
| 86 | /* Return true if category set of CH contains CATEGORY. */ | 83 | /* Return true if category set of CH contains CATEGORY. */ |
| 87 | CATEGORY_INLINE bool | 84 | INLINE bool |
| 88 | CHAR_HAS_CATEGORY (int ch, int category) | 85 | CHAR_HAS_CATEGORY (int ch, int category) |
| 89 | { | 86 | { |
| 90 | Lisp_Object category_set = CATEGORY_SET (ch); | 87 | Lisp_Object category_set = CATEGORY_SET (ch); |
| @@ -1094,7 +1094,7 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size | |||
| 1094 | ccl_prog_stack_struct[stack_idx].ic = ic; | 1094 | ccl_prog_stack_struct[stack_idx].ic = ic; |
| 1095 | ccl_prog_stack_struct[stack_idx].eof_ic = eof_ic; | 1095 | ccl_prog_stack_struct[stack_idx].eof_ic = eof_ic; |
| 1096 | stack_idx++; | 1096 | stack_idx++; |
| 1097 | ccl_prog = XVECTOR (AREF (slot, 1))->contents; | 1097 | ccl_prog = XVECTOR (AREF (slot, 1))->u.contents; |
| 1098 | ic = CCL_HEADER_MAIN; | 1098 | ic = CCL_HEADER_MAIN; |
| 1099 | eof_ic = XFASTINT (ccl_prog[CCL_HEADER_EOF]); | 1099 | eof_ic = XFASTINT (ccl_prog[CCL_HEADER_EOF]); |
| 1100 | } | 1100 | } |
| @@ -1936,9 +1936,9 @@ setup_ccl_program (struct ccl_program *ccl, Lisp_Object ccl_prog) | |||
| 1936 | return -1; | 1936 | return -1; |
| 1937 | vp = XVECTOR (ccl_prog); | 1937 | vp = XVECTOR (ccl_prog); |
| 1938 | ccl->size = vp->header.size; | 1938 | ccl->size = vp->header.size; |
| 1939 | ccl->prog = vp->contents; | 1939 | ccl->prog = vp->u.contents; |
| 1940 | ccl->eof_ic = XINT (vp->contents[CCL_HEADER_EOF]); | 1940 | ccl->eof_ic = XINT (vp->u.contents[CCL_HEADER_EOF]); |
| 1941 | ccl->buf_magnification = XINT (vp->contents[CCL_HEADER_BUF_MAG]); | 1941 | ccl->buf_magnification = XINT (vp->u.contents[CCL_HEADER_BUF_MAG]); |
| 1942 | if (ccl->idx >= 0) | 1942 | if (ccl->idx >= 0) |
| 1943 | { | 1943 | { |
| 1944 | Lisp_Object slot; | 1944 | Lisp_Object slot; |
diff --git a/src/character.c b/src/character.c index 6fefb6e8824..9807339a61e 100644 --- a/src/character.c +++ b/src/character.c | |||
| @@ -29,8 +29,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 29 | #include <config.h> | 29 | #include <config.h> |
| 30 | #endif | 30 | #endif |
| 31 | 31 | ||
| 32 | #define CHARACTER_INLINE EXTERN_INLINE | ||
| 33 | |||
| 34 | #include <stdio.h> | 32 | #include <stdio.h> |
| 35 | 33 | ||
| 36 | #ifdef emacs | 34 | #ifdef emacs |
diff --git a/src/character.h b/src/character.h index b2cdcb76699..d1b781caa53 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -26,9 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | #include <verify.h> | 26 | #include <verify.h> |
| 27 | 27 | ||
| 28 | INLINE_HEADER_BEGIN | 28 | INLINE_HEADER_BEGIN |
| 29 | #ifndef CHARACTER_INLINE | ||
| 30 | # define CHARACTER_INLINE INLINE | ||
| 31 | #endif | ||
| 32 | 29 | ||
| 33 | /* character code 1st byte byte sequence | 30 | /* character code 1st byte byte sequence |
| 34 | -------------- -------- ------------- | 31 | -------------- -------- ------------- |
| @@ -558,7 +555,7 @@ INLINE_HEADER_BEGIN | |||
| 558 | 555 | ||
| 559 | #define SANE_TAB_WIDTH(buf) \ | 556 | #define SANE_TAB_WIDTH(buf) \ |
| 560 | sanitize_tab_width (XFASTINT (BVAR (buf, tab_width))) | 557 | sanitize_tab_width (XFASTINT (BVAR (buf, tab_width))) |
| 561 | CHARACTER_INLINE int | 558 | INLINE int |
| 562 | sanitize_tab_width (EMACS_INT width) | 559 | sanitize_tab_width (EMACS_INT width) |
| 563 | { | 560 | { |
| 564 | return 0 < width && width <= 1000 ? width : 8; | 561 | return 0 < width && width <= 1000 ? width : 8; |
| @@ -579,7 +576,7 @@ sanitize_tab_width (EMACS_INT width) | |||
| 579 | 576 | ||
| 580 | /* Return a non-outlandish value for a character width. */ | 577 | /* Return a non-outlandish value for a character width. */ |
| 581 | 578 | ||
| 582 | CHARACTER_INLINE int | 579 | INLINE int |
| 583 | sanitize_char_width (EMACS_INT width) | 580 | sanitize_char_width (EMACS_INT width) |
| 584 | { | 581 | { |
| 585 | return 0 <= width && width <= 1000 ? width : 1000; | 582 | return 0 <= width && width <= 1000 ? width : 1000; |
| @@ -680,7 +677,7 @@ extern Lisp_Object string_escape_byte8 (Lisp_Object); | |||
| 680 | 677 | ||
| 681 | /* Return a translation table of id number ID. */ | 678 | /* Return a translation table of id number ID. */ |
| 682 | #define GET_TRANSLATION_TABLE(id) \ | 679 | #define GET_TRANSLATION_TABLE(id) \ |
| 683 | (XCDR(XVECTOR(Vtranslation_table_vector)->contents[(id)])) | 680 | (XCDR (XVECTOR (Vtranslation_table_vector)->u.contents[(id)])) |
| 684 | 681 | ||
| 685 | INLINE_HEADER_END | 682 | INLINE_HEADER_END |
| 686 | 683 | ||
diff --git a/src/charset.c b/src/charset.c index eedf65faa6c..ef040a94605 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -26,8 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | 26 | ||
| 27 | #include <config.h> | 27 | #include <config.h> |
| 28 | 28 | ||
| 29 | #define CHARSET_INLINE EXTERN_INLINE | ||
| 30 | |||
| 31 | #include <errno.h> | 29 | #include <errno.h> |
| 32 | #include <stdio.h> | 30 | #include <stdio.h> |
| 33 | #include <unistd.h> | 31 | #include <unistd.h> |
| @@ -2053,6 +2051,8 @@ CH in the charset. */) | |||
| 2053 | 2051 | ||
| 2054 | DEFUN ("char-charset", Fchar_charset, Schar_charset, 1, 2, 0, | 2052 | DEFUN ("char-charset", Fchar_charset, Schar_charset, 1, 2, 0, |
| 2055 | doc: /* Return the charset of highest priority that contains CH. | 2053 | doc: /* Return the charset of highest priority that contains CH. |
| 2054 | ASCII characters are an exception: for them, this function always | ||
| 2055 | returns `ascii'. | ||
| 2056 | If optional 2nd arg RESTRICTION is non-nil, it is a list of charsets | 2056 | If optional 2nd arg RESTRICTION is non-nil, it is a list of charsets |
| 2057 | from which to find the charset. It may also be a coding system. In | 2057 | from which to find the charset. It may also be a coding system. In |
| 2058 | that case, find the charset from what supported by that coding system. */) | 2058 | that case, find the charset from what supported by that coding system. */) |
diff --git a/src/charset.h b/src/charset.h index d9a5662e520..6e6a8891b4a 100644 --- a/src/charset.h +++ b/src/charset.h | |||
| @@ -30,9 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 30 | #include <verify.h> | 30 | #include <verify.h> |
| 31 | 31 | ||
| 32 | INLINE_HEADER_BEGIN | 32 | INLINE_HEADER_BEGIN |
| 33 | #ifndef CHARSET_INLINE | ||
| 34 | # define CHARSET_INLINE INLINE | ||
| 35 | #endif | ||
| 36 | 33 | ||
| 37 | /* Index to arguments of Fdefine_charset_internal. */ | 34 | /* Index to arguments of Fdefine_charset_internal. */ |
| 38 | 35 | ||
| @@ -331,7 +328,7 @@ extern int emacs_mule_charset[256]; | |||
| 331 | #define CHARSET_DEUNIFIER(charset) \ | 328 | #define CHARSET_DEUNIFIER(charset) \ |
| 332 | (CHARSET_ATTR_DEUNIFIER (CHARSET_ATTRIBUTES (charset))) | 329 | (CHARSET_ATTR_DEUNIFIER (CHARSET_ATTRIBUTES (charset))) |
| 333 | 330 | ||
| 334 | CHARSET_INLINE void | 331 | INLINE void |
| 335 | set_charset_attr (struct charset *charset, enum charset_attr_index idx, | 332 | set_charset_attr (struct charset *charset, enum charset_attr_index idx, |
| 336 | Lisp_Object val) | 333 | Lisp_Object val) |
| 337 | { | 334 | { |
diff --git a/src/chartab.c b/src/chartab.c index b7b9590a538..089c4254da6 100644 --- a/src/chartab.c +++ b/src/chartab.c | |||
| @@ -1258,7 +1258,7 @@ uniprop_encode_value_character (Lisp_Object table, Lisp_Object value) | |||
| 1258 | static Lisp_Object | 1258 | static Lisp_Object |
| 1259 | uniprop_encode_value_run_length (Lisp_Object table, Lisp_Object value) | 1259 | uniprop_encode_value_run_length (Lisp_Object table, Lisp_Object value) |
| 1260 | { | 1260 | { |
| 1261 | Lisp_Object *value_table = XVECTOR (XCHAR_TABLE (table)->extras[4])->contents; | 1261 | Lisp_Object *value_table = XVECTOR (XCHAR_TABLE (table)->extras[4])->u.contents; |
| 1262 | int i, size = ASIZE (XCHAR_TABLE (table)->extras[4]); | 1262 | int i, size = ASIZE (XCHAR_TABLE (table)->extras[4]); |
| 1263 | 1263 | ||
| 1264 | for (i = 0; i < size; i++) | 1264 | for (i = 0; i < size; i++) |
| @@ -1276,7 +1276,7 @@ uniprop_encode_value_run_length (Lisp_Object table, Lisp_Object value) | |||
| 1276 | static Lisp_Object | 1276 | static Lisp_Object |
| 1277 | uniprop_encode_value_numeric (Lisp_Object table, Lisp_Object value) | 1277 | uniprop_encode_value_numeric (Lisp_Object table, Lisp_Object value) |
| 1278 | { | 1278 | { |
| 1279 | Lisp_Object *value_table = XVECTOR (XCHAR_TABLE (table)->extras[4])->contents; | 1279 | Lisp_Object *value_table = XVECTOR (XCHAR_TABLE (table)->extras[4])->u.contents; |
| 1280 | int i, size = ASIZE (XCHAR_TABLE (table)->extras[4]); | 1280 | int i, size = ASIZE (XCHAR_TABLE (table)->extras[4]); |
| 1281 | 1281 | ||
| 1282 | CHECK_NUMBER (value); | 1282 | CHECK_NUMBER (value); |
diff --git a/src/composite.c b/src/composite.c index 28942fe4f74..4f125522e38 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -24,8 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | 24 | ||
| 25 | #include <config.h> | 25 | #include <config.h> |
| 26 | 26 | ||
| 27 | #define COMPOSITE_INLINE EXTERN_INLINE | ||
| 28 | |||
| 29 | #include "lisp.h" | 27 | #include "lisp.h" |
| 30 | #include "character.h" | 28 | #include "character.h" |
| 31 | #include "buffer.h" | 29 | #include "buffer.h" |
| @@ -268,7 +266,7 @@ get_composition_id (ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t nchars, | |||
| 268 | composition_table = xpalloc (composition_table, &composition_table_size, | 266 | composition_table = xpalloc (composition_table, &composition_table_size, |
| 269 | 1, -1, sizeof *composition_table); | 267 | 1, -1, sizeof *composition_table); |
| 270 | 268 | ||
| 271 | key_contents = XVECTOR (key)->contents; | 269 | key_contents = XVECTOR (key)->u.contents; |
| 272 | 270 | ||
| 273 | /* Check if the contents of COMPONENTS are valid if COMPONENTS is a | 271 | /* Check if the contents of COMPONENTS are valid if COMPONENTS is a |
| 274 | vector or a list. It should be a sequence of: | 272 | vector or a list. It should be a sequence of: |
| @@ -676,7 +674,7 @@ composition_gstring_put_cache (Lisp_Object gstring, ptrdiff_t len) | |||
| 676 | len = j; | 674 | len = j; |
| 677 | } | 675 | } |
| 678 | 676 | ||
| 679 | lint_assume (len <= TYPE_MAXIMUM (ptrdiff_t) - 2); | 677 | assume (len <= TYPE_MAXIMUM (ptrdiff_t) - 2); |
| 680 | copy = Fmake_vector (make_number (len + 2), Qnil); | 678 | copy = Fmake_vector (make_number (len + 2), Qnil); |
| 681 | LGSTRING_SET_HEADER (copy, Fcopy_sequence (header)); | 679 | LGSTRING_SET_HEADER (copy, Fcopy_sequence (header)); |
| 682 | for (i = 0; i < len; i++) | 680 | for (i = 0; i < len; i++) |
diff --git a/src/composite.h b/src/composite.h index df170093797..b3ea5cd1ed8 100644 --- a/src/composite.h +++ b/src/composite.h | |||
| @@ -28,9 +28,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 28 | #include "font.h" | 28 | #include "font.h" |
| 29 | 29 | ||
| 30 | INLINE_HEADER_BEGIN | 30 | INLINE_HEADER_BEGIN |
| 31 | #ifndef COMPOSITE_INLINE | ||
| 32 | # define COMPOSITE_INLINE INLINE | ||
| 33 | #endif | ||
| 34 | 31 | ||
| 35 | /* Methods to display a sequence of components of a composition. */ | 32 | /* Methods to display a sequence of components of a composition. */ |
| 36 | enum composition_method { | 33 | enum composition_method { |
| @@ -59,7 +56,7 @@ enum composition_method { | |||
| 59 | They don't check validity of PROP. */ | 56 | They don't check validity of PROP. */ |
| 60 | 57 | ||
| 61 | /* Return true if PROP is already registered. */ | 58 | /* Return true if PROP is already registered. */ |
| 62 | COMPOSITE_INLINE bool | 59 | INLINE bool |
| 63 | composition_registered_p (Lisp_Object prop) | 60 | composition_registered_p (Lisp_Object prop) |
| 64 | { | 61 | { |
| 65 | return INTEGERP (XCAR (prop)); | 62 | return INTEGERP (XCAR (prop)); |
| @@ -91,8 +88,8 @@ composition_registered_p (Lisp_Object prop) | |||
| 91 | #define COMPOSITION_GLYPH(cmp, n) \ | 88 | #define COMPOSITION_GLYPH(cmp, n) \ |
| 92 | XINT (XVECTOR (XVECTOR (XHASH_TABLE (composition_hash_table) \ | 89 | XINT (XVECTOR (XVECTOR (XHASH_TABLE (composition_hash_table) \ |
| 93 | ->key_and_value) \ | 90 | ->key_and_value) \ |
| 94 | ->contents[cmp->hash_index * 2]) \ | 91 | ->u.contents[cmp->hash_index * 2]) \ |
| 95 | ->contents[cmp->method == COMPOSITION_WITH_RULE_ALTCHARS \ | 92 | ->u.contents[cmp->method == COMPOSITION_WITH_RULE_ALTCHARS \ |
| 96 | ? (n) * 2 : (n)]) | 93 | ? (n) * 2 : (n)]) |
| 97 | 94 | ||
| 98 | /* Return the encoded composition rule to compose the Nth glyph of | 95 | /* Return the encoded composition rule to compose the Nth glyph of |
| @@ -101,8 +98,8 @@ composition_registered_p (Lisp_Object prop) | |||
| 101 | #define COMPOSITION_RULE(cmp, n) \ | 98 | #define COMPOSITION_RULE(cmp, n) \ |
| 102 | XINT (XVECTOR (XVECTOR (XHASH_TABLE (composition_hash_table) \ | 99 | XINT (XVECTOR (XVECTOR (XHASH_TABLE (composition_hash_table) \ |
| 103 | ->key_and_value) \ | 100 | ->key_and_value) \ |
| 104 | ->contents[cmp->hash_index * 2]) \ | 101 | ->u.contents[cmp->hash_index * 2]) \ |
| 105 | ->contents[(n) * 2 - 1]) | 102 | ->u.contents[(n) * 2 - 1]) |
| 106 | 103 | ||
| 107 | /* Decode encoded composition rule RULE_CODE into GREF (global | 104 | /* Decode encoded composition rule RULE_CODE into GREF (global |
| 108 | reference point code), NREF (new ref. point code). Don't check RULE_CODE; | 105 | reference point code), NREF (new ref. point code). Don't check RULE_CODE; |
| @@ -207,7 +204,7 @@ extern void compose_text (ptrdiff_t, ptrdiff_t, Lisp_Object, Lisp_Object, | |||
| 207 | 204 | ||
| 208 | /* Return the method of a composition with property PROP. */ | 205 | /* Return the method of a composition with property PROP. */ |
| 209 | 206 | ||
| 210 | COMPOSITE_INLINE enum composition_method | 207 | INLINE enum composition_method |
| 211 | composition_method (Lisp_Object prop) | 208 | composition_method (Lisp_Object prop) |
| 212 | { | 209 | { |
| 213 | if (composition_registered_p (prop)) | 210 | if (composition_registered_p (prop)) |
| @@ -226,7 +223,7 @@ composition_method (Lisp_Object prop) | |||
| 226 | /* Given offsets START and END, return true if PROP is a valid composition | 223 | /* Given offsets START and END, return true if PROP is a valid composition |
| 227 | property with length END - START. */ | 224 | property with length END - START. */ |
| 228 | 225 | ||
| 229 | COMPOSITE_INLINE bool | 226 | INLINE bool |
| 230 | composition_valid_p (ptrdiff_t start, ptrdiff_t end, Lisp_Object prop) | 227 | composition_valid_p (ptrdiff_t start, ptrdiff_t end, Lisp_Object prop) |
| 231 | { | 228 | { |
| 232 | return (CONSP (prop) | 229 | return (CONSP (prop) |
| @@ -262,7 +259,7 @@ composition_valid_p (ptrdiff_t start, ptrdiff_t end, Lisp_Object prop) | |||
| 262 | #define LGSTRING_GLYPH_LEN(lgs) (ASIZE ((lgs)) - 2) | 259 | #define LGSTRING_GLYPH_LEN(lgs) (ASIZE ((lgs)) - 2) |
| 263 | #define LGSTRING_GLYPH(lgs, idx) AREF ((lgs), (idx) + 2) | 260 | #define LGSTRING_GLYPH(lgs, idx) AREF ((lgs), (idx) + 2) |
| 264 | #define LGSTRING_SET_GLYPH(lgs, idx, val) ASET ((lgs), (idx) + 2, (val)) | 261 | #define LGSTRING_SET_GLYPH(lgs, idx, val) ASET ((lgs), (idx) + 2, (val)) |
| 265 | COMPOSITE_INLINE Lisp_Object * | 262 | INLINE Lisp_Object * |
| 266 | lgstring_glyph_addr (Lisp_Object lgs, ptrdiff_t idx) | 263 | lgstring_glyph_addr (Lisp_Object lgs, ptrdiff_t idx) |
| 267 | { | 264 | { |
| 268 | return aref_addr (lgs, idx + 2); | 265 | return aref_addr (lgs, idx + 2); |
diff --git a/src/conf_post.h b/src/conf_post.h index 16714076f6f..0786bdfeb33 100644 --- a/src/conf_post.h +++ b/src/conf_post.h | |||
| @@ -208,11 +208,8 @@ extern void _DebPrint (const char *fmt, ...); | |||
| 208 | [#include any other .h files first.] | 208 | [#include any other .h files first.] |
| 209 | ... | 209 | ... |
| 210 | INLINE_HEADER_BEGIN | 210 | INLINE_HEADER_BEGIN |
| 211 | #ifndef FOO_INLINE | ||
| 212 | # define FOO_INLINE INLINE | ||
| 213 | #endif | ||
| 214 | ... | 211 | ... |
| 215 | FOO_INLINE int | 212 | INLINE int |
| 216 | incr (int i) | 213 | incr (int i) |
| 217 | { | 214 | { |
| 218 | return i + 1; | 215 | return i + 1; |
| @@ -220,19 +217,22 @@ extern void _DebPrint (const char *fmt, ...); | |||
| 220 | ... | 217 | ... |
| 221 | INLINE_HEADER_END | 218 | INLINE_HEADER_END |
| 222 | 219 | ||
| 223 | The corresponding foo.c file should do this: | 220 | For every executable, exactly one file that includes the header |
| 221 | should do this: | ||
| 224 | 222 | ||
| 225 | #define FOO_INLINE EXTERN_INLINE | 223 | #define INLINE EXTERN_INLINE |
| 226 | 224 | ||
| 227 | before including any .h file other than config.h. | 225 | before including config.h or any other .h file. |
| 228 | Other .c files should not define FOO_INLINE. | 226 | Other .c files should not define INLINE. |
| 229 | 227 | ||
| 230 | C99 compilers compile functions like 'incr' as C99-style extern | 228 | C99 compilers compile functions like 'incr' as C99-style extern |
| 231 | inline functions. Pre-C99 GCCs do something similar with | 229 | inline functions. Pre-C99 GCCs do something similar with |
| 232 | GNU-specific keywords. Pre-C99 non-GCC compilers use static | 230 | GNU-specific keywords. Pre-C99 non-GCC compilers use static |
| 233 | functions, which bloats the code but is good enough. */ | 231 | functions, which bloats the code but is good enough. */ |
| 234 | 232 | ||
| 235 | #define INLINE _GL_INLINE | 233 | #ifndef INLINE |
| 234 | # define INLINE _GL_INLINE | ||
| 235 | #endif | ||
| 236 | #define EXTERN_INLINE _GL_EXTERN_INLINE | 236 | #define EXTERN_INLINE _GL_EXTERN_INLINE |
| 237 | #define INLINE_HEADER_BEGIN _GL_INLINE_HEADER_BEGIN | 237 | #define INLINE_HEADER_BEGIN _GL_INLINE_HEADER_BEGIN |
| 238 | #define INLINE_HEADER_END _GL_INLINE_HEADER_END | 238 | #define INLINE_HEADER_END _GL_INLINE_HEADER_END |
| @@ -248,16 +248,29 @@ extern void _DebPrint (const char *fmt, ...); | |||
| 248 | # define FLEXIBLE_ARRAY_MEMBER 1 | 248 | # define FLEXIBLE_ARRAY_MEMBER 1 |
| 249 | #endif | 249 | #endif |
| 250 | 250 | ||
| 251 | #ifndef __has_builtin | ||
| 252 | # define __has_builtin(x) 0 | ||
| 253 | #endif | ||
| 254 | |||
| 255 | /* Tell the compiler (and lint) that COND will always hold, and that | ||
| 256 | it should optimize (or check) accordingly. */ | ||
| 257 | #if (__has_builtin (__builtin_unreachable) \ | ||
| 258 | || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) || __GNUC__ > 4) | ||
| 259 | # define assume(cond) ((cond) ? (void) 0 : __builtin_unreachable ()) | ||
| 260 | #elif defined _MSC_VER | ||
| 261 | # define assume(cond) __assume (cond) | ||
| 262 | #elif defined lint | ||
| 263 | # define assume(cond) ((cond) ? (void) 0 : abort ()) | ||
| 264 | #else | ||
| 265 | # define assume(cond) ((void) (0 && (cond))) | ||
| 266 | #endif | ||
| 267 | |||
| 251 | /* Use this to suppress gcc's `...may be used before initialized' warnings. */ | 268 | /* Use this to suppress gcc's `...may be used before initialized' warnings. */ |
| 252 | #ifdef lint | 269 | #ifdef lint |
| 253 | /* Use CODE only if lint checking is in effect. */ | 270 | /* Use CODE only if lint checking is in effect. */ |
| 254 | # define IF_LINT(Code) Code | 271 | # define IF_LINT(Code) Code |
| 255 | /* Assume that the expression COND is true. This differs in intent | ||
| 256 | from 'assert', as it is a message from the programmer to the compiler. */ | ||
| 257 | # define lint_assume(cond) ((cond) ? (void) 0 : abort ()) | ||
| 258 | #else | 272 | #else |
| 259 | # define IF_LINT(Code) /* empty */ | 273 | # define IF_LINT(Code) /* empty */ |
| 260 | # define lint_assume(cond) ((void) (0 && (cond))) | ||
| 261 | #endif | 274 | #endif |
| 262 | 275 | ||
| 263 | /* conf_post.h ends here */ | 276 | /* conf_post.h ends here */ |
diff --git a/src/data.c b/src/data.c index 9f4bd1f1c02..79679bae444 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -54,6 +54,7 @@ Lisp_Object Qintegerp, Qwholenump, Qsymbolp, Qlistp, Qconsp; | |||
| 54 | static Lisp_Object Qnatnump; | 54 | static Lisp_Object Qnatnump; |
| 55 | Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; | 55 | Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; |
| 56 | Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; | 56 | Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; |
| 57 | Lisp_Object Qbool_vector_p; | ||
| 57 | Lisp_Object Qbuffer_or_string_p; | 58 | Lisp_Object Qbuffer_or_string_p; |
| 58 | static Lisp_Object Qkeywordp, Qboundp; | 59 | static Lisp_Object Qkeywordp, Qboundp; |
| 59 | Lisp_Object Qfboundp; | 60 | Lisp_Object Qfboundp; |
| @@ -616,7 +617,7 @@ global value outside of any lexical scope. */) | |||
| 616 | struct Lisp_Buffer_Local_Value *blv = SYMBOL_BLV (sym); | 617 | struct Lisp_Buffer_Local_Value *blv = SYMBOL_BLV (sym); |
| 617 | if (blv->fwd) | 618 | if (blv->fwd) |
| 618 | /* In set_internal, we un-forward vars when their value is | 619 | /* In set_internal, we un-forward vars when their value is |
| 619 | set to Qunbound. */ | 620 | set to Qunbound. */ |
| 620 | return Qt; | 621 | return Qt; |
| 621 | else | 622 | else |
| 622 | { | 623 | { |
| @@ -627,7 +628,7 @@ global value outside of any lexical scope. */) | |||
| 627 | } | 628 | } |
| 628 | case SYMBOL_FORWARDED: | 629 | case SYMBOL_FORWARDED: |
| 629 | /* In set_internal, we un-forward vars when their value is | 630 | /* In set_internal, we un-forward vars when their value is |
| 630 | set to Qunbound. */ | 631 | set to Qunbound. */ |
| 631 | return Qt; | 632 | return Qt; |
| 632 | default: emacs_abort (); | 633 | default: emacs_abort (); |
| 633 | } | 634 | } |
| @@ -1995,7 +1996,7 @@ If the current binding is global (the default), the value is nil. */) | |||
| 1995 | } | 1996 | } |
| 1996 | 1997 | ||
| 1997 | /* This code is disabled now that we use the selected frame to return | 1998 | /* This code is disabled now that we use the selected frame to return |
| 1998 | keyboard-local-values. */ | 1999 | keyboard-local-values. */ |
| 1999 | #if 0 | 2000 | #if 0 |
| 2000 | extern struct terminal *get_terminal (Lisp_Object display, int); | 2001 | extern struct terminal *get_terminal (Lisp_Object display, int); |
| 2001 | 2002 | ||
| @@ -2255,10 +2256,8 @@ bool-vector. IDX starts at 0. */) | |||
| 2255 | 2256 | ||
| 2256 | /* Arithmetic functions */ | 2257 | /* Arithmetic functions */ |
| 2257 | 2258 | ||
| 2258 | enum comparison { equal, notequal, less, grtr, less_or_equal, grtr_or_equal }; | 2259 | Lisp_Object |
| 2259 | 2260 | arithcompare (Lisp_Object num1, Lisp_Object num2, enum Arith_Comparison comparison) | |
| 2260 | static Lisp_Object | ||
| 2261 | arithcompare (Lisp_Object num1, Lisp_Object num2, enum comparison comparison) | ||
| 2262 | { | 2261 | { |
| 2263 | double f1 = 0, f2 = 0; | 2262 | double f1 = 0, f2 = 0; |
| 2264 | bool floatp = 0; | 2263 | bool floatp = 0; |
| @@ -2275,32 +2274,32 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, enum comparison comparison) | |||
| 2275 | 2274 | ||
| 2276 | switch (comparison) | 2275 | switch (comparison) |
| 2277 | { | 2276 | { |
| 2278 | case equal: | 2277 | case ARITH_EQUAL: |
| 2279 | if (floatp ? f1 == f2 : XINT (num1) == XINT (num2)) | 2278 | if (floatp ? f1 == f2 : XINT (num1) == XINT (num2)) |
| 2280 | return Qt; | 2279 | return Qt; |
| 2281 | return Qnil; | 2280 | return Qnil; |
| 2282 | 2281 | ||
| 2283 | case notequal: | 2282 | case ARITH_NOTEQUAL: |
| 2284 | if (floatp ? f1 != f2 : XINT (num1) != XINT (num2)) | 2283 | if (floatp ? f1 != f2 : XINT (num1) != XINT (num2)) |
| 2285 | return Qt; | 2284 | return Qt; |
| 2286 | return Qnil; | 2285 | return Qnil; |
| 2287 | 2286 | ||
| 2288 | case less: | 2287 | case ARITH_LESS: |
| 2289 | if (floatp ? f1 < f2 : XINT (num1) < XINT (num2)) | 2288 | if (floatp ? f1 < f2 : XINT (num1) < XINT (num2)) |
| 2290 | return Qt; | 2289 | return Qt; |
| 2291 | return Qnil; | 2290 | return Qnil; |
| 2292 | 2291 | ||
| 2293 | case less_or_equal: | 2292 | case ARITH_LESS_OR_EQUAL: |
| 2294 | if (floatp ? f1 <= f2 : XINT (num1) <= XINT (num2)) | 2293 | if (floatp ? f1 <= f2 : XINT (num1) <= XINT (num2)) |
| 2295 | return Qt; | 2294 | return Qt; |
| 2296 | return Qnil; | 2295 | return Qnil; |
| 2297 | 2296 | ||
| 2298 | case grtr: | 2297 | case ARITH_GRTR: |
| 2299 | if (floatp ? f1 > f2 : XINT (num1) > XINT (num2)) | 2298 | if (floatp ? f1 > f2 : XINT (num1) > XINT (num2)) |
| 2300 | return Qt; | 2299 | return Qt; |
| 2301 | return Qnil; | 2300 | return Qnil; |
| 2302 | 2301 | ||
| 2303 | case grtr_or_equal: | 2302 | case ARITH_GRTR_OR_EQUAL: |
| 2304 | if (floatp ? f1 >= f2 : XINT (num1) >= XINT (num2)) | 2303 | if (floatp ? f1 >= f2 : XINT (num1) >= XINT (num2)) |
| 2305 | return Qt; | 2304 | return Qt; |
| 2306 | return Qnil; | 2305 | return Qnil; |
| @@ -2310,48 +2309,65 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, enum comparison comparison) | |||
| 2310 | } | 2309 | } |
| 2311 | } | 2310 | } |
| 2312 | 2311 | ||
| 2313 | DEFUN ("=", Feqlsign, Seqlsign, 2, 2, 0, | 2312 | static Lisp_Object |
| 2314 | doc: /* Return t if two args, both numbers or markers, are equal. */) | 2313 | arithcompare_driver (ptrdiff_t nargs, Lisp_Object *args, |
| 2315 | (register Lisp_Object num1, Lisp_Object num2) | 2314 | enum Arith_Comparison comparison) |
| 2316 | { | 2315 | { |
| 2317 | return arithcompare (num1, num2, equal); | 2316 | for (ptrdiff_t argnum = 1; argnum < nargs; ++argnum) |
| 2317 | { | ||
| 2318 | if (EQ (Qnil, arithcompare (args[argnum-1], args[argnum], comparison))) | ||
| 2319 | return Qnil; | ||
| 2320 | } | ||
| 2321 | return Qt; | ||
| 2318 | } | 2322 | } |
| 2319 | 2323 | ||
| 2320 | DEFUN ("<", Flss, Slss, 2, 2, 0, | 2324 | DEFUN ("=", Feqlsign, Seqlsign, 1, MANY, 0, |
| 2321 | doc: /* Return t if first arg is less than second arg. Both must be numbers or markers. */) | 2325 | doc: /* Return t if args, all numbers or markers, are equal. |
| 2322 | (register Lisp_Object num1, Lisp_Object num2) | 2326 | usage: (= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) |
| 2327 | (ptrdiff_t nargs, Lisp_Object *args) | ||
| 2323 | { | 2328 | { |
| 2324 | return arithcompare (num1, num2, less); | 2329 | return arithcompare_driver (nargs, args, ARITH_EQUAL); |
| 2325 | } | 2330 | } |
| 2326 | 2331 | ||
| 2327 | DEFUN (">", Fgtr, Sgtr, 2, 2, 0, | 2332 | DEFUN ("<", Flss, Slss, 1, MANY, 0, |
| 2328 | doc: /* Return t if first arg is greater than second arg. Both must be numbers or markers. */) | 2333 | doc: /* Return t if each arg is less than the next arg. All must be numbers or markers. |
| 2329 | (register Lisp_Object num1, Lisp_Object num2) | 2334 | usage: (< NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) |
| 2335 | (ptrdiff_t nargs, Lisp_Object *args) | ||
| 2330 | { | 2336 | { |
| 2331 | return arithcompare (num1, num2, grtr); | 2337 | return arithcompare_driver (nargs, args, ARITH_LESS); |
| 2332 | } | 2338 | } |
| 2333 | 2339 | ||
| 2334 | DEFUN ("<=", Fleq, Sleq, 2, 2, 0, | 2340 | DEFUN (">", Fgtr, Sgtr, 1, MANY, 0, |
| 2335 | doc: /* Return t if first arg is less than or equal to second arg. | 2341 | doc: /* Return t if each arg is greater than the next arg. All must be numbers or markers. |
| 2336 | Both must be numbers or markers. */) | 2342 | usage: (> NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) |
| 2337 | (register Lisp_Object num1, Lisp_Object num2) | 2343 | (ptrdiff_t nargs, Lisp_Object *args) |
| 2338 | { | 2344 | { |
| 2339 | return arithcompare (num1, num2, less_or_equal); | 2345 | return arithcompare_driver (nargs, args, ARITH_GRTR); |
| 2340 | } | 2346 | } |
| 2341 | 2347 | ||
| 2342 | DEFUN (">=", Fgeq, Sgeq, 2, 2, 0, | 2348 | DEFUN ("<=", Fleq, Sleq, 1, MANY, 0, |
| 2343 | doc: /* Return t if first arg is greater than or equal to second arg. | 2349 | doc: /* Return t if each arg is less than or equal to the next arg. |
| 2344 | Both must be numbers or markers. */) | 2350 | All must be numbers or markers. |
| 2345 | (register Lisp_Object num1, Lisp_Object num2) | 2351 | usage: (<= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) |
| 2352 | (ptrdiff_t nargs, Lisp_Object *args) | ||
| 2353 | { | ||
| 2354 | return arithcompare_driver (nargs, args, ARITH_LESS_OR_EQUAL); | ||
| 2355 | } | ||
| 2356 | |||
| 2357 | DEFUN (">=", Fgeq, Sgeq, 1, MANY, 0, | ||
| 2358 | doc: /* Return t if each arg is greater than or equal to the next arg. | ||
| 2359 | All must be numbers or markers. | ||
| 2360 | usage: (= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) | ||
| 2361 | (ptrdiff_t nargs, Lisp_Object *args) | ||
| 2346 | { | 2362 | { |
| 2347 | return arithcompare (num1, num2, grtr_or_equal); | 2363 | return arithcompare_driver (nargs, args, ARITH_GRTR_OR_EQUAL); |
| 2348 | } | 2364 | } |
| 2349 | 2365 | ||
| 2350 | DEFUN ("/=", Fneq, Sneq, 2, 2, 0, | 2366 | DEFUN ("/=", Fneq, Sneq, 2, 2, 0, |
| 2351 | doc: /* Return t if first arg is not equal to second arg. Both must be numbers or markers. */) | 2367 | doc: /* Return t if first arg is not equal to second arg. Both must be numbers or markers. */) |
| 2352 | (register Lisp_Object num1, Lisp_Object num2) | 2368 | (register Lisp_Object num1, Lisp_Object num2) |
| 2353 | { | 2369 | { |
| 2354 | return arithcompare (num1, num2, notequal); | 2370 | return arithcompare (num1, num2, ARITH_NOTEQUAL); |
| 2355 | } | 2371 | } |
| 2356 | 2372 | ||
| 2357 | DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, | 2373 | DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, |
| @@ -2941,6 +2957,453 @@ lowercase l) for small endian machines. */) | |||
| 2941 | return make_number (order); | 2957 | return make_number (order); |
| 2942 | } | 2958 | } |
| 2943 | 2959 | ||
| 2960 | /* Because we round up the bool vector allocate size to word_size | ||
| 2961 | units, we can safely read past the "end" of the vector in the | ||
| 2962 | operations below. These extra bits are always zero. Also, we | ||
| 2963 | always allocate bool vectors with at least one size_t of storage so | ||
| 2964 | that we don't have to special-case empty bit vectors. */ | ||
| 2965 | |||
| 2966 | static size_t | ||
| 2967 | bool_vector_spare_mask (ptrdiff_t nr_bits) | ||
| 2968 | { | ||
| 2969 | eassert_and_assume (nr_bits > 0); | ||
| 2970 | return (((size_t) 1) << (nr_bits % BITS_PER_SIZE_T)) - 1; | ||
| 2971 | } | ||
| 2972 | |||
| 2973 | #if _MSC_VER >= 1500 && (defined _M_IX86 || defined _M_X64) | ||
| 2974 | # define USE_MSC_POPCOUNT | ||
| 2975 | # define POPCOUNT_STATIC_INLINE static inline | ||
| 2976 | #elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) | ||
| 2977 | # define USE_GCC_POPCOUNT | ||
| 2978 | # if 199901L <= __STDC_VERSION__ || !__STRICT_ANSI__ | ||
| 2979 | # define POPCOUNT_STATIC_INLINE static inline | ||
| 2980 | # endif | ||
| 2981 | #else | ||
| 2982 | # define NEED_GENERIC_POPCOUNT | ||
| 2983 | #endif | ||
| 2984 | #ifndef POPCOUNT_STATIC_INLINE | ||
| 2985 | # define POPCOUNT_STATIC_INLINE static | ||
| 2986 | #endif | ||
| 2987 | |||
| 2988 | #ifdef USE_MSC_POPCOUNT | ||
| 2989 | # define NEED_GENERIC_POPCOUNT | ||
| 2990 | #endif | ||
| 2991 | |||
| 2992 | #ifdef NEED_GENERIC_POPCOUNT | ||
| 2993 | POPCOUNT_STATIC_INLINE unsigned int | ||
| 2994 | popcount_size_t_generic (size_t val) | ||
| 2995 | { | ||
| 2996 | unsigned short j; | ||
| 2997 | unsigned int count = 0; | ||
| 2998 | |||
| 2999 | for (j = 0; j < BITS_PER_SIZE_T; ++j) | ||
| 3000 | count += !!((((size_t) 1) << j) & val); | ||
| 3001 | |||
| 3002 | return count; | ||
| 3003 | } | ||
| 3004 | #endif | ||
| 3005 | |||
| 3006 | #ifdef USE_MSC_POPCOUNT | ||
| 3007 | POPCOUNT_STATIC_INLINE unsigned int | ||
| 3008 | popcount_size_t_msc (size_t val) | ||
| 3009 | { | ||
| 3010 | unsigned int count; | ||
| 3011 | |||
| 3012 | #pragma intrinsic __cpuid | ||
| 3013 | /* While gcc falls back to its own generic code if the machine on | ||
| 3014 | which it's running doesn't support popcount, we need to perform the | ||
| 3015 | detection and fallback ourselves when compiling with Microsoft's | ||
| 3016 | compiler. */ | ||
| 3017 | |||
| 3018 | static enum { | ||
| 3019 | popcount_unknown_support, | ||
| 3020 | popcount_use_generic, | ||
| 3021 | popcount_use_intrinsic | ||
| 3022 | } popcount_state; | ||
| 3023 | |||
| 3024 | if (popcount_state == popcount_unknown_support) | ||
| 3025 | { | ||
| 3026 | int cpu_info[4]; | ||
| 3027 | __cpuid (cpu_info, 1); | ||
| 3028 | if (cpu_info[2] & (1<<23)) /* See MSDN. */ | ||
| 3029 | popcount_state = popcount_use_intrinsic; | ||
| 3030 | else | ||
| 3031 | popcount_state = popcount_use_generic; | ||
| 3032 | } | ||
| 3033 | |||
| 3034 | if (popcount_state == popcount_use_intrinsic) | ||
| 3035 | { | ||
| 3036 | # if BITS_PER_SIZE_T == 64 | ||
| 3037 | # pragma intrinsic __popcnt64 | ||
| 3038 | count = __popcnt64 (val); | ||
| 3039 | # else | ||
| 3040 | # pragma intrinsic __popcnt | ||
| 3041 | count = __popcnt (val); | ||
| 3042 | # endif | ||
| 3043 | } | ||
| 3044 | else | ||
| 3045 | count = popcount_size_t_generic (val); | ||
| 3046 | |||
| 3047 | return count; | ||
| 3048 | } | ||
| 3049 | #endif /* USE_MSC_POPCOUNT */ | ||
| 3050 | |||
| 3051 | #ifdef USE_GCC_POPCOUNT | ||
| 3052 | POPCOUNT_STATIC_INLINE unsigned int | ||
| 3053 | popcount_size_t_gcc (size_t val) | ||
| 3054 | { | ||
| 3055 | # if BITS_PER_SIZE_T == 64 | ||
| 3056 | return __builtin_popcountll (val); | ||
| 3057 | # else | ||
| 3058 | return __builtin_popcount (val); | ||
| 3059 | # endif | ||
| 3060 | } | ||
| 3061 | #endif /* USE_GCC_POPCOUNT */ | ||
| 3062 | |||
| 3063 | POPCOUNT_STATIC_INLINE unsigned int | ||
| 3064 | popcount_size_t (size_t val) | ||
| 3065 | { | ||
| 3066 | #if defined USE_MSC_POPCOUNT | ||
| 3067 | return popcount_size_t_msc (val); | ||
| 3068 | #elif defined USE_GCC_POPCOUNT | ||
| 3069 | return popcount_size_t_gcc (val); | ||
| 3070 | #else | ||
| 3071 | return popcount_size_t_generic (val); | ||
| 3072 | #endif | ||
| 3073 | } | ||
| 3074 | |||
| 3075 | enum bool_vector_op { bool_vector_exclusive_or, | ||
| 3076 | bool_vector_union, | ||
| 3077 | bool_vector_intersection, | ||
| 3078 | bool_vector_set_difference, | ||
| 3079 | bool_vector_subsetp }; | ||
| 3080 | |||
| 3081 | static Lisp_Object | ||
| 3082 | bool_vector_binop_driver (Lisp_Object op1, | ||
| 3083 | Lisp_Object op2, | ||
| 3084 | Lisp_Object dest, | ||
| 3085 | enum bool_vector_op op) | ||
| 3086 | { | ||
| 3087 | EMACS_INT nr_bits; | ||
| 3088 | size_t *adata, *bdata, *cdata; | ||
| 3089 | ptrdiff_t i; | ||
| 3090 | size_t changed = 0; | ||
| 3091 | size_t mword; | ||
| 3092 | ptrdiff_t nr_words; | ||
| 3093 | |||
| 3094 | CHECK_BOOL_VECTOR (op1); | ||
| 3095 | CHECK_BOOL_VECTOR (op2); | ||
| 3096 | |||
| 3097 | nr_bits = min (XBOOL_VECTOR (op1)->size, | ||
| 3098 | XBOOL_VECTOR (op2)->size); | ||
| 3099 | |||
| 3100 | if (NILP (dest)) | ||
| 3101 | { | ||
| 3102 | dest = Fmake_bool_vector (make_number (nr_bits), Qnil); | ||
| 3103 | changed = 1; | ||
| 3104 | } | ||
| 3105 | else | ||
| 3106 | { | ||
| 3107 | CHECK_BOOL_VECTOR (dest); | ||
| 3108 | nr_bits = min (nr_bits, XBOOL_VECTOR (dest)->size); | ||
| 3109 | } | ||
| 3110 | |||
| 3111 | eassert_and_assume (nr_bits >= 0); | ||
| 3112 | nr_words = ROUNDUP (nr_bits, BITS_PER_SIZE_T) / BITS_PER_SIZE_T; | ||
| 3113 | |||
| 3114 | adata = (size_t *) XBOOL_VECTOR (dest)->data; | ||
| 3115 | bdata = (size_t *) XBOOL_VECTOR (op1)->data; | ||
| 3116 | cdata = (size_t *) XBOOL_VECTOR (op2)->data; | ||
| 3117 | i = 0; | ||
| 3118 | do | ||
| 3119 | { | ||
| 3120 | if (op == bool_vector_exclusive_or) | ||
| 3121 | mword = bdata[i] ^ cdata[i]; | ||
| 3122 | else if (op == bool_vector_union || op == bool_vector_subsetp) | ||
| 3123 | mword = bdata[i] | cdata[i]; | ||
| 3124 | else if (op == bool_vector_intersection) | ||
| 3125 | mword = bdata[i] & cdata[i]; | ||
| 3126 | else if (op == bool_vector_set_difference) | ||
| 3127 | mword = bdata[i] &~ cdata[i]; | ||
| 3128 | else | ||
| 3129 | abort (); | ||
| 3130 | |||
| 3131 | changed |= adata[i] ^ mword; | ||
| 3132 | |||
| 3133 | if (op != bool_vector_subsetp) | ||
| 3134 | adata[i] = mword; | ||
| 3135 | |||
| 3136 | i++; | ||
| 3137 | } | ||
| 3138 | while (i < nr_words); | ||
| 3139 | |||
| 3140 | return changed ? dest : Qnil; | ||
| 3141 | } | ||
| 3142 | |||
| 3143 | /* Compute the number of trailing zero bits in val. If val is zero, | ||
| 3144 | return the number of bits in val. */ | ||
| 3145 | static unsigned int | ||
| 3146 | count_trailing_zero_bits (size_t val) | ||
| 3147 | { | ||
| 3148 | if (val == 0) | ||
| 3149 | return CHAR_BIT * sizeof (val); | ||
| 3150 | |||
| 3151 | #if defined USE_GCC_POPCOUNT && BITS_PER_SIZE_T == 64 | ||
| 3152 | return __builtin_ctzll (val); | ||
| 3153 | #elif defined USE_GCC_POPCOUNT && BITS_PER_SIZE_T == 32 | ||
| 3154 | return __builtin_ctz (val); | ||
| 3155 | #elif _MSC_VER && BITS_PER_SIZE_T == 64 | ||
| 3156 | # pragma intrinsic _BitScanForward64 | ||
| 3157 | { | ||
| 3158 | /* No support test needed: support since 386. */ | ||
| 3159 | unsigned long result; | ||
| 3160 | _BitScanForward64 (&result, val); | ||
| 3161 | return (unsigned int) result; | ||
| 3162 | } | ||
| 3163 | #elif _MSC_VER && BITS_PER_SIZE_T == 32 | ||
| 3164 | # pragma intrinsic _BitScanForward | ||
| 3165 | { | ||
| 3166 | /* No support test needed: support since 386. */ | ||
| 3167 | unsigned long result; | ||
| 3168 | _BitScanForward (&result, val); | ||
| 3169 | return (unsigned int) result; | ||
| 3170 | } | ||
| 3171 | #else | ||
| 3172 | { | ||
| 3173 | unsigned int count; | ||
| 3174 | count = 0; | ||
| 3175 | for (val = ~val; val & 1; val >>= 1) | ||
| 3176 | ++count; | ||
| 3177 | |||
| 3178 | return count; | ||
| 3179 | } | ||
| 3180 | #endif | ||
| 3181 | } | ||
| 3182 | |||
| 3183 | static size_t | ||
| 3184 | size_t_to_host_endian (size_t val) | ||
| 3185 | { | ||
| 3186 | #ifdef WORDS_BIGENDIAN | ||
| 3187 | # if BITS_PER_SIZE_T == 64 | ||
| 3188 | return swap64 (val); | ||
| 3189 | # else | ||
| 3190 | return swap32 (val); | ||
| 3191 | # endif | ||
| 3192 | #else | ||
| 3193 | return val; | ||
| 3194 | #endif | ||
| 3195 | } | ||
| 3196 | |||
| 3197 | DEFUN ("bool-vector-exclusive-or", Fbool_vector_exclusive_or, | ||
| 3198 | Sbool_vector_exclusive_or, 2, 3, 0, | ||
| 3199 | doc: /* Compute C = A ^ B, bitwise exclusive or. | ||
| 3200 | A, B, and C must be bool vectors. If C is nil, allocate a new bool | ||
| 3201 | vector in which to store the result. Return the destination vector if | ||
| 3202 | it changed or nil otherwise. */ | ||
| 3203 | ) | ||
| 3204 | (Lisp_Object a, Lisp_Object b, Lisp_Object c) | ||
| 3205 | { | ||
| 3206 | return bool_vector_binop_driver (a, b, c, bool_vector_exclusive_or); | ||
| 3207 | } | ||
| 3208 | |||
| 3209 | DEFUN ("bool-vector-union", Fbool_vector_union, | ||
| 3210 | Sbool_vector_union, 2, 3, 0, | ||
| 3211 | doc: /* Compute C = A | B, bitwise or. | ||
| 3212 | A, B, and C must be bool vectors. If C is nil, allocate a new bool | ||
| 3213 | vector in which to store the result. Return the destination vector if | ||
| 3214 | it changed or nil otherwise. */) | ||
| 3215 | (Lisp_Object a, Lisp_Object b, Lisp_Object c) | ||
| 3216 | { | ||
| 3217 | return bool_vector_binop_driver (a, b, c, bool_vector_union); | ||
| 3218 | } | ||
| 3219 | |||
| 3220 | DEFUN ("bool-vector-intersection", Fbool_vector_intersection, | ||
| 3221 | Sbool_vector_intersection, 2, 3, 0, | ||
| 3222 | doc: /* Compute C = A & B, bitwise and. | ||
| 3223 | A, B, and C must be bool vectors. If C is nil, allocate a new bool | ||
| 3224 | vector in which to store the result. Return the destination vector if | ||
| 3225 | it changed or nil otherwise. */) | ||
| 3226 | (Lisp_Object a, Lisp_Object b, Lisp_Object c) | ||
| 3227 | { | ||
| 3228 | return bool_vector_binop_driver (a, b, c, bool_vector_intersection); | ||
| 3229 | } | ||
| 3230 | |||
| 3231 | DEFUN ("bool-vector-set-difference", Fbool_vector_set_difference, | ||
| 3232 | Sbool_vector_set_difference, 2, 3, 0, | ||
| 3233 | doc: /* Compute C = A &~ B, set difference. | ||
| 3234 | A, B, and C must be bool vectors. If C is nil, allocate a new bool | ||
| 3235 | vector in which to store the result. Return the destination vector if | ||
| 3236 | it changed or nil otherwise. */) | ||
| 3237 | (Lisp_Object a, Lisp_Object b, Lisp_Object c) | ||
| 3238 | { | ||
| 3239 | return bool_vector_binop_driver (a, b, c, bool_vector_set_difference); | ||
| 3240 | } | ||
| 3241 | |||
| 3242 | DEFUN ("bool-vector-subsetp", Fbool_vector_subsetp, | ||
| 3243 | Sbool_vector_subsetp, 2, 2, 0, | ||
| 3244 | doc: ) | ||
| 3245 | (Lisp_Object a, Lisp_Object b) | ||
| 3246 | { | ||
| 3247 | /* Like bool_vector_union, but doesn't modify b. */ | ||
| 3248 | return bool_vector_binop_driver (b, a, b, bool_vector_subsetp); | ||
| 3249 | } | ||
| 3250 | |||
| 3251 | DEFUN ("bool-vector-not", Fbool_vector_not, | ||
| 3252 | Sbool_vector_not, 1, 2, 0, | ||
| 3253 | doc: /* Compute B = ~A. | ||
| 3254 | B must be a bool vector. A must be a bool vector or nil. | ||
| 3255 | If A is nil, allocate a new bool vector in which to store the result. | ||
| 3256 | Return the destination vector. */) | ||
| 3257 | (Lisp_Object a, Lisp_Object b) | ||
| 3258 | { | ||
| 3259 | EMACS_INT nr_bits; | ||
| 3260 | size_t *bdata, *adata; | ||
| 3261 | ptrdiff_t i; | ||
| 3262 | size_t mword; | ||
| 3263 | |||
| 3264 | CHECK_BOOL_VECTOR (a); | ||
| 3265 | nr_bits = XBOOL_VECTOR (a)->size; | ||
| 3266 | |||
| 3267 | if (NILP (b)) | ||
| 3268 | b = Fmake_bool_vector (make_number (nr_bits), Qnil); | ||
| 3269 | else | ||
| 3270 | { | ||
| 3271 | CHECK_BOOL_VECTOR (b); | ||
| 3272 | nr_bits = min (nr_bits, XBOOL_VECTOR (b)->size); | ||
| 3273 | } | ||
| 3274 | |||
| 3275 | bdata = (size_t *) XBOOL_VECTOR (b)->data; | ||
| 3276 | adata = (size_t *) XBOOL_VECTOR (a)->data; | ||
| 3277 | |||
| 3278 | eassert_and_assume (nr_bits >= 0); | ||
| 3279 | |||
| 3280 | for (i = 0; i < nr_bits / BITS_PER_SIZE_T; i++) | ||
| 3281 | bdata[i] = ~adata[i]; | ||
| 3282 | |||
| 3283 | if (nr_bits % BITS_PER_SIZE_T) | ||
| 3284 | { | ||
| 3285 | mword = size_t_to_host_endian (adata[i]); | ||
| 3286 | mword = ~mword; | ||
| 3287 | mword &= bool_vector_spare_mask (nr_bits); | ||
| 3288 | bdata[i] = size_t_to_host_endian (mword); | ||
| 3289 | } | ||
| 3290 | |||
| 3291 | return b; | ||
| 3292 | } | ||
| 3293 | |||
| 3294 | DEFUN ("bool-vector-count-matches", Fbool_vector_count_matches, | ||
| 3295 | Sbool_vector_count_matches, 2, 2, 0, | ||
| 3296 | doc: /* Count how many elements in A equal B. | ||
| 3297 | A must be a bool vector. B is a generalized bool. */) | ||
| 3298 | (Lisp_Object a, Lisp_Object b) | ||
| 3299 | { | ||
| 3300 | ptrdiff_t count; | ||
| 3301 | EMACS_INT nr_bits; | ||
| 3302 | size_t *adata; | ||
| 3303 | size_t match; | ||
| 3304 | ptrdiff_t i; | ||
| 3305 | |||
| 3306 | CHECK_BOOL_VECTOR (a); | ||
| 3307 | |||
| 3308 | nr_bits = XBOOL_VECTOR (a)->size; | ||
| 3309 | count = 0; | ||
| 3310 | match = NILP (b) ? (size_t) -1 : 0; | ||
| 3311 | adata = (size_t *) XBOOL_VECTOR (a)->data; | ||
| 3312 | |||
| 3313 | eassert_and_assume (nr_bits >= 0); | ||
| 3314 | |||
| 3315 | for (i = 0; i < nr_bits / BITS_PER_SIZE_T; ++i) | ||
| 3316 | count += popcount_size_t (adata[i] ^ match); | ||
| 3317 | |||
| 3318 | /* Mask out trailing parts of final mword. */ | ||
| 3319 | if (nr_bits % BITS_PER_SIZE_T) | ||
| 3320 | { | ||
| 3321 | size_t mword = adata[i] ^ match; | ||
| 3322 | mword = size_t_to_host_endian (mword); | ||
| 3323 | count += popcount_size_t (mword & bool_vector_spare_mask (nr_bits)); | ||
| 3324 | } | ||
| 3325 | |||
| 3326 | return make_number (count); | ||
| 3327 | } | ||
| 3328 | |||
| 3329 | DEFUN ("bool-vector-count-matches-at", | ||
| 3330 | Fbool_vector_count_matches_at, | ||
| 3331 | Sbool_vector_count_matches_at, 3, 3, 0, | ||
| 3332 | doc: /* Count how many consecutive elements in A equal B at i. | ||
| 3333 | A must be a bool vector. B is a generalized boolean. i is an | ||
| 3334 | index into the vector. */) | ||
| 3335 | (Lisp_Object a, Lisp_Object b, Lisp_Object i) | ||
| 3336 | { | ||
| 3337 | ptrdiff_t count; | ||
| 3338 | EMACS_INT nr_bits; | ||
| 3339 | ptrdiff_t offset; | ||
| 3340 | size_t *adata; | ||
| 3341 | size_t twiddle; | ||
| 3342 | size_t mword; /* Machine word. */ | ||
| 3343 | ptrdiff_t pos; | ||
| 3344 | ptrdiff_t nr_words; | ||
| 3345 | |||
| 3346 | CHECK_BOOL_VECTOR (a); | ||
| 3347 | CHECK_NATNUM (i); | ||
| 3348 | |||
| 3349 | nr_bits = XBOOL_VECTOR (a)->size; | ||
| 3350 | if (XFASTINT (i) > nr_bits) /* Allow one past the end for convenience */ | ||
| 3351 | args_out_of_range (a, i); | ||
| 3352 | |||
| 3353 | adata = (size_t *) XBOOL_VECTOR (a)->data; | ||
| 3354 | |||
| 3355 | assume (nr_bits >= 0); | ||
| 3356 | nr_words = ROUNDUP (nr_bits, BITS_PER_SIZE_T) / BITS_PER_SIZE_T; | ||
| 3357 | |||
| 3358 | pos = XFASTINT (i) / BITS_PER_SIZE_T; | ||
| 3359 | offset = XFASTINT (i) % BITS_PER_SIZE_T; | ||
| 3360 | count = 0; | ||
| 3361 | |||
| 3362 | /* By XORing with twiddle, we transform the problem of "count | ||
| 3363 | consecutive equal values" into "count the zero bits". The latter | ||
| 3364 | operation usually has hardware support. */ | ||
| 3365 | twiddle = NILP (b) ? 0 : (size_t) -1; | ||
| 3366 | |||
| 3367 | /* Scan the remainder of the mword at the current offset. */ | ||
| 3368 | if (pos < nr_words && offset != 0) | ||
| 3369 | { | ||
| 3370 | mword = size_t_to_host_endian (adata[pos]); | ||
| 3371 | mword ^= twiddle; | ||
| 3372 | mword >>= offset; | ||
| 3373 | count = count_trailing_zero_bits (mword); | ||
| 3374 | count = min (count, BITS_PER_SIZE_T - offset); | ||
| 3375 | pos++; | ||
| 3376 | if (count + offset < BITS_PER_SIZE_T) | ||
| 3377 | return make_number (count); | ||
| 3378 | } | ||
| 3379 | |||
| 3380 | /* Scan whole words until we either reach the end of the vector or | ||
| 3381 | find an mword that doesn't completely match. twiddle is | ||
| 3382 | endian-independent. */ | ||
| 3383 | while (pos < nr_words && adata[pos] == twiddle) | ||
| 3384 | { | ||
| 3385 | count += BITS_PER_SIZE_T; | ||
| 3386 | ++pos; | ||
| 3387 | } | ||
| 3388 | |||
| 3389 | if (pos < nr_words) | ||
| 3390 | { | ||
| 3391 | /* If we stopped because of a mismatch, see how many bits match | ||
| 3392 | in the current mword. */ | ||
| 3393 | mword = size_t_to_host_endian (adata[pos]); | ||
| 3394 | mword ^= twiddle; | ||
| 3395 | count += count_trailing_zero_bits (mword); | ||
| 3396 | } | ||
| 3397 | else if (nr_bits % BITS_PER_SIZE_T != 0) | ||
| 3398 | { | ||
| 3399 | /* If we hit the end, we might have overshot our count. Reduce | ||
| 3400 | the total by the number of spare bits at the end of the | ||
| 3401 | vector. */ | ||
| 3402 | count -= BITS_PER_SIZE_T - nr_bits % BITS_PER_SIZE_T; | ||
| 3403 | } | ||
| 3404 | |||
| 3405 | return make_number (count); | ||
| 3406 | } | ||
| 2944 | 3407 | ||
| 2945 | 3408 | ||
| 2946 | void | 3409 | void |
| @@ -2990,6 +3453,7 @@ syms_of_data (void) | |||
| 2990 | DEFSYM (Qsequencep, "sequencep"); | 3453 | DEFSYM (Qsequencep, "sequencep"); |
| 2991 | DEFSYM (Qbufferp, "bufferp"); | 3454 | DEFSYM (Qbufferp, "bufferp"); |
| 2992 | DEFSYM (Qvectorp, "vectorp"); | 3455 | DEFSYM (Qvectorp, "vectorp"); |
| 3456 | DEFSYM (Qbool_vector_p, "bool-vector-p"); | ||
| 2993 | DEFSYM (Qchar_or_string_p, "char-or-string-p"); | 3457 | DEFSYM (Qchar_or_string_p, "char-or-string-p"); |
| 2994 | DEFSYM (Qmarkerp, "markerp"); | 3458 | DEFSYM (Qmarkerp, "markerp"); |
| 2995 | DEFSYM (Qbuffer_or_string_p, "buffer-or-string-p"); | 3459 | DEFSYM (Qbuffer_or_string_p, "buffer-or-string-p"); |
| @@ -3207,6 +3671,15 @@ syms_of_data (void) | |||
| 3207 | defsubr (&Ssubr_arity); | 3671 | defsubr (&Ssubr_arity); |
| 3208 | defsubr (&Ssubr_name); | 3672 | defsubr (&Ssubr_name); |
| 3209 | 3673 | ||
| 3674 | defsubr (&Sbool_vector_exclusive_or); | ||
| 3675 | defsubr (&Sbool_vector_union); | ||
| 3676 | defsubr (&Sbool_vector_intersection); | ||
| 3677 | defsubr (&Sbool_vector_set_difference); | ||
| 3678 | defsubr (&Sbool_vector_not); | ||
| 3679 | defsubr (&Sbool_vector_subsetp); | ||
| 3680 | defsubr (&Sbool_vector_count_matches); | ||
| 3681 | defsubr (&Sbool_vector_count_matches_at); | ||
| 3682 | |||
| 3210 | set_symbol_function (Qwholenump, XSYMBOL (Qnatnump)->function); | 3683 | set_symbol_function (Qwholenump, XSYMBOL (Qnatnump)->function); |
| 3211 | 3684 | ||
| 3212 | DEFVAR_LISP ("most-positive-fixnum", Vmost_positive_fixnum, | 3685 | DEFVAR_LISP ("most-positive-fixnum", Vmost_positive_fixnum, |
diff --git a/src/dired.c b/src/dired.c index 2b79b54f2a4..1bdb171c4d0 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -278,7 +278,7 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, | |||
| 278 | memcpy (SDATA (fullname) + directory_nbytes + needsep, | 278 | memcpy (SDATA (fullname) + directory_nbytes + needsep, |
| 279 | SDATA (name), len); | 279 | SDATA (name), len); |
| 280 | 280 | ||
| 281 | nchars = chars_in_text (SDATA (fullname), nbytes); | 281 | nchars = multibyte_chars_in_text (SDATA (fullname), nbytes); |
| 282 | 282 | ||
| 283 | /* Some bug somewhere. */ | 283 | /* Some bug somewhere. */ |
| 284 | if (nchars > nbytes) | 284 | if (nchars > nbytes) |
diff --git a/src/dispextern.h b/src/dispextern.h index f70b1f8092e..af9efe660d9 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -49,18 +49,16 @@ typedef struct { | |||
| 49 | #endif | 49 | #endif |
| 50 | 50 | ||
| 51 | INLINE_HEADER_BEGIN | 51 | INLINE_HEADER_BEGIN |
| 52 | #ifndef DISPEXTERN_INLINE | ||
| 53 | # define DISPEXTERN_INLINE INLINE | ||
| 54 | #endif | ||
| 55 | 52 | ||
| 56 | #include <c-strcase.h> | 53 | #include <c-strcase.h> |
| 57 | DISPEXTERN_INLINE int | 54 | INLINE int |
| 58 | xstrcasecmp (char const *a, char const *b) | 55 | xstrcasecmp (char const *a, char const *b) |
| 59 | { | 56 | { |
| 60 | return c_strcasecmp (a, b); | 57 | return c_strcasecmp (a, b); |
| 61 | } | 58 | } |
| 62 | 59 | ||
| 63 | #ifdef HAVE_X_WINDOWS | 60 | #ifdef HAVE_X_WINDOWS |
| 61 | #include <X11/Xresource.h> /* for XrmDatabase */ | ||
| 64 | typedef struct x_display_info Display_Info; | 62 | typedef struct x_display_info Display_Info; |
| 65 | typedef XImage * XImagePtr; | 63 | typedef XImage * XImagePtr; |
| 66 | typedef XImagePtr XImagePtr_or_DC; | 64 | typedef XImagePtr XImagePtr_or_DC; |
| @@ -288,10 +286,10 @@ typedef struct { | |||
| 288 | } GLYPH; | 286 | } GLYPH; |
| 289 | 287 | ||
| 290 | /* Return a glyph's character code. */ | 288 | /* Return a glyph's character code. */ |
| 291 | DISPEXTERN_INLINE int GLYPH_CHAR (GLYPH glyph) { return glyph.ch; } | 289 | INLINE int GLYPH_CHAR (GLYPH glyph) { return glyph.ch; } |
| 292 | 290 | ||
| 293 | /* Return a glyph's face ID. */ | 291 | /* Return a glyph's face ID. */ |
| 294 | DISPEXTERN_INLINE int GLYPH_FACE (GLYPH glyph) { return glyph.face_id; } | 292 | INLINE int GLYPH_FACE (GLYPH glyph) { return glyph.face_id; } |
| 295 | 293 | ||
| 296 | #define SET_GLYPH_CHAR(glyph, char) ((glyph).ch = (char)) | 294 | #define SET_GLYPH_CHAR(glyph, char) ((glyph).ch = (char)) |
| 297 | #define SET_GLYPH_FACE(glyph, face) ((glyph).face_id = (face)) | 295 | #define SET_GLYPH_FACE(glyph, face) ((glyph).face_id = (face)) |
| @@ -300,7 +298,7 @@ DISPEXTERN_INLINE int GLYPH_FACE (GLYPH glyph) { return glyph.face_id; } | |||
| 300 | 298 | ||
| 301 | /* The following are valid only if GLYPH_CODE_P (gc). */ | 299 | /* The following are valid only if GLYPH_CODE_P (gc). */ |
| 302 | 300 | ||
| 303 | DISPEXTERN_INLINE int | 301 | INLINE int |
| 304 | GLYPH_CODE_CHAR (Lisp_Object gc) | 302 | GLYPH_CODE_CHAR (Lisp_Object gc) |
| 305 | { | 303 | { |
| 306 | return (CONSP (gc) | 304 | return (CONSP (gc) |
| @@ -308,7 +306,7 @@ GLYPH_CODE_CHAR (Lisp_Object gc) | |||
| 308 | : XINT (gc) & MAX_CHAR); | 306 | : XINT (gc) & MAX_CHAR); |
| 309 | } | 307 | } |
| 310 | 308 | ||
| 311 | DISPEXTERN_INLINE int | 309 | INLINE int |
| 312 | GLYPH_CODE_FACE (Lisp_Object gc) | 310 | GLYPH_CODE_FACE (Lisp_Object gc) |
| 313 | { | 311 | { |
| 314 | return CONSP (gc) ? XINT (XCDR (gc)) : XINT (gc) >> CHARACTERBITS; | 312 | return CONSP (gc) ? XINT (XCDR (gc)) : XINT (gc) >> CHARACTERBITS; |
| @@ -794,7 +792,10 @@ enum glyph_row_area | |||
| 794 | Rows in window matrices on frames having no frame matrices point to | 792 | Rows in window matrices on frames having no frame matrices point to |
| 795 | glyphs allocated from the heap via xmalloc; | 793 | glyphs allocated from the heap via xmalloc; |
| 796 | glyphs[LEFT_MARGIN_AREA] is the start address of the allocated | 794 | glyphs[LEFT_MARGIN_AREA] is the start address of the allocated |
| 797 | glyph structure array. */ | 795 | glyph structure array. |
| 796 | |||
| 797 | NOTE: layout of first four members of this structure is important, | ||
| 798 | see clear_glyph_row and copy_row_except_pointers to check why. */ | ||
| 798 | 799 | ||
| 799 | struct glyph_row | 800 | struct glyph_row |
| 800 | { | 801 | { |
| @@ -814,8 +815,13 @@ struct glyph_row | |||
| 814 | removed some day, so don't use it in new code. */ | 815 | removed some day, so don't use it in new code. */ |
| 815 | struct glyph *glyphs[1 + LAST_AREA]; | 816 | struct glyph *glyphs[1 + LAST_AREA]; |
| 816 | 817 | ||
| 817 | /* Number of glyphs actually filled in areas. */ | 818 | /* Number of glyphs actually filled in areas. This could have size |
| 818 | short used[LAST_AREA]; | 819 | LAST_AREA, but it's 1 + LAST_AREA to simplify offset calculations. */ |
| 820 | short used[1 + LAST_AREA]; | ||
| 821 | |||
| 822 | /* Hash code. This hash code is available as soon as the row | ||
| 823 | is constructed, i.e. after a call to display_line. */ | ||
| 824 | unsigned hash; | ||
| 819 | 825 | ||
| 820 | /* Window-relative x and y-position of the top-left corner of this | 826 | /* Window-relative x and y-position of the top-left corner of this |
| 821 | row. If y < 0, this means that eabs (y) pixels of the row are | 827 | row. If y < 0, this means that eabs (y) pixels of the row are |
| @@ -848,10 +854,6 @@ struct glyph_row | |||
| 848 | in last row when checking if row is fully visible. */ | 854 | in last row when checking if row is fully visible. */ |
| 849 | int extra_line_spacing; | 855 | int extra_line_spacing; |
| 850 | 856 | ||
| 851 | /* Hash code. This hash code is available as soon as the row | ||
| 852 | is constructed, i.e. after a call to display_line. */ | ||
| 853 | unsigned hash; | ||
| 854 | |||
| 855 | /* First position in this row. This is the text position, including | 857 | /* First position in this row. This is the text position, including |
| 856 | overlay position information etc, where the display of this row | 858 | overlay position information etc, where the display of this row |
| 857 | started, and can thus be less than the position of the first | 859 | started, and can thus be less than the position of the first |
| @@ -1195,12 +1197,6 @@ struct glyph_row *matrix_row (struct glyph_matrix *, int); | |||
| 1195 | ((ROW)->phys_height - (ROW)->phys_ascent \ | 1197 | ((ROW)->phys_height - (ROW)->phys_ascent \ |
| 1196 | > (ROW)->height - (ROW)->ascent) | 1198 | > (ROW)->height - (ROW)->ascent) |
| 1197 | 1199 | ||
| 1198 | /* True means that fonts have been loaded since the last glyph | ||
| 1199 | matrix adjustments. The function redisplay_internal adjusts glyph | ||
| 1200 | matrices when this flag is true. */ | ||
| 1201 | |||
| 1202 | extern bool fonts_changed_p; | ||
| 1203 | |||
| 1204 | /* A glyph for a space. */ | 1200 | /* A glyph for a space. */ |
| 1205 | 1201 | ||
| 1206 | extern struct glyph space_glyph; | 1202 | extern struct glyph space_glyph; |
| @@ -1428,31 +1424,31 @@ struct glyph_string | |||
| 1428 | #define CURRENT_MODE_LINE_FACE_ID(W) \ | 1424 | #define CURRENT_MODE_LINE_FACE_ID(W) \ |
| 1429 | (CURRENT_MODE_LINE_FACE_ID_3((W), XWINDOW (selected_window), (W))) | 1425 | (CURRENT_MODE_LINE_FACE_ID_3((W), XWINDOW (selected_window), (W))) |
| 1430 | 1426 | ||
| 1431 | /* Return the current height of the mode line of window W. If not | 1427 | /* Return the current height of the mode line of window W. If not known |
| 1432 | known from current_mode_line_height, look at W's current glyph | 1428 | from W->mode_line_height, look at W's current glyph matrix, or return |
| 1433 | matrix, or return a default based on the height of the font of the | 1429 | a default based on the height of the font of the face `mode-line'. */ |
| 1434 | face `mode-line'. */ | ||
| 1435 | 1430 | ||
| 1436 | #define CURRENT_MODE_LINE_HEIGHT(W) \ | 1431 | #define CURRENT_MODE_LINE_HEIGHT(W) \ |
| 1437 | (current_mode_line_height >= 0 \ | 1432 | (W->mode_line_height >= 0 \ |
| 1438 | ? current_mode_line_height \ | 1433 | ? W->mode_line_height \ |
| 1439 | : (MATRIX_MODE_LINE_HEIGHT ((W)->current_matrix) \ | 1434 | : (W->mode_line_height \ |
| 1440 | ? MATRIX_MODE_LINE_HEIGHT ((W)->current_matrix) \ | 1435 | = (MATRIX_MODE_LINE_HEIGHT (W->current_matrix) \ |
| 1441 | : estimate_mode_line_height (XFRAME ((W)->frame), \ | 1436 | ? MATRIX_MODE_LINE_HEIGHT (W->current_matrix) \ |
| 1442 | CURRENT_MODE_LINE_FACE_ID (W)))) | 1437 | : estimate_mode_line_height \ |
| 1438 | (XFRAME (W->frame), CURRENT_MODE_LINE_FACE_ID (W))))) | ||
| 1443 | 1439 | ||
| 1444 | /* Return the current height of the header line of window W. If not | 1440 | /* Return the current height of the header line of window W. If not known |
| 1445 | known from current_header_line_height, look at W's current glyph | 1441 | from W->header_line_height, look at W's current glyph matrix, or return |
| 1446 | matrix, or return an estimation based on the height of the font of | 1442 | an estimation based on the height of the font of the face `header-line'. */ |
| 1447 | the face `header-line'. */ | ||
| 1448 | 1443 | ||
| 1449 | #define CURRENT_HEADER_LINE_HEIGHT(W) \ | 1444 | #define CURRENT_HEADER_LINE_HEIGHT(W) \ |
| 1450 | (current_header_line_height >= 0 \ | 1445 | (W->header_line_height >= 0 \ |
| 1451 | ? current_header_line_height \ | 1446 | ? W->header_line_height \ |
| 1452 | : (MATRIX_HEADER_LINE_HEIGHT ((W)->current_matrix) \ | 1447 | : (W->header_line_height \ |
| 1453 | ? MATRIX_HEADER_LINE_HEIGHT ((W)->current_matrix) \ | 1448 | = (MATRIX_HEADER_LINE_HEIGHT (W->current_matrix) \ |
| 1454 | : estimate_mode_line_height (XFRAME ((W)->frame), \ | 1449 | ? MATRIX_HEADER_LINE_HEIGHT (W->current_matrix) \ |
| 1455 | HEADER_LINE_FACE_ID))) | 1450 | : estimate_mode_line_height \ |
| 1451 | (XFRAME (W->frame), HEADER_LINE_FACE_ID)))) | ||
| 1456 | 1452 | ||
| 1457 | /* Return the height of the desired mode line of window W. */ | 1453 | /* Return the height of the desired mode line of window W. */ |
| 1458 | 1454 | ||
| @@ -1829,7 +1825,7 @@ struct face_cache | |||
| 1829 | #endif /* not HAVE_WINDOW_SYSTEM */ | 1825 | #endif /* not HAVE_WINDOW_SYSTEM */ |
| 1830 | 1826 | ||
| 1831 | /* Return true if G contains a valid character code. */ | 1827 | /* Return true if G contains a valid character code. */ |
| 1832 | DISPEXTERN_INLINE bool | 1828 | INLINE bool |
| 1833 | GLYPH_CHAR_VALID_P (GLYPH g) | 1829 | GLYPH_CHAR_VALID_P (GLYPH g) |
| 1834 | { | 1830 | { |
| 1835 | return CHAR_VALID_P (GLYPH_CHAR (g)); | 1831 | return CHAR_VALID_P (GLYPH_CHAR (g)); |
| @@ -1839,7 +1835,7 @@ GLYPH_CHAR_VALID_P (GLYPH g) | |||
| 1839 | encodes a char code in the lower CHARACTERBITS bits and a (very small) | 1835 | encodes a char code in the lower CHARACTERBITS bits and a (very small) |
| 1840 | face-id in the upper bits, or it may be a cons (CHAR . FACE-ID). */ | 1836 | face-id in the upper bits, or it may be a cons (CHAR . FACE-ID). */ |
| 1841 | 1837 | ||
| 1842 | DISPEXTERN_INLINE bool | 1838 | INLINE bool |
| 1843 | GLYPH_CODE_P (Lisp_Object gc) | 1839 | GLYPH_CODE_P (Lisp_Object gc) |
| 1844 | { | 1840 | { |
| 1845 | return (CONSP (gc) | 1841 | return (CONSP (gc) |
| @@ -2710,7 +2706,7 @@ typedef struct { | |||
| 2710 | unsigned mouse_face_hidden : 1; | 2706 | unsigned mouse_face_hidden : 1; |
| 2711 | } Mouse_HLInfo; | 2707 | } Mouse_HLInfo; |
| 2712 | 2708 | ||
| 2713 | DISPEXTERN_INLINE void | 2709 | INLINE void |
| 2714 | reset_mouse_highlight (Mouse_HLInfo *hlinfo) | 2710 | reset_mouse_highlight (Mouse_HLInfo *hlinfo) |
| 2715 | { | 2711 | { |
| 2716 | 2712 | ||
| @@ -2802,11 +2798,6 @@ struct redisplay_interface | |||
| 2802 | /* Flush the display of frame F. For X, this is XFlush. */ | 2798 | /* Flush the display of frame F. For X, this is XFlush. */ |
| 2803 | void (*flush_display) (struct frame *f); | 2799 | void (*flush_display) (struct frame *f); |
| 2804 | 2800 | ||
| 2805 | /* Flush the display of frame F if non-NULL. This is called | ||
| 2806 | during redisplay, and should be NULL on systems which flush | ||
| 2807 | automatically before reading input. */ | ||
| 2808 | void (*flush_display_optional) (struct frame *f); | ||
| 2809 | |||
| 2810 | /* Clear the mouse highlight in window W, if there is any. */ | 2801 | /* Clear the mouse highlight in window W, if there is any. */ |
| 2811 | void (*clear_window_mouse_face) (struct window *w); | 2802 | void (*clear_window_mouse_face) (struct window *w); |
| 2812 | 2803 | ||
| @@ -3200,12 +3191,10 @@ int in_display_vector_p (struct it *); | |||
| 3200 | int frame_mode_line_height (struct frame *); | 3191 | int frame_mode_line_height (struct frame *); |
| 3201 | extern Lisp_Object Qtool_bar; | 3192 | extern Lisp_Object Qtool_bar; |
| 3202 | extern bool redisplaying_p; | 3193 | extern bool redisplaying_p; |
| 3203 | extern int help_echo_showing_p; | 3194 | extern bool help_echo_showing_p; |
| 3204 | extern int current_mode_line_height, current_header_line_height; | ||
| 3205 | extern Lisp_Object help_echo_string, help_echo_window; | 3195 | extern Lisp_Object help_echo_string, help_echo_window; |
| 3206 | extern Lisp_Object help_echo_object, previous_help_echo_string; | 3196 | extern Lisp_Object help_echo_object, previous_help_echo_string; |
| 3207 | extern ptrdiff_t help_echo_pos; | 3197 | extern ptrdiff_t help_echo_pos; |
| 3208 | extern struct frame *last_mouse_frame; | ||
| 3209 | extern int last_tool_bar_item; | 3198 | extern int last_tool_bar_item; |
| 3210 | extern void reseat_at_previous_visible_line_start (struct it *); | 3199 | extern void reseat_at_previous_visible_line_start (struct it *); |
| 3211 | extern Lisp_Object lookup_glyphless_char_display (int, struct it *); | 3200 | extern Lisp_Object lookup_glyphless_char_display (int, struct it *); |
| @@ -3215,6 +3204,7 @@ extern ptrdiff_t compute_display_string_pos (struct text_pos *, | |||
| 3215 | extern ptrdiff_t compute_display_string_end (ptrdiff_t, | 3204 | extern ptrdiff_t compute_display_string_end (ptrdiff_t, |
| 3216 | struct bidi_string_data *); | 3205 | struct bidi_string_data *); |
| 3217 | extern void produce_stretch_glyph (struct it *); | 3206 | extern void produce_stretch_glyph (struct it *); |
| 3207 | extern int merge_glyphless_glyph_face (struct it *); | ||
| 3218 | 3208 | ||
| 3219 | #ifdef HAVE_WINDOW_SYSTEM | 3209 | #ifdef HAVE_WINDOW_SYSTEM |
| 3220 | 3210 | ||
| @@ -3404,7 +3394,7 @@ extern frame_parm_handler x_frame_parm_handlers[]; | |||
| 3404 | 3394 | ||
| 3405 | extern void start_hourglass (void); | 3395 | extern void start_hourglass (void); |
| 3406 | extern void cancel_hourglass (void); | 3396 | extern void cancel_hourglass (void); |
| 3407 | extern int hourglass_shown_p; | 3397 | extern bool hourglass_shown_p; |
| 3408 | /* If non-null, an asynchronous timer that, when it expires, displays | 3398 | /* If non-null, an asynchronous timer that, when it expires, displays |
| 3409 | an hourglass cursor on all frames. */ | 3399 | an hourglass cursor on all frames. */ |
| 3410 | extern struct atimer *hourglass_atimer; | 3400 | extern struct atimer *hourglass_atimer; |
| @@ -3454,13 +3444,10 @@ extern Lisp_Object marginal_area_string (struct window *, enum window_part, | |||
| 3454 | Lisp_Object *, | 3444 | Lisp_Object *, |
| 3455 | int *, int *, int *, int *); | 3445 | int *, int *, int *, int *); |
| 3456 | extern void redraw_frame (struct frame *); | 3446 | extern void redraw_frame (struct frame *); |
| 3457 | extern void cancel_line (int, struct frame *); | ||
| 3458 | extern void init_desired_glyphs (struct frame *); | ||
| 3459 | extern bool update_frame (struct frame *, bool, bool); | 3447 | extern bool update_frame (struct frame *, bool, bool); |
| 3460 | extern void update_frame_with_menu (struct frame *); | 3448 | extern void update_frame_with_menu (struct frame *); |
| 3461 | extern void bitch_at_user (void); | 3449 | extern void bitch_at_user (void); |
| 3462 | void adjust_glyphs (struct frame *); | 3450 | extern void adjust_frame_glyphs (struct frame *); |
| 3463 | struct glyph_matrix *save_current_matrix (struct frame *); | ||
| 3464 | void free_glyphs (struct frame *); | 3451 | void free_glyphs (struct frame *); |
| 3465 | void free_window_matrices (struct window *); | 3452 | void free_window_matrices (struct window *); |
| 3466 | void check_glyph_memory (void); | 3453 | void check_glyph_memory (void); |
| @@ -3546,6 +3533,7 @@ enum resource_types | |||
| 3546 | RES_TYPE_BOOLEAN_NUMBER | 3533 | RES_TYPE_BOOLEAN_NUMBER |
| 3547 | }; | 3534 | }; |
| 3548 | 3535 | ||
| 3536 | extern Display_Info *check_x_display_info (Lisp_Object); | ||
| 3549 | extern Lisp_Object x_get_arg (Display_Info *, Lisp_Object, | 3537 | extern Lisp_Object x_get_arg (Display_Info *, Lisp_Object, |
| 3550 | Lisp_Object, const char *, const char *class, | 3538 | Lisp_Object, const char *, const char *class, |
| 3551 | enum resource_types); | 3539 | enum resource_types); |
| @@ -3557,6 +3545,13 @@ extern Lisp_Object x_default_parameter (struct frame *, Lisp_Object, | |||
| 3557 | Lisp_Object, Lisp_Object, | 3545 | Lisp_Object, Lisp_Object, |
| 3558 | const char *, const char *, | 3546 | const char *, const char *, |
| 3559 | enum resource_types); | 3547 | enum resource_types); |
| 3548 | extern char *x_get_string_resource (XrmDatabase, const char *, | ||
| 3549 | const char *); | ||
| 3550 | |||
| 3551 | #ifndef HAVE_NS /* These both used on W32 and X only. */ | ||
| 3552 | extern bool x_mouse_grabbed (Display_Info *); | ||
| 3553 | extern void x_redo_mouse_highlight (Display_Info *); | ||
| 3554 | #endif /* HAVE_NS */ | ||
| 3560 | 3555 | ||
| 3561 | #endif /* HAVE_WINDOW_SYSTEM */ | 3556 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 3562 | 3557 | ||
diff --git a/src/dispnew.c b/src/dispnew.c index 0a9ce116ebb..b1384a6feb3 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -20,8 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define DISPEXTERN_INLINE EXTERN_INLINE | ||
| 24 | |||
| 25 | #include "sysstdio.h" | 23 | #include "sysstdio.h" |
| 26 | #include <unistd.h> | 24 | #include <unistd.h> |
| 27 | 25 | ||
| @@ -77,7 +75,6 @@ struct dim | |||
| 77 | static void update_frame_line (struct frame *, int); | 75 | static void update_frame_line (struct frame *, int); |
| 78 | static int required_matrix_height (struct window *); | 76 | static int required_matrix_height (struct window *); |
| 79 | static int required_matrix_width (struct window *); | 77 | static int required_matrix_width (struct window *); |
| 80 | static void adjust_frame_glyphs (struct frame *); | ||
| 81 | static void change_frame_size_1 (struct frame *, int, int, bool, bool, bool); | 78 | static void change_frame_size_1 (struct frame *, int, int, bool, bool, bool); |
| 82 | static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t); | 79 | static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t); |
| 83 | static void fill_up_frame_row_with_spaces (struct glyph_row *, int); | 80 | static void fill_up_frame_row_with_spaces (struct glyph_row *, int); |
| @@ -105,30 +102,12 @@ static void set_window_cursor_after_update (struct window *); | |||
| 105 | static void adjust_frame_glyphs_for_window_redisplay (struct frame *); | 102 | static void adjust_frame_glyphs_for_window_redisplay (struct frame *); |
| 106 | static void adjust_frame_glyphs_for_frame_redisplay (struct frame *); | 103 | static void adjust_frame_glyphs_for_frame_redisplay (struct frame *); |
| 107 | 104 | ||
| 108 | /* True upon entry to redisplay means do not assume anything about | ||
| 109 | current contents of actual terminal frame; clear and redraw it. */ | ||
| 110 | |||
| 111 | bool frame_garbaged; | ||
| 112 | |||
| 113 | /* True means last display completed. False means it was preempted. */ | 105 | /* True means last display completed. False means it was preempted. */ |
| 114 | 106 | ||
| 115 | bool display_completed; | 107 | bool display_completed; |
| 116 | 108 | ||
| 117 | Lisp_Object Qdisplay_table, Qredisplay_dont_pause; | 109 | Lisp_Object Qdisplay_table, Qredisplay_dont_pause; |
| 118 | 110 | ||
| 119 | |||
| 120 | /* The currently selected frame. In a single-frame version, this | ||
| 121 | variable always equals the_only_frame. */ | ||
| 122 | |||
| 123 | Lisp_Object selected_frame; | ||
| 124 | |||
| 125 | /* A frame which is not just a mini-buffer, or 0 if there are no such | ||
| 126 | frames. This is usually the most recent such frame that was | ||
| 127 | selected. In a single-frame version, this variable always holds | ||
| 128 | the address of the_only_frame. */ | ||
| 129 | |||
| 130 | struct frame *last_nonminibuf_frame; | ||
| 131 | |||
| 132 | /* True means SIGWINCH happened when not safe. */ | 111 | /* True means SIGWINCH happened when not safe. */ |
| 133 | 112 | ||
| 134 | static bool delayed_size_change; | 113 | static bool delayed_size_change; |
| @@ -152,16 +131,6 @@ static int glyph_pool_count; | |||
| 152 | 131 | ||
| 153 | static struct frame *frame_matrix_frame; | 132 | static struct frame *frame_matrix_frame; |
| 154 | 133 | ||
| 155 | /* True means that fonts have been loaded since the last glyph | ||
| 156 | matrix adjustments. Redisplay must stop, and glyph matrices must | ||
| 157 | be adjusted when this flag becomes true during display. The | ||
| 158 | reason fonts can be loaded so late is that fonts of fontsets are | ||
| 159 | loaded on demand. Another reason is that a line contains many | ||
| 160 | characters displayed by zero width or very narrow glyphs of | ||
| 161 | variable-width fonts. */ | ||
| 162 | |||
| 163 | bool fonts_changed_p; | ||
| 164 | |||
| 165 | /* Convert vpos and hpos from frame to window and vice versa. | 134 | /* Convert vpos and hpos from frame to window and vice versa. |
| 166 | This may only be used for terminal frames. */ | 135 | This may only be used for terminal frames. */ |
| 167 | 136 | ||
| @@ -433,7 +402,7 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y | |||
| 433 | || right != matrix->right_margin_glyphs); | 402 | || right != matrix->right_margin_glyphs); |
| 434 | 403 | ||
| 435 | if (!marginal_areas_changed_p | 404 | if (!marginal_areas_changed_p |
| 436 | && !fonts_changed_p | 405 | && !XFRAME (w->frame)->fonts_changed |
| 437 | && !header_line_changed_p | 406 | && !header_line_changed_p |
| 438 | && matrix->window_left_col == WINDOW_LEFT_EDGE_COL (w) | 407 | && matrix->window_left_col == WINDOW_LEFT_EDGE_COL (w) |
| 439 | && matrix->window_top_line == WINDOW_TOP_EDGE_LINE (w) | 408 | && matrix->window_top_line == WINDOW_TOP_EDGE_LINE (w) |
| @@ -794,9 +763,11 @@ clear_current_matrices (register struct frame *f) | |||
| 794 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix); | 763 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix); |
| 795 | #endif | 764 | #endif |
| 796 | 765 | ||
| 766 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 797 | /* Clear the matrix of the tool-bar window, if any. */ | 767 | /* Clear the matrix of the tool-bar window, if any. */ |
| 798 | if (WINDOWP (f->tool_bar_window)) | 768 | if (WINDOWP (f->tool_bar_window)) |
| 799 | clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix); | 769 | clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix); |
| 770 | #endif | ||
| 800 | 771 | ||
| 801 | /* Clear current window matrices. */ | 772 | /* Clear current window matrices. */ |
| 802 | eassert (WINDOWP (FRAME_ROOT_WINDOW (f))); | 773 | eassert (WINDOWP (FRAME_ROOT_WINDOW (f))); |
| @@ -817,8 +788,10 @@ clear_desired_matrices (register struct frame *f) | |||
| 817 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->desired_matrix); | 788 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->desired_matrix); |
| 818 | #endif | 789 | #endif |
| 819 | 790 | ||
| 791 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 820 | if (WINDOWP (f->tool_bar_window)) | 792 | if (WINDOWP (f->tool_bar_window)) |
| 821 | clear_glyph_matrix (XWINDOW (f->tool_bar_window)->desired_matrix); | 793 | clear_glyph_matrix (XWINDOW (f->tool_bar_window)->desired_matrix); |
| 794 | #endif | ||
| 822 | 795 | ||
| 823 | /* Do it for window matrices. */ | 796 | /* Do it for window matrices. */ |
| 824 | eassert (WINDOWP (FRAME_ROOT_WINDOW (f))); | 797 | eassert (WINDOWP (FRAME_ROOT_WINDOW (f))); |
| @@ -859,41 +832,16 @@ clear_window_matrices (struct window *w, bool desired_p) | |||
| 859 | See dispextern.h for an overall explanation of glyph rows. | 832 | See dispextern.h for an overall explanation of glyph rows. |
| 860 | ***********************************************************************/ | 833 | ***********************************************************************/ |
| 861 | 834 | ||
| 862 | /* Clear glyph row ROW. Do it in a way that makes it robust against | 835 | /* Clear glyph row ROW. NOTE: this code relies on the current |
| 863 | changes in the glyph_row structure, i.e. addition or removal of | 836 | layout of `glyphs' and `used' fields of `struct glyph_row'. */ |
| 864 | structure members. */ | ||
| 865 | |||
| 866 | static struct glyph_row null_row; | ||
| 867 | 837 | ||
| 868 | void | 838 | void |
| 869 | clear_glyph_row (struct glyph_row *row) | 839 | clear_glyph_row (struct glyph_row *row) |
| 870 | { | 840 | { |
| 871 | struct glyph *p[1 + LAST_AREA]; | 841 | enum { off = offsetof (struct glyph_row, used) }; |
| 872 | 842 | ||
| 873 | /* Save pointers. */ | 843 | /* Zero everything except pointers in `glyphs'. */ |
| 874 | p[LEFT_MARGIN_AREA] = row->glyphs[LEFT_MARGIN_AREA]; | 844 | memset (row->used, 0, sizeof *row - off); |
| 875 | p[TEXT_AREA] = row->glyphs[TEXT_AREA]; | ||
| 876 | p[RIGHT_MARGIN_AREA] = row->glyphs[RIGHT_MARGIN_AREA]; | ||
| 877 | p[LAST_AREA] = row->glyphs[LAST_AREA]; | ||
| 878 | |||
| 879 | /* Clear. */ | ||
| 880 | *row = null_row; | ||
| 881 | |||
| 882 | /* Restore pointers. */ | ||
| 883 | row->glyphs[LEFT_MARGIN_AREA] = p[LEFT_MARGIN_AREA]; | ||
| 884 | row->glyphs[TEXT_AREA] = p[TEXT_AREA]; | ||
| 885 | row->glyphs[RIGHT_MARGIN_AREA] = p[RIGHT_MARGIN_AREA]; | ||
| 886 | row->glyphs[LAST_AREA] = p[LAST_AREA]; | ||
| 887 | |||
| 888 | #if 0 /* At some point, some bit-fields of struct glyph were not set, | ||
| 889 | which made glyphs unequal when compared with GLYPH_EQUAL_P. | ||
| 890 | Redisplay outputs such glyphs, and flickering effects were | ||
| 891 | the result. This also depended on the contents of memory | ||
| 892 | returned by xmalloc. If flickering happens again, activate | ||
| 893 | the code below. If the flickering is gone with that, chances | ||
| 894 | are that the flickering has the same reason as here. */ | ||
| 895 | memset (p[0], 0, (char *) p[LAST_AREA] - (char *) p[0]); | ||
| 896 | #endif | ||
| 897 | } | 845 | } |
| 898 | 846 | ||
| 899 | 847 | ||
| @@ -1032,29 +980,17 @@ swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) | |||
| 1032 | } | 980 | } |
| 1033 | 981 | ||
| 1034 | 982 | ||
| 1035 | /* Copy glyph row structure FROM to glyph row structure TO, except | 983 | /* Copy glyph row structure FROM to glyph row structure TO, except that |
| 1036 | that glyph pointers, the `used' counts, and the hash values in the | 984 | glyph pointers, the `used' counts, and the hash values in the structures |
| 1037 | structures are left unchanged. */ | 985 | are left unchanged. NOTE: this code relies on the current layout of |
| 986 | `glyphs', `used', `hash' and `x' fields of `struct glyph_row'. */ | ||
| 1038 | 987 | ||
| 1039 | static void | 988 | static void |
| 1040 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) | 989 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) |
| 1041 | { | 990 | { |
| 1042 | struct glyph *pointers[1 + LAST_AREA]; | 991 | enum { off = offsetof (struct glyph_row, x) }; |
| 1043 | short used[LAST_AREA]; | 992 | |
| 1044 | unsigned hashval; | 993 | memcpy (&to->x, &from->x, sizeof *to - off); |
| 1045 | |||
| 1046 | /* Save glyph pointers of TO. */ | ||
| 1047 | memcpy (pointers, to->glyphs, sizeof to->glyphs); | ||
| 1048 | memcpy (used, to->used, sizeof to->used); | ||
| 1049 | hashval = to->hash; | ||
| 1050 | |||
| 1051 | /* Do a structure assignment. */ | ||
| 1052 | *to = *from; | ||
| 1053 | |||
| 1054 | /* Restore original pointers of TO. */ | ||
| 1055 | memcpy (to->glyphs, pointers, sizeof to->glyphs); | ||
| 1056 | memcpy (to->used, used, sizeof to->used); | ||
| 1057 | to->hash = hashval; | ||
| 1058 | } | 994 | } |
| 1059 | 995 | ||
| 1060 | 996 | ||
| @@ -1799,37 +1735,17 @@ allocate_matrices_for_window_redisplay (struct window *w) | |||
| 1799 | } | 1735 | } |
| 1800 | } | 1736 | } |
| 1801 | 1737 | ||
| 1802 | 1738 | /* Allocate/reallocate glyph matrices of a single frame F. | |
| 1803 | /* Re-allocate/ re-compute glyph matrices on frame F. If F is null, | 1739 | This function must be called when a new frame is created, |
| 1804 | do it for all frames; otherwise do it just for the given frame. | 1740 | its size changes, or its window configuration changes. */ |
| 1805 | This function must be called when a new frame is created, its size | ||
| 1806 | changes, or its window configuration changes. */ | ||
| 1807 | 1741 | ||
| 1808 | void | 1742 | void |
| 1809 | adjust_glyphs (struct frame *f) | 1743 | adjust_frame_glyphs (struct frame *f) |
| 1810 | { | 1744 | { |
| 1811 | /* Block input so that expose events and other events that access | 1745 | /* Block input so that expose events and other events that access |
| 1812 | glyph matrices are not processed while we are changing them. */ | 1746 | glyph matrices are not processed while we are changing them. */ |
| 1813 | block_input (); | 1747 | block_input (); |
| 1814 | 1748 | ||
| 1815 | if (f) | ||
| 1816 | adjust_frame_glyphs (f); | ||
| 1817 | else | ||
| 1818 | { | ||
| 1819 | Lisp_Object tail, lisp_frame; | ||
| 1820 | |||
| 1821 | FOR_EACH_FRAME (tail, lisp_frame) | ||
| 1822 | adjust_frame_glyphs (XFRAME (lisp_frame)); | ||
| 1823 | } | ||
| 1824 | |||
| 1825 | unblock_input (); | ||
| 1826 | } | ||
| 1827 | |||
| 1828 | /* Allocate/reallocate glyph matrices of a single frame F. */ | ||
| 1829 | |||
| 1830 | static void | ||
| 1831 | adjust_frame_glyphs (struct frame *f) | ||
| 1832 | { | ||
| 1833 | if (FRAME_WINDOW_P (f)) | 1749 | if (FRAME_WINDOW_P (f)) |
| 1834 | adjust_frame_glyphs_for_window_redisplay (f); | 1750 | adjust_frame_glyphs_for_window_redisplay (f); |
| 1835 | else | 1751 | else |
| @@ -1839,6 +1755,8 @@ adjust_frame_glyphs (struct frame *f) | |||
| 1839 | adjust_decode_mode_spec_buffer (f); | 1755 | adjust_decode_mode_spec_buffer (f); |
| 1840 | 1756 | ||
| 1841 | f->glyphs_initialized_p = 1; | 1757 | f->glyphs_initialized_p = 1; |
| 1758 | |||
| 1759 | unblock_input (); | ||
| 1842 | } | 1760 | } |
| 1843 | 1761 | ||
| 1844 | /* Return true if any window in the tree has nonzero window margins. See | 1762 | /* Return true if any window in the tree has nonzero window margins. See |
| @@ -1913,7 +1831,7 @@ fake_current_matrices (Lisp_Object window) | |||
| 1913 | /* Save away the contents of frame F's current frame matrix. Value is | 1831 | /* Save away the contents of frame F's current frame matrix. Value is |
| 1914 | a glyph matrix holding the contents of F's current frame matrix. */ | 1832 | a glyph matrix holding the contents of F's current frame matrix. */ |
| 1915 | 1833 | ||
| 1916 | struct glyph_matrix * | 1834 | static struct glyph_matrix * |
| 1917 | save_current_matrix (struct frame *f) | 1835 | save_current_matrix (struct frame *f) |
| 1918 | { | 1836 | { |
| 1919 | int i; | 1837 | int i; |
| @@ -2110,10 +2028,9 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f) | |||
| 2110 | /* Allocate/reallocate window matrices. */ | 2028 | /* Allocate/reallocate window matrices. */ |
| 2111 | allocate_matrices_for_window_redisplay (XWINDOW (FRAME_ROOT_WINDOW (f))); | 2029 | allocate_matrices_for_window_redisplay (XWINDOW (FRAME_ROOT_WINDOW (f))); |
| 2112 | 2030 | ||
| 2113 | #ifdef HAVE_X_WINDOWS | 2031 | #if defined (HAVE_X_WINDOWS) && ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) |
| 2114 | /* Allocate/ reallocate matrices of the dummy window used to display | 2032 | /* Allocate/ reallocate matrices of the dummy window used to display |
| 2115 | the menu bar under X when no X toolkit support is available. */ | 2033 | the menu bar under X when no X toolkit support is available. */ |
| 2116 | #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) | ||
| 2117 | { | 2034 | { |
| 2118 | /* Allocate a dummy window if not already done. */ | 2035 | /* Allocate a dummy window if not already done. */ |
| 2119 | struct window *w; | 2036 | struct window *w; |
| @@ -2137,10 +2054,9 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f) | |||
| 2137 | w->total_cols = FRAME_TOTAL_COLS (f); | 2054 | w->total_cols = FRAME_TOTAL_COLS (f); |
| 2138 | allocate_matrices_for_window_redisplay (w); | 2055 | allocate_matrices_for_window_redisplay (w); |
| 2139 | } | 2056 | } |
| 2140 | #endif /* not USE_X_TOOLKIT && not USE_GTK */ | 2057 | #endif |
| 2141 | #endif /* HAVE_X_WINDOWS */ | ||
| 2142 | 2058 | ||
| 2143 | #ifndef USE_GTK | 2059 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) |
| 2144 | { | 2060 | { |
| 2145 | /* Allocate/ reallocate matrices of the tool bar window. If we | 2061 | /* Allocate/ reallocate matrices of the tool bar window. If we |
| 2146 | don't have a tool bar window yet, make one. */ | 2062 | don't have a tool bar window yet, make one. */ |
| @@ -2214,6 +2130,7 @@ free_glyphs (struct frame *f) | |||
| 2214 | } | 2130 | } |
| 2215 | #endif | 2131 | #endif |
| 2216 | 2132 | ||
| 2133 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 2217 | /* Free the tool bar window and its glyph matrices. */ | 2134 | /* Free the tool bar window and its glyph matrices. */ |
| 2218 | if (!NILP (f->tool_bar_window)) | 2135 | if (!NILP (f->tool_bar_window)) |
| 2219 | { | 2136 | { |
| @@ -2223,6 +2140,7 @@ free_glyphs (struct frame *f) | |||
| 2223 | w->desired_matrix = w->current_matrix = NULL; | 2140 | w->desired_matrix = w->current_matrix = NULL; |
| 2224 | fset_tool_bar_window (f, Qnil); | 2141 | fset_tool_bar_window (f, Qnil); |
| 2225 | } | 2142 | } |
| 2143 | #endif | ||
| 2226 | 2144 | ||
| 2227 | /* Release frame glyph matrices. Reset fields to zero in | 2145 | /* Release frame glyph matrices. Reset fields to zero in |
| 2228 | case we are called a second time. */ | 2146 | case we are called a second time. */ |
| @@ -3105,6 +3023,7 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p) | |||
| 3105 | update_window (XWINDOW (f->menu_bar_window), 1); | 3023 | update_window (XWINDOW (f->menu_bar_window), 1); |
| 3106 | #endif | 3024 | #endif |
| 3107 | 3025 | ||
| 3026 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 3108 | /* Update the tool-bar window, if present. */ | 3027 | /* Update the tool-bar window, if present. */ |
| 3109 | if (WINDOWP (f->tool_bar_window)) | 3028 | if (WINDOWP (f->tool_bar_window)) |
| 3110 | { | 3029 | { |
| @@ -3125,21 +3044,11 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p) | |||
| 3125 | fset_desired_tool_bar_string (f, tem); | 3044 | fset_desired_tool_bar_string (f, tem); |
| 3126 | } | 3045 | } |
| 3127 | } | 3046 | } |
| 3128 | 3047 | #endif | |
| 3129 | 3048 | ||
| 3130 | /* Update windows. */ | 3049 | /* Update windows. */ |
| 3131 | paused_p = update_window_tree (root_window, force_p); | 3050 | paused_p = update_window_tree (root_window, force_p); |
| 3132 | update_end (f); | 3051 | update_end (f); |
| 3133 | |||
| 3134 | /* This flush is a performance bottleneck under X, | ||
| 3135 | and it doesn't seem to be necessary anyway (in general). | ||
| 3136 | It is necessary when resizing the window with the mouse, or | ||
| 3137 | at least the fringes are not redrawn in a timely manner. ++kfs */ | ||
| 3138 | if (f->force_flush_display_p) | ||
| 3139 | { | ||
| 3140 | FRAME_RIF (f)->flush_display (f); | ||
| 3141 | f->force_flush_display_p = 0; | ||
| 3142 | } | ||
| 3143 | } | 3052 | } |
| 3144 | else | 3053 | else |
| 3145 | { | 3054 | { |
| @@ -4568,7 +4477,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p) | |||
| 4568 | } | 4477 | } |
| 4569 | } | 4478 | } |
| 4570 | 4479 | ||
| 4571 | lint_assume (0 <= FRAME_LINES (f)); | 4480 | assume (0 <= FRAME_LINES (f)); |
| 4572 | pause_p = 0 < i && i < FRAME_LINES (f) - 1; | 4481 | pause_p = 0 < i && i < FRAME_LINES (f) - 1; |
| 4573 | 4482 | ||
| 4574 | /* Now just clean up termcap drivers and set cursor, etc. */ | 4483 | /* Now just clean up termcap drivers and set cursor, etc. */ |
| @@ -5608,8 +5517,10 @@ change_frame_size_1 (struct frame *f, int newheight, int newwidth, | |||
| 5608 | if ((FRAME_TERMCAP_P (f) && !pretend) || FRAME_MSDOS_P (f)) | 5517 | if ((FRAME_TERMCAP_P (f) && !pretend) || FRAME_MSDOS_P (f)) |
| 5609 | FrameCols (FRAME_TTY (f)) = newwidth; | 5518 | FrameCols (FRAME_TTY (f)) = newwidth; |
| 5610 | 5519 | ||
| 5520 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 5611 | if (WINDOWP (f->tool_bar_window)) | 5521 | if (WINDOWP (f->tool_bar_window)) |
| 5612 | XWINDOW (f->tool_bar_window)->total_cols = newwidth; | 5522 | XWINDOW (f->tool_bar_window)->total_cols = newwidth; |
| 5523 | #endif | ||
| 5613 | } | 5524 | } |
| 5614 | 5525 | ||
| 5615 | FRAME_LINES (f) = newheight; | 5526 | FRAME_LINES (f) = newheight; |
| @@ -5627,7 +5538,7 @@ change_frame_size_1 (struct frame *f, int newheight, int newwidth, | |||
| 5627 | w->cursor.vpos = w->cursor.y = 0; | 5538 | w->cursor.vpos = w->cursor.y = 0; |
| 5628 | } | 5539 | } |
| 5629 | 5540 | ||
| 5630 | adjust_glyphs (f); | 5541 | adjust_frame_glyphs (f); |
| 5631 | calculate_costs (f); | 5542 | calculate_costs (f); |
| 5632 | SET_FRAME_GARBAGED (f); | 5543 | SET_FRAME_GARBAGED (f); |
| 5633 | f->resized_p = 1; | 5544 | f->resized_p = 1; |
diff --git a/src/disptab.h b/src/disptab.h index e02bab04bbc..87dc5a22a68 100644 --- a/src/disptab.h +++ b/src/disptab.h | |||
| @@ -59,7 +59,7 @@ extern Lisp_Object Qdisplay_table; | |||
| 59 | /* Return the current base (for indexing) of the GLYPH table, | 59 | /* Return the current base (for indexing) of the GLYPH table, |
| 60 | or 0 if the table isn't currently valid. */ | 60 | or 0 if the table isn't currently valid. */ |
| 61 | #define GLYPH_TABLE_BASE \ | 61 | #define GLYPH_TABLE_BASE \ |
| 62 | ((VECTORP (Vglyph_table)) ? XVECTOR (Vglyph_table)->contents : 0) | 62 | ((VECTORP (Vglyph_table)) ? XVECTOR (Vglyph_table)->u.contents : 0) |
| 63 | 63 | ||
| 64 | /* Given BASE and LEN returned by the two previous macros, | 64 | /* Given BASE and LEN returned by the two previous macros, |
| 65 | return nonzero if the GLYPH code G should be output as a single | 65 | return nonzero if the GLYPH code G should be output as a single |
diff --git a/src/emacs.c b/src/emacs.c index 05384145330..79f759cd5b5 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* Fully extensible Emacs, running on Unix, intended for GNU. | 1 | /* Fully extensible Emacs, running on Unix, intended for GNU. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2013 Free Software | 3 | Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2013 |
| 4 | Foundation, Inc. | 4 | Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is part of GNU Emacs. | 6 | This file is part of GNU Emacs. |
| 7 | 7 | ||
| @@ -18,8 +18,9 @@ GNU General Public License for more details. | |||
| 18 | You should have received a copy of the GNU General Public License | 18 | You should have received a copy of the GNU General Public License |
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 20 | 20 | ||
| 21 | 21 | #define INLINE EXTERN_INLINE | |
| 22 | #include <config.h> | 22 | #include <config.h> |
| 23 | |||
| 23 | #include <errno.h> | 24 | #include <errno.h> |
| 24 | #include <stdio.h> | 25 | #include <stdio.h> |
| 25 | 26 | ||
| @@ -72,6 +73,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 72 | #include "termhooks.h" | 73 | #include "termhooks.h" |
| 73 | #include "keyboard.h" | 74 | #include "keyboard.h" |
| 74 | #include "keymap.h" | 75 | #include "keymap.h" |
| 76 | #include "category.h" | ||
| 77 | #include "charset.h" | ||
| 78 | #include "composite.h" | ||
| 79 | #include "dispextern.h" | ||
| 80 | #include "syntax.h" | ||
| 81 | #include "systime.h" | ||
| 75 | 82 | ||
| 76 | #ifdef HAVE_GNUTLS | 83 | #ifdef HAVE_GNUTLS |
| 77 | #include "gnutls.h" | 84 | #include "gnutls.h" |
| @@ -310,7 +317,7 @@ example, -batch as well as --batch. You can use any unambiguous\n\ | |||
| 310 | abbreviation for a --option.\n\ | 317 | abbreviation for a --option.\n\ |
| 311 | \n\ | 318 | \n\ |
| 312 | Various environment variables and window system resources also affect\n\ | 319 | Various environment variables and window system resources also affect\n\ |
| 313 | Emacs' operation. See the main documentation.\n\ | 320 | the operation of Emacs. See the main documentation.\n\ |
| 314 | \n\ | 321 | \n\ |
| 315 | Report bugs to bug-gnu-emacs@gnu.org. First, please see the Bugs\n\ | 322 | Report bugs to bug-gnu-emacs@gnu.org. First, please see the Bugs\n\ |
| 316 | section of the Emacs manual or the file BUGS.\n" | 323 | section of the Emacs manual or the file BUGS.\n" |
diff --git a/src/eval.c b/src/eval.c index 1ce14ae94a6..6e964f6604b 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -2033,7 +2033,9 @@ it is defines a macro. */) | |||
| 2033 | 2033 | ||
| 2034 | DEFUN ("eval", Feval, Seval, 1, 2, 0, | 2034 | DEFUN ("eval", Feval, Seval, 1, 2, 0, |
| 2035 | doc: /* Evaluate FORM and return its value. | 2035 | doc: /* Evaluate FORM and return its value. |
| 2036 | If LEXICAL is t, evaluate using lexical scoping. */) | 2036 | If LEXICAL is t, evaluate using lexical scoping. |
| 2037 | LEXICAL can also be an actual lexical environment, in the form of an | ||
| 2038 | alist mapping symbols to their value. */) | ||
| 2037 | (Lisp_Object form, Lisp_Object lexical) | 2039 | (Lisp_Object form, Lisp_Object lexical) |
| 2038 | { | 2040 | { |
| 2039 | ptrdiff_t count = SPECPDL_INDEX (); | 2041 | ptrdiff_t count = SPECPDL_INDEX (); |
| @@ -2146,11 +2148,10 @@ eval_sub (Lisp_Object form) | |||
| 2146 | 2148 | ||
| 2147 | /* Optimize for no indirection. */ | 2149 | /* Optimize for no indirection. */ |
| 2148 | fun = original_fun; | 2150 | fun = original_fun; |
| 2149 | if (SYMBOLP (fun) && !NILP (fun) | 2151 | if (!SYMBOLP (fun)) |
| 2150 | && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) | ||
| 2151 | fun = indirect_function (fun); | ||
| 2152 | else | ||
| 2153 | fun = Ffunction (Fcons (fun, Qnil)); | 2152 | fun = Ffunction (Fcons (fun, Qnil)); |
| 2153 | else if (!NILP (fun) && (fun = XSYMBOL (fun)->function, SYMBOLP (fun))) | ||
| 2154 | fun = indirect_function (fun); | ||
| 2154 | 2155 | ||
| 2155 | if (SUBRP (fun)) | 2156 | if (SUBRP (fun)) |
| 2156 | { | 2157 | { |
diff --git a/src/fileio.c b/src/fileio.c index 0e6113f349d..1a2bdfa237c 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -5121,7 +5121,8 @@ DEFUN ("car-less-than-car", Fcar_less_than_car, Scar_less_than_car, 2, 2, 0, | |||
| 5121 | doc: /* Return t if (car A) is numerically less than (car B). */) | 5121 | doc: /* Return t if (car A) is numerically less than (car B). */) |
| 5122 | (Lisp_Object a, Lisp_Object b) | 5122 | (Lisp_Object a, Lisp_Object b) |
| 5123 | { | 5123 | { |
| 5124 | return Flss (Fcar (a), Fcar (b)); | 5124 | Lisp_Object args[2] = { Fcar (a), Fcar (b), }; |
| 5125 | return Flss (2, args); | ||
| 5125 | } | 5126 | } |
| 5126 | 5127 | ||
| 5127 | /* Build the complete list of annotations appropriate for writing out | 5128 | /* Build the complete list of annotations appropriate for writing out |
diff --git a/src/filelock.c b/src/filelock.c index df72eff5950..2f53047f526 100644 --- a/src/filelock.c +++ b/src/filelock.c | |||
| @@ -459,10 +459,18 @@ lock_file_1 (char *lfname, bool force) | |||
| 459 | char lock_info_str[MAX_LFINFO + 1]; | 459 | char lock_info_str[MAX_LFINFO + 1]; |
| 460 | printmax_t pid = getpid (); | 460 | printmax_t pid = getpid (); |
| 461 | 461 | ||
| 462 | if (sizeof lock_info_str | 462 | if (boot) |
| 463 | <= snprintf (lock_info_str, sizeof lock_info_str, | 463 | { |
| 464 | boot ? "%s@%s.%"pMd":%"pMd : "%s@%s.%"pMd, | 464 | if (sizeof lock_info_str |
| 465 | user_name, host_name, pid, boot)) | 465 | <= snprintf (lock_info_str, sizeof lock_info_str, |
| 466 | "%s@%s.%"pMd":%"pMd, | ||
| 467 | user_name, host_name, pid, boot)) | ||
| 468 | return ENAMETOOLONG; | ||
| 469 | } | ||
| 470 | else if (sizeof lock_info_str | ||
| 471 | <= snprintf (lock_info_str, sizeof lock_info_str, | ||
| 472 | "%s@%s.%"pMd, | ||
| 473 | user_name, host_name, pid)) | ||
| 466 | return ENAMETOOLONG; | 474 | return ENAMETOOLONG; |
| 467 | 475 | ||
| 468 | return create_lock_file (lfname, lock_info_str, force); | 476 | return create_lock_file (lfname, lock_info_str, force); |
| @@ -1604,7 +1604,7 @@ changing the value of a sequence `foo'. */) | |||
| 1604 | 1604 | ||
| 1605 | for (i = n = 0; i < ASIZE (seq); ++i) | 1605 | for (i = n = 0; i < ASIZE (seq); ++i) |
| 1606 | if (NILP (Fequal (AREF (seq, i), elt))) | 1606 | if (NILP (Fequal (AREF (seq, i), elt))) |
| 1607 | p->contents[n++] = AREF (seq, i); | 1607 | p->u.contents[n++] = AREF (seq, i); |
| 1608 | 1608 | ||
| 1609 | XSETVECTOR (seq, p); | 1609 | XSETVECTOR (seq, p); |
| 1610 | } | 1610 | } |
| @@ -3450,7 +3450,7 @@ larger_vector (Lisp_Object vec, ptrdiff_t incr_min, ptrdiff_t nitems_max) | |||
| 3450 | { | 3450 | { |
| 3451 | struct Lisp_Vector *v; | 3451 | struct Lisp_Vector *v; |
| 3452 | ptrdiff_t i, incr, incr_max, old_size, new_size; | 3452 | ptrdiff_t i, incr, incr_max, old_size, new_size; |
| 3453 | ptrdiff_t C_language_max = min (PTRDIFF_MAX, SIZE_MAX) / sizeof *v->contents; | 3453 | ptrdiff_t C_language_max = min (PTRDIFF_MAX, SIZE_MAX) / sizeof *v->u.contents; |
| 3454 | ptrdiff_t n_max = (0 <= nitems_max && nitems_max < C_language_max | 3454 | ptrdiff_t n_max = (0 <= nitems_max && nitems_max < C_language_max |
| 3455 | ? nitems_max : C_language_max); | 3455 | ? nitems_max : C_language_max); |
| 3456 | eassert (VECTORP (vec)); | 3456 | eassert (VECTORP (vec)); |
| @@ -3462,9 +3462,9 @@ larger_vector (Lisp_Object vec, ptrdiff_t incr_min, ptrdiff_t nitems_max) | |||
| 3462 | memory_full (SIZE_MAX); | 3462 | memory_full (SIZE_MAX); |
| 3463 | new_size = old_size + incr; | 3463 | new_size = old_size + incr; |
| 3464 | v = allocate_vector (new_size); | 3464 | v = allocate_vector (new_size); |
| 3465 | memcpy (v->contents, XVECTOR (vec)->contents, old_size * sizeof *v->contents); | 3465 | memcpy (v->u.contents, XVECTOR (vec)->u.contents, old_size * sizeof *v->u.contents); |
| 3466 | for (i = old_size; i < new_size; ++i) | 3466 | for (i = old_size; i < new_size; ++i) |
| 3467 | v->contents[i] = Qnil; | 3467 | v->u.contents[i] = Qnil; |
| 3468 | XSETVECTOR (vec, v); | 3468 | XSETVECTOR (vec, v); |
| 3469 | return vec; | 3469 | return vec; |
| 3470 | } | 3470 | } |
diff --git a/src/font.c b/src/font.c index 49398e1b876..68db9f2ef2d 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2861,19 +2861,19 @@ font_open_entity (struct frame *f, Lisp_Object entity, int pixel_size) | |||
| 2861 | : 1); | 2861 | : 1); |
| 2862 | height = (font->height ? font->height : 1); | 2862 | height = (font->height ? font->height : 1); |
| 2863 | #ifdef HAVE_WINDOW_SYSTEM | 2863 | #ifdef HAVE_WINDOW_SYSTEM |
| 2864 | FRAME_X_DISPLAY_INFO (f)->n_fonts++; | 2864 | FRAME_DISPLAY_INFO (f)->n_fonts++; |
| 2865 | if (FRAME_X_DISPLAY_INFO (f)->n_fonts == 1) | 2865 | if (FRAME_DISPLAY_INFO (f)->n_fonts == 1) |
| 2866 | { | 2866 | { |
| 2867 | FRAME_SMALLEST_CHAR_WIDTH (f) = min_width; | 2867 | FRAME_SMALLEST_CHAR_WIDTH (f) = min_width; |
| 2868 | FRAME_SMALLEST_FONT_HEIGHT (f) = height; | 2868 | FRAME_SMALLEST_FONT_HEIGHT (f) = height; |
| 2869 | fonts_changed_p = 1; | 2869 | f->fonts_changed = 1; |
| 2870 | } | 2870 | } |
| 2871 | else | 2871 | else |
| 2872 | { | 2872 | { |
| 2873 | if (FRAME_SMALLEST_CHAR_WIDTH (f) > min_width) | 2873 | if (FRAME_SMALLEST_CHAR_WIDTH (f) > min_width) |
| 2874 | FRAME_SMALLEST_CHAR_WIDTH (f) = min_width, fonts_changed_p = 1; | 2874 | FRAME_SMALLEST_CHAR_WIDTH (f) = min_width, f->fonts_changed = 1; |
| 2875 | if (FRAME_SMALLEST_FONT_HEIGHT (f) > height) | 2875 | if (FRAME_SMALLEST_FONT_HEIGHT (f) > height) |
| 2876 | FRAME_SMALLEST_FONT_HEIGHT (f) = height, fonts_changed_p = 1; | 2876 | FRAME_SMALLEST_FONT_HEIGHT (f) = height, f->fonts_changed = 1; |
| 2877 | } | 2877 | } |
| 2878 | #endif | 2878 | #endif |
| 2879 | 2879 | ||
| @@ -2894,8 +2894,8 @@ font_close_object (struct frame *f, Lisp_Object font_object) | |||
| 2894 | FONT_ADD_LOG ("close", font_object, Qnil); | 2894 | FONT_ADD_LOG ("close", font_object, Qnil); |
| 2895 | font->driver->close (f, font); | 2895 | font->driver->close (f, font); |
| 2896 | #ifdef HAVE_WINDOW_SYSTEM | 2896 | #ifdef HAVE_WINDOW_SYSTEM |
| 2897 | eassert (FRAME_X_DISPLAY_INFO (f)->n_fonts); | 2897 | eassert (FRAME_DISPLAY_INFO (f)->n_fonts); |
| 2898 | FRAME_X_DISPLAY_INFO (f)->n_fonts--; | 2898 | FRAME_DISPLAY_INFO (f)->n_fonts--; |
| 2899 | #endif | 2899 | #endif |
| 2900 | } | 2900 | } |
| 2901 | 2901 | ||
| @@ -5197,9 +5197,6 @@ EMACS_FONT_LOG is set. Otherwise, it is set to t. */); | |||
| 5197 | #ifdef HAVE_NTGUI | 5197 | #ifdef HAVE_NTGUI |
| 5198 | syms_of_w32font (); | 5198 | syms_of_w32font (); |
| 5199 | #endif /* HAVE_NTGUI */ | 5199 | #endif /* HAVE_NTGUI */ |
| 5200 | #ifdef HAVE_NS | ||
| 5201 | syms_of_nsfont (); | ||
| 5202 | #endif /* HAVE_NS */ | ||
| 5203 | #endif /* HAVE_WINDOW_SYSTEM */ | 5200 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 5204 | } | 5201 | } |
| 5205 | 5202 | ||
diff --git a/src/font.h b/src/font.h index 3e0d97baaac..0ec56590916 100644 --- a/src/font.h +++ b/src/font.h | |||
| @@ -825,6 +825,7 @@ extern void syms_of_w32font (void); | |||
| 825 | extern Lisp_Object Qfontsize; | 825 | extern Lisp_Object Qfontsize; |
| 826 | extern struct font_driver nsfont_driver; | 826 | extern struct font_driver nsfont_driver; |
| 827 | extern void syms_of_nsfont (void); | 827 | extern void syms_of_nsfont (void); |
| 828 | extern void syms_of_macfont (void); | ||
| 828 | #endif /* HAVE_NS */ | 829 | #endif /* HAVE_NS */ |
| 829 | 830 | ||
| 830 | #ifndef FONT_DEBUG | 831 | #ifndef FONT_DEBUG |
diff --git a/src/fontset.c b/src/fontset.c index a6277b050d5..15fdf9f41a0 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -39,17 +39,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 39 | #include "intervals.h" | 39 | #include "intervals.h" |
| 40 | #include "fontset.h" | 40 | #include "fontset.h" |
| 41 | #include "window.h" | 41 | #include "window.h" |
| 42 | #ifdef HAVE_X_WINDOWS | 42 | #ifdef HAVE_WINDOW_SYSTEM |
| 43 | #include "xterm.h" | 43 | #include TERM_HEADER |
| 44 | #endif | 44 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 45 | #ifdef HAVE_NTGUI | ||
| 46 | #include "w32term.h" | ||
| 47 | #endif | ||
| 48 | #ifdef HAVE_NS | ||
| 49 | #include "nsterm.h" | ||
| 50 | #endif | ||
| 51 | #include "termhooks.h" | 45 | #include "termhooks.h" |
| 52 | |||
| 53 | #include "font.h" | 46 | #include "font.h" |
| 54 | 47 | ||
| 55 | /* FONTSET | 48 | /* FONTSET |
| @@ -460,7 +453,7 @@ reorder_font_vector (Lisp_Object font_group, struct font *font) | |||
| 460 | } | 453 | } |
| 461 | 454 | ||
| 462 | if (score_changed) | 455 | if (score_changed) |
| 463 | qsort (XVECTOR (vec)->contents, size, word_size, | 456 | qsort (XVECTOR (vec)->u.contents, size, word_size, |
| 464 | fontset_compare_rfontdef); | 457 | fontset_compare_rfontdef); |
| 465 | XSETCAR (font_group, make_number (charset_ordered_list_tick)); | 458 | XSETCAR (font_group, make_number (charset_ordered_list_tick)); |
| 466 | } | 459 | } |
diff --git a/src/frame.c b/src/frame.c index b4638ed53c8..2e90713b6c3 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -19,8 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | 19 | ||
| 20 | #include <config.h> | 20 | #include <config.h> |
| 21 | 21 | ||
| 22 | #define FRAME_INLINE EXTERN_INLINE | ||
| 23 | |||
| 24 | #include <stdio.h> | 22 | #include <stdio.h> |
| 25 | #include <errno.h> | 23 | #include <errno.h> |
| 26 | #include <limits.h> | 24 | #include <limits.h> |
| @@ -115,6 +113,19 @@ static Lisp_Object Qdelete_frame_functions; | |||
| 115 | 113 | ||
| 116 | static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource; | 114 | static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource; |
| 117 | 115 | ||
| 116 | /* The currently selected frame. */ | ||
| 117 | |||
| 118 | Lisp_Object selected_frame; | ||
| 119 | |||
| 120 | /* A frame which is not just a mini-buffer, or NULL if there are no such | ||
| 121 | frames. This is usually the most recent such frame that was selected. */ | ||
| 122 | |||
| 123 | static struct frame *last_nonminibuf_frame; | ||
| 124 | |||
| 125 | /* Nonzero means there is at least one garbaged frame. */ | ||
| 126 | |||
| 127 | bool frame_garbaged; | ||
| 128 | |||
| 118 | #ifdef HAVE_WINDOW_SYSTEM | 129 | #ifdef HAVE_WINDOW_SYSTEM |
| 119 | static void x_report_frame_params (struct frame *, Lisp_Object *); | 130 | static void x_report_frame_params (struct frame *, Lisp_Object *); |
| 120 | #endif | 131 | #endif |
| @@ -224,7 +235,7 @@ set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 224 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; | 235 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; |
| 225 | FRAME_MENU_BAR_LINES (f) = nlines; | 236 | FRAME_MENU_BAR_LINES (f) = nlines; |
| 226 | set_menu_bar_lines_1 (f->root_window, nlines - olines); | 237 | set_menu_bar_lines_1 (f->root_window, nlines - olines); |
| 227 | adjust_glyphs (f); | 238 | adjust_frame_glyphs (f); |
| 228 | } | 239 | } |
| 229 | } | 240 | } |
| 230 | 241 | ||
| @@ -548,6 +559,8 @@ make_initial_frame (void) | |||
| 548 | if (!noninteractive) | 559 | if (!noninteractive) |
| 549 | init_frame_faces (f); | 560 | init_frame_faces (f); |
| 550 | 561 | ||
| 562 | last_nonminibuf_frame = f; | ||
| 563 | |||
| 551 | return f; | 564 | return f; |
| 552 | } | 565 | } |
| 553 | 566 | ||
| @@ -712,7 +725,7 @@ affects all frames on the same terminal device. */) | |||
| 712 | change_frame_size (f, height, width, 0, 0, 0); | 725 | change_frame_size (f, height, width, 0, 0, 0); |
| 713 | } | 726 | } |
| 714 | 727 | ||
| 715 | adjust_glyphs (f); | 728 | adjust_frame_glyphs (f); |
| 716 | calculate_costs (f); | 729 | calculate_costs (f); |
| 717 | XSETFRAME (frame, f); | 730 | XSETFRAME (frame, f); |
| 718 | 731 | ||
| @@ -1108,7 +1121,7 @@ other_visible_frames (struct frame *f) | |||
| 1108 | 1121 | ||
| 1109 | /* Verify that we can still talk to the frame's X window, | 1122 | /* Verify that we can still talk to the frame's X window, |
| 1110 | and note any recent change in visibility. */ | 1123 | and note any recent change in visibility. */ |
| 1111 | #ifdef HAVE_WINDOW_SYSTEM | 1124 | #ifdef HAVE_X_WINDOWS |
| 1112 | if (FRAME_WINDOW_P (XFRAME (this))) | 1125 | if (FRAME_WINDOW_P (XFRAME (this))) |
| 1113 | x_sync (XFRAME (this)); | 1126 | x_sync (XFRAME (this)); |
| 1114 | #endif | 1127 | #endif |
| @@ -1901,6 +1914,17 @@ See `redirect-frame-focus'. */) | |||
| 1901 | return FRAME_FOCUS_FRAME (decode_live_frame (frame)); | 1914 | return FRAME_FOCUS_FRAME (decode_live_frame (frame)); |
| 1902 | } | 1915 | } |
| 1903 | 1916 | ||
| 1917 | DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, | ||
| 1918 | doc: /* Set the input focus to FRAME. | ||
| 1919 | FRAME nil means use the selected frame. | ||
| 1920 | If there is no window system support, this function does nothing. */) | ||
| 1921 | (Lisp_Object frame) | ||
| 1922 | { | ||
| 1923 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1924 | x_focus_frame (decode_window_system_frame (frame)); | ||
| 1925 | #endif | ||
| 1926 | return Qnil; | ||
| 1927 | } | ||
| 1904 | 1928 | ||
| 1905 | 1929 | ||
| 1906 | /* Return the value of frame parameter PROP in frame FRAME. */ | 1930 | /* Return the value of frame parameter PROP in frame FRAME. */ |
| @@ -2207,7 +2231,7 @@ If FRAME is nil, describe the currently selected frame. */) | |||
| 2207 | value = f->name; | 2231 | value = f->name; |
| 2208 | #ifdef HAVE_X_WINDOWS | 2232 | #ifdef HAVE_X_WINDOWS |
| 2209 | else if (EQ (parameter, Qdisplay) && FRAME_X_P (f)) | 2233 | else if (EQ (parameter, Qdisplay) && FRAME_X_P (f)) |
| 2210 | value = XCAR (FRAME_X_DISPLAY_INFO (f)->name_list_element); | 2234 | value = XCAR (FRAME_DISPLAY_INFO (f)->name_list_element); |
| 2211 | #endif /* HAVE_X_WINDOWS */ | 2235 | #endif /* HAVE_X_WINDOWS */ |
| 2212 | else if (EQ (parameter, Qbackground_color) | 2236 | else if (EQ (parameter, Qbackground_color) |
| 2213 | || EQ (parameter, Qforeground_color)) | 2237 | || EQ (parameter, Qforeground_color)) |
| @@ -2598,7 +2622,7 @@ x_fullscreen_adjust (struct frame *f, int *width, int *height, int *top_pos, int | |||
| 2598 | { | 2622 | { |
| 2599 | int newwidth = FRAME_COLS (f); | 2623 | int newwidth = FRAME_COLS (f); |
| 2600 | int newheight = FRAME_LINES (f); | 2624 | int newheight = FRAME_LINES (f); |
| 2601 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2625 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2602 | 2626 | ||
| 2603 | *top_pos = f->top_pos; | 2627 | *top_pos = f->top_pos; |
| 2604 | *left_pos = f->left_pos; | 2628 | *left_pos = f->left_pos; |
| @@ -2973,9 +2997,9 @@ x_report_frame_params (struct frame *f, Lisp_Object *alistptr) | |||
| 2973 | (FRAME_VISIBLE_P (f) ? Qt | 2997 | (FRAME_VISIBLE_P (f) ? Qt |
| 2974 | : FRAME_ICONIFIED_P (f) ? Qicon : Qnil)); | 2998 | : FRAME_ICONIFIED_P (f) ? Qicon : Qnil)); |
| 2975 | store_in_alist (alistptr, Qdisplay, | 2999 | store_in_alist (alistptr, Qdisplay, |
| 2976 | XCAR (FRAME_X_DISPLAY_INFO (f)->name_list_element)); | 3000 | XCAR (FRAME_DISPLAY_INFO (f)->name_list_element)); |
| 2977 | 3001 | ||
| 2978 | if (FRAME_X_OUTPUT (f)->parent_desc == FRAME_X_DISPLAY_INFO (f)->root_window) | 3002 | if (FRAME_X_OUTPUT (f)->parent_desc == FRAME_DISPLAY_INFO (f)->root_window) |
| 2979 | tem = Qnil; | 3003 | tem = Qnil; |
| 2980 | else | 3004 | else |
| 2981 | tem = make_natnum ((uintptr_t) FRAME_X_OUTPUT (f)->parent_desc); | 3005 | tem = make_natnum ((uintptr_t) FRAME_X_OUTPUT (f)->parent_desc); |
| @@ -3358,9 +3382,6 @@ x_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | |||
| 3358 | else if (RANGED_INTEGERP (1, arg, INT_MAX) | 3382 | else if (RANGED_INTEGERP (1, arg, INT_MAX) |
| 3359 | && XFASTINT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) | 3383 | && XFASTINT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) |
| 3360 | { | 3384 | { |
| 3361 | if (XFASTINT (arg) <= 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM) | ||
| 3362 | XSETINT (arg, 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM + 1); | ||
| 3363 | |||
| 3364 | FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFASTINT (arg); | 3385 | FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFASTINT (arg); |
| 3365 | FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid; | 3386 | FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid; |
| 3366 | if (FRAME_X_WINDOW (f)) | 3387 | if (FRAME_X_WINDOW (f)) |
| @@ -3373,22 +3394,6 @@ x_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | |||
| 3373 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.x = 0; | 3394 | XWINDOW (FRAME_SELECTED_WINDOW (f))->cursor.x = 0; |
| 3374 | } | 3395 | } |
| 3375 | 3396 | ||
| 3376 | |||
| 3377 | |||
| 3378 | /* Return non-nil if frame F wants a bitmap icon. */ | ||
| 3379 | |||
| 3380 | Lisp_Object | ||
| 3381 | x_icon_type (struct frame *f) | ||
| 3382 | { | ||
| 3383 | Lisp_Object tem; | ||
| 3384 | |||
| 3385 | tem = assq_no_quit (Qicon_type, f->param_alist); | ||
| 3386 | if (CONSP (tem)) | ||
| 3387 | return XCDR (tem); | ||
| 3388 | else | ||
| 3389 | return Qnil; | ||
| 3390 | } | ||
| 3391 | |||
| 3392 | void | 3397 | void |
| 3393 | x_set_alpha (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | 3398 | x_set_alpha (struct frame *f, Lisp_Object arg, Lisp_Object oldval) |
| 3394 | { | 3399 | { |
| @@ -3440,7 +3445,33 @@ x_set_alpha (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | |||
| 3440 | return; | 3445 | return; |
| 3441 | } | 3446 | } |
| 3442 | 3447 | ||
| 3443 | 3448 | #ifndef HAVE_NS | |
| 3449 | |||
| 3450 | /* Non-zero if mouse is grabbed on DPYINFO | ||
| 3451 | and we know the frame where it is. */ | ||
| 3452 | |||
| 3453 | bool x_mouse_grabbed (Display_Info *dpyinfo) | ||
| 3454 | { | ||
| 3455 | return (dpyinfo->grabbed | ||
| 3456 | && dpyinfo->last_mouse_frame | ||
| 3457 | && FRAME_LIVE_P (dpyinfo->last_mouse_frame)); | ||
| 3458 | } | ||
| 3459 | |||
| 3460 | /* Re-highlight something with mouse-face properties | ||
| 3461 | on DPYINFO using saved frame and mouse position. */ | ||
| 3462 | |||
| 3463 | void | ||
| 3464 | x_redo_mouse_highlight (Display_Info *dpyinfo) | ||
| 3465 | { | ||
| 3466 | if (dpyinfo->last_mouse_motion_frame | ||
| 3467 | && FRAME_LIVE_P (dpyinfo->last_mouse_motion_frame)) | ||
| 3468 | note_mouse_highlight (dpyinfo->last_mouse_motion_frame, | ||
| 3469 | dpyinfo->last_mouse_motion_x, | ||
| 3470 | dpyinfo->last_mouse_motion_y); | ||
| 3471 | } | ||
| 3472 | |||
| 3473 | #endif /* HAVE_NS */ | ||
| 3474 | |||
| 3444 | /* Subroutines of creating an X frame. */ | 3475 | /* Subroutines of creating an X frame. */ |
| 3445 | 3476 | ||
| 3446 | /* Make sure that Vx_resource_name is set to a reasonable value. | 3477 | /* Make sure that Vx_resource_name is set to a reasonable value. |
| @@ -3512,11 +3543,6 @@ validate_x_resource_name (void) | |||
| 3512 | } | 3543 | } |
| 3513 | } | 3544 | } |
| 3514 | 3545 | ||
| 3515 | |||
| 3516 | extern char *x_get_string_resource (XrmDatabase, const char *, const char *); | ||
| 3517 | extern Display_Info *check_x_display_info (Lisp_Object); | ||
| 3518 | |||
| 3519 | |||
| 3520 | /* Get specified attribute from resource database RDB. | 3546 | /* Get specified attribute from resource database RDB. |
| 3521 | See Fx_get_resource below for other parameters. */ | 3547 | See Fx_get_resource below for other parameters. */ |
| 3522 | 3548 | ||
| @@ -3631,7 +3657,7 @@ x_get_resource_string (const char *attribute, const char *class) | |||
| 3631 | esprintf (name_key, "%s.%s", SSDATA (Vinvocation_name), attribute); | 3657 | esprintf (name_key, "%s.%s", SSDATA (Vinvocation_name), attribute); |
| 3632 | sprintf (class_key, "%s.%s", EMACS_CLASS, class); | 3658 | sprintf (class_key, "%s.%s", EMACS_CLASS, class); |
| 3633 | 3659 | ||
| 3634 | result = x_get_string_resource (FRAME_X_DISPLAY_INFO (sf)->xrdb, | 3660 | result = x_get_string_resource (FRAME_DISPLAY_INFO (sf)->xrdb, |
| 3635 | name_key, class_key); | 3661 | name_key, class_key); |
| 3636 | SAFE_FREE (); | 3662 | SAFE_FREE (); |
| 3637 | return result; | 3663 | return result; |
| @@ -3753,7 +3779,7 @@ x_frame_get_arg (struct frame *f, Lisp_Object alist, Lisp_Object param, | |||
| 3753 | const char *attribute, const char *class, | 3779 | const char *attribute, const char *class, |
| 3754 | enum resource_types type) | 3780 | enum resource_types type) |
| 3755 | { | 3781 | { |
| 3756 | return x_get_arg (FRAME_X_DISPLAY_INFO (f), | 3782 | return x_get_arg (FRAME_DISPLAY_INFO (f), |
| 3757 | alist, param, attribute, class, type); | 3783 | alist, param, attribute, class, type); |
| 3758 | } | 3784 | } |
| 3759 | 3785 | ||
| @@ -3767,7 +3793,7 @@ x_frame_get_and_record_arg (struct frame *f, Lisp_Object alist, | |||
| 3767 | { | 3793 | { |
| 3768 | Lisp_Object value; | 3794 | Lisp_Object value; |
| 3769 | 3795 | ||
| 3770 | value = x_get_arg (FRAME_X_DISPLAY_INFO (f), alist, param, | 3796 | value = x_get_arg (FRAME_DISPLAY_INFO (f), alist, param, |
| 3771 | attribute, class, type); | 3797 | attribute, class, type); |
| 3772 | if (! NILP (value) && ! EQ (value, Qunbound)) | 3798 | if (! NILP (value) && ! EQ (value, Qunbound)) |
| 3773 | store_frame_param (f, param, value); | 3799 | store_frame_param (f, param, value); |
| @@ -3971,7 +3997,7 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) | |||
| 3971 | { | 3997 | { |
| 3972 | register Lisp_Object tem0, tem1, tem2; | 3998 | register Lisp_Object tem0, tem1, tem2; |
| 3973 | long window_prompting = 0; | 3999 | long window_prompting = 0; |
| 3974 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 4000 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 3975 | 4001 | ||
| 3976 | /* Default values if we fall through. | 4002 | /* Default values if we fall through. |
| 3977 | Actually, if that happens we should get | 4003 | Actually, if that happens we should get |
| @@ -4524,6 +4550,7 @@ automatically. See also `mouse-autoselect-window'. */); | |||
| 4524 | defsubr (&Svisible_frame_list); | 4550 | defsubr (&Svisible_frame_list); |
| 4525 | defsubr (&Sraise_frame); | 4551 | defsubr (&Sraise_frame); |
| 4526 | defsubr (&Slower_frame); | 4552 | defsubr (&Slower_frame); |
| 4553 | defsubr (&Sx_focus_frame); | ||
| 4527 | defsubr (&Sredirect_frame_focus); | 4554 | defsubr (&Sredirect_frame_focus); |
| 4528 | defsubr (&Sframe_focus); | 4555 | defsubr (&Sframe_focus); |
| 4529 | defsubr (&Sframe_parameters); | 4556 | defsubr (&Sframe_parameters); |
diff --git a/src/frame.h b/src/frame.h index 17b6089120a..09e4112d3a2 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -27,9 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | #include "termhooks.h" | 27 | #include "termhooks.h" |
| 28 | 28 | ||
| 29 | INLINE_HEADER_BEGIN | 29 | INLINE_HEADER_BEGIN |
| 30 | #ifndef FRAME_INLINE | ||
| 31 | # define FRAME_INLINE INLINE | ||
| 32 | #endif | ||
| 33 | 30 | ||
| 34 | enum vertical_scroll_bar_type | 31 | enum vertical_scroll_bar_type |
| 35 | { | 32 | { |
| @@ -145,9 +142,15 @@ struct frame | |||
| 145 | Lisp_Object menu_bar_window; | 142 | Lisp_Object menu_bar_window; |
| 146 | #endif | 143 | #endif |
| 147 | 144 | ||
| 145 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 148 | /* A window used to display the tool-bar of a frame. */ | 146 | /* A window used to display the tool-bar of a frame. */ |
| 149 | Lisp_Object tool_bar_window; | 147 | Lisp_Object tool_bar_window; |
| 150 | 148 | ||
| 149 | /* Desired and current contents displayed in that window. */ | ||
| 150 | Lisp_Object desired_tool_bar_string; | ||
| 151 | Lisp_Object current_tool_bar_string; | ||
| 152 | #endif | ||
| 153 | |||
| 151 | /* Desired and current tool-bar items. */ | 154 | /* Desired and current tool-bar items. */ |
| 152 | Lisp_Object tool_bar_items; | 155 | Lisp_Object tool_bar_items; |
| 153 | 156 | ||
| @@ -155,10 +158,6 @@ struct frame | |||
| 155 | tool bar only supports top. */ | 158 | tool bar only supports top. */ |
| 156 | Lisp_Object tool_bar_position; | 159 | Lisp_Object tool_bar_position; |
| 157 | 160 | ||
| 158 | /* Desired and current contents displayed in tool_bar_window. */ | ||
| 159 | Lisp_Object desired_tool_bar_string; | ||
| 160 | Lisp_Object current_tool_bar_string; | ||
| 161 | |||
| 162 | /* Beyond here, there should be no more Lisp_Object components. */ | 161 | /* Beyond here, there should be no more Lisp_Object components. */ |
| 163 | 162 | ||
| 164 | /* Cache of realized faces. */ | 163 | /* Cache of realized faces. */ |
| @@ -185,10 +184,6 @@ struct frame | |||
| 185 | Clear the frame in clear_garbaged_frames if set. */ | 184 | Clear the frame in clear_garbaged_frames if set. */ |
| 186 | unsigned resized_p : 1; | 185 | unsigned resized_p : 1; |
| 187 | 186 | ||
| 188 | /* Set to non-zero in when we want for force a flush_display in | ||
| 189 | update_frame, usually after resizing the frame. */ | ||
| 190 | unsigned force_flush_display_p : 1; | ||
| 191 | |||
| 192 | /* Set to non-zero if the default face for the frame has been | 187 | /* Set to non-zero if the default face for the frame has been |
| 193 | realized. Reset to zero whenever the default face changes. | 188 | realized. Reset to zero whenever the default face changes. |
| 194 | Used to see the difference between a font change and face change. */ | 189 | Used to see the difference between a font change and face change. */ |
| @@ -201,15 +196,24 @@ struct frame | |||
| 201 | /* Set to non-zero when current redisplay has updated frame. */ | 196 | /* Set to non-zero when current redisplay has updated frame. */ |
| 202 | unsigned updated_p : 1; | 197 | unsigned updated_p : 1; |
| 203 | 198 | ||
| 199 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 204 | /* Set to non-zero to minimize tool-bar height even when | 200 | /* Set to non-zero to minimize tool-bar height even when |
| 205 | auto-resize-tool-bar is set to grow-only. */ | 201 | auto-resize-tool-bar is set to grow-only. */ |
| 206 | unsigned minimize_tool_bar_window_p : 1; | 202 | unsigned minimize_tool_bar_window_p : 1; |
| 203 | #endif | ||
| 207 | 204 | ||
| 208 | #if defined (USE_GTK) || defined (HAVE_NS) | 205 | #if defined (USE_GTK) || defined (HAVE_NS) |
| 209 | /* Nonzero means using a tool bar that comes from the toolkit. */ | 206 | /* Nonzero means using a tool bar that comes from the toolkit. */ |
| 210 | unsigned external_tool_bar : 1; | 207 | unsigned external_tool_bar : 1; |
| 211 | #endif | 208 | #endif |
| 212 | 209 | ||
| 210 | /* Nonzero means that fonts have been loaded since the last glyph | ||
| 211 | matrix adjustments. */ | ||
| 212 | unsigned fonts_changed : 1; | ||
| 213 | |||
| 214 | /* Nonzero means that cursor type has been changed. */ | ||
| 215 | unsigned cursor_type_changed : 1; | ||
| 216 | |||
| 213 | /* Margin at the top of the frame. Used to display the tool-bar. */ | 217 | /* Margin at the top of the frame. Used to display the tool-bar. */ |
| 214 | int tool_bar_lines; | 218 | int tool_bar_lines; |
| 215 | 219 | ||
| @@ -321,6 +325,11 @@ struct frame | |||
| 321 | unsigned int external_menu_bar : 1; | 325 | unsigned int external_menu_bar : 1; |
| 322 | #endif | 326 | #endif |
| 323 | 327 | ||
| 328 | #if defined (HAVE_X_WINDOWS) | ||
| 329 | /* Used by x_wait_for_event when watching for an X event on this frame. */ | ||
| 330 | int wait_event_type; | ||
| 331 | #endif | ||
| 332 | |||
| 324 | /* Next two bitfields are mutually exclusive. They might both be | 333 | /* Next two bitfields are mutually exclusive. They might both be |
| 325 | zero if the frame has been made invisible without an icon. */ | 334 | zero if the frame has been made invisible without an icon. */ |
| 326 | 335 | ||
| @@ -436,112 +445,114 @@ struct frame | |||
| 436 | 445 | ||
| 437 | /* Most code should use these functions to set Lisp fields in struct frame. */ | 446 | /* Most code should use these functions to set Lisp fields in struct frame. */ |
| 438 | 447 | ||
| 439 | FRAME_INLINE void | 448 | INLINE void |
| 440 | fset_buffer_list (struct frame *f, Lisp_Object val) | 449 | fset_buffer_list (struct frame *f, Lisp_Object val) |
| 441 | { | 450 | { |
| 442 | f->buffer_list = val; | 451 | f->buffer_list = val; |
| 443 | } | 452 | } |
| 444 | FRAME_INLINE void | 453 | INLINE void |
| 445 | fset_buried_buffer_list (struct frame *f, Lisp_Object val) | 454 | fset_buried_buffer_list (struct frame *f, Lisp_Object val) |
| 446 | { | 455 | { |
| 447 | f->buried_buffer_list = val; | 456 | f->buried_buffer_list = val; |
| 448 | } | 457 | } |
| 449 | FRAME_INLINE void | 458 | INLINE void |
| 450 | fset_condemned_scroll_bars (struct frame *f, Lisp_Object val) | 459 | fset_condemned_scroll_bars (struct frame *f, Lisp_Object val) |
| 451 | { | 460 | { |
| 452 | f->condemned_scroll_bars = val; | 461 | f->condemned_scroll_bars = val; |
| 453 | } | 462 | } |
| 454 | FRAME_INLINE void | 463 | INLINE void |
| 455 | fset_current_tool_bar_string (struct frame *f, Lisp_Object val) | ||
| 456 | { | ||
| 457 | f->current_tool_bar_string = val; | ||
| 458 | } | ||
| 459 | FRAME_INLINE void | ||
| 460 | fset_desired_tool_bar_string (struct frame *f, Lisp_Object val) | ||
| 461 | { | ||
| 462 | f->desired_tool_bar_string = val; | ||
| 463 | } | ||
| 464 | FRAME_INLINE void | ||
| 465 | fset_face_alist (struct frame *f, Lisp_Object val) | 464 | fset_face_alist (struct frame *f, Lisp_Object val) |
| 466 | { | 465 | { |
| 467 | f->face_alist = val; | 466 | f->face_alist = val; |
| 468 | } | 467 | } |
| 469 | FRAME_INLINE void | 468 | INLINE void |
| 470 | fset_focus_frame (struct frame *f, Lisp_Object val) | 469 | fset_focus_frame (struct frame *f, Lisp_Object val) |
| 471 | { | 470 | { |
| 472 | f->focus_frame = val; | 471 | f->focus_frame = val; |
| 473 | } | 472 | } |
| 474 | FRAME_INLINE void | 473 | INLINE void |
| 475 | fset_icon_name (struct frame *f, Lisp_Object val) | 474 | fset_icon_name (struct frame *f, Lisp_Object val) |
| 476 | { | 475 | { |
| 477 | f->icon_name = val; | 476 | f->icon_name = val; |
| 478 | } | 477 | } |
| 479 | FRAME_INLINE void | 478 | INLINE void |
| 480 | fset_menu_bar_items (struct frame *f, Lisp_Object val) | 479 | fset_menu_bar_items (struct frame *f, Lisp_Object val) |
| 481 | { | 480 | { |
| 482 | f->menu_bar_items = val; | 481 | f->menu_bar_items = val; |
| 483 | } | 482 | } |
| 484 | FRAME_INLINE void | 483 | INLINE void |
| 485 | fset_menu_bar_vector (struct frame *f, Lisp_Object val) | 484 | fset_menu_bar_vector (struct frame *f, Lisp_Object val) |
| 486 | { | 485 | { |
| 487 | f->menu_bar_vector = val; | 486 | f->menu_bar_vector = val; |
| 488 | } | 487 | } |
| 489 | #if defined (HAVE_X_WINDOWS) && ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) | 488 | #if defined (HAVE_X_WINDOWS) && ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) |
| 490 | FRAME_INLINE void | 489 | INLINE void |
| 491 | fset_menu_bar_window (struct frame *f, Lisp_Object val) | 490 | fset_menu_bar_window (struct frame *f, Lisp_Object val) |
| 492 | { | 491 | { |
| 493 | f->menu_bar_window = val; | 492 | f->menu_bar_window = val; |
| 494 | } | 493 | } |
| 495 | #endif | 494 | #endif |
| 496 | FRAME_INLINE void | 495 | INLINE void |
| 497 | fset_name (struct frame *f, Lisp_Object val) | 496 | fset_name (struct frame *f, Lisp_Object val) |
| 498 | { | 497 | { |
| 499 | f->name = val; | 498 | f->name = val; |
| 500 | } | 499 | } |
| 501 | FRAME_INLINE void | 500 | INLINE void |
| 502 | fset_param_alist (struct frame *f, Lisp_Object val) | 501 | fset_param_alist (struct frame *f, Lisp_Object val) |
| 503 | { | 502 | { |
| 504 | f->param_alist = val; | 503 | f->param_alist = val; |
| 505 | } | 504 | } |
| 506 | FRAME_INLINE void | 505 | INLINE void |
| 507 | fset_root_window (struct frame *f, Lisp_Object val) | 506 | fset_root_window (struct frame *f, Lisp_Object val) |
| 508 | { | 507 | { |
| 509 | f->root_window = val; | 508 | f->root_window = val; |
| 510 | } | 509 | } |
| 511 | FRAME_INLINE void | 510 | INLINE void |
| 512 | fset_scroll_bars (struct frame *f, Lisp_Object val) | 511 | fset_scroll_bars (struct frame *f, Lisp_Object val) |
| 513 | { | 512 | { |
| 514 | f->scroll_bars = val; | 513 | f->scroll_bars = val; |
| 515 | } | 514 | } |
| 516 | FRAME_INLINE void | 515 | INLINE void |
| 517 | fset_selected_window (struct frame *f, Lisp_Object val) | 516 | fset_selected_window (struct frame *f, Lisp_Object val) |
| 518 | { | 517 | { |
| 519 | f->selected_window = val; | 518 | f->selected_window = val; |
| 520 | } | 519 | } |
| 521 | FRAME_INLINE void | 520 | INLINE void |
| 522 | fset_title (struct frame *f, Lisp_Object val) | 521 | fset_title (struct frame *f, Lisp_Object val) |
| 523 | { | 522 | { |
| 524 | f->title = val; | 523 | f->title = val; |
| 525 | } | 524 | } |
| 526 | FRAME_INLINE void | 525 | INLINE void |
| 527 | fset_tool_bar_items (struct frame *f, Lisp_Object val) | 526 | fset_tool_bar_items (struct frame *f, Lisp_Object val) |
| 528 | { | 527 | { |
| 529 | f->tool_bar_items = val; | 528 | f->tool_bar_items = val; |
| 530 | } | 529 | } |
| 531 | FRAME_INLINE void | 530 | INLINE void |
| 532 | fset_tool_bar_position (struct frame *f, Lisp_Object val) | 531 | fset_tool_bar_position (struct frame *f, Lisp_Object val) |
| 533 | { | 532 | { |
| 534 | f->tool_bar_position = val; | 533 | f->tool_bar_position = val; |
| 535 | } | 534 | } |
| 536 | FRAME_INLINE void | 535 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) |
| 536 | INLINE void | ||
| 537 | fset_tool_bar_window (struct frame *f, Lisp_Object val) | 537 | fset_tool_bar_window (struct frame *f, Lisp_Object val) |
| 538 | { | 538 | { |
| 539 | f->tool_bar_window = val; | 539 | f->tool_bar_window = val; |
| 540 | } | 540 | } |
| 541 | INLINE void | ||
| 542 | fset_current_tool_bar_string (struct frame *f, Lisp_Object val) | ||
| 543 | { | ||
| 544 | f->current_tool_bar_string = val; | ||
| 545 | } | ||
| 546 | INLINE void | ||
| 547 | fset_desired_tool_bar_string (struct frame *f, Lisp_Object val) | ||
| 548 | { | ||
| 549 | f->desired_tool_bar_string = val; | ||
| 550 | } | ||
| 551 | #endif /* HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS */ | ||
| 541 | 552 | ||
| 542 | #define NUMVAL(X) ((INTEGERP (X) || FLOATP (X)) ? XFLOATINT (X) : -1) | 553 | #define NUMVAL(X) ((INTEGERP (X) || FLOATP (X)) ? XFLOATINT (X) : -1) |
| 543 | 554 | ||
| 544 | FRAME_INLINE double | 555 | INLINE double |
| 545 | default_pixels_per_inch_x (void) | 556 | default_pixels_per_inch_x (void) |
| 546 | { | 557 | { |
| 547 | Lisp_Object v = (CONSP (Vdisplay_pixels_per_inch) | 558 | Lisp_Object v = (CONSP (Vdisplay_pixels_per_inch) |
| @@ -550,7 +561,7 @@ default_pixels_per_inch_x (void) | |||
| 550 | return NUMVAL (v) > 0 ? NUMVAL (v) : 72.0; | 561 | return NUMVAL (v) > 0 ? NUMVAL (v) : 72.0; |
| 551 | } | 562 | } |
| 552 | 563 | ||
| 553 | FRAME_INLINE double | 564 | INLINE double |
| 554 | default_pixels_per_inch_y (void) | 565 | default_pixels_per_inch_y (void) |
| 555 | { | 566 | { |
| 556 | Lisp_Object v = (CONSP (Vdisplay_pixels_per_inch) | 567 | Lisp_Object v = (CONSP (Vdisplay_pixels_per_inch) |
| @@ -591,36 +602,6 @@ default_pixels_per_inch_y (void) | |||
| 591 | #define FRAME_NS_P(f) ((f)->output_method == output_ns) | 602 | #define FRAME_NS_P(f) ((f)->output_method == output_ns) |
| 592 | #endif | 603 | #endif |
| 593 | 604 | ||
| 594 | /* Dots per inch of the screen the frame F is on. */ | ||
| 595 | |||
| 596 | #ifdef HAVE_X_WINDOWS | ||
| 597 | #define FRAME_RES_X(f) \ | ||
| 598 | (eassert (FRAME_X_P (f)), FRAME_X_DISPLAY_INFO (f)->resx) | ||
| 599 | #define FRAME_RES_Y(f) \ | ||
| 600 | (eassert (FRAME_X_P (f)), FRAME_X_DISPLAY_INFO (f)->resy) | ||
| 601 | #endif | ||
| 602 | |||
| 603 | #ifdef HAVE_NTGUI | ||
| 604 | #define FRAME_RES_X(f) \ | ||
| 605 | (eassert (FRAME_W32_P (f)), FRAME_W32_DISPLAY_INFO (f)->resx) | ||
| 606 | #define FRAME_RES_Y(f) \ | ||
| 607 | (eassert (FRAME_W32_P (f)), FRAME_W32_DISPLAY_INFO (f)->resy) | ||
| 608 | #endif | ||
| 609 | |||
| 610 | #ifdef HAVE_NS | ||
| 611 | #define FRAME_RES_X(f) \ | ||
| 612 | (eassert (FRAME_NS_P (f)), FRAME_NS_DISPLAY_INFO (f)->resx) | ||
| 613 | #define FRAME_RES_Y(f) \ | ||
| 614 | (eassert (FRAME_NS_P (f)), FRAME_NS_DISPLAY_INFO (f)->resy) | ||
| 615 | #endif | ||
| 616 | |||
| 617 | /* Defaults when no window system available. */ | ||
| 618 | |||
| 619 | #ifndef FRAME_RES_X | ||
| 620 | #define FRAME_RES_X(f) default_pixels_per_inch_x () | ||
| 621 | #define FRAME_RES_Y(f) default_pixels_per_inch_y () | ||
| 622 | #endif | ||
| 623 | |||
| 624 | /* FRAME_WINDOW_P tests whether the frame is a window, and is | 605 | /* FRAME_WINDOW_P tests whether the frame is a window, and is |
| 625 | defined to be the predicate for the window system being used. */ | 606 | defined to be the predicate for the window system being used. */ |
| 626 | 607 | ||
| @@ -637,14 +618,32 @@ default_pixels_per_inch_y (void) | |||
| 637 | #define FRAME_WINDOW_P(f) ((void) (f), 0) | 618 | #define FRAME_WINDOW_P(f) ((void) (f), 0) |
| 638 | #endif | 619 | #endif |
| 639 | 620 | ||
| 621 | /* Dots per inch of the screen the frame F is on. */ | ||
| 622 | |||
| 623 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 624 | |||
| 625 | #define FRAME_RES_X(f) \ | ||
| 626 | (eassert (FRAME_WINDOW_P (f)), FRAME_DISPLAY_INFO (f)->resx) | ||
| 627 | #define FRAME_RES_Y(f) \ | ||
| 628 | (eassert (FRAME_WINDOW_P (f)), FRAME_DISPLAY_INFO (f)->resy) | ||
| 629 | |||
| 630 | #else /* !HAVE_WINDOW_SYSTEM */ | ||
| 631 | |||
| 632 | /* Defaults when no window system available. */ | ||
| 633 | |||
| 634 | #define FRAME_RES_X(f) default_pixels_per_inch_x () | ||
| 635 | #define FRAME_RES_Y(f) default_pixels_per_inch_y () | ||
| 636 | |||
| 637 | #endif /* HAVE_WINDOW_SYSTEM */ | ||
| 638 | |||
| 640 | /* Return a pointer to the structure holding information about the | 639 | /* Return a pointer to the structure holding information about the |
| 641 | region of text, if any, that is currently shown in mouse-face on | 640 | region of text, if any, that is currently shown in mouse-face on |
| 642 | frame F. We need to define two versions because a TTY-only build | 641 | frame F. We need to define two versions because a TTY-only build |
| 643 | does not have FRAME_X_DISPLAY_INFO. */ | 642 | does not have FRAME_DISPLAY_INFO. */ |
| 644 | #ifdef HAVE_WINDOW_SYSTEM | 643 | #ifdef HAVE_WINDOW_SYSTEM |
| 645 | # define MOUSE_HL_INFO(F) \ | 644 | # define MOUSE_HL_INFO(F) \ |
| 646 | (FRAME_WINDOW_P(F) \ | 645 | (FRAME_WINDOW_P(F) \ |
| 647 | ? &FRAME_X_DISPLAY_INFO(F)->mouse_highlight \ | 646 | ? &FRAME_DISPLAY_INFO(F)->mouse_highlight \ |
| 648 | : &(F)->output_data.tty->display_info->mouse_highlight) | 647 | : &(F)->output_data.tty->display_info->mouse_highlight) |
| 649 | #else | 648 | #else |
| 650 | # define MOUSE_HL_INFO(F) \ | 649 | # define MOUSE_HL_INFO(F) \ |
| @@ -926,6 +925,7 @@ default_pixels_per_inch_y (void) | |||
| 926 | #define SET_FRAME_ICONIFIED(f, i) \ | 925 | #define SET_FRAME_ICONIFIED(f, i) \ |
| 927 | (f)->iconified = (eassert (0 <= (i) && (i) <= 1), (i)) | 926 | (f)->iconified = (eassert (0 <= (i) && (i) <= 1), (i)) |
| 928 | 927 | ||
| 928 | extern Lisp_Object selected_frame; | ||
| 929 | extern Lisp_Object Qframep, Qframe_live_p; | 929 | extern Lisp_Object Qframep, Qframe_live_p; |
| 930 | extern Lisp_Object Qtty, Qtty_type; | 930 | extern Lisp_Object Qtty, Qtty_type; |
| 931 | extern Lisp_Object Qtty_color_mode; | 931 | extern Lisp_Object Qtty_color_mode; |
| @@ -935,8 +935,6 @@ extern Lisp_Object Qnoelisp; | |||
| 935 | /* Nonzero means there is at least one garbaged frame. */ | 935 | /* Nonzero means there is at least one garbaged frame. */ |
| 936 | extern bool frame_garbaged; | 936 | extern bool frame_garbaged; |
| 937 | 937 | ||
| 938 | extern struct frame *last_nonminibuf_frame; | ||
| 939 | |||
| 940 | extern void set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object); | 938 | extern void set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object); |
| 941 | extern struct frame *decode_window_system_frame (Lisp_Object); | 939 | extern struct frame *decode_window_system_frame (Lisp_Object); |
| 942 | extern struct frame *decode_live_frame (Lisp_Object); | 940 | extern struct frame *decode_live_frame (Lisp_Object); |
| @@ -956,10 +954,6 @@ extern void frame_make_pointer_visible (void); | |||
| 956 | extern Lisp_Object delete_frame (Lisp_Object, Lisp_Object); | 954 | extern Lisp_Object delete_frame (Lisp_Object, Lisp_Object); |
| 957 | 955 | ||
| 958 | extern Lisp_Object Vframe_list; | 956 | extern Lisp_Object Vframe_list; |
| 959 | |||
| 960 | /* The currently selected frame. */ | ||
| 961 | |||
| 962 | extern Lisp_Object selected_frame; | ||
| 963 | 957 | ||
| 964 | /* Value is a pointer to the selected frame. If the selected frame | 958 | /* Value is a pointer to the selected frame. If the selected frame |
| 965 | isn't live, abort. */ | 959 | isn't live, abort. */ |
| @@ -1134,6 +1128,15 @@ extern Lisp_Object selected_frame; | |||
| 1134 | (FRAME_PIXEL_Y_TO_LINE (f, ((height) \ | 1128 | (FRAME_PIXEL_Y_TO_LINE (f, ((height) \ |
| 1135 | - FRAME_INTERNAL_BORDER_WIDTH (f)))) | 1129 | - FRAME_INTERNAL_BORDER_WIDTH (f)))) |
| 1136 | 1130 | ||
| 1131 | /* Value is the smallest width of any character in any font on frame F. */ | ||
| 1132 | |||
| 1133 | #define FRAME_SMALLEST_CHAR_WIDTH(f) \ | ||
| 1134 | FRAME_DISPLAY_INFO (f)->smallest_char_width | ||
| 1135 | |||
| 1136 | /* Value is the smallest height of any font on frame F. */ | ||
| 1137 | |||
| 1138 | #define FRAME_SMALLEST_FONT_HEIGHT(f) \ | ||
| 1139 | FRAME_DISPLAY_INFO (f)->smallest_font_height | ||
| 1137 | 1140 | ||
| 1138 | /*********************************************************************** | 1141 | /*********************************************************************** |
| 1139 | Frame Parameters | 1142 | Frame Parameters |
| @@ -1219,8 +1222,6 @@ extern void x_set_vertical_scroll_bars (struct frame *, Lisp_Object, | |||
| 1219 | extern void x_set_scroll_bar_width (struct frame *, Lisp_Object, | 1222 | extern void x_set_scroll_bar_width (struct frame *, Lisp_Object, |
| 1220 | Lisp_Object); | 1223 | Lisp_Object); |
| 1221 | 1224 | ||
| 1222 | extern Lisp_Object x_icon_type (struct frame *); | ||
| 1223 | |||
| 1224 | extern long x_figure_window_size (struct frame *, Lisp_Object, bool); | 1225 | extern long x_figure_window_size (struct frame *, Lisp_Object, bool); |
| 1225 | 1226 | ||
| 1226 | extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object); | 1227 | extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object); |
| @@ -1236,7 +1237,6 @@ extern Lisp_Object display_x_get_resource (Display_Info *, | |||
| 1236 | extern void set_frame_menubar (struct frame *f, bool first_time, bool deep_p); | 1237 | extern void set_frame_menubar (struct frame *f, bool first_time, bool deep_p); |
| 1237 | extern void x_set_window_size (struct frame *f, int change_grav, | 1238 | extern void x_set_window_size (struct frame *f, int change_grav, |
| 1238 | int cols, int rows); | 1239 | int cols, int rows); |
| 1239 | extern void x_sync (struct frame *); | ||
| 1240 | extern Lisp_Object x_get_focus_frame (struct frame *); | 1240 | extern Lisp_Object x_get_focus_frame (struct frame *); |
| 1241 | extern void x_set_mouse_position (struct frame *f, int h, int v); | 1241 | extern void x_set_mouse_position (struct frame *f, int h, int v); |
| 1242 | extern void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); | 1242 | extern void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); |
| @@ -1250,7 +1250,6 @@ extern void x_set_tool_bar_lines (struct frame *f, | |||
| 1250 | Lisp_Object oldval); | 1250 | Lisp_Object oldval); |
| 1251 | extern void x_activate_menubar (struct frame *); | 1251 | extern void x_activate_menubar (struct frame *); |
| 1252 | extern void x_real_positions (struct frame *, int *, int *); | 1252 | extern void x_real_positions (struct frame *, int *, int *); |
| 1253 | extern int x_bitmap_icon (struct frame *, Lisp_Object); | ||
| 1254 | extern void x_set_menu_bar_lines (struct frame *, | 1253 | extern void x_set_menu_bar_lines (struct frame *, |
| 1255 | Lisp_Object, | 1254 | Lisp_Object, |
| 1256 | Lisp_Object); | 1255 | Lisp_Object); |
| @@ -1262,13 +1261,41 @@ extern void x_wm_set_icon_position (struct frame *, int, int); | |||
| 1262 | #if !defined USE_X_TOOLKIT | 1261 | #if !defined USE_X_TOOLKIT |
| 1263 | extern char *x_get_resource_string (const char *, const char *); | 1262 | extern char *x_get_resource_string (const char *, const char *); |
| 1264 | #endif | 1263 | #endif |
| 1265 | #endif | 1264 | extern void x_sync (struct frame *); |
| 1265 | #endif /* HAVE_X_WINDOWS */ | ||
| 1266 | 1266 | ||
| 1267 | extern void x_query_colors (struct frame *f, XColor *, int); | 1267 | extern void x_query_colors (struct frame *f, XColor *, int); |
| 1268 | extern void x_query_color (struct frame *f, XColor *); | 1268 | extern void x_query_color (struct frame *f, XColor *); |
| 1269 | extern void x_focus_frame (struct frame *); | ||
| 1270 | |||
| 1271 | #ifndef HAVE_NS | ||
| 1272 | |||
| 1273 | extern int x_bitmap_icon (struct frame *, Lisp_Object); | ||
| 1274 | |||
| 1275 | /* Set F's bitmap icon, if specified among F's parameters. */ | ||
| 1276 | |||
| 1277 | INLINE void | ||
| 1278 | x_set_bitmap_icon (struct frame *f) | ||
| 1279 | { | ||
| 1280 | Lisp_Object obj = assq_no_quit (Qicon_type, f->param_alist); | ||
| 1281 | |||
| 1282 | if (CONSP (obj)) | ||
| 1283 | x_bitmap_icon (f, XCDR (obj)); | ||
| 1284 | } | ||
| 1285 | |||
| 1286 | #endif /* !HAVE_NS */ | ||
| 1269 | 1287 | ||
| 1270 | #endif /* HAVE_WINDOW_SYSTEM */ | 1288 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 1271 | 1289 | ||
| 1290 | INLINE void | ||
| 1291 | flush_frame (struct frame *f) | ||
| 1292 | { | ||
| 1293 | struct redisplay_interface *rif = FRAME_RIF (f); | ||
| 1294 | |||
| 1295 | if (rif && rif->flush_display) | ||
| 1296 | rif->flush_display (f); | ||
| 1297 | } | ||
| 1298 | |||
| 1272 | /*********************************************************************** | 1299 | /*********************************************************************** |
| 1273 | Multimonitor data | 1300 | Multimonitor data |
| 1274 | ***********************************************************************/ | 1301 | ***********************************************************************/ |
diff --git a/src/ftfont.c b/src/ftfont.c index 3636f86f5c4..4e58d83fd64 100644 --- a/src/ftfont.c +++ b/src/ftfont.c | |||
| @@ -2425,7 +2425,7 @@ ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font, | |||
| 2425 | } | 2425 | } |
| 2426 | 2426 | ||
| 2427 | len = i; | 2427 | len = i; |
| 2428 | lint_assume (len <= STRING_BYTES_BOUND); | 2428 | assume (len <= STRING_BYTES_BOUND); |
| 2429 | 2429 | ||
| 2430 | if (with_variation_selector) | 2430 | if (with_variation_selector) |
| 2431 | { | 2431 | { |
diff --git a/src/gfilenotify.c b/src/gfilenotify.c index 8f13c72df81..7415c3a2413 100644 --- a/src/gfilenotify.c +++ b/src/gfilenotify.c | |||
| @@ -249,7 +249,9 @@ WATCH-DESCRIPTOR should be an object returned by `gfile-add-watch'. */) | |||
| 249 | void | 249 | void |
| 250 | globals_of_gfilenotify (void) | 250 | globals_of_gfilenotify (void) |
| 251 | { | 251 | { |
| 252 | #if ! GLIB_CHECK_VERSION (2, 36, 0) | ||
| 252 | g_type_init (); | 253 | g_type_init (); |
| 254 | #endif | ||
| 253 | watch_list = Qnil; | 255 | watch_list = Qnil; |
| 254 | } | 256 | } |
| 255 | 257 | ||
diff --git a/src/gtkutil.c b/src/gtkutil.c index 6228f2150f5..e20d01521f0 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -2737,7 +2737,7 @@ xg_create_widget (const char *type, const char *name, struct frame *f, | |||
| 2737 | { | 2737 | { |
| 2738 | /* Must realize so the GdkWindow inside the widget is created. */ | 2738 | /* Must realize so the GdkWindow inside the widget is created. */ |
| 2739 | gtk_widget_realize (w); | 2739 | gtk_widget_realize (w); |
| 2740 | xg_set_cursor (w, FRAME_X_DISPLAY_INFO (f)->xg_cursor); | 2740 | xg_set_cursor (w, FRAME_DISPLAY_INFO (f)->xg_cursor); |
| 2741 | } | 2741 | } |
| 2742 | } | 2742 | } |
| 2743 | else | 2743 | else |
| @@ -3409,7 +3409,7 @@ free_frame_menubar (struct frame *f) | |||
| 3409 | } | 3409 | } |
| 3410 | 3410 | ||
| 3411 | bool | 3411 | bool |
| 3412 | xg_event_is_for_menubar (struct frame *f, XEvent *event) | 3412 | xg_event_is_for_menubar (struct frame *f, const XEvent *event) |
| 3413 | { | 3413 | { |
| 3414 | struct x_output *x = f->output_data.x; | 3414 | struct x_output *x = f->output_data.x; |
| 3415 | GList *iter; | 3415 | GList *iter; |
| @@ -3676,7 +3676,7 @@ xg_create_scroll_bar (struct frame *f, | |||
| 3676 | 3676 | ||
| 3677 | 3677 | ||
| 3678 | /* Set the cursor to an arrow. */ | 3678 | /* Set the cursor to an arrow. */ |
| 3679 | xg_set_cursor (webox, FRAME_X_DISPLAY_INFO (f)->xg_cursor); | 3679 | xg_set_cursor (webox, FRAME_DISPLAY_INFO (f)->xg_cursor); |
| 3680 | 3680 | ||
| 3681 | bar->x_window = scroll_id; | 3681 | bar->x_window = scroll_id; |
| 3682 | } | 3682 | } |
| @@ -3861,7 +3861,7 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, | |||
| 3861 | frame. This function does additional checks. */ | 3861 | frame. This function does additional checks. */ |
| 3862 | 3862 | ||
| 3863 | bool | 3863 | bool |
| 3864 | xg_event_is_for_scrollbar (struct frame *f, XEvent *event) | 3864 | xg_event_is_for_scrollbar (struct frame *f, const XEvent *event) |
| 3865 | { | 3865 | { |
| 3866 | bool retval = 0; | 3866 | bool retval = 0; |
| 3867 | 3867 | ||
| @@ -3972,12 +3972,12 @@ xg_tool_bar_callback (GtkWidget *w, gpointer client_data) | |||
| 3972 | /* Convert between the modifier bits GDK uses and the modifier bits | 3972 | /* Convert between the modifier bits GDK uses and the modifier bits |
| 3973 | Emacs uses. This assumes GDK and X masks are the same, which they are when | 3973 | Emacs uses. This assumes GDK and X masks are the same, which they are when |
| 3974 | this is written. */ | 3974 | this is written. */ |
| 3975 | event.modifiers = x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), mod); | 3975 | event.modifiers = x_x_to_emacs_modifiers (FRAME_DISPLAY_INFO (f), mod); |
| 3976 | kbd_buffer_store_event (&event); | 3976 | kbd_buffer_store_event (&event); |
| 3977 | 3977 | ||
| 3978 | /* Return focus to the frame after we have clicked on a detached | 3978 | /* Return focus to the frame after we have clicked on a detached |
| 3979 | tool bar button. */ | 3979 | tool bar button. */ |
| 3980 | Fx_focus_frame (frame); | 3980 | x_focus_frame (f); |
| 3981 | } | 3981 | } |
| 3982 | 3982 | ||
| 3983 | /* Callback function invoked when a tool bar item is pressed in a detached | 3983 | /* Callback function invoked when a tool bar item is pressed in a detached |
diff --git a/src/gtkutil.h b/src/gtkutil.h index fc959862fd3..1c26d2aa44b 100644 --- a/src/gtkutil.h +++ b/src/gtkutil.h | |||
| @@ -105,7 +105,7 @@ extern void xg_modify_menubar_widgets (GtkWidget *menubar, | |||
| 105 | 105 | ||
| 106 | extern void xg_update_frame_menubar (struct frame *f); | 106 | extern void xg_update_frame_menubar (struct frame *f); |
| 107 | 107 | ||
| 108 | extern bool xg_event_is_for_menubar (struct frame *f, XEvent *event); | 108 | extern bool xg_event_is_for_menubar (struct frame *, const XEvent *); |
| 109 | 109 | ||
| 110 | extern bool xg_have_tear_offs (void); | 110 | extern bool xg_have_tear_offs (void); |
| 111 | 111 | ||
| @@ -129,7 +129,7 @@ extern void xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, | |||
| 129 | int portion, | 129 | int portion, |
| 130 | int position, | 130 | int position, |
| 131 | int whole); | 131 | int whole); |
| 132 | extern bool xg_event_is_for_scrollbar (struct frame *f, XEvent *event); | 132 | extern bool xg_event_is_for_scrollbar (struct frame *, const XEvent *); |
| 133 | extern int xg_get_default_scrollbar_width (void); | 133 | extern int xg_get_default_scrollbar_width (void); |
| 134 | 134 | ||
| 135 | extern void update_frame_tool_bar (struct frame *f); | 135 | extern void update_frame_tool_bar (struct frame *f); |
diff --git a/src/image.c b/src/image.c index 1271376bcab..e429830cc96 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -161,13 +161,13 @@ XPutPixel (XImagePtr ximage, int x, int y, unsigned long pixel) | |||
| 161 | int | 161 | int |
| 162 | x_bitmap_height (struct frame *f, ptrdiff_t id) | 162 | x_bitmap_height (struct frame *f, ptrdiff_t id) |
| 163 | { | 163 | { |
| 164 | return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].height; | 164 | return FRAME_DISPLAY_INFO (f)->bitmaps[id - 1].height; |
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | int | 167 | int |
| 168 | x_bitmap_width (struct frame *f, ptrdiff_t id) | 168 | x_bitmap_width (struct frame *f, ptrdiff_t id) |
| 169 | { | 169 | { |
| 170 | return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].width; | 170 | return FRAME_DISPLAY_INFO (f)->bitmaps[id - 1].width; |
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | #if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI) | 173 | #if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI) |
| @@ -175,7 +175,7 @@ ptrdiff_t | |||
| 175 | x_bitmap_pixmap (struct frame *f, ptrdiff_t id) | 175 | x_bitmap_pixmap (struct frame *f, ptrdiff_t id) |
| 176 | { | 176 | { |
| 177 | /* HAVE_NTGUI needs the explicit cast here. */ | 177 | /* HAVE_NTGUI needs the explicit cast here. */ |
| 178 | return (ptrdiff_t) FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].pixmap; | 178 | return (ptrdiff_t) FRAME_DISPLAY_INFO (f)->bitmaps[id - 1].pixmap; |
| 179 | } | 179 | } |
| 180 | #endif | 180 | #endif |
| 181 | 181 | ||
| @@ -183,7 +183,7 @@ x_bitmap_pixmap (struct frame *f, ptrdiff_t id) | |||
| 183 | int | 183 | int |
| 184 | x_bitmap_mask (struct frame *f, ptrdiff_t id) | 184 | x_bitmap_mask (struct frame *f, ptrdiff_t id) |
| 185 | { | 185 | { |
| 186 | return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].mask; | 186 | return FRAME_DISPLAY_INFO (f)->bitmaps[id - 1].mask; |
| 187 | } | 187 | } |
| 188 | #endif | 188 | #endif |
| 189 | 189 | ||
| @@ -192,7 +192,7 @@ x_bitmap_mask (struct frame *f, ptrdiff_t id) | |||
| 192 | static ptrdiff_t | 192 | static ptrdiff_t |
| 193 | x_allocate_bitmap_record (struct frame *f) | 193 | x_allocate_bitmap_record (struct frame *f) |
| 194 | { | 194 | { |
| 195 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 195 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 196 | ptrdiff_t i; | 196 | ptrdiff_t i; |
| 197 | 197 | ||
| 198 | if (dpyinfo->bitmaps_last < dpyinfo->bitmaps_size) | 198 | if (dpyinfo->bitmaps_last < dpyinfo->bitmaps_size) |
| @@ -213,7 +213,7 @@ x_allocate_bitmap_record (struct frame *f) | |||
| 213 | void | 213 | void |
| 214 | x_reference_bitmap (struct frame *f, ptrdiff_t id) | 214 | x_reference_bitmap (struct frame *f, ptrdiff_t id) |
| 215 | { | 215 | { |
| 216 | ++FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].refcount; | 216 | ++FRAME_DISPLAY_INFO (f)->bitmaps[id - 1].refcount; |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | /* Create a bitmap for frame F from a HEIGHT x WIDTH array of bits at BITS. */ | 219 | /* Create a bitmap for frame F from a HEIGHT x WIDTH array of bits at BITS. */ |
| @@ -221,7 +221,7 @@ x_reference_bitmap (struct frame *f, ptrdiff_t id) | |||
| 221 | ptrdiff_t | 221 | ptrdiff_t |
| 222 | x_create_bitmap_from_data (struct frame *f, char *bits, unsigned int width, unsigned int height) | 222 | x_create_bitmap_from_data (struct frame *f, char *bits, unsigned int width, unsigned int height) |
| 223 | { | 223 | { |
| 224 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 224 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 225 | ptrdiff_t id; | 225 | ptrdiff_t id; |
| 226 | 226 | ||
| 227 | #ifdef HAVE_X_WINDOWS | 227 | #ifdef HAVE_X_WINDOWS |
| @@ -235,8 +235,8 @@ x_create_bitmap_from_data (struct frame *f, char *bits, unsigned int width, unsi | |||
| 235 | #ifdef HAVE_NTGUI | 235 | #ifdef HAVE_NTGUI |
| 236 | Pixmap bitmap; | 236 | Pixmap bitmap; |
| 237 | bitmap = CreateBitmap (width, height, | 237 | bitmap = CreateBitmap (width, height, |
| 238 | FRAME_X_DISPLAY_INFO (XFRAME (frame))->n_planes, | 238 | FRAME_DISPLAY_INFO (XFRAME (frame))->n_planes, |
| 239 | FRAME_X_DISPLAY_INFO (XFRAME (frame))->n_cbits, | 239 | FRAME_DISPLAY_INFO (XFRAME (frame))->n_cbits, |
| 240 | bits); | 240 | bits); |
| 241 | if (! bitmap) | 241 | if (! bitmap) |
| 242 | return -1; | 242 | return -1; |
| @@ -280,7 +280,7 @@ x_create_bitmap_from_data (struct frame *f, char *bits, unsigned int width, unsi | |||
| 280 | ptrdiff_t | 280 | ptrdiff_t |
| 281 | x_create_bitmap_from_file (struct frame *f, Lisp_Object file) | 281 | x_create_bitmap_from_file (struct frame *f, Lisp_Object file) |
| 282 | { | 282 | { |
| 283 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 283 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 284 | 284 | ||
| 285 | #ifdef HAVE_NTGUI | 285 | #ifdef HAVE_NTGUI |
| 286 | return -1; /* W32_TODO : bitmap support */ | 286 | return -1; /* W32_TODO : bitmap support */ |
| @@ -379,7 +379,7 @@ free_bitmap_record (Display_Info *dpyinfo, Bitmap_Record *bm) | |||
| 379 | void | 379 | void |
| 380 | x_destroy_bitmap (struct frame *f, ptrdiff_t id) | 380 | x_destroy_bitmap (struct frame *f, ptrdiff_t id) |
| 381 | { | 381 | { |
| 382 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 382 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 383 | 383 | ||
| 384 | if (id > 0) | 384 | if (id > 0) |
| 385 | { | 385 | { |
| @@ -454,7 +454,7 @@ x_create_bitmap_mask (struct frame *f, ptrdiff_t id) | |||
| 454 | unsigned long x, y, xp, xm, yp, ym; | 454 | unsigned long x, y, xp, xm, yp, ym; |
| 455 | GC gc; | 455 | GC gc; |
| 456 | 456 | ||
| 457 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 457 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 458 | 458 | ||
| 459 | if (!(id > 0)) | 459 | if (!(id > 0)) |
| 460 | return; | 460 | return; |
| @@ -3421,7 +3421,7 @@ xpm_image_p (Lisp_Object object) | |||
| 3421 | ptrdiff_t | 3421 | ptrdiff_t |
| 3422 | x_create_bitmap_from_xpm_data (struct frame *f, const char **bits) | 3422 | x_create_bitmap_from_xpm_data (struct frame *f, const char **bits) |
| 3423 | { | 3423 | { |
| 3424 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 3424 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 3425 | ptrdiff_t id; | 3425 | ptrdiff_t id; |
| 3426 | int rc; | 3426 | int rc; |
| 3427 | XpmAttributes attrs; | 3427 | XpmAttributes attrs; |
| @@ -4325,7 +4325,7 @@ lookup_rgb_color (struct frame *f, int r, int g, int b) | |||
| 4325 | two orders of magnitude. Freeing colors on TrueColor visuals is | 4325 | two orders of magnitude. Freeing colors on TrueColor visuals is |
| 4326 | a nop, and pixel colors specify RGB values directly. See also | 4326 | a nop, and pixel colors specify RGB values directly. See also |
| 4327 | the Xlib spec, chapter 3.1. */ | 4327 | the Xlib spec, chapter 3.1. */ |
| 4328 | dpyinfo = FRAME_X_DISPLAY_INFO (f); | 4328 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 4329 | if (dpyinfo->red_bits > 0) | 4329 | if (dpyinfo->red_bits > 0) |
| 4330 | { | 4330 | { |
| 4331 | unsigned long pr, pg, pb; | 4331 | unsigned long pr, pg, pb; |
| @@ -4820,7 +4820,7 @@ x_edge_detection (struct frame *f, struct image *img, Lisp_Object matrix, | |||
| 4820 | static void | 4820 | static void |
| 4821 | x_disable_image (struct frame *f, struct image *img) | 4821 | x_disable_image (struct frame *f, struct image *img) |
| 4822 | { | 4822 | { |
| 4823 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 4823 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 4824 | #ifdef HAVE_NTGUI | 4824 | #ifdef HAVE_NTGUI |
| 4825 | int n_planes = dpyinfo->n_planes * dpyinfo->n_cbits; | 4825 | int n_planes = dpyinfo->n_planes * dpyinfo->n_cbits; |
| 4826 | #else | 4826 | #else |
| @@ -7523,7 +7523,7 @@ gif_load (struct frame *f, struct image *img) | |||
| 7523 | { | 7523 | { |
| 7524 | while (subimg_height <= row) | 7524 | while (subimg_height <= row) |
| 7525 | { | 7525 | { |
| 7526 | lint_assume (pass < 3); | 7526 | assume (pass < 3); |
| 7527 | row = interlace_start[++pass]; | 7527 | row = interlace_start[++pass]; |
| 7528 | } | 7528 | } |
| 7529 | 7529 | ||
| @@ -8590,7 +8590,9 @@ DEF_IMGLIB_FN (int, gdk_pixbuf_get_n_channels, (const GdkPixbuf *)); | |||
| 8590 | DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha, (const GdkPixbuf *)); | 8590 | DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha, (const GdkPixbuf *)); |
| 8591 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample, (const GdkPixbuf *)); | 8591 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample, (const GdkPixbuf *)); |
| 8592 | 8592 | ||
| 8593 | #if ! GLIB_CHECK_VERSION (2, 36, 0) | ||
| 8593 | DEF_IMGLIB_FN (void, g_type_init, (void)); | 8594 | DEF_IMGLIB_FN (void, g_type_init, (void)); |
| 8595 | #endif | ||
| 8594 | DEF_IMGLIB_FN (void, g_object_unref, (gpointer)); | 8596 | DEF_IMGLIB_FN (void, g_object_unref, (gpointer)); |
| 8595 | DEF_IMGLIB_FN (void, g_error_free, (GError *)); | 8597 | DEF_IMGLIB_FN (void, g_error_free, (GError *)); |
| 8596 | 8598 | ||
| @@ -8622,7 +8624,9 @@ init_svg_functions (void) | |||
| 8622 | LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_has_alpha); | 8624 | LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_has_alpha); |
| 8623 | LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_bits_per_sample); | 8625 | LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_bits_per_sample); |
| 8624 | 8626 | ||
| 8627 | #if ! GLIB_CHECK_VERSION (2, 36, 0) | ||
| 8625 | LOAD_IMGLIB_FN (gobject, g_type_init); | 8628 | LOAD_IMGLIB_FN (gobject, g_type_init); |
| 8629 | #endif | ||
| 8626 | LOAD_IMGLIB_FN (gobject, g_object_unref); | 8630 | LOAD_IMGLIB_FN (gobject, g_object_unref); |
| 8627 | LOAD_IMGLIB_FN (glib, g_error_free); | 8631 | LOAD_IMGLIB_FN (glib, g_error_free); |
| 8628 | 8632 | ||
| @@ -8647,7 +8651,9 @@ init_svg_functions (void) | |||
| 8647 | #define fn_gdk_pixbuf_get_has_alpha gdk_pixbuf_get_has_alpha | 8651 | #define fn_gdk_pixbuf_get_has_alpha gdk_pixbuf_get_has_alpha |
| 8648 | #define fn_gdk_pixbuf_get_bits_per_sample gdk_pixbuf_get_bits_per_sample | 8652 | #define fn_gdk_pixbuf_get_bits_per_sample gdk_pixbuf_get_bits_per_sample |
| 8649 | 8653 | ||
| 8654 | #if ! GLIB_CHECK_VERSION (2, 36, 0) | ||
| 8650 | #define fn_g_type_init g_type_init | 8655 | #define fn_g_type_init g_type_init |
| 8656 | #endif | ||
| 8651 | #define fn_g_object_unref g_object_unref | 8657 | #define fn_g_object_unref g_object_unref |
| 8652 | #define fn_g_error_free g_error_free | 8658 | #define fn_g_error_free g_error_free |
| 8653 | #endif /* !WINDOWSNT */ | 8659 | #endif /* !WINDOWSNT */ |
| @@ -8732,9 +8738,12 @@ svg_load_image (struct frame *f, /* Pointer to emacs frame structure. * | |||
| 8732 | int x; | 8738 | int x; |
| 8733 | int y; | 8739 | int y; |
| 8734 | 8740 | ||
| 8735 | /* g_type_init is a glib function that must be called prior to using | 8741 | #if ! GLIB_CHECK_VERSION (2, 36, 0) |
| 8736 | gnome type library functions. */ | 8742 | /* g_type_init is a glib function that must be called prior to |
| 8743 | using gnome type library functions (obsolete since 2.36.0). */ | ||
| 8737 | fn_g_type_init (); | 8744 | fn_g_type_init (); |
| 8745 | #endif | ||
| 8746 | |||
| 8738 | /* Make a handle to a new rsvg object. */ | 8747 | /* Make a handle to a new rsvg object. */ |
| 8739 | rsvg_handle = fn_rsvg_handle_new (); | 8748 | rsvg_handle = fn_rsvg_handle_new (); |
| 8740 | 8749 | ||
diff --git a/src/indent.c b/src/indent.c index 891b42788ed..d956e627ba9 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -118,7 +118,7 @@ disptab_matches_widthtab (struct Lisp_Char_Table *disptab, struct Lisp_Vector *w | |||
| 118 | 118 | ||
| 119 | for (i = 0; i < 256; i++) | 119 | for (i = 0; i < 256; i++) |
| 120 | if (character_width (i, disptab) | 120 | if (character_width (i, disptab) |
| 121 | != XFASTINT (widthtab->contents[i])) | 121 | != XFASTINT (widthtab->u.contents[i])) |
| 122 | return 0; | 122 | return 0; |
| 123 | 123 | ||
| 124 | return 1; | 124 | return 1; |
| @@ -138,7 +138,7 @@ recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab) | |||
| 138 | eassert (widthtab->header.size == 256); | 138 | eassert (widthtab->header.size == 256); |
| 139 | 139 | ||
| 140 | for (i = 0; i < 256; i++) | 140 | for (i = 0; i < 256; i++) |
| 141 | XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); | 141 | XSETFASTINT (widthtab->u.contents[i], character_width (i, disptab)); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | /* Allocate or free the width run cache, as requested by the | 144 | /* Allocate or free the width run cache, as requested by the |
| @@ -1136,7 +1136,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos, | |||
| 1136 | width_run_cache_on_off (); | 1136 | width_run_cache_on_off (); |
| 1137 | if (dp == buffer_display_table ()) | 1137 | if (dp == buffer_display_table ()) |
| 1138 | width_table = (VECTORP (BVAR (current_buffer, width_table)) | 1138 | width_table = (VECTORP (BVAR (current_buffer, width_table)) |
| 1139 | ? XVECTOR (BVAR (current_buffer, width_table))->contents | 1139 | ? XVECTOR (BVAR (current_buffer, width_table))->u.contents |
| 1140 | : 0); | 1140 | : 0); |
| 1141 | else | 1141 | else |
| 1142 | /* If the window has its own display table, we can't use the width | 1142 | /* If the window has its own display table, we can't use the width |
diff --git a/src/insdel.c b/src/insdel.c index f746fd34330..ebd096a2927 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1057,6 +1057,9 @@ insert_from_buffer_1 (struct buffer *buf, | |||
| 1057 | ptrdiff_t outgoing_nbytes = incoming_nbytes; | 1057 | ptrdiff_t outgoing_nbytes = incoming_nbytes; |
| 1058 | INTERVAL intervals; | 1058 | INTERVAL intervals; |
| 1059 | 1059 | ||
| 1060 | if (nchars == 0) | ||
| 1061 | return; | ||
| 1062 | |||
| 1060 | /* Make OUTGOING_NBYTES describe the text | 1063 | /* Make OUTGOING_NBYTES describe the text |
| 1061 | as it will be inserted in this buffer. */ | 1064 | as it will be inserted in this buffer. */ |
| 1062 | 1065 | ||
diff --git a/src/intervals.c b/src/intervals.c index ded536ca3c8..69a33867283 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -40,8 +40,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 40 | 40 | ||
| 41 | #include <config.h> | 41 | #include <config.h> |
| 42 | 42 | ||
| 43 | #define INTERVALS_INLINE EXTERN_INLINE | ||
| 44 | |||
| 45 | #include <intprops.h> | 43 | #include <intprops.h> |
| 46 | #include "lisp.h" | 44 | #include "lisp.h" |
| 47 | #include "intervals.h" | 45 | #include "intervals.h" |
| @@ -1407,7 +1405,7 @@ offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length) | |||
| 1407 | start, length); | 1405 | start, length); |
| 1408 | else | 1406 | else |
| 1409 | { | 1407 | { |
| 1410 | lint_assume (- TYPE_MAXIMUM (ptrdiff_t) <= length); | 1408 | assume (- TYPE_MAXIMUM (ptrdiff_t) <= length); |
| 1411 | adjust_intervals_for_deletion (buffer, start, -length); | 1409 | adjust_intervals_for_deletion (buffer, start, -length); |
| 1412 | } | 1410 | } |
| 1413 | } | 1411 | } |
diff --git a/src/intervals.h b/src/intervals.h index a38e83cf10e..51dfa09c5c4 100644 --- a/src/intervals.h +++ b/src/intervals.h | |||
| @@ -19,9 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | #include "dispextern.h" | 19 | #include "dispextern.h" |
| 20 | 20 | ||
| 21 | INLINE_HEADER_BEGIN | 21 | INLINE_HEADER_BEGIN |
| 22 | #ifndef INTERVALS_INLINE | ||
| 23 | # define INTERVALS_INLINE INLINE | ||
| 24 | #endif | ||
| 25 | 22 | ||
| 26 | /* Basic data type for use of intervals. */ | 23 | /* Basic data type for use of intervals. */ |
| 27 | 24 | ||
| @@ -136,14 +133,14 @@ struct interval | |||
| 136 | /* Use these functions to set Lisp_Object | 133 | /* Use these functions to set Lisp_Object |
| 137 | or pointer slots of struct interval. */ | 134 | or pointer slots of struct interval. */ |
| 138 | 135 | ||
| 139 | INTERVALS_INLINE void | 136 | INLINE void |
| 140 | set_interval_parent (INTERVAL i, INTERVAL parent) | 137 | set_interval_parent (INTERVAL i, INTERVAL parent) |
| 141 | { | 138 | { |
| 142 | i->up_obj = 0; | 139 | i->up_obj = 0; |
| 143 | i->up.interval = parent; | 140 | i->up.interval = parent; |
| 144 | } | 141 | } |
| 145 | 142 | ||
| 146 | INTERVALS_INLINE void | 143 | INLINE void |
| 147 | set_interval_plist (INTERVAL i, Lisp_Object plist) | 144 | set_interval_plist (INTERVAL i, Lisp_Object plist) |
| 148 | { | 145 | { |
| 149 | i->plist = plist; | 146 | i->plist = plist; |
diff --git a/src/keyboard.c b/src/keyboard.c index fad04920e2e..a595742ace8 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -20,9 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define BLOCKINPUT_INLINE EXTERN_INLINE | ||
| 24 | #define KEYBOARD_INLINE EXTERN_INLINE | ||
| 25 | |||
| 26 | #include "sysstdio.h" | 23 | #include "sysstdio.h" |
| 27 | 24 | ||
| 28 | #include "lisp.h" | 25 | #include "lisp.h" |
| @@ -2624,10 +2621,8 @@ read_char (int commandflag, Lisp_Object map, | |||
| 2624 | 2621 | ||
| 2625 | if (/* There currently is something in the echo area. */ | 2622 | if (/* There currently is something in the echo area. */ |
| 2626 | !NILP (echo_area_buffer[0]) | 2623 | !NILP (echo_area_buffer[0]) |
| 2627 | && (/* And it's either not from echoing. */ | 2624 | && (/* It's an echo from a different kboard. */ |
| 2628 | !EQ (echo_area_buffer[0], echo_message_buffer) | 2625 | echo_kboard != current_kboard |
| 2629 | /* Or it's an echo from a different kboard. */ | ||
| 2630 | || echo_kboard != current_kboard | ||
| 2631 | /* Or we explicitly allow overwriting whatever there is. */ | 2626 | /* Or we explicitly allow overwriting whatever there is. */ |
| 2632 | || ok_to_echo_at_next_pause == NULL)) | 2627 | || ok_to_echo_at_next_pause == NULL)) |
| 2633 | cancel_echoing (); | 2628 | cancel_echoing (); |
| @@ -4389,7 +4384,7 @@ decode_timer (Lisp_Object timer, struct timespec *result) | |||
| 4389 | 4384 | ||
| 4390 | if (! (VECTORP (timer) && ASIZE (timer) == 9)) | 4385 | if (! (VECTORP (timer) && ASIZE (timer) == 9)) |
| 4391 | return 0; | 4386 | return 0; |
| 4392 | vector = XVECTOR (timer)->contents; | 4387 | vector = XVECTOR (timer)->u.contents; |
| 4393 | if (! NILP (vector[0])) | 4388 | if (! NILP (vector[0])) |
| 4394 | return 0; | 4389 | return 0; |
| 4395 | 4390 | ||
| @@ -8046,7 +8041,7 @@ process_tool_bar_item (Lisp_Object key, Lisp_Object def, Lisp_Object data, void | |||
| 8046 | discard any previously made item. */ | 8041 | discard any previously made item. */ |
| 8047 | for (i = 0; i < ntool_bar_items; i += TOOL_BAR_ITEM_NSLOTS) | 8042 | for (i = 0; i < ntool_bar_items; i += TOOL_BAR_ITEM_NSLOTS) |
| 8048 | { | 8043 | { |
| 8049 | Lisp_Object *v = XVECTOR (tool_bar_items_vector)->contents + i; | 8044 | Lisp_Object *v = XVECTOR (tool_bar_items_vector)->u.contents + i; |
| 8050 | 8045 | ||
| 8051 | if (EQ (key, v[TOOL_BAR_ITEM_KEY])) | 8046 | if (EQ (key, v[TOOL_BAR_ITEM_KEY])) |
| 8052 | { | 8047 | { |
| @@ -8370,7 +8365,7 @@ append_tool_bar_item (void) | |||
| 8370 | /* Append entries from tool_bar_item_properties to the end of | 8365 | /* Append entries from tool_bar_item_properties to the end of |
| 8371 | tool_bar_items_vector. */ | 8366 | tool_bar_items_vector. */ |
| 8372 | vcopy (tool_bar_items_vector, ntool_bar_items, | 8367 | vcopy (tool_bar_items_vector, ntool_bar_items, |
| 8373 | XVECTOR (tool_bar_item_properties)->contents, TOOL_BAR_ITEM_NSLOTS); | 8368 | XVECTOR (tool_bar_item_properties)->u.contents, TOOL_BAR_ITEM_NSLOTS); |
| 8374 | ntool_bar_items += TOOL_BAR_ITEM_NSLOTS; | 8369 | ntool_bar_items += TOOL_BAR_ITEM_NSLOTS; |
| 8375 | } | 8370 | } |
| 8376 | 8371 | ||
| @@ -9921,20 +9916,7 @@ detect_input_pending_run_timers (bool do_display) | |||
| 9921 | get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW); | 9916 | get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW); |
| 9922 | 9917 | ||
| 9923 | if (old_timers_run != timers_run && do_display) | 9918 | if (old_timers_run != timers_run && do_display) |
| 9924 | { | 9919 | redisplay_preserve_echo_area (8); |
| 9925 | redisplay_preserve_echo_area (8); | ||
| 9926 | /* The following fixes a bug when using lazy-lock with | ||
| 9927 | lazy-lock-defer-on-the-fly set to t, i.e. when fontifying | ||
| 9928 | from an idle timer function. The symptom of the bug is that | ||
| 9929 | the cursor sometimes doesn't become visible until the next X | ||
| 9930 | event is processed. --gerd. */ | ||
| 9931 | { | ||
| 9932 | Lisp_Object tail, frame; | ||
| 9933 | FOR_EACH_FRAME (tail, frame) | ||
| 9934 | if (FRAME_RIF (XFRAME (frame))) | ||
| 9935 | FRAME_RIF (XFRAME (frame))->flush_display (XFRAME (frame)); | ||
| 9936 | } | ||
| 9937 | } | ||
| 9938 | 9920 | ||
| 9939 | return input_pending; | 9921 | return input_pending; |
| 9940 | } | 9922 | } |
| @@ -9985,7 +9967,7 @@ DEFUN ("recent-keys", Frecent_keys, Srecent_keys, 0, 0, 0, | |||
| 9985 | doc: /* Return vector of last 300 events, not counting those from keyboard macros. */) | 9967 | doc: /* Return vector of last 300 events, not counting those from keyboard macros. */) |
| 9986 | (void) | 9968 | (void) |
| 9987 | { | 9969 | { |
| 9988 | Lisp_Object *keys = XVECTOR (recent_keys)->contents; | 9970 | Lisp_Object *keys = XVECTOR (recent_keys)->u.contents; |
| 9989 | Lisp_Object val; | 9971 | Lisp_Object val; |
| 9990 | 9972 | ||
| 9991 | if (total_keys < NUM_RECENT_KEYS) | 9973 | if (total_keys < NUM_RECENT_KEYS) |
| @@ -10011,7 +9993,7 @@ See also `this-command-keys-vector'. */) | |||
| 10011 | (void) | 9993 | (void) |
| 10012 | { | 9994 | { |
| 10013 | return make_event_array (this_command_key_count, | 9995 | return make_event_array (this_command_key_count, |
| 10014 | XVECTOR (this_command_keys)->contents); | 9996 | XVECTOR (this_command_keys)->u.contents); |
| 10015 | } | 9997 | } |
| 10016 | 9998 | ||
| 10017 | DEFUN ("this-command-keys-vector", Fthis_command_keys_vector, Sthis_command_keys_vector, 0, 0, 0, | 9999 | DEFUN ("this-command-keys-vector", Fthis_command_keys_vector, Sthis_command_keys_vector, 0, 0, 0, |
| @@ -10023,7 +10005,7 @@ See also `this-command-keys'. */) | |||
| 10023 | (void) | 10005 | (void) |
| 10024 | { | 10006 | { |
| 10025 | return Fvector (this_command_key_count, | 10007 | return Fvector (this_command_key_count, |
| 10026 | XVECTOR (this_command_keys)->contents); | 10008 | XVECTOR (this_command_keys)->u.contents); |
| 10027 | } | 10009 | } |
| 10028 | 10010 | ||
| 10029 | DEFUN ("this-single-command-keys", Fthis_single_command_keys, | 10011 | DEFUN ("this-single-command-keys", Fthis_single_command_keys, |
| @@ -10038,7 +10020,7 @@ The value is always a vector. */) | |||
| 10038 | { | 10020 | { |
| 10039 | return Fvector (this_command_key_count | 10021 | return Fvector (this_command_key_count |
| 10040 | - this_single_command_key_start, | 10022 | - this_single_command_key_start, |
| 10041 | (XVECTOR (this_command_keys)->contents | 10023 | (XVECTOR (this_command_keys)->u.contents |
| 10042 | + this_single_command_key_start)); | 10024 | + this_single_command_key_start)); |
| 10043 | } | 10025 | } |
| 10044 | 10026 | ||
| @@ -10052,8 +10034,7 @@ shows the events before all translations (except for input methods). | |||
| 10052 | The value is always a vector. */) | 10034 | The value is always a vector. */) |
| 10053 | (void) | 10035 | (void) |
| 10054 | { | 10036 | { |
| 10055 | return Fvector (raw_keybuf_count, | 10037 | return Fvector (raw_keybuf_count, XVECTOR (raw_keybuf)->u.contents); |
| 10056 | (XVECTOR (raw_keybuf)->contents)); | ||
| 10057 | } | 10038 | } |
| 10058 | 10039 | ||
| 10059 | DEFUN ("reset-this-command-lengths", Freset_this_command_lengths, | 10040 | DEFUN ("reset-this-command-lengths", Freset_this_command_lengths, |
diff --git a/src/keyboard.h b/src/keyboard.h index b015f3fe4d3..8a8505e406b 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -22,9 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | #include "termhooks.h" | 22 | #include "termhooks.h" |
| 23 | 23 | ||
| 24 | INLINE_HEADER_BEGIN | 24 | INLINE_HEADER_BEGIN |
| 25 | #ifndef KEYBOARD_INLINE | ||
| 26 | # define KEYBOARD_INLINE INLINE | ||
| 27 | #endif | ||
| 28 | 25 | ||
| 29 | /* Most code should use this macro to access Lisp fields in struct kboard. */ | 26 | /* Most code should use this macro to access Lisp fields in struct kboard. */ |
| 30 | 27 | ||
| @@ -179,42 +176,42 @@ struct kboard | |||
| 179 | ptrdiff_t echo_after_prompt; | 176 | ptrdiff_t echo_after_prompt; |
| 180 | }; | 177 | }; |
| 181 | 178 | ||
| 182 | KEYBOARD_INLINE void | 179 | INLINE void |
| 183 | kset_default_minibuffer_frame (struct kboard *kb, Lisp_Object val) | 180 | kset_default_minibuffer_frame (struct kboard *kb, Lisp_Object val) |
| 184 | { | 181 | { |
| 185 | kb->INTERNAL_FIELD (Vdefault_minibuffer_frame) = val; | 182 | kb->INTERNAL_FIELD (Vdefault_minibuffer_frame) = val; |
| 186 | } | 183 | } |
| 187 | KEYBOARD_INLINE void | 184 | INLINE void |
| 188 | kset_defining_kbd_macro (struct kboard *kb, Lisp_Object val) | 185 | kset_defining_kbd_macro (struct kboard *kb, Lisp_Object val) |
| 189 | { | 186 | { |
| 190 | kb->INTERNAL_FIELD (defining_kbd_macro) = val; | 187 | kb->INTERNAL_FIELD (defining_kbd_macro) = val; |
| 191 | } | 188 | } |
| 192 | KEYBOARD_INLINE void | 189 | INLINE void |
| 193 | kset_input_decode_map (struct kboard *kb, Lisp_Object val) | 190 | kset_input_decode_map (struct kboard *kb, Lisp_Object val) |
| 194 | { | 191 | { |
| 195 | kb->INTERNAL_FIELD (Vinput_decode_map) = val; | 192 | kb->INTERNAL_FIELD (Vinput_decode_map) = val; |
| 196 | } | 193 | } |
| 197 | KEYBOARD_INLINE void | 194 | INLINE void |
| 198 | kset_last_command (struct kboard *kb, Lisp_Object val) | 195 | kset_last_command (struct kboard *kb, Lisp_Object val) |
| 199 | { | 196 | { |
| 200 | kb->INTERNAL_FIELD (Vlast_command) = val; | 197 | kb->INTERNAL_FIELD (Vlast_command) = val; |
| 201 | } | 198 | } |
| 202 | KEYBOARD_INLINE void | 199 | INLINE void |
| 203 | kset_last_kbd_macro (struct kboard *kb, Lisp_Object val) | 200 | kset_last_kbd_macro (struct kboard *kb, Lisp_Object val) |
| 204 | { | 201 | { |
| 205 | kb->INTERNAL_FIELD (Vlast_kbd_macro) = val; | 202 | kb->INTERNAL_FIELD (Vlast_kbd_macro) = val; |
| 206 | } | 203 | } |
| 207 | KEYBOARD_INLINE void | 204 | INLINE void |
| 208 | kset_prefix_arg (struct kboard *kb, Lisp_Object val) | 205 | kset_prefix_arg (struct kboard *kb, Lisp_Object val) |
| 209 | { | 206 | { |
| 210 | kb->INTERNAL_FIELD (Vprefix_arg) = val; | 207 | kb->INTERNAL_FIELD (Vprefix_arg) = val; |
| 211 | } | 208 | } |
| 212 | KEYBOARD_INLINE void | 209 | INLINE void |
| 213 | kset_system_key_alist (struct kboard *kb, Lisp_Object val) | 210 | kset_system_key_alist (struct kboard *kb, Lisp_Object val) |
| 214 | { | 211 | { |
| 215 | kb->INTERNAL_FIELD (Vsystem_key_alist) = val; | 212 | kb->INTERNAL_FIELD (Vsystem_key_alist) = val; |
| 216 | } | 213 | } |
| 217 | KEYBOARD_INLINE void | 214 | INLINE void |
| 218 | kset_window_system (struct kboard *kb, Lisp_Object val) | 215 | kset_window_system (struct kboard *kb, Lisp_Object val) |
| 219 | { | 216 | { |
| 220 | kb->INTERNAL_FIELD (Vwindow_system) = val; | 217 | kb->INTERNAL_FIELD (Vwindow_system) = val; |
diff --git a/src/lisp.h b/src/lisp.h index 27359ffeb3f..63597e86be6 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -33,9 +33,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 33 | #include <intprops.h> | 33 | #include <intprops.h> |
| 34 | 34 | ||
| 35 | INLINE_HEADER_BEGIN | 35 | INLINE_HEADER_BEGIN |
| 36 | #ifndef LISP_INLINE | ||
| 37 | # define LISP_INLINE INLINE | ||
| 38 | #endif | ||
| 39 | 36 | ||
| 40 | /* The ubiquitous max and min macros. */ | 37 | /* The ubiquitous max and min macros. */ |
| 41 | #undef min | 38 | #undef min |
| @@ -134,6 +131,13 @@ extern bool suppress_checking EXTERNALLY_VISIBLE; | |||
| 134 | ? (void) 0 \ | 131 | ? (void) 0 \ |
| 135 | : die (# cond, __FILE__, __LINE__)) | 132 | : die (# cond, __FILE__, __LINE__)) |
| 136 | #endif /* ENABLE_CHECKING */ | 133 | #endif /* ENABLE_CHECKING */ |
| 134 | |||
| 135 | /* When checking is enabled, identical to eassert. When checking is | ||
| 136 | * disabled, instruct the compiler (when the compiler has such | ||
| 137 | * capability) to assume that cond is true and optimize | ||
| 138 | * accordingly. */ | ||
| 139 | #define eassert_and_assume(cond) (eassert (cond), assume (cond)) | ||
| 140 | |||
| 137 | 141 | ||
| 138 | /* Use the configure flag --enable-check-lisp-object-type to make | 142 | /* Use the configure flag --enable-check-lisp-object-type to make |
| 139 | Lisp_Object use a struct type instead of the default int. The flag | 143 | Lisp_Object use a struct type instead of the default int. The flag |
| @@ -345,11 +349,11 @@ enum enum_USE_LSB_TAG { USE_LSB_TAG = 0 }; | |||
| 345 | ARGS should be parenthesized. Implement the function by calling | 349 | ARGS should be parenthesized. Implement the function by calling |
| 346 | lisp_h_NAME ARGS. */ | 350 | lisp_h_NAME ARGS. */ |
| 347 | #define LISP_MACRO_DEFUN(name, type, argdecls, args) \ | 351 | #define LISP_MACRO_DEFUN(name, type, argdecls, args) \ |
| 348 | LISP_INLINE type (name) argdecls { return lisp_h_##name args; } | 352 | INLINE type (name) argdecls { return lisp_h_##name args; } |
| 349 | 353 | ||
| 350 | /* like LISP_MACRO_DEFUN, except NAME returns void. */ | 354 | /* like LISP_MACRO_DEFUN, except NAME returns void. */ |
| 351 | #define LISP_MACRO_DEFUN_VOID(name, argdecls, args) \ | 355 | #define LISP_MACRO_DEFUN_VOID(name, argdecls, args) \ |
| 352 | LISP_INLINE void (name) argdecls { lisp_h_##name args; } | 356 | INLINE void (name) argdecls { lisp_h_##name args; } |
| 353 | 357 | ||
| 354 | 358 | ||
| 355 | /* Define the fundamental Lisp data structures. */ | 359 | /* Define the fundamental Lisp data structures. */ |
| @@ -610,14 +614,14 @@ LISP_MACRO_DEFUN (XUNTAG, void *, (Lisp_Object a, int type), (a, type)) | |||
| 610 | 614 | ||
| 611 | /* Make a Lisp integer representing the value of the low order | 615 | /* Make a Lisp integer representing the value of the low order |
| 612 | bits of N. */ | 616 | bits of N. */ |
| 613 | LISP_INLINE Lisp_Object | 617 | INLINE Lisp_Object |
| 614 | make_number (EMACS_INT n) | 618 | make_number (EMACS_INT n) |
| 615 | { | 619 | { |
| 616 | return XIL (USE_LSB_TAG ? n << INTTYPEBITS : n & INTMASK); | 620 | return XIL (USE_LSB_TAG ? n << INTTYPEBITS : n & INTMASK); |
| 617 | } | 621 | } |
| 618 | 622 | ||
| 619 | /* Extract A's value as a signed integer. */ | 623 | /* Extract A's value as a signed integer. */ |
| 620 | LISP_INLINE EMACS_INT | 624 | INLINE EMACS_INT |
| 621 | XINT (Lisp_Object a) | 625 | XINT (Lisp_Object a) |
| 622 | { | 626 | { |
| 623 | EMACS_INT i = XLI (a); | 627 | EMACS_INT i = XLI (a); |
| @@ -627,7 +631,7 @@ XINT (Lisp_Object a) | |||
| 627 | /* Like XINT (A), but may be faster. A must be nonnegative. | 631 | /* Like XINT (A), but may be faster. A must be nonnegative. |
| 628 | If ! USE_LSB_TAG, this takes advantage of the fact that Lisp | 632 | If ! USE_LSB_TAG, this takes advantage of the fact that Lisp |
| 629 | integers have zero-bits in their tags. */ | 633 | integers have zero-bits in their tags. */ |
| 630 | LISP_INLINE EMACS_INT | 634 | INLINE EMACS_INT |
| 631 | XFASTINT (Lisp_Object a) | 635 | XFASTINT (Lisp_Object a) |
| 632 | { | 636 | { |
| 633 | EMACS_INT n = USE_LSB_TAG ? XINT (a) : XLI (a); | 637 | EMACS_INT n = USE_LSB_TAG ? XINT (a) : XLI (a); |
| @@ -636,7 +640,7 @@ XFASTINT (Lisp_Object a) | |||
| 636 | } | 640 | } |
| 637 | 641 | ||
| 638 | /* Extract A's type. */ | 642 | /* Extract A's type. */ |
| 639 | LISP_INLINE enum Lisp_Type | 643 | INLINE enum Lisp_Type |
| 640 | XTYPE (Lisp_Object a) | 644 | XTYPE (Lisp_Object a) |
| 641 | { | 645 | { |
| 642 | EMACS_UINT i = XLI (a); | 646 | EMACS_UINT i = XLI (a); |
| @@ -644,7 +648,7 @@ XTYPE (Lisp_Object a) | |||
| 644 | } | 648 | } |
| 645 | 649 | ||
| 646 | /* Extract A's pointer value, assuming A's type is TYPE. */ | 650 | /* Extract A's pointer value, assuming A's type is TYPE. */ |
| 647 | LISP_INLINE void * | 651 | INLINE void * |
| 648 | XUNTAG (Lisp_Object a, int type) | 652 | XUNTAG (Lisp_Object a, int type) |
| 649 | { | 653 | { |
| 650 | if (USE_LSB_TAG) | 654 | if (USE_LSB_TAG) |
| @@ -658,7 +662,7 @@ XUNTAG (Lisp_Object a, int type) | |||
| 658 | #endif /* ! USE_LSB_TAG */ | 662 | #endif /* ! USE_LSB_TAG */ |
| 659 | 663 | ||
| 660 | /* Extract A's value as an unsigned integer. */ | 664 | /* Extract A's value as an unsigned integer. */ |
| 661 | LISP_INLINE EMACS_UINT | 665 | INLINE EMACS_UINT |
| 662 | XUINT (Lisp_Object a) | 666 | XUINT (Lisp_Object a) |
| 663 | { | 667 | { |
| 664 | EMACS_UINT i = XLI (a); | 668 | EMACS_UINT i = XLI (a); |
| @@ -671,7 +675,7 @@ XUINT (Lisp_Object a) | |||
| 671 | LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a), (a)) | 675 | LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a), (a)) |
| 672 | 676 | ||
| 673 | /* Like make_number (N), but may be faster. N must be in nonnegative range. */ | 677 | /* Like make_number (N), but may be faster. N must be in nonnegative range. */ |
| 674 | LISP_INLINE Lisp_Object | 678 | INLINE Lisp_Object |
| 675 | make_natnum (EMACS_INT n) | 679 | make_natnum (EMACS_INT n) |
| 676 | { | 680 | { |
| 677 | eassert (0 <= n && n <= MOST_POSITIVE_FIXNUM); | 681 | eassert (0 <= n && n <= MOST_POSITIVE_FIXNUM); |
| @@ -688,7 +692,7 @@ LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_Object y), (x, y)) | |||
| 688 | #define FIXNUM_OVERFLOW_P(i) \ | 692 | #define FIXNUM_OVERFLOW_P(i) \ |
| 689 | (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM)) | 693 | (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM)) |
| 690 | 694 | ||
| 691 | LISP_INLINE ptrdiff_t | 695 | INLINE ptrdiff_t |
| 692 | clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper) | 696 | clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper) |
| 693 | { | 697 | { |
| 694 | return num < lower ? lower : num <= upper ? num : upper; | 698 | return num < lower ? lower : num <= upper ? num : upper; |
| @@ -698,31 +702,31 @@ clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper) | |||
| 698 | 702 | ||
| 699 | /* Defined in this file. */ | 703 | /* Defined in this file. */ |
| 700 | union Lisp_Fwd; | 704 | union Lisp_Fwd; |
| 701 | LISP_INLINE bool BOOL_VECTOR_P (Lisp_Object); | 705 | INLINE bool BOOL_VECTOR_P (Lisp_Object); |
| 702 | LISP_INLINE bool BUFFER_OBJFWDP (union Lisp_Fwd *); | 706 | INLINE bool BUFFER_OBJFWDP (union Lisp_Fwd *); |
| 703 | LISP_INLINE bool BUFFERP (Lisp_Object); | 707 | INLINE bool BUFFERP (Lisp_Object); |
| 704 | LISP_INLINE bool CHAR_TABLE_P (Lisp_Object); | 708 | INLINE bool CHAR_TABLE_P (Lisp_Object); |
| 705 | LISP_INLINE Lisp_Object CHAR_TABLE_REF_ASCII (Lisp_Object, ptrdiff_t); | 709 | INLINE Lisp_Object CHAR_TABLE_REF_ASCII (Lisp_Object, ptrdiff_t); |
| 706 | LISP_INLINE bool (CONSP) (Lisp_Object); | 710 | INLINE bool (CONSP) (Lisp_Object); |
| 707 | LISP_INLINE bool (FLOATP) (Lisp_Object); | 711 | INLINE bool (FLOATP) (Lisp_Object); |
| 708 | LISP_INLINE bool functionp (Lisp_Object); | 712 | INLINE bool functionp (Lisp_Object); |
| 709 | LISP_INLINE bool (INTEGERP) (Lisp_Object); | 713 | INLINE bool (INTEGERP) (Lisp_Object); |
| 710 | LISP_INLINE bool (MARKERP) (Lisp_Object); | 714 | INLINE bool (MARKERP) (Lisp_Object); |
| 711 | LISP_INLINE bool (MISCP) (Lisp_Object); | 715 | INLINE bool (MISCP) (Lisp_Object); |
| 712 | LISP_INLINE bool (NILP) (Lisp_Object); | 716 | INLINE bool (NILP) (Lisp_Object); |
| 713 | LISP_INLINE bool OVERLAYP (Lisp_Object); | 717 | INLINE bool OVERLAYP (Lisp_Object); |
| 714 | LISP_INLINE bool PROCESSP (Lisp_Object); | 718 | INLINE bool PROCESSP (Lisp_Object); |
| 715 | LISP_INLINE bool PSEUDOVECTORP (Lisp_Object, int); | 719 | INLINE bool PSEUDOVECTORP (Lisp_Object, int); |
| 716 | LISP_INLINE bool SAVE_VALUEP (Lisp_Object); | 720 | INLINE bool SAVE_VALUEP (Lisp_Object); |
| 717 | LISP_INLINE void set_sub_char_table_contents (Lisp_Object, ptrdiff_t, | 721 | INLINE void set_sub_char_table_contents (Lisp_Object, ptrdiff_t, |
| 718 | Lisp_Object); | 722 | Lisp_Object); |
| 719 | LISP_INLINE bool STRINGP (Lisp_Object); | 723 | INLINE bool STRINGP (Lisp_Object); |
| 720 | LISP_INLINE bool SUB_CHAR_TABLE_P (Lisp_Object); | 724 | INLINE bool SUB_CHAR_TABLE_P (Lisp_Object); |
| 721 | LISP_INLINE bool SUBRP (Lisp_Object); | 725 | INLINE bool SUBRP (Lisp_Object); |
| 722 | LISP_INLINE bool (SYMBOLP) (Lisp_Object); | 726 | INLINE bool (SYMBOLP) (Lisp_Object); |
| 723 | LISP_INLINE bool (VECTORLIKEP) (Lisp_Object); | 727 | INLINE bool (VECTORLIKEP) (Lisp_Object); |
| 724 | LISP_INLINE bool WINDOWP (Lisp_Object); | 728 | INLINE bool WINDOWP (Lisp_Object); |
| 725 | LISP_INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object); | 729 | INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object); |
| 726 | 730 | ||
| 727 | /* Defined in chartab.c. */ | 731 | /* Defined in chartab.c. */ |
| 728 | extern Lisp_Object char_table_ref (Lisp_Object, int); | 732 | extern Lisp_Object char_table_ref (Lisp_Object, int); |
| @@ -733,6 +737,7 @@ extern int char_table_translate (Lisp_Object, int); | |||
| 733 | extern Lisp_Object Qarrayp, Qbufferp, Qbuffer_or_string_p, Qchar_table_p; | 737 | extern Lisp_Object Qarrayp, Qbufferp, Qbuffer_or_string_p, Qchar_table_p; |
| 734 | extern Lisp_Object Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp, Qnil; | 738 | extern Lisp_Object Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp, Qnil; |
| 735 | extern Lisp_Object Qnumberp, Qstringp, Qsymbolp, Qvectorp; | 739 | extern Lisp_Object Qnumberp, Qstringp, Qsymbolp, Qvectorp; |
| 740 | extern Lisp_Object Qbool_vector_p; | ||
| 736 | extern Lisp_Object Qvector_or_char_table_p, Qwholenump; | 741 | extern Lisp_Object Qvector_or_char_table_p, Qwholenump; |
| 737 | extern Lisp_Object Qwindow; | 742 | extern Lisp_Object Qwindow; |
| 738 | extern Lisp_Object Ffboundp (Lisp_Object); | 743 | extern Lisp_Object Ffboundp (Lisp_Object); |
| @@ -761,14 +766,14 @@ extern Lisp_Object Qimage; | |||
| 761 | 766 | ||
| 762 | LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp_Object a), (a)) | 767 | LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp_Object a), (a)) |
| 763 | 768 | ||
| 764 | LISP_INLINE struct Lisp_Vector * | 769 | INLINE struct Lisp_Vector * |
| 765 | XVECTOR (Lisp_Object a) | 770 | XVECTOR (Lisp_Object a) |
| 766 | { | 771 | { |
| 767 | eassert (VECTORLIKEP (a)); | 772 | eassert (VECTORLIKEP (a)); |
| 768 | return XUNTAG (a, Lisp_Vectorlike); | 773 | return XUNTAG (a, Lisp_Vectorlike); |
| 769 | } | 774 | } |
| 770 | 775 | ||
| 771 | LISP_INLINE struct Lisp_String * | 776 | INLINE struct Lisp_String * |
| 772 | XSTRING (Lisp_Object a) | 777 | XSTRING (Lisp_Object a) |
| 773 | { | 778 | { |
| 774 | eassert (STRINGP (a)); | 779 | eassert (STRINGP (a)); |
| @@ -777,7 +782,7 @@ XSTRING (Lisp_Object a) | |||
| 777 | 782 | ||
| 778 | LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a)) | 783 | LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a)) |
| 779 | 784 | ||
| 780 | LISP_INLINE struct Lisp_Float * | 785 | INLINE struct Lisp_Float * |
| 781 | XFLOAT (Lisp_Object a) | 786 | XFLOAT (Lisp_Object a) |
| 782 | { | 787 | { |
| 783 | eassert (FLOATP (a)); | 788 | eassert (FLOATP (a)); |
| @@ -786,55 +791,55 @@ XFLOAT (Lisp_Object a) | |||
| 786 | 791 | ||
| 787 | /* Pseudovector types. */ | 792 | /* Pseudovector types. */ |
| 788 | 793 | ||
| 789 | LISP_INLINE struct Lisp_Process * | 794 | INLINE struct Lisp_Process * |
| 790 | XPROCESS (Lisp_Object a) | 795 | XPROCESS (Lisp_Object a) |
| 791 | { | 796 | { |
| 792 | eassert (PROCESSP (a)); | 797 | eassert (PROCESSP (a)); |
| 793 | return XUNTAG (a, Lisp_Vectorlike); | 798 | return XUNTAG (a, Lisp_Vectorlike); |
| 794 | } | 799 | } |
| 795 | 800 | ||
| 796 | LISP_INLINE struct window * | 801 | INLINE struct window * |
| 797 | XWINDOW (Lisp_Object a) | 802 | XWINDOW (Lisp_Object a) |
| 798 | { | 803 | { |
| 799 | eassert (WINDOWP (a)); | 804 | eassert (WINDOWP (a)); |
| 800 | return XUNTAG (a, Lisp_Vectorlike); | 805 | return XUNTAG (a, Lisp_Vectorlike); |
| 801 | } | 806 | } |
| 802 | 807 | ||
| 803 | LISP_INLINE struct terminal * | 808 | INLINE struct terminal * |
| 804 | XTERMINAL (Lisp_Object a) | 809 | XTERMINAL (Lisp_Object a) |
| 805 | { | 810 | { |
| 806 | return XUNTAG (a, Lisp_Vectorlike); | 811 | return XUNTAG (a, Lisp_Vectorlike); |
| 807 | } | 812 | } |
| 808 | 813 | ||
| 809 | LISP_INLINE struct Lisp_Subr * | 814 | INLINE struct Lisp_Subr * |
| 810 | XSUBR (Lisp_Object a) | 815 | XSUBR (Lisp_Object a) |
| 811 | { | 816 | { |
| 812 | eassert (SUBRP (a)); | 817 | eassert (SUBRP (a)); |
| 813 | return XUNTAG (a, Lisp_Vectorlike); | 818 | return XUNTAG (a, Lisp_Vectorlike); |
| 814 | } | 819 | } |
| 815 | 820 | ||
| 816 | LISP_INLINE struct buffer * | 821 | INLINE struct buffer * |
| 817 | XBUFFER (Lisp_Object a) | 822 | XBUFFER (Lisp_Object a) |
| 818 | { | 823 | { |
| 819 | eassert (BUFFERP (a)); | 824 | eassert (BUFFERP (a)); |
| 820 | return XUNTAG (a, Lisp_Vectorlike); | 825 | return XUNTAG (a, Lisp_Vectorlike); |
| 821 | } | 826 | } |
| 822 | 827 | ||
| 823 | LISP_INLINE struct Lisp_Char_Table * | 828 | INLINE struct Lisp_Char_Table * |
| 824 | XCHAR_TABLE (Lisp_Object a) | 829 | XCHAR_TABLE (Lisp_Object a) |
| 825 | { | 830 | { |
| 826 | eassert (CHAR_TABLE_P (a)); | 831 | eassert (CHAR_TABLE_P (a)); |
| 827 | return XUNTAG (a, Lisp_Vectorlike); | 832 | return XUNTAG (a, Lisp_Vectorlike); |
| 828 | } | 833 | } |
| 829 | 834 | ||
| 830 | LISP_INLINE struct Lisp_Sub_Char_Table * | 835 | INLINE struct Lisp_Sub_Char_Table * |
| 831 | XSUB_CHAR_TABLE (Lisp_Object a) | 836 | XSUB_CHAR_TABLE (Lisp_Object a) |
| 832 | { | 837 | { |
| 833 | eassert (SUB_CHAR_TABLE_P (a)); | 838 | eassert (SUB_CHAR_TABLE_P (a)); |
| 834 | return XUNTAG (a, Lisp_Vectorlike); | 839 | return XUNTAG (a, Lisp_Vectorlike); |
| 835 | } | 840 | } |
| 836 | 841 | ||
| 837 | LISP_INLINE struct Lisp_Bool_Vector * | 842 | INLINE struct Lisp_Bool_Vector * |
| 838 | XBOOL_VECTOR (Lisp_Object a) | 843 | XBOOL_VECTOR (Lisp_Object a) |
| 839 | { | 844 | { |
| 840 | eassert (BOOL_VECTOR_P (a)); | 845 | eassert (BOOL_VECTOR_P (a)); |
| @@ -843,7 +848,7 @@ XBOOL_VECTOR (Lisp_Object a) | |||
| 843 | 848 | ||
| 844 | /* Construct a Lisp_Object from a value or address. */ | 849 | /* Construct a Lisp_Object from a value or address. */ |
| 845 | 850 | ||
| 846 | LISP_INLINE Lisp_Object | 851 | INLINE Lisp_Object |
| 847 | make_lisp_ptr (void *ptr, enum Lisp_Type type) | 852 | make_lisp_ptr (void *ptr, enum Lisp_Type type) |
| 848 | { | 853 | { |
| 849 | EMACS_UINT utype = type; | 854 | EMACS_UINT utype = type; |
| @@ -853,7 +858,7 @@ make_lisp_ptr (void *ptr, enum Lisp_Type type) | |||
| 853 | return a; | 858 | return a; |
| 854 | } | 859 | } |
| 855 | 860 | ||
| 856 | LISP_INLINE Lisp_Object | 861 | INLINE Lisp_Object |
| 857 | make_lisp_proc (struct Lisp_Process *p) | 862 | make_lisp_proc (struct Lisp_Process *p) |
| 858 | { | 863 | { |
| 859 | return make_lisp_ptr (p, Lisp_Vectorlike); | 864 | return make_lisp_ptr (p, Lisp_Vectorlike); |
| @@ -937,12 +942,12 @@ struct Lisp_Cons | |||
| 937 | fields are not accessible. (What if we want to switch to | 942 | fields are not accessible. (What if we want to switch to |
| 938 | a copying collector someday? Cached cons cell field addresses may be | 943 | a copying collector someday? Cached cons cell field addresses may be |
| 939 | invalidated at arbitrary points.) */ | 944 | invalidated at arbitrary points.) */ |
| 940 | LISP_INLINE Lisp_Object * | 945 | INLINE Lisp_Object * |
| 941 | xcar_addr (Lisp_Object c) | 946 | xcar_addr (Lisp_Object c) |
| 942 | { | 947 | { |
| 943 | return &XCONS (c)->car; | 948 | return &XCONS (c)->car; |
| 944 | } | 949 | } |
| 945 | LISP_INLINE Lisp_Object * | 950 | INLINE Lisp_Object * |
| 946 | xcdr_addr (Lisp_Object c) | 951 | xcdr_addr (Lisp_Object c) |
| 947 | { | 952 | { |
| 948 | return &XCONS (c)->u.cdr; | 953 | return &XCONS (c)->u.cdr; |
| @@ -956,26 +961,26 @@ LISP_MACRO_DEFUN (XCDR, Lisp_Object, (Lisp_Object c), (c)) | |||
| 956 | 961 | ||
| 957 | Note that both arguments may refer to the same object, so 'n' | 962 | Note that both arguments may refer to the same object, so 'n' |
| 958 | should not be read after 'c' is first modified. */ | 963 | should not be read after 'c' is first modified. */ |
| 959 | LISP_INLINE void | 964 | INLINE void |
| 960 | XSETCAR (Lisp_Object c, Lisp_Object n) | 965 | XSETCAR (Lisp_Object c, Lisp_Object n) |
| 961 | { | 966 | { |
| 962 | *xcar_addr (c) = n; | 967 | *xcar_addr (c) = n; |
| 963 | } | 968 | } |
| 964 | LISP_INLINE void | 969 | INLINE void |
| 965 | XSETCDR (Lisp_Object c, Lisp_Object n) | 970 | XSETCDR (Lisp_Object c, Lisp_Object n) |
| 966 | { | 971 | { |
| 967 | *xcdr_addr (c) = n; | 972 | *xcdr_addr (c) = n; |
| 968 | } | 973 | } |
| 969 | 974 | ||
| 970 | /* Take the car or cdr of something whose type is not known. */ | 975 | /* Take the car or cdr of something whose type is not known. */ |
| 971 | LISP_INLINE Lisp_Object | 976 | INLINE Lisp_Object |
| 972 | CAR (Lisp_Object c) | 977 | CAR (Lisp_Object c) |
| 973 | { | 978 | { |
| 974 | return (CONSP (c) ? XCAR (c) | 979 | return (CONSP (c) ? XCAR (c) |
| 975 | : NILP (c) ? Qnil | 980 | : NILP (c) ? Qnil |
| 976 | : wrong_type_argument (Qlistp, c)); | 981 | : wrong_type_argument (Qlistp, c)); |
| 977 | } | 982 | } |
| 978 | LISP_INLINE Lisp_Object | 983 | INLINE Lisp_Object |
| 979 | CDR (Lisp_Object c) | 984 | CDR (Lisp_Object c) |
| 980 | { | 985 | { |
| 981 | return (CONSP (c) ? XCDR (c) | 986 | return (CONSP (c) ? XCDR (c) |
| @@ -984,12 +989,12 @@ CDR (Lisp_Object c) | |||
| 984 | } | 989 | } |
| 985 | 990 | ||
| 986 | /* Take the car or cdr of something whose type is not known. */ | 991 | /* Take the car or cdr of something whose type is not known. */ |
| 987 | LISP_INLINE Lisp_Object | 992 | INLINE Lisp_Object |
| 988 | CAR_SAFE (Lisp_Object c) | 993 | CAR_SAFE (Lisp_Object c) |
| 989 | { | 994 | { |
| 990 | return CONSP (c) ? XCAR (c) : Qnil; | 995 | return CONSP (c) ? XCAR (c) : Qnil; |
| 991 | } | 996 | } |
| 992 | LISP_INLINE Lisp_Object | 997 | INLINE Lisp_Object |
| 993 | CDR_SAFE (Lisp_Object c) | 998 | CDR_SAFE (Lisp_Object c) |
| 994 | { | 999 | { |
| 995 | return CONSP (c) ? XCDR (c) : Qnil; | 1000 | return CONSP (c) ? XCDR (c) : Qnil; |
| @@ -1006,7 +1011,7 @@ struct Lisp_String | |||
| 1006 | }; | 1011 | }; |
| 1007 | 1012 | ||
| 1008 | /* True if STR is a multibyte string. */ | 1013 | /* True if STR is a multibyte string. */ |
| 1009 | LISP_INLINE bool | 1014 | INLINE bool |
| 1010 | STRING_MULTIBYTE (Lisp_Object str) | 1015 | STRING_MULTIBYTE (Lisp_Object str) |
| 1011 | { | 1016 | { |
| 1012 | return 0 <= XSTRING (str)->size_byte; | 1017 | return 0 <= XSTRING (str)->size_byte; |
| @@ -1043,28 +1048,28 @@ STRING_MULTIBYTE (Lisp_Object str) | |||
| 1043 | 1048 | ||
| 1044 | /* Convenience functions for dealing with Lisp strings. */ | 1049 | /* Convenience functions for dealing with Lisp strings. */ |
| 1045 | 1050 | ||
| 1046 | LISP_INLINE unsigned char * | 1051 | INLINE unsigned char * |
| 1047 | SDATA (Lisp_Object string) | 1052 | SDATA (Lisp_Object string) |
| 1048 | { | 1053 | { |
| 1049 | return XSTRING (string)->data; | 1054 | return XSTRING (string)->data; |
| 1050 | } | 1055 | } |
| 1051 | LISP_INLINE char * | 1056 | INLINE char * |
| 1052 | SSDATA (Lisp_Object string) | 1057 | SSDATA (Lisp_Object string) |
| 1053 | { | 1058 | { |
| 1054 | /* Avoid "differ in sign" warnings. */ | 1059 | /* Avoid "differ in sign" warnings. */ |
| 1055 | return (char *) SDATA (string); | 1060 | return (char *) SDATA (string); |
| 1056 | } | 1061 | } |
| 1057 | LISP_INLINE unsigned char | 1062 | INLINE unsigned char |
| 1058 | SREF (Lisp_Object string, ptrdiff_t index) | 1063 | SREF (Lisp_Object string, ptrdiff_t index) |
| 1059 | { | 1064 | { |
| 1060 | return SDATA (string)[index]; | 1065 | return SDATA (string)[index]; |
| 1061 | } | 1066 | } |
| 1062 | LISP_INLINE void | 1067 | INLINE void |
| 1063 | SSET (Lisp_Object string, ptrdiff_t index, unsigned char new) | 1068 | SSET (Lisp_Object string, ptrdiff_t index, unsigned char new) |
| 1064 | { | 1069 | { |
| 1065 | SDATA (string)[index] = new; | 1070 | SDATA (string)[index] = new; |
| 1066 | } | 1071 | } |
| 1067 | LISP_INLINE ptrdiff_t | 1072 | INLINE ptrdiff_t |
| 1068 | SCHARS (Lisp_Object string) | 1073 | SCHARS (Lisp_Object string) |
| 1069 | { | 1074 | { |
| 1070 | return XSTRING (string)->size; | 1075 | return XSTRING (string)->size; |
| @@ -1073,7 +1078,7 @@ SCHARS (Lisp_Object string) | |||
| 1073 | #ifdef GC_CHECK_STRING_BYTES | 1078 | #ifdef GC_CHECK_STRING_BYTES |
| 1074 | extern ptrdiff_t string_bytes (struct Lisp_String *); | 1079 | extern ptrdiff_t string_bytes (struct Lisp_String *); |
| 1075 | #endif | 1080 | #endif |
| 1076 | LISP_INLINE ptrdiff_t | 1081 | INLINE ptrdiff_t |
| 1077 | STRING_BYTES (struct Lisp_String *s) | 1082 | STRING_BYTES (struct Lisp_String *s) |
| 1078 | { | 1083 | { |
| 1079 | #ifdef GC_CHECK_STRING_BYTES | 1084 | #ifdef GC_CHECK_STRING_BYTES |
| @@ -1083,17 +1088,17 @@ STRING_BYTES (struct Lisp_String *s) | |||
| 1083 | #endif | 1088 | #endif |
| 1084 | } | 1089 | } |
| 1085 | 1090 | ||
| 1086 | LISP_INLINE ptrdiff_t | 1091 | INLINE ptrdiff_t |
| 1087 | SBYTES (Lisp_Object string) | 1092 | SBYTES (Lisp_Object string) |
| 1088 | { | 1093 | { |
| 1089 | return STRING_BYTES (XSTRING (string)); | 1094 | return STRING_BYTES (XSTRING (string)); |
| 1090 | } | 1095 | } |
| 1091 | LISP_INLINE void | 1096 | INLINE void |
| 1092 | STRING_SET_CHARS (Lisp_Object string, ptrdiff_t newsize) | 1097 | STRING_SET_CHARS (Lisp_Object string, ptrdiff_t newsize) |
| 1093 | { | 1098 | { |
| 1094 | XSTRING (string)->size = newsize; | 1099 | XSTRING (string)->size = newsize; |
| 1095 | } | 1100 | } |
| 1096 | LISP_INLINE void | 1101 | INLINE void |
| 1097 | STRING_COPYIN (Lisp_Object string, ptrdiff_t index, char const *new, | 1102 | STRING_COPYIN (Lisp_Object string, ptrdiff_t index, char const *new, |
| 1098 | ptrdiff_t count) | 1103 | ptrdiff_t count) |
| 1099 | { | 1104 | { |
| @@ -1131,12 +1136,19 @@ struct vectorlike_header | |||
| 1131 | ptrdiff_t size; | 1136 | ptrdiff_t size; |
| 1132 | }; | 1137 | }; |
| 1133 | 1138 | ||
| 1134 | /* Regular vector is just a header plus array of Lisp_Objects. */ | 1139 | /* Regular vector is just a header plus array of Lisp_Objects... */ |
| 1135 | 1140 | ||
| 1136 | struct Lisp_Vector | 1141 | struct Lisp_Vector |
| 1137 | { | 1142 | { |
| 1138 | struct vectorlike_header header; | 1143 | struct vectorlike_header header; |
| 1139 | Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER]; | 1144 | union { |
| 1145 | /* ...but sometimes there is also a pointer internally used in | ||
| 1146 | vector allocation code. Usually you don't want to touch this. */ | ||
| 1147 | struct Lisp_Vector *next; | ||
| 1148 | |||
| 1149 | /* We can't use FLEXIBLE_ARRAY_MEMBER here. */ | ||
| 1150 | Lisp_Object contents[1]; | ||
| 1151 | } u; | ||
| 1140 | }; | 1152 | }; |
| 1141 | 1153 | ||
| 1142 | /* A boolvector is a kind of vectorlike, with contents are like a string. */ | 1154 | /* A boolvector is a kind of vectorlike, with contents are like a string. */ |
| @@ -1157,45 +1169,45 @@ struct Lisp_Bool_Vector | |||
| 1157 | 1169 | ||
| 1158 | enum | 1170 | enum |
| 1159 | { | 1171 | { |
| 1160 | header_size = offsetof (struct Lisp_Vector, contents), | 1172 | header_size = offsetof (struct Lisp_Vector, u.contents), |
| 1161 | bool_header_size = offsetof (struct Lisp_Bool_Vector, data), | 1173 | bool_header_size = offsetof (struct Lisp_Bool_Vector, data), |
| 1162 | word_size = sizeof (Lisp_Object) | 1174 | word_size = sizeof (Lisp_Object) |
| 1163 | }; | 1175 | }; |
| 1164 | 1176 | ||
| 1165 | /* Conveniences for dealing with Lisp arrays. */ | 1177 | /* Conveniences for dealing with Lisp arrays. */ |
| 1166 | 1178 | ||
| 1167 | LISP_INLINE Lisp_Object | 1179 | INLINE Lisp_Object |
| 1168 | AREF (Lisp_Object array, ptrdiff_t idx) | 1180 | AREF (Lisp_Object array, ptrdiff_t idx) |
| 1169 | { | 1181 | { |
| 1170 | return XVECTOR (array)->contents[idx]; | 1182 | return XVECTOR (array)->u.contents[idx]; |
| 1171 | } | 1183 | } |
| 1172 | 1184 | ||
| 1173 | LISP_INLINE Lisp_Object * | 1185 | INLINE Lisp_Object * |
| 1174 | aref_addr (Lisp_Object array, ptrdiff_t idx) | 1186 | aref_addr (Lisp_Object array, ptrdiff_t idx) |
| 1175 | { | 1187 | { |
| 1176 | return & XVECTOR (array)->contents[idx]; | 1188 | return & XVECTOR (array)->u.contents[idx]; |
| 1177 | } | 1189 | } |
| 1178 | 1190 | ||
| 1179 | LISP_INLINE ptrdiff_t | 1191 | INLINE ptrdiff_t |
| 1180 | ASIZE (Lisp_Object array) | 1192 | ASIZE (Lisp_Object array) |
| 1181 | { | 1193 | { |
| 1182 | return XVECTOR (array)->header.size; | 1194 | return XVECTOR (array)->header.size; |
| 1183 | } | 1195 | } |
| 1184 | 1196 | ||
| 1185 | LISP_INLINE void | 1197 | INLINE void |
| 1186 | ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Object val) | 1198 | ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Object val) |
| 1187 | { | 1199 | { |
| 1188 | eassert (0 <= idx && idx < ASIZE (array)); | 1200 | eassert (0 <= idx && idx < ASIZE (array)); |
| 1189 | XVECTOR (array)->contents[idx] = val; | 1201 | XVECTOR (array)->u.contents[idx] = val; |
| 1190 | } | 1202 | } |
| 1191 | 1203 | ||
| 1192 | LISP_INLINE void | 1204 | INLINE void |
| 1193 | gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Object val) | 1205 | gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Object val) |
| 1194 | { | 1206 | { |
| 1195 | /* Like ASET, but also can be used in the garbage collector: | 1207 | /* Like ASET, but also can be used in the garbage collector: |
| 1196 | sweep_weak_table calls set_hash_key etc. while the table is marked. */ | 1208 | sweep_weak_table calls set_hash_key etc. while the table is marked. */ |
| 1197 | eassert (0 <= idx && idx < (ASIZE (array) & ~ARRAY_MARK_FLAG)); | 1209 | eassert (0 <= idx && idx < (ASIZE (array) & ~ARRAY_MARK_FLAG)); |
| 1198 | XVECTOR (array)->contents[idx] = val; | 1210 | XVECTOR (array)->u.contents[idx] = val; |
| 1199 | } | 1211 | } |
| 1200 | 1212 | ||
| 1201 | /* If a struct is made to look like a vector, this macro returns the length | 1213 | /* If a struct is made to look like a vector, this macro returns the length |
| @@ -1296,7 +1308,7 @@ struct Lisp_Sub_Char_Table | |||
| 1296 | Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER]; | 1308 | Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER]; |
| 1297 | }; | 1309 | }; |
| 1298 | 1310 | ||
| 1299 | LISP_INLINE Lisp_Object | 1311 | INLINE Lisp_Object |
| 1300 | CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t idx) | 1312 | CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t idx) |
| 1301 | { | 1313 | { |
| 1302 | struct Lisp_Char_Table *tbl = NULL; | 1314 | struct Lisp_Char_Table *tbl = NULL; |
| @@ -1316,7 +1328,7 @@ CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t idx) | |||
| 1316 | 1328 | ||
| 1317 | /* Almost equivalent to Faref (CT, IDX) with optimization for ASCII | 1329 | /* Almost equivalent to Faref (CT, IDX) with optimization for ASCII |
| 1318 | characters. Do not check validity of CT. */ | 1330 | characters. Do not check validity of CT. */ |
| 1319 | LISP_INLINE Lisp_Object | 1331 | INLINE Lisp_Object |
| 1320 | CHAR_TABLE_REF (Lisp_Object ct, int idx) | 1332 | CHAR_TABLE_REF (Lisp_Object ct, int idx) |
| 1321 | { | 1333 | { |
| 1322 | return (ASCII_CHAR_P (idx) | 1334 | return (ASCII_CHAR_P (idx) |
| @@ -1326,7 +1338,7 @@ CHAR_TABLE_REF (Lisp_Object ct, int idx) | |||
| 1326 | 1338 | ||
| 1327 | /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and | 1339 | /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and |
| 1328 | 8-bit European characters. Do not check validity of CT. */ | 1340 | 8-bit European characters. Do not check validity of CT. */ |
| 1329 | LISP_INLINE void | 1341 | INLINE void |
| 1330 | CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Object val) | 1342 | CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Object val) |
| 1331 | { | 1343 | { |
| 1332 | if (ASCII_CHAR_P (idx) && SUB_CHAR_TABLE_P (XCHAR_TABLE (ct)->ascii)) | 1344 | if (ASCII_CHAR_P (idx) && SUB_CHAR_TABLE_P (XCHAR_TABLE (ct)->ascii)) |
| @@ -1371,7 +1383,7 @@ enum CHAR_TABLE_STANDARD_SLOTS | |||
| 1371 | 1383 | ||
| 1372 | /* Return the number of "extra" slots in the char table CT. */ | 1384 | /* Return the number of "extra" slots in the char table CT. */ |
| 1373 | 1385 | ||
| 1374 | LISP_INLINE int | 1386 | INLINE int |
| 1375 | CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct) | 1387 | CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct) |
| 1376 | { | 1388 | { |
| 1377 | return ((ct->header.size & PSEUDOVECTOR_SIZE_MASK) | 1389 | return ((ct->header.size & PSEUDOVECTOR_SIZE_MASK) |
| @@ -1450,19 +1462,19 @@ struct Lisp_Symbol | |||
| 1450 | 1462 | ||
| 1451 | LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym)) | 1463 | LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym)) |
| 1452 | 1464 | ||
| 1453 | LISP_INLINE struct Lisp_Symbol * | 1465 | INLINE struct Lisp_Symbol * |
| 1454 | SYMBOL_ALIAS (struct Lisp_Symbol *sym) | 1466 | SYMBOL_ALIAS (struct Lisp_Symbol *sym) |
| 1455 | { | 1467 | { |
| 1456 | eassert (sym->redirect == SYMBOL_VARALIAS); | 1468 | eassert (sym->redirect == SYMBOL_VARALIAS); |
| 1457 | return sym->val.alias; | 1469 | return sym->val.alias; |
| 1458 | } | 1470 | } |
| 1459 | LISP_INLINE struct Lisp_Buffer_Local_Value * | 1471 | INLINE struct Lisp_Buffer_Local_Value * |
| 1460 | SYMBOL_BLV (struct Lisp_Symbol *sym) | 1472 | SYMBOL_BLV (struct Lisp_Symbol *sym) |
| 1461 | { | 1473 | { |
| 1462 | eassert (sym->redirect == SYMBOL_LOCALIZED); | 1474 | eassert (sym->redirect == SYMBOL_LOCALIZED); |
| 1463 | return sym->val.blv; | 1475 | return sym->val.blv; |
| 1464 | } | 1476 | } |
| 1465 | LISP_INLINE union Lisp_Fwd * | 1477 | INLINE union Lisp_Fwd * |
| 1466 | SYMBOL_FWD (struct Lisp_Symbol *sym) | 1478 | SYMBOL_FWD (struct Lisp_Symbol *sym) |
| 1467 | { | 1479 | { |
| 1468 | eassert (sym->redirect == SYMBOL_FORWARDED); | 1480 | eassert (sym->redirect == SYMBOL_FORWARDED); |
| @@ -1472,26 +1484,26 @@ SYMBOL_FWD (struct Lisp_Symbol *sym) | |||
| 1472 | LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL, | 1484 | LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL, |
| 1473 | (struct Lisp_Symbol *sym, Lisp_Object v), (sym, v)) | 1485 | (struct Lisp_Symbol *sym, Lisp_Object v), (sym, v)) |
| 1474 | 1486 | ||
| 1475 | LISP_INLINE void | 1487 | INLINE void |
| 1476 | SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v) | 1488 | SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v) |
| 1477 | { | 1489 | { |
| 1478 | eassert (sym->redirect == SYMBOL_VARALIAS); | 1490 | eassert (sym->redirect == SYMBOL_VARALIAS); |
| 1479 | sym->val.alias = v; | 1491 | sym->val.alias = v; |
| 1480 | } | 1492 | } |
| 1481 | LISP_INLINE void | 1493 | INLINE void |
| 1482 | SET_SYMBOL_BLV (struct Lisp_Symbol *sym, struct Lisp_Buffer_Local_Value *v) | 1494 | SET_SYMBOL_BLV (struct Lisp_Symbol *sym, struct Lisp_Buffer_Local_Value *v) |
| 1483 | { | 1495 | { |
| 1484 | eassert (sym->redirect == SYMBOL_LOCALIZED); | 1496 | eassert (sym->redirect == SYMBOL_LOCALIZED); |
| 1485 | sym->val.blv = v; | 1497 | sym->val.blv = v; |
| 1486 | } | 1498 | } |
| 1487 | LISP_INLINE void | 1499 | INLINE void |
| 1488 | SET_SYMBOL_FWD (struct Lisp_Symbol *sym, union Lisp_Fwd *v) | 1500 | SET_SYMBOL_FWD (struct Lisp_Symbol *sym, union Lisp_Fwd *v) |
| 1489 | { | 1501 | { |
| 1490 | eassert (sym->redirect == SYMBOL_FORWARDED); | 1502 | eassert (sym->redirect == SYMBOL_FORWARDED); |
| 1491 | sym->val.fwd = v; | 1503 | sym->val.fwd = v; |
| 1492 | } | 1504 | } |
| 1493 | 1505 | ||
| 1494 | LISP_INLINE Lisp_Object | 1506 | INLINE Lisp_Object |
| 1495 | SYMBOL_NAME (Lisp_Object sym) | 1507 | SYMBOL_NAME (Lisp_Object sym) |
| 1496 | { | 1508 | { |
| 1497 | return XSYMBOL (sym)->name; | 1509 | return XSYMBOL (sym)->name; |
| @@ -1499,7 +1511,7 @@ SYMBOL_NAME (Lisp_Object sym) | |||
| 1499 | 1511 | ||
| 1500 | /* Value is true if SYM is an interned symbol. */ | 1512 | /* Value is true if SYM is an interned symbol. */ |
| 1501 | 1513 | ||
| 1502 | LISP_INLINE bool | 1514 | INLINE bool |
| 1503 | SYMBOL_INTERNED_P (Lisp_Object sym) | 1515 | SYMBOL_INTERNED_P (Lisp_Object sym) |
| 1504 | { | 1516 | { |
| 1505 | return XSYMBOL (sym)->interned != SYMBOL_UNINTERNED; | 1517 | return XSYMBOL (sym)->interned != SYMBOL_UNINTERNED; |
| @@ -1507,7 +1519,7 @@ SYMBOL_INTERNED_P (Lisp_Object sym) | |||
| 1507 | 1519 | ||
| 1508 | /* Value is true if SYM is interned in initial_obarray. */ | 1520 | /* Value is true if SYM is interned in initial_obarray. */ |
| 1509 | 1521 | ||
| 1510 | LISP_INLINE bool | 1522 | INLINE bool |
| 1511 | SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object sym) | 1523 | SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object sym) |
| 1512 | { | 1524 | { |
| 1513 | return XSYMBOL (sym)->interned == SYMBOL_INTERNED_IN_INITIAL_OBARRAY; | 1525 | return XSYMBOL (sym)->interned == SYMBOL_INTERNED_IN_INITIAL_OBARRAY; |
| @@ -1603,7 +1615,7 @@ struct Lisp_Hash_Table | |||
| 1603 | }; | 1615 | }; |
| 1604 | 1616 | ||
| 1605 | 1617 | ||
| 1606 | LISP_INLINE struct Lisp_Hash_Table * | 1618 | INLINE struct Lisp_Hash_Table * |
| 1607 | XHASH_TABLE (Lisp_Object a) | 1619 | XHASH_TABLE (Lisp_Object a) |
| 1608 | { | 1620 | { |
| 1609 | return XUNTAG (a, Lisp_Vectorlike); | 1621 | return XUNTAG (a, Lisp_Vectorlike); |
| @@ -1612,21 +1624,21 @@ XHASH_TABLE (Lisp_Object a) | |||
| 1612 | #define XSET_HASH_TABLE(VAR, PTR) \ | 1624 | #define XSET_HASH_TABLE(VAR, PTR) \ |
| 1613 | (XSETPSEUDOVECTOR (VAR, PTR, PVEC_HASH_TABLE)) | 1625 | (XSETPSEUDOVECTOR (VAR, PTR, PVEC_HASH_TABLE)) |
| 1614 | 1626 | ||
| 1615 | LISP_INLINE bool | 1627 | INLINE bool |
| 1616 | HASH_TABLE_P (Lisp_Object a) | 1628 | HASH_TABLE_P (Lisp_Object a) |
| 1617 | { | 1629 | { |
| 1618 | return PSEUDOVECTORP (a, PVEC_HASH_TABLE); | 1630 | return PSEUDOVECTORP (a, PVEC_HASH_TABLE); |
| 1619 | } | 1631 | } |
| 1620 | 1632 | ||
| 1621 | /* Value is the key part of entry IDX in hash table H. */ | 1633 | /* Value is the key part of entry IDX in hash table H. */ |
| 1622 | LISP_INLINE Lisp_Object | 1634 | INLINE Lisp_Object |
| 1623 | HASH_KEY (struct Lisp_Hash_Table *h, ptrdiff_t idx) | 1635 | HASH_KEY (struct Lisp_Hash_Table *h, ptrdiff_t idx) |
| 1624 | { | 1636 | { |
| 1625 | return AREF (h->key_and_value, 2 * idx); | 1637 | return AREF (h->key_and_value, 2 * idx); |
| 1626 | } | 1638 | } |
| 1627 | 1639 | ||
| 1628 | /* Value is the value part of entry IDX in hash table H. */ | 1640 | /* Value is the value part of entry IDX in hash table H. */ |
| 1629 | LISP_INLINE Lisp_Object | 1641 | INLINE Lisp_Object |
| 1630 | HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t idx) | 1642 | HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t idx) |
| 1631 | { | 1643 | { |
| 1632 | return AREF (h->key_and_value, 2 * idx + 1); | 1644 | return AREF (h->key_and_value, 2 * idx + 1); |
| @@ -1634,14 +1646,14 @@ HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t idx) | |||
| 1634 | 1646 | ||
| 1635 | /* Value is the index of the next entry following the one at IDX | 1647 | /* Value is the index of the next entry following the one at IDX |
| 1636 | in hash table H. */ | 1648 | in hash table H. */ |
| 1637 | LISP_INLINE Lisp_Object | 1649 | INLINE Lisp_Object |
| 1638 | HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t idx) | 1650 | HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t idx) |
| 1639 | { | 1651 | { |
| 1640 | return AREF (h->next, idx); | 1652 | return AREF (h->next, idx); |
| 1641 | } | 1653 | } |
| 1642 | 1654 | ||
| 1643 | /* Value is the hash code computed for entry IDX in hash table H. */ | 1655 | /* Value is the hash code computed for entry IDX in hash table H. */ |
| 1644 | LISP_INLINE Lisp_Object | 1656 | INLINE Lisp_Object |
| 1645 | HASH_HASH (struct Lisp_Hash_Table *h, ptrdiff_t idx) | 1657 | HASH_HASH (struct Lisp_Hash_Table *h, ptrdiff_t idx) |
| 1646 | { | 1658 | { |
| 1647 | return AREF (h->hash, idx); | 1659 | return AREF (h->hash, idx); |
| @@ -1649,14 +1661,14 @@ HASH_HASH (struct Lisp_Hash_Table *h, ptrdiff_t idx) | |||
| 1649 | 1661 | ||
| 1650 | /* Value is the index of the element in hash table H that is the | 1662 | /* Value is the index of the element in hash table H that is the |
| 1651 | start of the collision list at index IDX in the index vector of H. */ | 1663 | start of the collision list at index IDX in the index vector of H. */ |
| 1652 | LISP_INLINE Lisp_Object | 1664 | INLINE Lisp_Object |
| 1653 | HASH_INDEX (struct Lisp_Hash_Table *h, ptrdiff_t idx) | 1665 | HASH_INDEX (struct Lisp_Hash_Table *h, ptrdiff_t idx) |
| 1654 | { | 1666 | { |
| 1655 | return AREF (h->index, idx); | 1667 | return AREF (h->index, idx); |
| 1656 | } | 1668 | } |
| 1657 | 1669 | ||
| 1658 | /* Value is the size of hash table H. */ | 1670 | /* Value is the size of hash table H. */ |
| 1659 | LISP_INLINE ptrdiff_t | 1671 | INLINE ptrdiff_t |
| 1660 | HASH_TABLE_SIZE (struct Lisp_Hash_Table *h) | 1672 | HASH_TABLE_SIZE (struct Lisp_Hash_Table *h) |
| 1661 | { | 1673 | { |
| 1662 | return ASIZE (h->next); | 1674 | return ASIZE (h->next); |
| @@ -1679,7 +1691,7 @@ static double const DEFAULT_REHASH_SIZE = 1.5; | |||
| 1679 | /* Combine two integers X and Y for hashing. The result might not fit | 1691 | /* Combine two integers X and Y for hashing. The result might not fit |
| 1680 | into a Lisp integer. */ | 1692 | into a Lisp integer. */ |
| 1681 | 1693 | ||
| 1682 | LISP_INLINE EMACS_UINT | 1694 | INLINE EMACS_UINT |
| 1683 | sxhash_combine (EMACS_UINT x, EMACS_UINT y) | 1695 | sxhash_combine (EMACS_UINT x, EMACS_UINT y) |
| 1684 | { | 1696 | { |
| 1685 | return (x << 4) + (x >> (BITS_PER_EMACS_INT - 4)) + y; | 1697 | return (x << 4) + (x >> (BITS_PER_EMACS_INT - 4)) + y; |
| @@ -1687,7 +1699,7 @@ sxhash_combine (EMACS_UINT x, EMACS_UINT y) | |||
| 1687 | 1699 | ||
| 1688 | /* Hash X, returning a value that fits into a fixnum. */ | 1700 | /* Hash X, returning a value that fits into a fixnum. */ |
| 1689 | 1701 | ||
| 1690 | LISP_INLINE EMACS_UINT | 1702 | INLINE EMACS_UINT |
| 1691 | SXHASH_REDUCE (EMACS_UINT x) | 1703 | SXHASH_REDUCE (EMACS_UINT x) |
| 1692 | { | 1704 | { |
| 1693 | return (x ^ x >> (BITS_PER_EMACS_INT - FIXNUM_BITS)) & INTMASK; | 1705 | return (x ^ x >> (BITS_PER_EMACS_INT - FIXNUM_BITS)) & INTMASK; |
| @@ -1857,7 +1869,7 @@ struct Lisp_Save_Value | |||
| 1857 | }; | 1869 | }; |
| 1858 | 1870 | ||
| 1859 | /* Return the type of V's Nth saved value. */ | 1871 | /* Return the type of V's Nth saved value. */ |
| 1860 | LISP_INLINE int | 1872 | INLINE int |
| 1861 | save_type (struct Lisp_Save_Value *v, int n) | 1873 | save_type (struct Lisp_Save_Value *v, int n) |
| 1862 | { | 1874 | { |
| 1863 | eassert (0 <= n && n < SAVE_VALUE_SLOTS); | 1875 | eassert (0 <= n && n < SAVE_VALUE_SLOTS); |
| @@ -1866,19 +1878,19 @@ save_type (struct Lisp_Save_Value *v, int n) | |||
| 1866 | 1878 | ||
| 1867 | /* Get and set the Nth saved pointer. */ | 1879 | /* Get and set the Nth saved pointer. */ |
| 1868 | 1880 | ||
| 1869 | LISP_INLINE void * | 1881 | INLINE void * |
| 1870 | XSAVE_POINTER (Lisp_Object obj, int n) | 1882 | XSAVE_POINTER (Lisp_Object obj, int n) |
| 1871 | { | 1883 | { |
| 1872 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER); | 1884 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER); |
| 1873 | return XSAVE_VALUE (obj)->data[n].pointer; | 1885 | return XSAVE_VALUE (obj)->data[n].pointer; |
| 1874 | } | 1886 | } |
| 1875 | LISP_INLINE void | 1887 | INLINE void |
| 1876 | set_save_pointer (Lisp_Object obj, int n, void *val) | 1888 | set_save_pointer (Lisp_Object obj, int n, void *val) |
| 1877 | { | 1889 | { |
| 1878 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER); | 1890 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER); |
| 1879 | XSAVE_VALUE (obj)->data[n].pointer = val; | 1891 | XSAVE_VALUE (obj)->data[n].pointer = val; |
| 1880 | } | 1892 | } |
| 1881 | LISP_INLINE voidfuncptr | 1893 | INLINE voidfuncptr |
| 1882 | XSAVE_FUNCPOINTER (Lisp_Object obj, int n) | 1894 | XSAVE_FUNCPOINTER (Lisp_Object obj, int n) |
| 1883 | { | 1895 | { |
| 1884 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_FUNCPOINTER); | 1896 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_FUNCPOINTER); |
| @@ -1887,13 +1899,13 @@ XSAVE_FUNCPOINTER (Lisp_Object obj, int n) | |||
| 1887 | 1899 | ||
| 1888 | /* Likewise for the saved integer. */ | 1900 | /* Likewise for the saved integer. */ |
| 1889 | 1901 | ||
| 1890 | LISP_INLINE ptrdiff_t | 1902 | INLINE ptrdiff_t |
| 1891 | XSAVE_INTEGER (Lisp_Object obj, int n) | 1903 | XSAVE_INTEGER (Lisp_Object obj, int n) |
| 1892 | { | 1904 | { |
| 1893 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER); | 1905 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER); |
| 1894 | return XSAVE_VALUE (obj)->data[n].integer; | 1906 | return XSAVE_VALUE (obj)->data[n].integer; |
| 1895 | } | 1907 | } |
| 1896 | LISP_INLINE void | 1908 | INLINE void |
| 1897 | set_save_integer (Lisp_Object obj, int n, ptrdiff_t val) | 1909 | set_save_integer (Lisp_Object obj, int n, ptrdiff_t val) |
| 1898 | { | 1910 | { |
| 1899 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER); | 1911 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER); |
| @@ -1902,7 +1914,7 @@ set_save_integer (Lisp_Object obj, int n, ptrdiff_t val) | |||
| 1902 | 1914 | ||
| 1903 | /* Extract Nth saved object. */ | 1915 | /* Extract Nth saved object. */ |
| 1904 | 1916 | ||
| 1905 | LISP_INLINE Lisp_Object | 1917 | INLINE Lisp_Object |
| 1906 | XSAVE_OBJECT (Lisp_Object obj, int n) | 1918 | XSAVE_OBJECT (Lisp_Object obj, int n) |
| 1907 | { | 1919 | { |
| 1908 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_OBJECT); | 1920 | eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_OBJECT); |
| @@ -1930,40 +1942,40 @@ union Lisp_Misc | |||
| 1930 | struct Lisp_Save_Value u_save_value; | 1942 | struct Lisp_Save_Value u_save_value; |
| 1931 | }; | 1943 | }; |
| 1932 | 1944 | ||
| 1933 | LISP_INLINE union Lisp_Misc * | 1945 | INLINE union Lisp_Misc * |
| 1934 | XMISC (Lisp_Object a) | 1946 | XMISC (Lisp_Object a) |
| 1935 | { | 1947 | { |
| 1936 | return XUNTAG (a, Lisp_Misc); | 1948 | return XUNTAG (a, Lisp_Misc); |
| 1937 | } | 1949 | } |
| 1938 | 1950 | ||
| 1939 | LISP_INLINE struct Lisp_Misc_Any * | 1951 | INLINE struct Lisp_Misc_Any * |
| 1940 | XMISCANY (Lisp_Object a) | 1952 | XMISCANY (Lisp_Object a) |
| 1941 | { | 1953 | { |
| 1942 | eassert (MISCP (a)); | 1954 | eassert (MISCP (a)); |
| 1943 | return & XMISC (a)->u_any; | 1955 | return & XMISC (a)->u_any; |
| 1944 | } | 1956 | } |
| 1945 | 1957 | ||
| 1946 | LISP_INLINE enum Lisp_Misc_Type | 1958 | INLINE enum Lisp_Misc_Type |
| 1947 | XMISCTYPE (Lisp_Object a) | 1959 | XMISCTYPE (Lisp_Object a) |
| 1948 | { | 1960 | { |
| 1949 | return XMISCANY (a)->type; | 1961 | return XMISCANY (a)->type; |
| 1950 | } | 1962 | } |
| 1951 | 1963 | ||
| 1952 | LISP_INLINE struct Lisp_Marker * | 1964 | INLINE struct Lisp_Marker * |
| 1953 | XMARKER (Lisp_Object a) | 1965 | XMARKER (Lisp_Object a) |
| 1954 | { | 1966 | { |
| 1955 | eassert (MARKERP (a)); | 1967 | eassert (MARKERP (a)); |
| 1956 | return & XMISC (a)->u_marker; | 1968 | return & XMISC (a)->u_marker; |
| 1957 | } | 1969 | } |
| 1958 | 1970 | ||
| 1959 | LISP_INLINE struct Lisp_Overlay * | 1971 | INLINE struct Lisp_Overlay * |
| 1960 | XOVERLAY (Lisp_Object a) | 1972 | XOVERLAY (Lisp_Object a) |
| 1961 | { | 1973 | { |
| 1962 | eassert (OVERLAYP (a)); | 1974 | eassert (OVERLAYP (a)); |
| 1963 | return & XMISC (a)->u_overlay; | 1975 | return & XMISC (a)->u_overlay; |
| 1964 | } | 1976 | } |
| 1965 | 1977 | ||
| 1966 | LISP_INLINE struct Lisp_Save_Value * | 1978 | INLINE struct Lisp_Save_Value * |
| 1967 | XSAVE_VALUE (Lisp_Object a) | 1979 | XSAVE_VALUE (Lisp_Object a) |
| 1968 | { | 1980 | { |
| 1969 | eassert (SAVE_VALUEP (a)); | 1981 | eassert (SAVE_VALUEP (a)); |
| @@ -2077,13 +2089,13 @@ union Lisp_Fwd | |||
| 2077 | struct Lisp_Kboard_Objfwd u_kboard_objfwd; | 2089 | struct Lisp_Kboard_Objfwd u_kboard_objfwd; |
| 2078 | }; | 2090 | }; |
| 2079 | 2091 | ||
| 2080 | LISP_INLINE enum Lisp_Fwd_Type | 2092 | INLINE enum Lisp_Fwd_Type |
| 2081 | XFWDTYPE (union Lisp_Fwd *a) | 2093 | XFWDTYPE (union Lisp_Fwd *a) |
| 2082 | { | 2094 | { |
| 2083 | return a->u_intfwd.type; | 2095 | return a->u_intfwd.type; |
| 2084 | } | 2096 | } |
| 2085 | 2097 | ||
| 2086 | LISP_INLINE struct Lisp_Buffer_Objfwd * | 2098 | INLINE struct Lisp_Buffer_Objfwd * |
| 2087 | XBUFFER_OBJFWD (union Lisp_Fwd *a) | 2099 | XBUFFER_OBJFWD (union Lisp_Fwd *a) |
| 2088 | { | 2100 | { |
| 2089 | eassert (BUFFER_OBJFWDP (a)); | 2101 | eassert (BUFFER_OBJFWDP (a)); |
| @@ -2100,7 +2112,7 @@ struct Lisp_Float | |||
| 2100 | } u; | 2112 | } u; |
| 2101 | }; | 2113 | }; |
| 2102 | 2114 | ||
| 2103 | LISP_INLINE double | 2115 | INLINE double |
| 2104 | XFLOAT_DATA (Lisp_Object f) | 2116 | XFLOAT_DATA (Lisp_Object f) |
| 2105 | { | 2117 | { |
| 2106 | return XFLOAT (f)->u.data; | 2118 | return XFLOAT (f)->u.data; |
| @@ -2164,18 +2176,18 @@ enum char_bits | |||
| 2164 | 2176 | ||
| 2165 | LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)) | 2177 | LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)) |
| 2166 | 2178 | ||
| 2167 | LISP_INLINE bool | 2179 | INLINE bool |
| 2168 | NUMBERP (Lisp_Object x) | 2180 | NUMBERP (Lisp_Object x) |
| 2169 | { | 2181 | { |
| 2170 | return INTEGERP (x) || FLOATP (x); | 2182 | return INTEGERP (x) || FLOATP (x); |
| 2171 | } | 2183 | } |
| 2172 | LISP_INLINE bool | 2184 | INLINE bool |
| 2173 | NATNUMP (Lisp_Object x) | 2185 | NATNUMP (Lisp_Object x) |
| 2174 | { | 2186 | { |
| 2175 | return INTEGERP (x) && 0 <= XINT (x); | 2187 | return INTEGERP (x) && 0 <= XINT (x); |
| 2176 | } | 2188 | } |
| 2177 | 2189 | ||
| 2178 | LISP_INLINE bool | 2190 | INLINE bool |
| 2179 | RANGED_INTEGERP (intmax_t lo, Lisp_Object x, intmax_t hi) | 2191 | RANGED_INTEGERP (intmax_t lo, Lisp_Object x, intmax_t hi) |
| 2180 | { | 2192 | { |
| 2181 | return INTEGERP (x) && lo <= XINT (x) && XINT (x) <= hi; | 2193 | return INTEGERP (x) && lo <= XINT (x) && XINT (x) <= hi; |
| @@ -2194,40 +2206,40 @@ LISP_MACRO_DEFUN (INTEGERP, bool, (Lisp_Object x), (x)) | |||
| 2194 | LISP_MACRO_DEFUN (VECTORLIKEP, bool, (Lisp_Object x), (x)) | 2206 | LISP_MACRO_DEFUN (VECTORLIKEP, bool, (Lisp_Object x), (x)) |
| 2195 | LISP_MACRO_DEFUN (MARKERP, bool, (Lisp_Object x), (x)) | 2207 | LISP_MACRO_DEFUN (MARKERP, bool, (Lisp_Object x), (x)) |
| 2196 | 2208 | ||
| 2197 | LISP_INLINE bool | 2209 | INLINE bool |
| 2198 | STRINGP (Lisp_Object x) | 2210 | STRINGP (Lisp_Object x) |
| 2199 | { | 2211 | { |
| 2200 | return XTYPE (x) == Lisp_String; | 2212 | return XTYPE (x) == Lisp_String; |
| 2201 | } | 2213 | } |
| 2202 | LISP_INLINE bool | 2214 | INLINE bool |
| 2203 | VECTORP (Lisp_Object x) | 2215 | VECTORP (Lisp_Object x) |
| 2204 | { | 2216 | { |
| 2205 | return VECTORLIKEP (x) && ! (ASIZE (x) & PSEUDOVECTOR_FLAG); | 2217 | return VECTORLIKEP (x) && ! (ASIZE (x) & PSEUDOVECTOR_FLAG); |
| 2206 | } | 2218 | } |
| 2207 | LISP_INLINE bool | 2219 | INLINE bool |
| 2208 | OVERLAYP (Lisp_Object x) | 2220 | OVERLAYP (Lisp_Object x) |
| 2209 | { | 2221 | { |
| 2210 | return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Overlay; | 2222 | return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Overlay; |
| 2211 | } | 2223 | } |
| 2212 | LISP_INLINE bool | 2224 | INLINE bool |
| 2213 | SAVE_VALUEP (Lisp_Object x) | 2225 | SAVE_VALUEP (Lisp_Object x) |
| 2214 | { | 2226 | { |
| 2215 | return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Save_Value; | 2227 | return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Save_Value; |
| 2216 | } | 2228 | } |
| 2217 | 2229 | ||
| 2218 | LISP_INLINE bool | 2230 | INLINE bool |
| 2219 | AUTOLOADP (Lisp_Object x) | 2231 | AUTOLOADP (Lisp_Object x) |
| 2220 | { | 2232 | { |
| 2221 | return CONSP (x) && EQ (Qautoload, XCAR (x)); | 2233 | return CONSP (x) && EQ (Qautoload, XCAR (x)); |
| 2222 | } | 2234 | } |
| 2223 | 2235 | ||
| 2224 | LISP_INLINE bool | 2236 | INLINE bool |
| 2225 | BUFFER_OBJFWDP (union Lisp_Fwd *a) | 2237 | BUFFER_OBJFWDP (union Lisp_Fwd *a) |
| 2226 | { | 2238 | { |
| 2227 | return XFWDTYPE (a) == Lisp_Fwd_Buffer_Obj; | 2239 | return XFWDTYPE (a) == Lisp_Fwd_Buffer_Obj; |
| 2228 | } | 2240 | } |
| 2229 | 2241 | ||
| 2230 | LISP_INLINE bool | 2242 | INLINE bool |
| 2231 | PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, int code) | 2243 | PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, int code) |
| 2232 | { | 2244 | { |
| 2233 | return ((a->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) | 2245 | return ((a->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) |
| @@ -2235,7 +2247,7 @@ PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, int code) | |||
| 2235 | } | 2247 | } |
| 2236 | 2248 | ||
| 2237 | /* True if A is a pseudovector whose code is CODE. */ | 2249 | /* True if A is a pseudovector whose code is CODE. */ |
| 2238 | LISP_INLINE bool | 2250 | INLINE bool |
| 2239 | PSEUDOVECTORP (Lisp_Object a, int code) | 2251 | PSEUDOVECTORP (Lisp_Object a, int code) |
| 2240 | { | 2252 | { |
| 2241 | if (! VECTORLIKEP (a)) | 2253 | if (! VECTORLIKEP (a)) |
| @@ -2251,87 +2263,87 @@ PSEUDOVECTORP (Lisp_Object a, int code) | |||
| 2251 | 2263 | ||
| 2252 | /* Test for specific pseudovector types. */ | 2264 | /* Test for specific pseudovector types. */ |
| 2253 | 2265 | ||
| 2254 | LISP_INLINE bool | 2266 | INLINE bool |
| 2255 | WINDOW_CONFIGURATIONP (Lisp_Object a) | 2267 | WINDOW_CONFIGURATIONP (Lisp_Object a) |
| 2256 | { | 2268 | { |
| 2257 | return PSEUDOVECTORP (a, PVEC_WINDOW_CONFIGURATION); | 2269 | return PSEUDOVECTORP (a, PVEC_WINDOW_CONFIGURATION); |
| 2258 | } | 2270 | } |
| 2259 | 2271 | ||
| 2260 | LISP_INLINE bool | 2272 | INLINE bool |
| 2261 | PROCESSP (Lisp_Object a) | 2273 | PROCESSP (Lisp_Object a) |
| 2262 | { | 2274 | { |
| 2263 | return PSEUDOVECTORP (a, PVEC_PROCESS); | 2275 | return PSEUDOVECTORP (a, PVEC_PROCESS); |
| 2264 | } | 2276 | } |
| 2265 | 2277 | ||
| 2266 | LISP_INLINE bool | 2278 | INLINE bool |
| 2267 | WINDOWP (Lisp_Object a) | 2279 | WINDOWP (Lisp_Object a) |
| 2268 | { | 2280 | { |
| 2269 | return PSEUDOVECTORP (a, PVEC_WINDOW); | 2281 | return PSEUDOVECTORP (a, PVEC_WINDOW); |
| 2270 | } | 2282 | } |
| 2271 | 2283 | ||
| 2272 | LISP_INLINE bool | 2284 | INLINE bool |
| 2273 | TERMINALP (Lisp_Object a) | 2285 | TERMINALP (Lisp_Object a) |
| 2274 | { | 2286 | { |
| 2275 | return PSEUDOVECTORP (a, PVEC_TERMINAL); | 2287 | return PSEUDOVECTORP (a, PVEC_TERMINAL); |
| 2276 | } | 2288 | } |
| 2277 | 2289 | ||
| 2278 | LISP_INLINE bool | 2290 | INLINE bool |
| 2279 | SUBRP (Lisp_Object a) | 2291 | SUBRP (Lisp_Object a) |
| 2280 | { | 2292 | { |
| 2281 | return PSEUDOVECTORP (a, PVEC_SUBR); | 2293 | return PSEUDOVECTORP (a, PVEC_SUBR); |
| 2282 | } | 2294 | } |
| 2283 | 2295 | ||
| 2284 | LISP_INLINE bool | 2296 | INLINE bool |
| 2285 | COMPILEDP (Lisp_Object a) | 2297 | COMPILEDP (Lisp_Object a) |
| 2286 | { | 2298 | { |
| 2287 | return PSEUDOVECTORP (a, PVEC_COMPILED); | 2299 | return PSEUDOVECTORP (a, PVEC_COMPILED); |
| 2288 | } | 2300 | } |
| 2289 | 2301 | ||
| 2290 | LISP_INLINE bool | 2302 | INLINE bool |
| 2291 | BUFFERP (Lisp_Object a) | 2303 | BUFFERP (Lisp_Object a) |
| 2292 | { | 2304 | { |
| 2293 | return PSEUDOVECTORP (a, PVEC_BUFFER); | 2305 | return PSEUDOVECTORP (a, PVEC_BUFFER); |
| 2294 | } | 2306 | } |
| 2295 | 2307 | ||
| 2296 | LISP_INLINE bool | 2308 | INLINE bool |
| 2297 | CHAR_TABLE_P (Lisp_Object a) | 2309 | CHAR_TABLE_P (Lisp_Object a) |
| 2298 | { | 2310 | { |
| 2299 | return PSEUDOVECTORP (a, PVEC_CHAR_TABLE); | 2311 | return PSEUDOVECTORP (a, PVEC_CHAR_TABLE); |
| 2300 | } | 2312 | } |
| 2301 | 2313 | ||
| 2302 | LISP_INLINE bool | 2314 | INLINE bool |
| 2303 | SUB_CHAR_TABLE_P (Lisp_Object a) | 2315 | SUB_CHAR_TABLE_P (Lisp_Object a) |
| 2304 | { | 2316 | { |
| 2305 | return PSEUDOVECTORP (a, PVEC_SUB_CHAR_TABLE); | 2317 | return PSEUDOVECTORP (a, PVEC_SUB_CHAR_TABLE); |
| 2306 | } | 2318 | } |
| 2307 | 2319 | ||
| 2308 | LISP_INLINE bool | 2320 | INLINE bool |
| 2309 | BOOL_VECTOR_P (Lisp_Object a) | 2321 | BOOL_VECTOR_P (Lisp_Object a) |
| 2310 | { | 2322 | { |
| 2311 | return PSEUDOVECTORP (a, PVEC_BOOL_VECTOR); | 2323 | return PSEUDOVECTORP (a, PVEC_BOOL_VECTOR); |
| 2312 | } | 2324 | } |
| 2313 | 2325 | ||
| 2314 | LISP_INLINE bool | 2326 | INLINE bool |
| 2315 | FRAMEP (Lisp_Object a) | 2327 | FRAMEP (Lisp_Object a) |
| 2316 | { | 2328 | { |
| 2317 | return PSEUDOVECTORP (a, PVEC_FRAME); | 2329 | return PSEUDOVECTORP (a, PVEC_FRAME); |
| 2318 | } | 2330 | } |
| 2319 | 2331 | ||
| 2320 | /* Test for image (image . spec) */ | 2332 | /* Test for image (image . spec) */ |
| 2321 | LISP_INLINE bool | 2333 | INLINE bool |
| 2322 | IMAGEP (Lisp_Object x) | 2334 | IMAGEP (Lisp_Object x) |
| 2323 | { | 2335 | { |
| 2324 | return CONSP (x) && EQ (XCAR (x), Qimage); | 2336 | return CONSP (x) && EQ (XCAR (x), Qimage); |
| 2325 | } | 2337 | } |
| 2326 | 2338 | ||
| 2327 | /* Array types. */ | 2339 | /* Array types. */ |
| 2328 | LISP_INLINE bool | 2340 | INLINE bool |
| 2329 | ARRAYP (Lisp_Object x) | 2341 | ARRAYP (Lisp_Object x) |
| 2330 | { | 2342 | { |
| 2331 | return VECTORP (x) || STRINGP (x) || CHAR_TABLE_P (x) || BOOL_VECTOR_P (x); | 2343 | return VECTORP (x) || STRINGP (x) || CHAR_TABLE_P (x) || BOOL_VECTOR_P (x); |
| 2332 | } | 2344 | } |
| 2333 | 2345 | ||
| 2334 | LISP_INLINE void | 2346 | INLINE void |
| 2335 | CHECK_LIST (Lisp_Object x) | 2347 | CHECK_LIST (Lisp_Object x) |
| 2336 | { | 2348 | { |
| 2337 | CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x); | 2349 | CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x); |
| @@ -2341,52 +2353,57 @@ LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Object x, Lisp_Object y), (x, y)) | |||
| 2341 | LISP_MACRO_DEFUN_VOID (CHECK_SYMBOL, (Lisp_Object x), (x)) | 2353 | LISP_MACRO_DEFUN_VOID (CHECK_SYMBOL, (Lisp_Object x), (x)) |
| 2342 | LISP_MACRO_DEFUN_VOID (CHECK_NUMBER, (Lisp_Object x), (x)) | 2354 | LISP_MACRO_DEFUN_VOID (CHECK_NUMBER, (Lisp_Object x), (x)) |
| 2343 | 2355 | ||
| 2344 | LISP_INLINE void | 2356 | INLINE void |
| 2345 | CHECK_STRING (Lisp_Object x) | 2357 | CHECK_STRING (Lisp_Object x) |
| 2346 | { | 2358 | { |
| 2347 | CHECK_TYPE (STRINGP (x), Qstringp, x); | 2359 | CHECK_TYPE (STRINGP (x), Qstringp, x); |
| 2348 | } | 2360 | } |
| 2349 | LISP_INLINE void | 2361 | INLINE void |
| 2350 | CHECK_STRING_CAR (Lisp_Object x) | 2362 | CHECK_STRING_CAR (Lisp_Object x) |
| 2351 | { | 2363 | { |
| 2352 | CHECK_TYPE (STRINGP (XCAR (x)), Qstringp, XCAR (x)); | 2364 | CHECK_TYPE (STRINGP (XCAR (x)), Qstringp, XCAR (x)); |
| 2353 | } | 2365 | } |
| 2354 | LISP_INLINE void | 2366 | INLINE void |
| 2355 | CHECK_CONS (Lisp_Object x) | 2367 | CHECK_CONS (Lisp_Object x) |
| 2356 | { | 2368 | { |
| 2357 | CHECK_TYPE (CONSP (x), Qconsp, x); | 2369 | CHECK_TYPE (CONSP (x), Qconsp, x); |
| 2358 | } | 2370 | } |
| 2359 | LISP_INLINE void | 2371 | INLINE void |
| 2360 | CHECK_VECTOR (Lisp_Object x) | 2372 | CHECK_VECTOR (Lisp_Object x) |
| 2361 | { | 2373 | { |
| 2362 | CHECK_TYPE (VECTORP (x), Qvectorp, x); | 2374 | CHECK_TYPE (VECTORP (x), Qvectorp, x); |
| 2363 | } | 2375 | } |
| 2364 | LISP_INLINE void | 2376 | INLINE void |
| 2377 | CHECK_BOOL_VECTOR (Lisp_Object x) | ||
| 2378 | { | ||
| 2379 | CHECK_TYPE (BOOL_VECTOR_P (x), Qbool_vector_p, x); | ||
| 2380 | } | ||
| 2381 | INLINE void | ||
| 2365 | CHECK_VECTOR_OR_STRING (Lisp_Object x) | 2382 | CHECK_VECTOR_OR_STRING (Lisp_Object x) |
| 2366 | { | 2383 | { |
| 2367 | CHECK_TYPE (VECTORP (x) || STRINGP (x), Qarrayp, x); | 2384 | CHECK_TYPE (VECTORP (x) || STRINGP (x), Qarrayp, x); |
| 2368 | } | 2385 | } |
| 2369 | LISP_INLINE void | 2386 | INLINE void |
| 2370 | CHECK_ARRAY (Lisp_Object x, Lisp_Object Qxxxp) | 2387 | CHECK_ARRAY (Lisp_Object x, Lisp_Object Qxxxp) |
| 2371 | { | 2388 | { |
| 2372 | CHECK_TYPE (ARRAYP (x), Qxxxp, x); | 2389 | CHECK_TYPE (ARRAYP (x), Qxxxp, x); |
| 2373 | } | 2390 | } |
| 2374 | LISP_INLINE void | 2391 | INLINE void |
| 2375 | CHECK_BUFFER (Lisp_Object x) | 2392 | CHECK_BUFFER (Lisp_Object x) |
| 2376 | { | 2393 | { |
| 2377 | CHECK_TYPE (BUFFERP (x), Qbufferp, x); | 2394 | CHECK_TYPE (BUFFERP (x), Qbufferp, x); |
| 2378 | } | 2395 | } |
| 2379 | LISP_INLINE void | 2396 | INLINE void |
| 2380 | CHECK_WINDOW (Lisp_Object x) | 2397 | CHECK_WINDOW (Lisp_Object x) |
| 2381 | { | 2398 | { |
| 2382 | CHECK_TYPE (WINDOWP (x), Qwindowp, x); | 2399 | CHECK_TYPE (WINDOWP (x), Qwindowp, x); |
| 2383 | } | 2400 | } |
| 2384 | LISP_INLINE void | 2401 | INLINE void |
| 2385 | CHECK_PROCESS (Lisp_Object x) | 2402 | CHECK_PROCESS (Lisp_Object x) |
| 2386 | { | 2403 | { |
| 2387 | CHECK_TYPE (PROCESSP (x), Qprocessp, x); | 2404 | CHECK_TYPE (PROCESSP (x), Qprocessp, x); |
| 2388 | } | 2405 | } |
| 2389 | LISP_INLINE void | 2406 | INLINE void |
| 2390 | CHECK_NATNUM (Lisp_Object x) | 2407 | CHECK_NATNUM (Lisp_Object x) |
| 2391 | { | 2408 | { |
| 2392 | CHECK_TYPE (NATNUMP (x), Qwholenump, x); | 2409 | CHECK_TYPE (NATNUMP (x), Qwholenump, x); |
| @@ -2415,13 +2432,13 @@ CHECK_NATNUM (Lisp_Object x) | |||
| 2415 | do { if (MARKERP ((x))) XSETFASTINT (x, marker_position (x)); \ | 2432 | do { if (MARKERP ((x))) XSETFASTINT (x, marker_position (x)); \ |
| 2416 | else CHECK_TYPE (INTEGERP (x), Qinteger_or_marker_p, x); } while (0) | 2433 | else CHECK_TYPE (INTEGERP (x), Qinteger_or_marker_p, x); } while (0) |
| 2417 | 2434 | ||
| 2418 | LISP_INLINE double | 2435 | INLINE double |
| 2419 | XFLOATINT (Lisp_Object n) | 2436 | XFLOATINT (Lisp_Object n) |
| 2420 | { | 2437 | { |
| 2421 | return extract_float (n); | 2438 | return extract_float (n); |
| 2422 | } | 2439 | } |
| 2423 | 2440 | ||
| 2424 | LISP_INLINE void | 2441 | INLINE void |
| 2425 | CHECK_NUMBER_OR_FLOAT (Lisp_Object x) | 2442 | CHECK_NUMBER_OR_FLOAT (Lisp_Object x) |
| 2426 | { | 2443 | { |
| 2427 | CHECK_TYPE (FLOATP (x) || INTEGERP (x), Qnumberp, x); | 2444 | CHECK_TYPE (FLOATP (x) || INTEGERP (x), Qnumberp, x); |
| @@ -2433,7 +2450,7 @@ CHECK_NUMBER_OR_FLOAT (Lisp_Object x) | |||
| 2433 | 2450 | ||
| 2434 | /* Since we can't assign directly to the CAR or CDR fields of a cons | 2451 | /* Since we can't assign directly to the CAR or CDR fields of a cons |
| 2435 | cell, use these when checking that those fields contain numbers. */ | 2452 | cell, use these when checking that those fields contain numbers. */ |
| 2436 | LISP_INLINE void | 2453 | INLINE void |
| 2437 | CHECK_NUMBER_CAR (Lisp_Object x) | 2454 | CHECK_NUMBER_CAR (Lisp_Object x) |
| 2438 | { | 2455 | { |
| 2439 | Lisp_Object tmp = XCAR (x); | 2456 | Lisp_Object tmp = XCAR (x); |
| @@ -2441,7 +2458,7 @@ CHECK_NUMBER_CAR (Lisp_Object x) | |||
| 2441 | XSETCAR (x, tmp); | 2458 | XSETCAR (x, tmp); |
| 2442 | } | 2459 | } |
| 2443 | 2460 | ||
| 2444 | LISP_INLINE void | 2461 | INLINE void |
| 2445 | CHECK_NUMBER_CDR (Lisp_Object x) | 2462 | CHECK_NUMBER_CDR (Lisp_Object x) |
| 2446 | { | 2463 | { |
| 2447 | Lisp_Object tmp = XCDR (x); | 2464 | Lisp_Object tmp = XCDR (x); |
| @@ -2519,7 +2536,7 @@ CHECK_NUMBER_CDR (Lisp_Object x) | |||
| 2519 | Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) | 2536 | Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) |
| 2520 | 2537 | ||
| 2521 | /* True if OBJ is a Lisp function. */ | 2538 | /* True if OBJ is a Lisp function. */ |
| 2522 | LISP_INLINE bool | 2539 | INLINE bool |
| 2523 | FUNCTIONP (Lisp_Object obj) | 2540 | FUNCTIONP (Lisp_Object obj) |
| 2524 | { | 2541 | { |
| 2525 | return functionp (obj); | 2542 | return functionp (obj); |
| @@ -2686,7 +2703,7 @@ extern union specbinding *specpdl; | |||
| 2686 | extern union specbinding *specpdl_ptr; | 2703 | extern union specbinding *specpdl_ptr; |
| 2687 | extern ptrdiff_t specpdl_size; | 2704 | extern ptrdiff_t specpdl_size; |
| 2688 | 2705 | ||
| 2689 | LISP_INLINE ptrdiff_t | 2706 | INLINE ptrdiff_t |
| 2690 | SPECPDL_INDEX (void) | 2707 | SPECPDL_INDEX (void) |
| 2691 | { | 2708 | { |
| 2692 | return specpdl_ptr - specpdl; | 2709 | return specpdl_ptr - specpdl; |
| @@ -3014,22 +3031,22 @@ struct frame; | |||
| 3014 | 3031 | ||
| 3015 | /* Copy COUNT Lisp_Objects from ARGS to contents of V starting from OFFSET. */ | 3032 | /* Copy COUNT Lisp_Objects from ARGS to contents of V starting from OFFSET. */ |
| 3016 | 3033 | ||
| 3017 | LISP_INLINE void | 3034 | INLINE void |
| 3018 | vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Object *args, ptrdiff_t count) | 3035 | vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Object *args, ptrdiff_t count) |
| 3019 | { | 3036 | { |
| 3020 | eassert (0 <= offset && 0 <= count && offset + count <= ASIZE (v)); | 3037 | eassert (0 <= offset && 0 <= count && offset + count <= ASIZE (v)); |
| 3021 | memcpy (XVECTOR (v)->contents + offset, args, count * sizeof *args); | 3038 | memcpy (XVECTOR (v)->u.contents + offset, args, count * sizeof *args); |
| 3022 | } | 3039 | } |
| 3023 | 3040 | ||
| 3024 | /* Functions to modify hash tables. */ | 3041 | /* Functions to modify hash tables. */ |
| 3025 | 3042 | ||
| 3026 | LISP_INLINE void | 3043 | INLINE void |
| 3027 | set_hash_key_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) | 3044 | set_hash_key_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) |
| 3028 | { | 3045 | { |
| 3029 | gc_aset (h->key_and_value, 2 * idx, val); | 3046 | gc_aset (h->key_and_value, 2 * idx, val); |
| 3030 | } | 3047 | } |
| 3031 | 3048 | ||
| 3032 | LISP_INLINE void | 3049 | INLINE void |
| 3033 | set_hash_value_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) | 3050 | set_hash_value_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) |
| 3034 | { | 3051 | { |
| 3035 | gc_aset (h->key_and_value, 2 * idx + 1, val); | 3052 | gc_aset (h->key_and_value, 2 * idx + 1, val); |
| @@ -3038,19 +3055,19 @@ set_hash_value_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) | |||
| 3038 | /* Use these functions to set Lisp_Object | 3055 | /* Use these functions to set Lisp_Object |
| 3039 | or pointer slots of struct Lisp_Symbol. */ | 3056 | or pointer slots of struct Lisp_Symbol. */ |
| 3040 | 3057 | ||
| 3041 | LISP_INLINE void | 3058 | INLINE void |
| 3042 | set_symbol_function (Lisp_Object sym, Lisp_Object function) | 3059 | set_symbol_function (Lisp_Object sym, Lisp_Object function) |
| 3043 | { | 3060 | { |
| 3044 | XSYMBOL (sym)->function = function; | 3061 | XSYMBOL (sym)->function = function; |
| 3045 | } | 3062 | } |
| 3046 | 3063 | ||
| 3047 | LISP_INLINE void | 3064 | INLINE void |
| 3048 | set_symbol_plist (Lisp_Object sym, Lisp_Object plist) | 3065 | set_symbol_plist (Lisp_Object sym, Lisp_Object plist) |
| 3049 | { | 3066 | { |
| 3050 | XSYMBOL (sym)->plist = plist; | 3067 | XSYMBOL (sym)->plist = plist; |
| 3051 | } | 3068 | } |
| 3052 | 3069 | ||
| 3053 | LISP_INLINE void | 3070 | INLINE void |
| 3054 | set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next) | 3071 | set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next) |
| 3055 | { | 3072 | { |
| 3056 | XSYMBOL (sym)->next = next; | 3073 | XSYMBOL (sym)->next = next; |
| @@ -3058,7 +3075,7 @@ set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next) | |||
| 3058 | 3075 | ||
| 3059 | /* Buffer-local (also frame-local) variable access functions. */ | 3076 | /* Buffer-local (also frame-local) variable access functions. */ |
| 3060 | 3077 | ||
| 3061 | LISP_INLINE int | 3078 | INLINE int |
| 3062 | blv_found (struct Lisp_Buffer_Local_Value *blv) | 3079 | blv_found (struct Lisp_Buffer_Local_Value *blv) |
| 3063 | { | 3080 | { |
| 3064 | eassert (blv->found == !EQ (blv->defcell, blv->valcell)); | 3081 | eassert (blv->found == !EQ (blv->defcell, blv->valcell)); |
| @@ -3067,7 +3084,7 @@ blv_found (struct Lisp_Buffer_Local_Value *blv) | |||
| 3067 | 3084 | ||
| 3068 | /* Set overlay's property list. */ | 3085 | /* Set overlay's property list. */ |
| 3069 | 3086 | ||
| 3070 | LISP_INLINE void | 3087 | INLINE void |
| 3071 | set_overlay_plist (Lisp_Object overlay, Lisp_Object plist) | 3088 | set_overlay_plist (Lisp_Object overlay, Lisp_Object plist) |
| 3072 | { | 3089 | { |
| 3073 | XOVERLAY (overlay)->plist = plist; | 3090 | XOVERLAY (overlay)->plist = plist; |
| @@ -3075,7 +3092,7 @@ set_overlay_plist (Lisp_Object overlay, Lisp_Object plist) | |||
| 3075 | 3092 | ||
| 3076 | /* Get text properties of S. */ | 3093 | /* Get text properties of S. */ |
| 3077 | 3094 | ||
| 3078 | LISP_INLINE INTERVAL | 3095 | INLINE INTERVAL |
| 3079 | string_intervals (Lisp_Object s) | 3096 | string_intervals (Lisp_Object s) |
| 3080 | { | 3097 | { |
| 3081 | return XSTRING (s)->intervals; | 3098 | return XSTRING (s)->intervals; |
| @@ -3083,7 +3100,7 @@ string_intervals (Lisp_Object s) | |||
| 3083 | 3100 | ||
| 3084 | /* Set text properties of S to I. */ | 3101 | /* Set text properties of S to I. */ |
| 3085 | 3102 | ||
| 3086 | LISP_INLINE void | 3103 | INLINE void |
| 3087 | set_string_intervals (Lisp_Object s, INTERVAL i) | 3104 | set_string_intervals (Lisp_Object s, INTERVAL i) |
| 3088 | { | 3105 | { |
| 3089 | XSTRING (s)->intervals = i; | 3106 | XSTRING (s)->intervals = i; |
| @@ -3092,12 +3109,12 @@ set_string_intervals (Lisp_Object s, INTERVAL i) | |||
| 3092 | /* Set a Lisp slot in TABLE to VAL. Most code should use this instead | 3109 | /* Set a Lisp slot in TABLE to VAL. Most code should use this instead |
| 3093 | of setting slots directly. */ | 3110 | of setting slots directly. */ |
| 3094 | 3111 | ||
| 3095 | LISP_INLINE void | 3112 | INLINE void |
| 3096 | set_char_table_defalt (Lisp_Object table, Lisp_Object val) | 3113 | set_char_table_defalt (Lisp_Object table, Lisp_Object val) |
| 3097 | { | 3114 | { |
| 3098 | XCHAR_TABLE (table)->defalt = val; | 3115 | XCHAR_TABLE (table)->defalt = val; |
| 3099 | } | 3116 | } |
| 3100 | LISP_INLINE void | 3117 | INLINE void |
| 3101 | set_char_table_purpose (Lisp_Object table, Lisp_Object val) | 3118 | set_char_table_purpose (Lisp_Object table, Lisp_Object val) |
| 3102 | { | 3119 | { |
| 3103 | XCHAR_TABLE (table)->purpose = val; | 3120 | XCHAR_TABLE (table)->purpose = val; |
| @@ -3105,21 +3122,21 @@ set_char_table_purpose (Lisp_Object table, Lisp_Object val) | |||
| 3105 | 3122 | ||
| 3106 | /* Set different slots in (sub)character tables. */ | 3123 | /* Set different slots in (sub)character tables. */ |
| 3107 | 3124 | ||
| 3108 | LISP_INLINE void | 3125 | INLINE void |
| 3109 | set_char_table_extras (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) | 3126 | set_char_table_extras (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) |
| 3110 | { | 3127 | { |
| 3111 | eassert (0 <= idx && idx < CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (table))); | 3128 | eassert (0 <= idx && idx < CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (table))); |
| 3112 | XCHAR_TABLE (table)->extras[idx] = val; | 3129 | XCHAR_TABLE (table)->extras[idx] = val; |
| 3113 | } | 3130 | } |
| 3114 | 3131 | ||
| 3115 | LISP_INLINE void | 3132 | INLINE void |
| 3116 | set_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) | 3133 | set_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) |
| 3117 | { | 3134 | { |
| 3118 | eassert (0 <= idx && idx < (1 << CHARTAB_SIZE_BITS_0)); | 3135 | eassert (0 <= idx && idx < (1 << CHARTAB_SIZE_BITS_0)); |
| 3119 | XCHAR_TABLE (table)->contents[idx] = val; | 3136 | XCHAR_TABLE (table)->contents[idx] = val; |
| 3120 | } | 3137 | } |
| 3121 | 3138 | ||
| 3122 | LISP_INLINE void | 3139 | INLINE void |
| 3123 | set_sub_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) | 3140 | set_sub_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) |
| 3124 | { | 3141 | { |
| 3125 | XSUB_CHAR_TABLE (table)->contents[idx] = val; | 3142 | XSUB_CHAR_TABLE (table)->contents[idx] = val; |
| @@ -3160,6 +3177,16 @@ EXFUN (Fbyteorder, 0) ATTRIBUTE_CONST; | |||
| 3160 | /* Defined in data.c. */ | 3177 | /* Defined in data.c. */ |
| 3161 | extern Lisp_Object indirect_function (Lisp_Object); | 3178 | extern Lisp_Object indirect_function (Lisp_Object); |
| 3162 | extern Lisp_Object find_symbol_value (Lisp_Object); | 3179 | extern Lisp_Object find_symbol_value (Lisp_Object); |
| 3180 | enum Arith_Comparison { | ||
| 3181 | ARITH_EQUAL, | ||
| 3182 | ARITH_NOTEQUAL, | ||
| 3183 | ARITH_LESS, | ||
| 3184 | ARITH_GRTR, | ||
| 3185 | ARITH_LESS_OR_EQUAL, | ||
| 3186 | ARITH_GRTR_OR_EQUAL | ||
| 3187 | }; | ||
| 3188 | extern Lisp_Object arithcompare (Lisp_Object num1, Lisp_Object num2, | ||
| 3189 | enum Arith_Comparison comparison); | ||
| 3163 | 3190 | ||
| 3164 | /* Convert the integer I to an Emacs representation, either the integer | 3191 | /* Convert the integer I to an Emacs representation, either the integer |
| 3165 | itself, or a cons of two or three integers, or if all else fails a float. | 3192 | itself, or a cons of two or three integers, or if all else fails a float. |
| @@ -3339,7 +3366,6 @@ extern void syms_of_insdel (void); | |||
| 3339 | && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__)) | 3366 | && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__)) |
| 3340 | _Noreturn void __executable_start (void); | 3367 | _Noreturn void __executable_start (void); |
| 3341 | #endif | 3368 | #endif |
| 3342 | extern Lisp_Object selected_frame; | ||
| 3343 | extern Lisp_Object Vwindow_system; | 3369 | extern Lisp_Object Vwindow_system; |
| 3344 | extern Lisp_Object sit_for (Lisp_Object, bool, int); | 3370 | extern Lisp_Object sit_for (Lisp_Object, bool, int); |
| 3345 | extern void init_display (void); | 3371 | extern void init_display (void); |
| @@ -3359,10 +3385,7 @@ extern Lisp_Object Qglyphless_char; | |||
| 3359 | extern Lisp_Object QCdata, QCfile; | 3385 | extern Lisp_Object QCdata, QCfile; |
| 3360 | extern Lisp_Object QCmap; | 3386 | extern Lisp_Object QCmap; |
| 3361 | extern Lisp_Object Qrisky_local_variable; | 3387 | extern Lisp_Object Qrisky_local_variable; |
| 3362 | extern struct frame *last_glyphless_glyph_frame; | 3388 | extern bool noninteractive_need_newline; |
| 3363 | extern int last_glyphless_glyph_face_id; | ||
| 3364 | extern int last_glyphless_glyph_merged_face_id; | ||
| 3365 | extern int noninteractive_need_newline; | ||
| 3366 | extern Lisp_Object echo_area_buffer[2]; | 3389 | extern Lisp_Object echo_area_buffer[2]; |
| 3367 | extern void add_to_log (const char *, Lisp_Object, Lisp_Object); | 3390 | extern void add_to_log (const char *, Lisp_Object, Lisp_Object); |
| 3368 | extern void check_message_stack (void); | 3391 | extern void check_message_stack (void); |
| @@ -3429,19 +3452,19 @@ extern Lisp_Object listn (enum constype, ptrdiff_t, Lisp_Object, ...); | |||
| 3429 | 3452 | ||
| 3430 | /* Build a frequently used 2/3/4-integer lists. */ | 3453 | /* Build a frequently used 2/3/4-integer lists. */ |
| 3431 | 3454 | ||
| 3432 | LISP_INLINE Lisp_Object | 3455 | INLINE Lisp_Object |
| 3433 | list2i (EMACS_INT x, EMACS_INT y) | 3456 | list2i (EMACS_INT x, EMACS_INT y) |
| 3434 | { | 3457 | { |
| 3435 | return list2 (make_number (x), make_number (y)); | 3458 | return list2 (make_number (x), make_number (y)); |
| 3436 | } | 3459 | } |
| 3437 | 3460 | ||
| 3438 | LISP_INLINE Lisp_Object | 3461 | INLINE Lisp_Object |
| 3439 | list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w) | 3462 | list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w) |
| 3440 | { | 3463 | { |
| 3441 | return list3 (make_number (x), make_number (y), make_number (w)); | 3464 | return list3 (make_number (x), make_number (y), make_number (w)); |
| 3442 | } | 3465 | } |
| 3443 | 3466 | ||
| 3444 | LISP_INLINE Lisp_Object | 3467 | INLINE Lisp_Object |
| 3445 | list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h) | 3468 | list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h) |
| 3446 | { | 3469 | { |
| 3447 | return list4 (make_number (x), make_number (y), | 3470 | return list4 (make_number (x), make_number (y), |
| @@ -3456,7 +3479,7 @@ extern Lisp_Object make_unibyte_string (const char *, ptrdiff_t); | |||
| 3456 | 3479 | ||
| 3457 | /* Make unibyte string from C string when the length isn't known. */ | 3480 | /* Make unibyte string from C string when the length isn't known. */ |
| 3458 | 3481 | ||
| 3459 | LISP_INLINE Lisp_Object | 3482 | INLINE Lisp_Object |
| 3460 | build_unibyte_string (const char *str) | 3483 | build_unibyte_string (const char *str) |
| 3461 | { | 3484 | { |
| 3462 | return make_unibyte_string (str, strlen (str)); | 3485 | return make_unibyte_string (str, strlen (str)); |
| @@ -3474,7 +3497,7 @@ extern Lisp_Object make_pure_c_string (const char *, ptrdiff_t); | |||
| 3474 | 3497 | ||
| 3475 | /* Make a string allocated in pure space, use STR as string data. */ | 3498 | /* Make a string allocated in pure space, use STR as string data. */ |
| 3476 | 3499 | ||
| 3477 | LISP_INLINE Lisp_Object | 3500 | INLINE Lisp_Object |
| 3478 | build_pure_c_string (const char *str) | 3501 | build_pure_c_string (const char *str) |
| 3479 | { | 3502 | { |
| 3480 | return make_pure_c_string (str, strlen (str)); | 3503 | return make_pure_c_string (str, strlen (str)); |
| @@ -3483,7 +3506,7 @@ build_pure_c_string (const char *str) | |||
| 3483 | /* Make a string from the data at STR, treating it as multibyte if the | 3506 | /* Make a string from the data at STR, treating it as multibyte if the |
| 3484 | data warrants. */ | 3507 | data warrants. */ |
| 3485 | 3508 | ||
| 3486 | LISP_INLINE Lisp_Object | 3509 | INLINE Lisp_Object |
| 3487 | build_string (const char *str) | 3510 | build_string (const char *str) |
| 3488 | { | 3511 | { |
| 3489 | return make_string (str, strlen (str)); | 3512 | return make_string (str, strlen (str)); |
| @@ -3504,7 +3527,7 @@ extern struct Lisp_Vector *allocate_vector (EMACS_INT); | |||
| 3504 | ASET (v, 1, Ffunction_can_gc ()); | 3527 | ASET (v, 1, Ffunction_can_gc ()); |
| 3505 | ASET (v, 2, obj1); */ | 3528 | ASET (v, 2, obj1); */ |
| 3506 | 3529 | ||
| 3507 | LISP_INLINE Lisp_Object | 3530 | INLINE Lisp_Object |
| 3508 | make_uninit_vector (ptrdiff_t size) | 3531 | make_uninit_vector (ptrdiff_t size) |
| 3509 | { | 3532 | { |
| 3510 | Lisp_Object v; | 3533 | Lisp_Object v; |
| @@ -3551,7 +3574,7 @@ extern int valid_lisp_object_p (Lisp_Object); | |||
| 3551 | #ifdef GC_CHECK_CONS_LIST | 3574 | #ifdef GC_CHECK_CONS_LIST |
| 3552 | extern void check_cons_list (void); | 3575 | extern void check_cons_list (void); |
| 3553 | #else | 3576 | #else |
| 3554 | LISP_INLINE void (check_cons_list) (void) { lisp_h_check_cons_list (); } | 3577 | INLINE void (check_cons_list) (void) { lisp_h_check_cons_list (); } |
| 3555 | #endif | 3578 | #endif |
| 3556 | 3579 | ||
| 3557 | #ifdef REL_ALLOC | 3580 | #ifdef REL_ALLOC |
| @@ -3619,7 +3642,7 @@ extern Lisp_Object check_obarray (Lisp_Object); | |||
| 3619 | extern Lisp_Object intern_1 (const char *, ptrdiff_t); | 3642 | extern Lisp_Object intern_1 (const char *, ptrdiff_t); |
| 3620 | extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t); | 3643 | extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t); |
| 3621 | extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t); | 3644 | extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t); |
| 3622 | LISP_INLINE void | 3645 | INLINE void |
| 3623 | LOADHIST_ATTACH (Lisp_Object x) | 3646 | LOADHIST_ATTACH (Lisp_Object x) |
| 3624 | { | 3647 | { |
| 3625 | if (initialized) | 3648 | if (initialized) |
| @@ -3635,13 +3658,13 @@ extern void init_obarray (void); | |||
| 3635 | extern void init_lread (void); | 3658 | extern void init_lread (void); |
| 3636 | extern void syms_of_lread (void); | 3659 | extern void syms_of_lread (void); |
| 3637 | 3660 | ||
| 3638 | LISP_INLINE Lisp_Object | 3661 | INLINE Lisp_Object |
| 3639 | intern (const char *str) | 3662 | intern (const char *str) |
| 3640 | { | 3663 | { |
| 3641 | return intern_1 (str, strlen (str)); | 3664 | return intern_1 (str, strlen (str)); |
| 3642 | } | 3665 | } |
| 3643 | 3666 | ||
| 3644 | LISP_INLINE Lisp_Object | 3667 | INLINE Lisp_Object |
| 3645 | intern_c_string (const char *str) | 3668 | intern_c_string (const char *str) |
| 3646 | { | 3669 | { |
| 3647 | return intern_c_string_1 (str, strlen (str)); | 3670 | return intern_c_string_1 (str, strlen (str)); |
| @@ -3920,9 +3943,9 @@ void fixup_locale (void); | |||
| 3920 | void synchronize_system_messages_locale (void); | 3943 | void synchronize_system_messages_locale (void); |
| 3921 | void synchronize_system_time_locale (void); | 3944 | void synchronize_system_time_locale (void); |
| 3922 | #else | 3945 | #else |
| 3923 | LISP_INLINE void fixup_locale (void) {} | 3946 | INLINE void fixup_locale (void) {} |
| 3924 | LISP_INLINE void synchronize_system_messages_locale (void) {} | 3947 | INLINE void synchronize_system_messages_locale (void) {} |
| 3925 | LISP_INLINE void synchronize_system_time_locale (void) {} | 3948 | INLINE void synchronize_system_time_locale (void) {} |
| 3926 | #endif | 3949 | #endif |
| 3927 | extern void shut_down_emacs (int, Lisp_Object); | 3950 | extern void shut_down_emacs (int, Lisp_Object); |
| 3928 | 3951 | ||
| @@ -4301,7 +4324,7 @@ extern void *record_xmalloc (size_t); | |||
| 4301 | 4324 | ||
| 4302 | /* Check whether it's time for GC, and run it if so. */ | 4325 | /* Check whether it's time for GC, and run it if so. */ |
| 4303 | 4326 | ||
| 4304 | LISP_INLINE void | 4327 | INLINE void |
| 4305 | maybe_gc (void) | 4328 | maybe_gc (void) |
| 4306 | { | 4329 | { |
| 4307 | if ((consing_since_gc > gc_cons_threshold | 4330 | if ((consing_since_gc > gc_cons_threshold |
| @@ -4311,7 +4334,7 @@ maybe_gc (void) | |||
| 4311 | Fgarbage_collect (); | 4334 | Fgarbage_collect (); |
| 4312 | } | 4335 | } |
| 4313 | 4336 | ||
| 4314 | LISP_INLINE bool | 4337 | INLINE bool |
| 4315 | functionp (Lisp_Object object) | 4338 | functionp (Lisp_Object object) |
| 4316 | { | 4339 | { |
| 4317 | if (SYMBOLP (object) && !NILP (Ffboundp (object))) | 4340 | if (SYMBOLP (object) && !NILP (Ffboundp (object))) |
| @@ -4343,6 +4366,40 @@ functionp (Lisp_Object object) | |||
| 4343 | return 0; | 4366 | return 0; |
| 4344 | } | 4367 | } |
| 4345 | 4368 | ||
| 4369 | INLINE uint16_t | ||
| 4370 | swap16 (uint16_t val) | ||
| 4371 | { | ||
| 4372 | return (val << 8) | (val & 0xFF); | ||
| 4373 | } | ||
| 4374 | |||
| 4375 | INLINE uint32_t | ||
| 4376 | swap32 (uint32_t val) | ||
| 4377 | { | ||
| 4378 | uint32_t low = swap16 (val & 0xFFFF); | ||
| 4379 | uint32_t high = swap16 (val >> 16); | ||
| 4380 | return (low << 16) | high; | ||
| 4381 | } | ||
| 4382 | |||
| 4383 | #ifdef UINT64_MAX | ||
| 4384 | INLINE uint64_t | ||
| 4385 | swap64 (uint64_t val) | ||
| 4386 | { | ||
| 4387 | uint64_t low = swap32 (val & 0xFFFFFFFF); | ||
| 4388 | uint64_t high = swap32 (val >> 32); | ||
| 4389 | return (low << 32) | high; | ||
| 4390 | } | ||
| 4391 | #endif | ||
| 4392 | |||
| 4393 | #if ((SIZE_MAX >> 31) >> 1) & 1 | ||
| 4394 | # define BITS_PER_SIZE_T 64 | ||
| 4395 | #else | ||
| 4396 | # define BITS_PER_SIZE_T 32 | ||
| 4397 | #endif | ||
| 4398 | |||
| 4399 | /* Round x to the next multiple of y. Does not overflow. Evaluates | ||
| 4400 | arguments repeatedly. */ | ||
| 4401 | #define ROUNDUP(x,y) ((y)*((x)/(y) + ((x)%(y)!=0))) | ||
| 4402 | |||
| 4346 | INLINE_HEADER_END | 4403 | INLINE_HEADER_END |
| 4347 | 4404 | ||
| 4348 | #endif /* EMACS_LISP_H */ | 4405 | #endif /* EMACS_LISP_H */ |
diff --git a/src/lisp.mk b/src/lisp.mk index a9a661ea3a8..c12deebd893 100644 --- a/src/lisp.mk +++ b/src/lisp.mk | |||
| @@ -152,6 +152,7 @@ lisp = \ | |||
| 152 | $(lispsource)/term/w32-win.elc \ | 152 | $(lispsource)/term/w32-win.elc \ |
| 153 | $(lispsource)/ls-lisp.elc \ | 153 | $(lispsource)/ls-lisp.elc \ |
| 154 | $(lispsource)/disp-table.elc \ | 154 | $(lispsource)/disp-table.elc \ |
| 155 | $(lispsource)/w32-common-fns.elc \ | ||
| 155 | $(lispsource)/dos-w32.elc \ | 156 | $(lispsource)/dos-w32.elc \ |
| 156 | $(lispsource)/w32-fns.elc \ | 157 | $(lispsource)/w32-fns.elc \ |
| 157 | $(lispsource)/dos-fns.elc \ | 158 | $(lispsource)/dos-fns.elc \ |
diff --git a/src/lread.c b/src/lread.c index 9518631ba6d..fe2b92a34b3 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -2597,7 +2597,10 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) | |||
| 2597 | build them using function calls. */ | 2597 | build them using function calls. */ |
| 2598 | Lisp_Object tmp; | 2598 | Lisp_Object tmp; |
| 2599 | tmp = read_vector (readcharfun, 1); | 2599 | tmp = read_vector (readcharfun, 1); |
| 2600 | make_byte_code (XVECTOR (tmp)); | 2600 | struct Lisp_Vector* vec = XVECTOR (tmp); |
| 2601 | if (vec->header.size==0) | ||
| 2602 | invalid_syntax ("Empty byte-code object"); | ||
| 2603 | make_byte_code (vec); | ||
| 2601 | return tmp; | 2604 | return tmp; |
| 2602 | } | 2605 | } |
| 2603 | if (c == '(') | 2606 | if (c == '(') |
| @@ -3459,7 +3462,7 @@ read_vector (Lisp_Object readcharfun, bool bytecodeflag) | |||
| 3459 | vector = Fmake_vector (len, Qnil); | 3462 | vector = Fmake_vector (len, Qnil); |
| 3460 | 3463 | ||
| 3461 | size = ASIZE (vector); | 3464 | size = ASIZE (vector); |
| 3462 | ptr = XVECTOR (vector)->contents; | 3465 | ptr = XVECTOR (vector)->u.contents; |
| 3463 | for (i = 0; i < size; i++) | 3466 | for (i = 0; i < size; i++) |
| 3464 | { | 3467 | { |
| 3465 | item = Fcar (tem); | 3468 | item = Fcar (tem); |
diff --git a/src/macfont.h b/src/macfont.h new file mode 100644 index 00000000000..141d60bfb0a --- /dev/null +++ b/src/macfont.h | |||
| @@ -0,0 +1,144 @@ | |||
| 1 | /* Interface definition for Mac OSX Core text font backend. | ||
| 2 | Copyright (C) 2009-2013 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation, either version 3 of the License, or | ||
| 9 | (at your option) any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | Original author: YAMAMOTO Mitsuharu | ||
| 20 | */ | ||
| 21 | |||
| 22 | /* Structure used by Mac `shape' functions for storing layout | ||
| 23 | information for each glyph. */ | ||
| 24 | struct mac_glyph_layout | ||
| 25 | { | ||
| 26 | /* Range of indices of the characters composed into the group of | ||
| 27 | glyphs that share the cursor position with this glyph. The | ||
| 28 | members `location' and `length' are in UTF-16 indices. */ | ||
| 29 | CFRange comp_range; | ||
| 30 | |||
| 31 | /* UTF-16 index in the source string for the first character | ||
| 32 | associated with this glyph. */ | ||
| 33 | CFIndex string_index; | ||
| 34 | |||
| 35 | /* Horizontal and vertical adjustments of glyph position. The | ||
| 36 | coordinate space is that of Core Text. So, the `baseline_delta' | ||
| 37 | value is negative if the glyph should be placed below the | ||
| 38 | baseline. */ | ||
| 39 | CGFloat advance_delta, baseline_delta; | ||
| 40 | |||
| 41 | /* Typographical width of the glyph. */ | ||
| 42 | CGFloat advance; | ||
| 43 | |||
| 44 | /* Glyph ID of the glyph. */ | ||
| 45 | CGGlyph glyph_id; | ||
| 46 | }; | ||
| 47 | |||
| 48 | typedef CTFontDescriptorRef FontDescriptorRef; | ||
| 49 | typedef CTFontRef FontRef; | ||
| 50 | typedef CTFontSymbolicTraits FontSymbolicTraits; | ||
| 51 | typedef CTCharacterCollection CharacterCollection; | ||
| 52 | |||
| 53 | #define MAC_FONT_NAME_ATTRIBUTE kCTFontNameAttribute | ||
| 54 | #define MAC_FONT_FAMILY_NAME_ATTRIBUTE kCTFontFamilyNameAttribute | ||
| 55 | #define MAC_FONT_TRAITS_ATTRIBUTE kCTFontTraitsAttribute | ||
| 56 | #define MAC_FONT_SIZE_ATTRIBUTE kCTFontSizeAttribute | ||
| 57 | #define MAC_FONT_CASCADE_LIST_ATTRIBUTE kCTFontCascadeListAttribute | ||
| 58 | #define MAC_FONT_CHARACTER_SET_ATTRIBUTE kCTFontCharacterSetAttribute | ||
| 59 | #define MAC_FONT_LANGUAGES_ATTRIBUTE kCTFontLanguagesAttribute | ||
| 60 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 61 | #define MAC_FONT_FORMAT_ATTRIBUTE kCTFontFormatAttribute | ||
| 62 | #else | ||
| 63 | #define MAC_FONT_FORMAT_ATTRIBUTE (CFSTR ("NSCTFontFormatAttribute")) | ||
| 64 | #endif | ||
| 65 | #define MAC_FONT_SYMBOLIC_TRAIT kCTFontSymbolicTrait | ||
| 66 | #define MAC_FONT_WEIGHT_TRAIT kCTFontWeightTrait | ||
| 67 | #define MAC_FONT_WIDTH_TRAIT kCTFontWidthTrait | ||
| 68 | #define MAC_FONT_SLANT_TRAIT kCTFontSlantTrait | ||
| 69 | |||
| 70 | enum { | ||
| 71 | MAC_FONT_TRAIT_ITALIC = kCTFontItalicTrait, | ||
| 72 | MAC_FONT_TRAIT_BOLD = kCTFontBoldTrait, | ||
| 73 | MAC_FONT_TRAIT_MONO_SPACE = kCTFontMonoSpaceTrait, | ||
| 74 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 | ||
| 75 | MAC_FONT_TRAIT_COLOR_GLYPHS = kCTFontColorGlyphsTrait | ||
| 76 | #else | ||
| 77 | MAC_FONT_TRAIT_COLOR_GLYPHS = (1 << 13) | ||
| 78 | #endif | ||
| 79 | }; | ||
| 80 | |||
| 81 | enum { | ||
| 82 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 | ||
| 83 | MAC_FONT_FORMAT_BITMAP = kCTFontFormatBitmap | ||
| 84 | #else | ||
| 85 | MAC_FONT_FORMAT_BITMAP = 5 | ||
| 86 | #endif | ||
| 87 | }; | ||
| 88 | |||
| 89 | enum { | ||
| 90 | MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING = kCTIdentityMappingCharacterCollection, | ||
| 91 | MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1 = kCTAdobeJapan1CharacterCollection | ||
| 92 | }; | ||
| 93 | |||
| 94 | #define mac_font_descriptor_create_with_attributes \ | ||
| 95 | CTFontDescriptorCreateWithAttributes | ||
| 96 | #define mac_font_descriptor_create_matching_font_descriptors \ | ||
| 97 | CTFontDescriptorCreateMatchingFontDescriptors | ||
| 98 | #define mac_font_descriptor_create_matching_font_descriptor \ | ||
| 99 | CTFontDescriptorCreateMatchingFontDescriptor | ||
| 100 | #define mac_font_descriptor_copy_attribute CTFontDescriptorCopyAttribute | ||
| 101 | #define mac_font_descriptor_supports_languages \ | ||
| 102 | mac_ctfont_descriptor_supports_languages | ||
| 103 | #define mac_font_create_with_name(name, size) \ | ||
| 104 | CTFontCreateWithName (name, size, NULL) | ||
| 105 | #define mac_font_get_size CTFontGetSize | ||
| 106 | #define mac_font_copy_family_name CTFontCopyFamilyName | ||
| 107 | #define mac_font_copy_character_set CTFontCopyCharacterSet | ||
| 108 | #define mac_font_get_glyphs_for_characters CTFontGetGlyphsForCharacters | ||
| 109 | #define mac_font_get_ascent CTFontGetAscent | ||
| 110 | #define mac_font_get_descent CTFontGetDescent | ||
| 111 | #define mac_font_get_leading CTFontGetLeading | ||
| 112 | #define mac_font_get_underline_position CTFontGetUnderlinePosition | ||
| 113 | #define mac_font_get_underline_thickness CTFontGetUnderlineThickness | ||
| 114 | #define mac_font_copy_graphics_font(font) CTFontCopyGraphicsFont (font, NULL) | ||
| 115 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 116 | #define mac_font_copy_non_synthetic_table(font, table) \ | ||
| 117 | CTFontCopyTable (font, table, kCTFontTableOptionNoOptions) | ||
| 118 | #else | ||
| 119 | #define mac_font_copy_non_synthetic_table(font, table) \ | ||
| 120 | CTFontCopyTable (font, table, kCTFontTableOptionExcludeSynthetic) | ||
| 121 | #endif | ||
| 122 | |||
| 123 | #define mac_font_create_preferred_family_for_attributes \ | ||
| 124 | mac_ctfont_create_preferred_family_for_attributes | ||
| 125 | #define mac_font_get_advance_width_for_glyph \ | ||
| 126 | mac_ctfont_get_advance_width_for_glyph | ||
| 127 | #define mac_font_get_bounding_rect_for_glyph \ | ||
| 128 | mac_ctfont_get_bounding_rect_for_glyph | ||
| 129 | #define mac_font_create_available_families mac_ctfont_create_available_families | ||
| 130 | #define mac_font_shape mac_ctfont_shape | ||
| 131 | #if USE_CT_GLYPH_INFO | ||
| 132 | #define mac_font_get_glyph_for_cid mac_ctfont_get_glyph_for_cid | ||
| 133 | #endif | ||
| 134 | |||
| 135 | #define mac_nsctfont_copy_font_descriptor CTFontCopyFontDescriptor | ||
| 136 | |||
| 137 | #define MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE \ | ||
| 138 | (CFSTR ("MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE")) | ||
| 139 | |||
| 140 | typedef const struct _EmacsScreenFont *ScreenFontRef; /* opaque */ | ||
| 141 | |||
| 142 | extern void mac_register_font_driver (struct frame *f); | ||
| 143 | extern void *macfont_get_nsctfont (struct font *font); | ||
| 144 | |||
diff --git a/src/macfont.m b/src/macfont.m new file mode 100644 index 00000000000..ab5029743ef --- /dev/null +++ b/src/macfont.m | |||
| @@ -0,0 +1,3858 @@ | |||
| 1 | /* Font driver on Mac OSX Core text. | ||
| 2 | Copyright (C) 2009-2013 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation, either version 3 of the License, or | ||
| 9 | (at your option) any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | Original author: YAMAMOTO Mitsuharu | ||
| 20 | */ | ||
| 21 | |||
| 22 | #include <config.h> | ||
| 23 | |||
| 24 | #include "lisp.h" | ||
| 25 | #include "dispextern.h" | ||
| 26 | #include "frame.h" | ||
| 27 | #include "blockinput.h" | ||
| 28 | #include "character.h" | ||
| 29 | #include "charset.h" | ||
| 30 | #include "composite.h" | ||
| 31 | #include "fontset.h" | ||
| 32 | #include "font.h" | ||
| 33 | #include "nsgui.h" | ||
| 34 | #include "nsterm.h" | ||
| 35 | #include "macfont.h" | ||
| 36 | #include "macuvs.h" | ||
| 37 | |||
| 38 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | ||
| 39 | |||
| 40 | #include <libkern/OSByteOrder.h> | ||
| 41 | |||
| 42 | static struct font_driver macfont_driver; | ||
| 43 | |||
| 44 | /* Core Text, for Mac OS X 10.5 and later. */ | ||
| 45 | static Lisp_Object Qmac_ct; | ||
| 46 | |||
| 47 | static double mac_ctfont_get_advance_width_for_glyph (CTFontRef, CGGlyph); | ||
| 48 | static CGRect mac_ctfont_get_bounding_rect_for_glyph (CTFontRef, CGGlyph); | ||
| 49 | static CFArrayRef mac_ctfont_create_available_families (void); | ||
| 50 | static Boolean mac_ctfont_equal_in_postscript_name (CTFontRef, CTFontRef); | ||
| 51 | static CTLineRef mac_ctfont_create_line_with_string_and_font (CFStringRef, | ||
| 52 | CTFontRef); | ||
| 53 | static CFComparisonResult mac_font_family_compare (const void *, | ||
| 54 | const void *, void *); | ||
| 55 | static Boolean mac_ctfont_descriptor_supports_languages (CTFontDescriptorRef, | ||
| 56 | CFArrayRef); | ||
| 57 | static CFStringRef mac_ctfont_create_preferred_family_for_attributes (CFDictionaryRef); | ||
| 58 | static CFIndex mac_ctfont_shape (CTFontRef, CFStringRef, | ||
| 59 | struct mac_glyph_layout *, CFIndex); | ||
| 60 | #if USE_CT_GLYPH_INFO | ||
| 61 | static CGGlyph mac_ctfont_get_glyph_for_cid (CTFontRef, | ||
| 62 | CTCharacterCollection, | ||
| 63 | CGFontIndex); | ||
| 64 | #endif | ||
| 65 | |||
| 66 | /* The font property key specifying the font design destination. The | ||
| 67 | value is an unsigned integer code: 0 for WYSIWIG, and 1 for Video | ||
| 68 | text. (See the documentation of X Logical Font Description | ||
| 69 | Conventions.) In the Mac font driver, 1 means the screen font is | ||
| 70 | used for calculating some glyph metrics. You can see the | ||
| 71 | difference with Monaco 8pt or 9pt, for example. */ | ||
| 72 | static Lisp_Object QCdestination; | ||
| 73 | |||
| 74 | /* The boolean-valued font property key specifying the use of | ||
| 75 | leading. */ | ||
| 76 | static Lisp_Object QCminspace; | ||
| 77 | |||
| 78 | struct macfont_metrics; | ||
| 79 | |||
| 80 | /* The actual structure for Mac font that can be casted to struct font. */ | ||
| 81 | |||
| 82 | struct macfont_info | ||
| 83 | { | ||
| 84 | struct font font; | ||
| 85 | FontRef macfont; | ||
| 86 | CGFontRef cgfont; | ||
| 87 | ScreenFontRef screen_font; | ||
| 88 | struct macfont_cache *cache; | ||
| 89 | struct macfont_metrics **metrics; | ||
| 90 | short metrics_nrows; | ||
| 91 | unsigned synthetic_italic_p : 1; | ||
| 92 | unsigned synthetic_bold_p : 1; | ||
| 93 | unsigned spacing : 2; | ||
| 94 | unsigned antialias : 2; | ||
| 95 | unsigned color_bitmap_p : 1; | ||
| 96 | }; | ||
| 97 | |||
| 98 | /* Values for the `spacing' member in `struct macfont_info'. */ | ||
| 99 | |||
| 100 | enum | ||
| 101 | { | ||
| 102 | MACFONT_SPACING_PROPORTIONAL, | ||
| 103 | MACFONT_SPACING_MONO, | ||
| 104 | MACFONT_SPACING_SYNTHETIC_MONO, | ||
| 105 | }; | ||
| 106 | |||
| 107 | /* Values for the `antialias' member in `struct macfont_info'. */ | ||
| 108 | |||
| 109 | enum | ||
| 110 | { | ||
| 111 | MACFONT_ANTIALIAS_DEFAULT, | ||
| 112 | MACFONT_ANTIALIAS_OFF, | ||
| 113 | MACFONT_ANTIALIAS_ON, | ||
| 114 | }; | ||
| 115 | |||
| 116 | enum {FONT_SLANT_SYNTHETIC_ITALIC = 200}; /* FC_SLANT_ITALIC + 100 */ | ||
| 117 | enum {FONT_WEIGHT_SYNTHETIC_BOLD = 200}; /* FC_WEIGHT_BOLD */ | ||
| 118 | enum {FONT_SPACING_SYNTHETIC_MONO = FONT_SPACING_MONO}; | ||
| 119 | |||
| 120 | static const CGAffineTransform synthetic_italic_atfm = {1, 0, 0.25, 1, 0, 0}; | ||
| 121 | static const CGFloat synthetic_bold_factor = 0.024; | ||
| 122 | |||
| 123 | static Boolean cfnumber_get_font_symbolic_traits_value (CFNumberRef, | ||
| 124 | FontSymbolicTraits *); | ||
| 125 | static void macfont_store_descriptor_attributes (FontDescriptorRef, | ||
| 126 | Lisp_Object); | ||
| 127 | static Lisp_Object macfont_descriptor_entity (FontDescriptorRef, | ||
| 128 | Lisp_Object, | ||
| 129 | FontSymbolicTraits); | ||
| 130 | static CFStringRef macfont_create_family_with_symbol (Lisp_Object); | ||
| 131 | static int macfont_glyph_extents (struct font *, CGGlyph, | ||
| 132 | struct font_metrics *, CGFloat *, int); | ||
| 133 | static CFMutableDictionaryRef macfont_create_attributes_with_spec (Lisp_Object); | ||
| 134 | static Boolean macfont_supports_charset_and_languages_p (FontDescriptorRef, | ||
| 135 | CFCharacterSetRef, | ||
| 136 | Lisp_Object, | ||
| 137 | CFArrayRef); | ||
| 138 | static CFIndex macfont_closest_traits_index (CFArrayRef, | ||
| 139 | FontSymbolicTraits); | ||
| 140 | static CFDataRef mac_font_copy_uvs_table (FontRef); | ||
| 141 | static void mac_font_get_glyphs_for_variants (CFDataRef, UTF32Char, | ||
| 142 | const UTF32Char [], | ||
| 143 | CGGlyph [], CFIndex); | ||
| 144 | |||
| 145 | /* From CFData to a lisp string. Always returns a unibyte string. */ | ||
| 146 | |||
| 147 | static Lisp_Object | ||
| 148 | cfdata_to_lisp (CFDataRef data) | ||
| 149 | { | ||
| 150 | CFIndex len = CFDataGetLength (data); | ||
| 151 | Lisp_Object result = make_uninit_string (len); | ||
| 152 | |||
| 153 | CFDataGetBytes (data, CFRangeMake (0, len), SDATA (result)); | ||
| 154 | |||
| 155 | return result; | ||
| 156 | } | ||
| 157 | |||
| 158 | |||
| 159 | |||
| 160 | /* From CFString to a lisp string. Returns a unibyte string | ||
| 161 | containing a UTF-8 byte sequence. */ | ||
| 162 | |||
| 163 | static Lisp_Object | ||
| 164 | cfstring_to_lisp_nodecode (CFStringRef string) | ||
| 165 | { | ||
| 166 | Lisp_Object result = Qnil; | ||
| 167 | CFDataRef data; | ||
| 168 | const char *s = CFStringGetCStringPtr (string, kCFStringEncodingUTF8); | ||
| 169 | |||
| 170 | if (s) | ||
| 171 | { | ||
| 172 | CFIndex i, length = CFStringGetLength (string); | ||
| 173 | |||
| 174 | for (i = 0; i < length; i++) | ||
| 175 | if (CFStringGetCharacterAtIndex (string, i) == 0) | ||
| 176 | break; | ||
| 177 | |||
| 178 | if (i == length) | ||
| 179 | return make_unibyte_string (s, strlen (s)); | ||
| 180 | } | ||
| 181 | |||
| 182 | data = CFStringCreateExternalRepresentation (NULL, string, | ||
| 183 | kCFStringEncodingUTF8, '?'); | ||
| 184 | if (data) | ||
| 185 | { | ||
| 186 | result = cfdata_to_lisp (data); | ||
| 187 | CFRelease (data); | ||
| 188 | } | ||
| 189 | |||
| 190 | return result; | ||
| 191 | } | ||
| 192 | |||
| 193 | /* Lisp string containing a UTF-8 byte sequence to CFString. Unlike | ||
| 194 | cfstring_create_with_utf8_cstring, this function preserves NUL | ||
| 195 | characters. */ | ||
| 196 | |||
| 197 | static CFStringRef | ||
| 198 | cfstring_create_with_string_noencode (Lisp_Object s) | ||
| 199 | { | ||
| 200 | CFStringRef string = CFStringCreateWithBytes (NULL, SDATA (s), SBYTES (s), | ||
| 201 | kCFStringEncodingUTF8, false); | ||
| 202 | |||
| 203 | if (string == NULL) | ||
| 204 | /* Failed to interpret as UTF 8. Fall back on Mac Roman. */ | ||
| 205 | string = CFStringCreateWithBytes (NULL, SDATA (s), SBYTES (s), | ||
| 206 | kCFStringEncodingMacRoman, false); | ||
| 207 | |||
| 208 | return string; | ||
| 209 | } | ||
| 210 | |||
| 211 | static CGFloat | ||
| 212 | mac_screen_font_get_advance_width_for_glyph (ScreenFontRef font, CGGlyph glyph) | ||
| 213 | { | ||
| 214 | NSSize advancement = [(NSFont *)font advancementForGlyph:glyph]; | ||
| 215 | |||
| 216 | return advancement.width; | ||
| 217 | } | ||
| 218 | |||
| 219 | static CGGlyph | ||
| 220 | mac_font_get_glyph_for_cid (FontRef font, CharacterCollection collection, | ||
| 221 | CGFontIndex cid) | ||
| 222 | { | ||
| 223 | #if USE_CT_GLYPH_INFO | ||
| 224 | return mac_ctfont_get_glyph_for_cid ((CTFontRef) font, collection, cid); | ||
| 225 | #else | ||
| 226 | { | ||
| 227 | CGGlyph result = kCGFontIndexInvalid; | ||
| 228 | NSFont *nsFont = (NSFont *) font; | ||
| 229 | unichar characters[] = {0xfffd}; | ||
| 230 | NSString *string = | ||
| 231 | [NSString stringWithCharacters:characters | ||
| 232 | length:(sizeof (characters) | ||
| 233 | / sizeof (characters[0]))]; | ||
| 234 | NSGlyphInfo *glyphInfo = | ||
| 235 | [NSGlyphInfo glyphInfoWithCharacterIdentifier:cid | ||
| 236 | collection:collection | ||
| 237 | baseString:string]; | ||
| 238 | NSDictionary *attributes = | ||
| 239 | [NSDictionary dictionaryWithObjectsAndKeys:nsFont,NSFontAttributeName, | ||
| 240 | glyphInfo,NSGlyphInfoAttributeName,nil]; | ||
| 241 | NSTextStorage *textStorage = | ||
| 242 | [[NSTextStorage alloc] initWithString:string | ||
| 243 | attributes:attributes]; | ||
| 244 | NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init]; | ||
| 245 | NSTextContainer *textContainer = [[NSTextContainer alloc] init]; | ||
| 246 | NSFont *fontInTextStorage; | ||
| 247 | |||
| 248 | [layoutManager addTextContainer:textContainer]; | ||
| 249 | [textContainer release]; | ||
| 250 | [textStorage addLayoutManager:layoutManager]; | ||
| 251 | [layoutManager release]; | ||
| 252 | |||
| 253 | /* Force layout. */ | ||
| 254 | (void) [layoutManager glyphRangeForTextContainer:textContainer]; | ||
| 255 | |||
| 256 | fontInTextStorage = [textStorage attribute:NSFontAttributeName atIndex:0 | ||
| 257 | effectiveRange:NULL]; | ||
| 258 | if (fontInTextStorage == nsFont | ||
| 259 | || [[fontInTextStorage fontName] isEqualToString:[nsFont fontName]]) | ||
| 260 | { | ||
| 261 | NSGlyph glyph = [layoutManager glyphAtIndex:0]; | ||
| 262 | |||
| 263 | if (glyph < [nsFont numberOfGlyphs]) | ||
| 264 | result = glyph; | ||
| 265 | } | ||
| 266 | |||
| 267 | [textStorage release]; | ||
| 268 | |||
| 269 | return result; | ||
| 270 | } | ||
| 271 | } | ||
| 272 | #endif | ||
| 273 | |||
| 274 | static ScreenFontRef | ||
| 275 | mac_screen_font_create_with_name (CFStringRef name, CGFloat size) | ||
| 276 | { | ||
| 277 | NSFont *result, *font; | ||
| 278 | |||
| 279 | font = [NSFont fontWithName:((NSString *) name) size:size]; | ||
| 280 | result = [font screenFont]; | ||
| 281 | |||
| 282 | return (ScreenFontRef)[result retain]; | ||
| 283 | } | ||
| 284 | |||
| 285 | |||
| 286 | static Boolean | ||
| 287 | mac_screen_font_get_metrics (ScreenFontRef font, CGFloat *ascent, | ||
| 288 | CGFloat *descent, CGFloat *leading) | ||
| 289 | { | ||
| 290 | NSFont *nsFont = [(NSFont *)font printerFont]; | ||
| 291 | NSTextStorage *textStorage; | ||
| 292 | NSLayoutManager *layoutManager; | ||
| 293 | NSTextContainer *textContainer; | ||
| 294 | NSRect usedRect; | ||
| 295 | NSPoint spaceLocation; | ||
| 296 | CGFloat descender; | ||
| 297 | |||
| 298 | textStorage = [[NSTextStorage alloc] initWithString:@" "]; | ||
| 299 | layoutManager = [[NSLayoutManager alloc] init]; | ||
| 300 | textContainer = [[NSTextContainer alloc] init]; | ||
| 301 | |||
| 302 | [textStorage setFont:nsFont]; | ||
| 303 | [textContainer setLineFragmentPadding:0]; | ||
| 304 | [layoutManager setUsesScreenFonts:YES]; | ||
| 305 | |||
| 306 | [layoutManager addTextContainer:textContainer]; | ||
| 307 | [textContainer release]; | ||
| 308 | [textStorage addLayoutManager:layoutManager]; | ||
| 309 | [layoutManager release]; | ||
| 310 | |||
| 311 | if (!(textStorage && layoutManager && textContainer)) | ||
| 312 | { | ||
| 313 | [textStorage release]; | ||
| 314 | |||
| 315 | return false; | ||
| 316 | } | ||
| 317 | |||
| 318 | usedRect = [layoutManager lineFragmentUsedRectForGlyphAtIndex:0 | ||
| 319 | effectiveRange:NULL]; | ||
| 320 | spaceLocation = [layoutManager locationForGlyphAtIndex:0]; | ||
| 321 | [textStorage release]; | ||
| 322 | |||
| 323 | *ascent = spaceLocation.y; | ||
| 324 | *descent = NSHeight (usedRect) - spaceLocation.y; | ||
| 325 | *leading = 0; | ||
| 326 | descender = [nsFont descender]; | ||
| 327 | if (- descender < *descent) | ||
| 328 | { | ||
| 329 | *leading = *descent + descender; | ||
| 330 | *descent = - descender; | ||
| 331 | } | ||
| 332 | |||
| 333 | return true; | ||
| 334 | } | ||
| 335 | |||
| 336 | static CFIndex | ||
| 337 | mac_font_shape_1 (NSFont *font, NSString *string, | ||
| 338 | struct mac_glyph_layout *glyph_layouts, CFIndex glyph_len, | ||
| 339 | BOOL screen_font_p) | ||
| 340 | { | ||
| 341 | NSUInteger i; | ||
| 342 | CFIndex result = 0; | ||
| 343 | NSTextStorage *textStorage; | ||
| 344 | NSLayoutManager *layoutManager; | ||
| 345 | NSTextContainer *textContainer; | ||
| 346 | NSUInteger stringLength; | ||
| 347 | NSPoint spaceLocation; | ||
| 348 | NSUInteger used, numberOfGlyphs; | ||
| 349 | |||
| 350 | textStorage = [[NSTextStorage alloc] initWithString:string]; | ||
| 351 | layoutManager = [[NSLayoutManager alloc] init]; | ||
| 352 | textContainer = [[NSTextContainer alloc] init]; | ||
| 353 | |||
| 354 | /* Append a trailing space to measure baseline position. */ | ||
| 355 | [textStorage appendAttributedString:([[[NSAttributedString alloc] | ||
| 356 | initWithString:@" "] autorelease])]; | ||
| 357 | [textStorage setFont:font]; | ||
| 358 | [textContainer setLineFragmentPadding:0]; | ||
| 359 | [layoutManager setUsesScreenFonts:screen_font_p]; | ||
| 360 | |||
| 361 | [layoutManager addTextContainer:textContainer]; | ||
| 362 | [textContainer release]; | ||
| 363 | [textStorage addLayoutManager:layoutManager]; | ||
| 364 | [layoutManager release]; | ||
| 365 | |||
| 366 | if (!(textStorage && layoutManager && textContainer)) | ||
| 367 | { | ||
| 368 | [textStorage release]; | ||
| 369 | |||
| 370 | return 0; | ||
| 371 | } | ||
| 372 | |||
| 373 | stringLength = [string length]; | ||
| 374 | |||
| 375 | /* Force layout. */ | ||
| 376 | (void) [layoutManager glyphRangeForTextContainer:textContainer]; | ||
| 377 | |||
| 378 | spaceLocation = [layoutManager locationForGlyphAtIndex:stringLength]; | ||
| 379 | |||
| 380 | /* Remove the appended trailing space because otherwise it may | ||
| 381 | generate a wrong result for a right-to-left text. */ | ||
| 382 | [textStorage beginEditing]; | ||
| 383 | [textStorage deleteCharactersInRange:(NSMakeRange (stringLength, 1))]; | ||
| 384 | [textStorage endEditing]; | ||
| 385 | (void) [layoutManager glyphRangeForTextContainer:textContainer]; | ||
| 386 | |||
| 387 | i = 0; | ||
| 388 | while (i < stringLength) | ||
| 389 | { | ||
| 390 | NSRange range; | ||
| 391 | NSFont *fontInTextStorage = | ||
| 392 | [textStorage attribute:NSFontAttributeName atIndex:i | ||
| 393 | longestEffectiveRange:&range | ||
| 394 | inRange:(NSMakeRange (0, stringLength))]; | ||
| 395 | |||
| 396 | if (!(fontInTextStorage == font | ||
| 397 | || [[fontInTextStorage fontName] isEqualToString:[font fontName]])) | ||
| 398 | break; | ||
| 399 | i = NSMaxRange (range); | ||
| 400 | } | ||
| 401 | if (i < stringLength) | ||
| 402 | /* Make the test `used <= glyph_len' below fail if textStorage | ||
| 403 | contained some fonts other than the specified one. */ | ||
| 404 | used = glyph_len + 1; | ||
| 405 | else | ||
| 406 | { | ||
| 407 | NSRange range = NSMakeRange (0, stringLength); | ||
| 408 | |||
| 409 | range = [layoutManager glyphRangeForCharacterRange:range | ||
| 410 | actualCharacterRange:NULL]; | ||
| 411 | numberOfGlyphs = NSMaxRange (range); | ||
| 412 | used = numberOfGlyphs; | ||
| 413 | for (i = 0; i < numberOfGlyphs; i++) | ||
| 414 | if ([layoutManager notShownAttributeForGlyphAtIndex:i]) | ||
| 415 | used--; | ||
| 416 | } | ||
| 417 | |||
| 418 | if (0 < used && used <= glyph_len) | ||
| 419 | { | ||
| 420 | NSUInteger glyphIndex, prevGlyphIndex; | ||
| 421 | unsigned char bidiLevel; | ||
| 422 | NSUInteger *permutation; | ||
| 423 | NSRange compRange, range; | ||
| 424 | CGFloat totalAdvance; | ||
| 425 | |||
| 426 | glyphIndex = 0; | ||
| 427 | while ([layoutManager notShownAttributeForGlyphAtIndex:glyphIndex]) | ||
| 428 | glyphIndex++; | ||
| 429 | |||
| 430 | /* For now we assume the direction is not changed within the | ||
| 431 | string. */ | ||
| 432 | [layoutManager getGlyphsInRange:(NSMakeRange (glyphIndex, 1)) | ||
| 433 | glyphs:NULL characterIndexes:NULL | ||
| 434 | glyphInscriptions:NULL elasticBits:NULL | ||
| 435 | bidiLevels:&bidiLevel]; | ||
| 436 | if (bidiLevel & 1) | ||
| 437 | permutation = xmalloc (sizeof (NSUInteger) * used); | ||
| 438 | else | ||
| 439 | permutation = NULL; | ||
| 440 | |||
| 441 | #define RIGHT_TO_LEFT_P permutation | ||
| 442 | |||
| 443 | /* Fill the `comp_range' member of struct mac_glyph_layout, and | ||
| 444 | setup a permutation for right-to-left text. */ | ||
| 445 | compRange = NSMakeRange (0, 0); | ||
| 446 | for (range = NSMakeRange (0, 0); NSMaxRange (range) < used; | ||
| 447 | range.length++) | ||
| 448 | { | ||
| 449 | struct mac_glyph_layout *gl = glyph_layouts + NSMaxRange (range); | ||
| 450 | NSUInteger characterIndex = | ||
| 451 | [layoutManager characterIndexForGlyphAtIndex:glyphIndex]; | ||
| 452 | |||
| 453 | gl->string_index = characterIndex; | ||
| 454 | |||
| 455 | if (characterIndex >= NSMaxRange (compRange)) | ||
| 456 | { | ||
| 457 | compRange.location = NSMaxRange (compRange); | ||
| 458 | do | ||
| 459 | { | ||
| 460 | NSRange characterRange = | ||
| 461 | [string | ||
| 462 | rangeOfComposedCharacterSequenceAtIndex:characterIndex]; | ||
| 463 | |||
| 464 | compRange.length = | ||
| 465 | NSMaxRange (characterRange) - compRange.location; | ||
| 466 | [layoutManager glyphRangeForCharacterRange:compRange | ||
| 467 | actualCharacterRange:&characterRange]; | ||
| 468 | characterIndex = NSMaxRange (characterRange) - 1; | ||
| 469 | } | ||
| 470 | while (characterIndex >= NSMaxRange (compRange)); | ||
| 471 | |||
| 472 | if (RIGHT_TO_LEFT_P) | ||
| 473 | for (i = 0; i < range.length; i++) | ||
| 474 | permutation[range.location + i] = NSMaxRange (range) - i - 1; | ||
| 475 | |||
| 476 | range = NSMakeRange (NSMaxRange (range), 0); | ||
| 477 | } | ||
| 478 | |||
| 479 | gl->comp_range.location = compRange.location; | ||
| 480 | gl->comp_range.length = compRange.length; | ||
| 481 | |||
| 482 | while (++glyphIndex < numberOfGlyphs) | ||
| 483 | if (![layoutManager notShownAttributeForGlyphAtIndex:glyphIndex]) | ||
| 484 | break; | ||
| 485 | } | ||
| 486 | if (RIGHT_TO_LEFT_P) | ||
| 487 | for (i = 0; i < range.length; i++) | ||
| 488 | permutation[range.location + i] = NSMaxRange (range) - i - 1; | ||
| 489 | |||
| 490 | /* Then fill the remaining members. */ | ||
| 491 | glyphIndex = prevGlyphIndex = 0; | ||
| 492 | while ([layoutManager notShownAttributeForGlyphAtIndex:glyphIndex]) | ||
| 493 | glyphIndex++; | ||
| 494 | |||
| 495 | if (!RIGHT_TO_LEFT_P) | ||
| 496 | totalAdvance = 0; | ||
| 497 | else | ||
| 498 | { | ||
| 499 | NSUInteger nrects; | ||
| 500 | NSRect *glyphRects = | ||
| 501 | [layoutManager | ||
| 502 | rectArrayForGlyphRange:(NSMakeRange (0, numberOfGlyphs)) | ||
| 503 | withinSelectedGlyphRange:(NSMakeRange (NSNotFound, 0)) | ||
| 504 | inTextContainer:textContainer rectCount:&nrects]; | ||
| 505 | |||
| 506 | totalAdvance = NSMaxX (glyphRects[0]); | ||
| 507 | } | ||
| 508 | |||
| 509 | for (i = 0; i < used; i++) | ||
| 510 | { | ||
| 511 | struct mac_glyph_layout *gl; | ||
| 512 | NSPoint location; | ||
| 513 | NSUInteger nextGlyphIndex; | ||
| 514 | NSRange glyphRange; | ||
| 515 | NSRect *glyphRects; | ||
| 516 | NSUInteger nrects; | ||
| 517 | |||
| 518 | if (!RIGHT_TO_LEFT_P) | ||
| 519 | gl = glyph_layouts + i; | ||
| 520 | else | ||
| 521 | { | ||
| 522 | NSUInteger dest = permutation[i]; | ||
| 523 | |||
| 524 | gl = glyph_layouts + dest; | ||
| 525 | if (i < dest) | ||
| 526 | { | ||
| 527 | CFIndex tmp = gl->string_index; | ||
| 528 | |||
| 529 | gl->string_index = glyph_layouts[i].string_index; | ||
| 530 | glyph_layouts[i].string_index = tmp; | ||
| 531 | } | ||
| 532 | } | ||
| 533 | gl->glyph_id = [layoutManager glyphAtIndex:glyphIndex]; | ||
| 534 | |||
| 535 | location = [layoutManager locationForGlyphAtIndex:glyphIndex]; | ||
| 536 | gl->baseline_delta = spaceLocation.y - location.y; | ||
| 537 | |||
| 538 | for (nextGlyphIndex = glyphIndex + 1; nextGlyphIndex < numberOfGlyphs; | ||
| 539 | nextGlyphIndex++) | ||
| 540 | if (![layoutManager | ||
| 541 | notShownAttributeForGlyphAtIndex:nextGlyphIndex]) | ||
| 542 | break; | ||
| 543 | |||
| 544 | if (!RIGHT_TO_LEFT_P) | ||
| 545 | { | ||
| 546 | CGFloat maxX; | ||
| 547 | |||
| 548 | if (prevGlyphIndex == 0) | ||
| 549 | glyphRange = NSMakeRange (0, nextGlyphIndex); | ||
| 550 | else | ||
| 551 | glyphRange = NSMakeRange (glyphIndex, | ||
| 552 | nextGlyphIndex - glyphIndex); | ||
| 553 | glyphRects = | ||
| 554 | [layoutManager | ||
| 555 | rectArrayForGlyphRange:glyphRange | ||
| 556 | withinSelectedGlyphRange:(NSMakeRange (NSNotFound, 0)) | ||
| 557 | inTextContainer:textContainer rectCount:&nrects]; | ||
| 558 | maxX = max (NSMaxX (glyphRects[0]), totalAdvance); | ||
| 559 | gl->advance_delta = location.x - totalAdvance; | ||
| 560 | gl->advance = maxX - totalAdvance; | ||
| 561 | totalAdvance = maxX; | ||
| 562 | } | ||
| 563 | else | ||
| 564 | { | ||
| 565 | CGFloat minX; | ||
| 566 | |||
| 567 | if (nextGlyphIndex == numberOfGlyphs) | ||
| 568 | glyphRange = NSMakeRange (prevGlyphIndex, | ||
| 569 | numberOfGlyphs - prevGlyphIndex); | ||
| 570 | else | ||
| 571 | glyphRange = NSMakeRange (prevGlyphIndex, | ||
| 572 | glyphIndex + 1 - prevGlyphIndex); | ||
| 573 | glyphRects = | ||
| 574 | [layoutManager | ||
| 575 | rectArrayForGlyphRange:glyphRange | ||
| 576 | withinSelectedGlyphRange:(NSMakeRange (NSNotFound, 0)) | ||
| 577 | inTextContainer:textContainer rectCount:&nrects]; | ||
| 578 | minX = min (NSMinX (glyphRects[0]), totalAdvance); | ||
| 579 | gl->advance = totalAdvance - minX; | ||
| 580 | totalAdvance = minX; | ||
| 581 | gl->advance_delta = location.x - totalAdvance; | ||
| 582 | } | ||
| 583 | |||
| 584 | prevGlyphIndex = glyphIndex + 1; | ||
| 585 | glyphIndex = nextGlyphIndex; | ||
| 586 | } | ||
| 587 | |||
| 588 | if (RIGHT_TO_LEFT_P) | ||
| 589 | xfree (permutation); | ||
| 590 | |||
| 591 | #undef RIGHT_TO_LEFT_P | ||
| 592 | |||
| 593 | result = used; | ||
| 594 | } | ||
| 595 | [textStorage release]; | ||
| 596 | |||
| 597 | return result; | ||
| 598 | } | ||
| 599 | |||
| 600 | static CFIndex | ||
| 601 | mac_screen_font_shape (ScreenFontRef font, CFStringRef string, | ||
| 602 | struct mac_glyph_layout *glyph_layouts, | ||
| 603 | CFIndex glyph_len) | ||
| 604 | { | ||
| 605 | return mac_font_shape_1 ([(NSFont *)font printerFont], | ||
| 606 | (NSString *) string, | ||
| 607 | glyph_layouts, glyph_len, YES); | ||
| 608 | } | ||
| 609 | |||
| 610 | static CGColorRef | ||
| 611 | get_cgcolor(unsigned long idx, struct frame *f) | ||
| 612 | { | ||
| 613 | NSColor *nsColor = ns_lookup_indexed_color (idx, f); | ||
| 614 | [nsColor set]; | ||
| 615 | CGColorSpaceRef colorSpace = [[nsColor colorSpace] CGColorSpace]; | ||
| 616 | NSInteger noc = [nsColor numberOfComponents]; | ||
| 617 | CGFloat *components = xmalloc (sizeof(CGFloat)*(1+noc)); | ||
| 618 | CGColorRef cgColor; | ||
| 619 | |||
| 620 | [nsColor getComponents: components]; | ||
| 621 | cgColor = CGColorCreate (colorSpace, components); | ||
| 622 | xfree (components); | ||
| 623 | return cgColor; | ||
| 624 | } | ||
| 625 | |||
| 626 | #define CG_SET_FILL_COLOR_WITH_GC_FOREGROUND(context, s) \ | ||
| 627 | CGContextSetFillColorWithColor (context, \ | ||
| 628 | get_cgcolor (NS_FACE_FOREGROUND (s->face), \ | ||
| 629 | s->f)) | ||
| 630 | |||
| 631 | #define CG_SET_FILL_COLOR_WITH_GC_BACKGROUND(context, s) \ | ||
| 632 | CGContextSetFillColorWithColor (context, \ | ||
| 633 | get_cgcolor (NS_FACE_BACKGROUND (s->face), \ | ||
| 634 | s->f)) | ||
| 635 | |||
| 636 | #define CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND(context, s) \ | ||
| 637 | CGContextSetStrokeColorWithColor (context, \ | ||
| 638 | get_cgcolor (NS_FACE_FOREGROUND (s->face),\ | ||
| 639 | s->f)) | ||
| 640 | |||
| 641 | |||
| 642 | /* Mac font driver. */ | ||
| 643 | |||
| 644 | static struct | ||
| 645 | { | ||
| 646 | /* registry name */ | ||
| 647 | const char *name; | ||
| 648 | /* characters to distinguish the charset from the others */ | ||
| 649 | int uniquifier[6]; | ||
| 650 | /* additional constraint by language */ | ||
| 651 | CFStringRef lang; | ||
| 652 | /* set on demand */ | ||
| 653 | CFCharacterSetRef cf_charset; | ||
| 654 | CFStringRef cf_charset_string; | ||
| 655 | } cf_charset_table[] = | ||
| 656 | { { "iso8859-1", { 0x00A0, 0x00A1, 0x00B4, 0x00BC, 0x00D0 } }, | ||
| 657 | { "iso8859-2", { 0x00A0, 0x010E }}, | ||
| 658 | { "iso8859-3", { 0x00A0, 0x0108 }}, | ||
| 659 | { "iso8859-4", { 0x00A0, 0x00AF, 0x0128, 0x0156, 0x02C7 }}, | ||
| 660 | { "iso8859-5", { 0x00A0, 0x0401 }}, | ||
| 661 | { "iso8859-6", { 0x00A0, 0x060C }}, | ||
| 662 | { "iso8859-7", { 0x00A0, 0x0384 }}, | ||
| 663 | { "iso8859-8", { 0x00A0, 0x05D0 }}, | ||
| 664 | { "iso8859-9", { 0x00A0, 0x00A1, 0x00BC, 0x011E }}, | ||
| 665 | { "iso8859-10", { 0x00A0, 0x00D0, 0x0128, 0x2015 }}, | ||
| 666 | { "iso8859-11", { 0x00A0, 0x0E01 }}, | ||
| 667 | { "iso8859-13", { 0x00A0, 0x201C }}, | ||
| 668 | { "iso8859-14", { 0x00A0, 0x0174 }}, | ||
| 669 | { "iso8859-15", { 0x00A0, 0x00A1, 0x00D0, 0x0152 }}, | ||
| 670 | { "iso8859-16", { 0x00A0, 0x0218}}, | ||
| 671 | { "gb2312.1980-0", { 0x4E13 }, CFSTR ("zh-Hans")}, | ||
| 672 | { "big5-0", { /* 0xF6B1 in ftfont.c */ 0xF7E5 }, CFSTR ("zh-Hant") }, | ||
| 673 | { "jisx0208.1983-0", { 0x4E55 }, CFSTR ("ja")}, | ||
| 674 | { "ksc5601.1987-0", { 0xAC00 }, CFSTR ("ko")}, | ||
| 675 | { "cns11643.1992-1", { 0xFE32 }, CFSTR ("zh-Hant")}, | ||
| 676 | { "cns11643.1992-2", { 0x4E33, 0x7934 }}, | ||
| 677 | { "cns11643.1992-3", { 0x201A9 }}, | ||
| 678 | { "cns11643.1992-4", { 0x20057 }}, | ||
| 679 | { "cns11643.1992-5", { 0x20000 }}, | ||
| 680 | { "cns11643.1992-6", { 0x20003 }}, | ||
| 681 | { "cns11643.1992-7", { 0x20055 }}, | ||
| 682 | { "gbk-0", { 0x4E06 }, CFSTR ("zh-Hans")}, | ||
| 683 | { "jisx0212.1990-0", { 0x4E44 }}, | ||
| 684 | { "jisx0213.2000-1", { 0xFA10 }, CFSTR ("ja")}, | ||
| 685 | { "jisx0213.2000-2", { 0xFA49 }}, | ||
| 686 | { "jisx0213.2004-1", { 0x20B9F }}, | ||
| 687 | { "viscii1.1-1", { 0x1EA0, 0x1EAE, 0x1ED2 }, CFSTR ("vi")}, | ||
| 688 | { "tis620.2529-1", { 0x0E01 }, CFSTR ("th")}, | ||
| 689 | { "windows-1251", { 0x0401, 0x0490 }, CFSTR ("ru")}, | ||
| 690 | { "koi8-r", { 0x0401, 0x2219 }, CFSTR ("ru")}, | ||
| 691 | { "mulelao-1", { 0x0E81 }, CFSTR ("lo")}, | ||
| 692 | { "unicode-sip", { 0x20000 }}, | ||
| 693 | { NULL } | ||
| 694 | }; | ||
| 695 | |||
| 696 | static CGFloat macfont_antialias_threshold; | ||
| 697 | |||
| 698 | void | ||
| 699 | macfont_update_antialias_threshold (void) | ||
| 700 | { | ||
| 701 | int threshold; | ||
| 702 | Boolean valid_p; | ||
| 703 | |||
| 704 | threshold = | ||
| 705 | CFPreferencesGetAppIntegerValue (CFSTR ("AppleAntiAliasingThreshold"), | ||
| 706 | kCFPreferencesCurrentApplication, | ||
| 707 | &valid_p); | ||
| 708 | if (valid_p) | ||
| 709 | macfont_antialias_threshold = threshold; | ||
| 710 | } | ||
| 711 | |||
| 712 | static inline Lisp_Object | ||
| 713 | macfont_intern_prop_cfstring (CFStringRef cfstring) | ||
| 714 | { | ||
| 715 | Lisp_Object string = cfstring_to_lisp_nodecode (cfstring); | ||
| 716 | |||
| 717 | return font_intern_prop (SSDATA (string), SBYTES (string), 1); | ||
| 718 | } | ||
| 719 | |||
| 720 | static inline CFIndex | ||
| 721 | macfont_store_utf32char_to_unichars (UTF32Char c, UniChar *unichars) | ||
| 722 | { | ||
| 723 | if (c < 0x10000) | ||
| 724 | { | ||
| 725 | unichars[0] = c; | ||
| 726 | |||
| 727 | return 1; | ||
| 728 | } | ||
| 729 | else | ||
| 730 | { | ||
| 731 | c -= 0x10000; | ||
| 732 | unichars[0] = (c >> 10) + 0xD800; | ||
| 733 | unichars[1] = (c & 0x3FF) + 0xDC00; | ||
| 734 | |||
| 735 | return 2; | ||
| 736 | } | ||
| 737 | } | ||
| 738 | |||
| 739 | static Boolean | ||
| 740 | cfnumber_get_font_symbolic_traits_value (CFNumberRef number, | ||
| 741 | FontSymbolicTraits *sym_traits) | ||
| 742 | { | ||
| 743 | SInt64 sint64_value; | ||
| 744 | |||
| 745 | /* Getting symbolic traits with kCFNumberSInt32Type is lossy on Mac | ||
| 746 | OS 10.6 when the value is greater than or equal to 1 << 31. */ | ||
| 747 | if (CFNumberGetValue (number, kCFNumberSInt64Type, &sint64_value)) | ||
| 748 | { | ||
| 749 | *sym_traits = (FontSymbolicTraits) sint64_value; | ||
| 750 | |||
| 751 | return true; | ||
| 752 | } | ||
| 753 | |||
| 754 | return false; | ||
| 755 | } | ||
| 756 | |||
| 757 | static void | ||
| 758 | macfont_store_descriptor_attributes (FontDescriptorRef desc, | ||
| 759 | Lisp_Object spec_or_entity) | ||
| 760 | { | ||
| 761 | CFStringRef str; | ||
| 762 | CFDictionaryRef dict; | ||
| 763 | CFNumberRef num; | ||
| 764 | CGFloat floatval; | ||
| 765 | |||
| 766 | str = mac_font_descriptor_copy_attribute (desc, | ||
| 767 | MAC_FONT_FAMILY_NAME_ATTRIBUTE); | ||
| 768 | if (str) | ||
| 769 | { | ||
| 770 | ASET (spec_or_entity, FONT_FAMILY_INDEX, | ||
| 771 | macfont_intern_prop_cfstring (str)); | ||
| 772 | CFRelease (str); | ||
| 773 | } | ||
| 774 | dict = mac_font_descriptor_copy_attribute (desc, MAC_FONT_TRAITS_ATTRIBUTE); | ||
| 775 | if (dict) | ||
| 776 | { | ||
| 777 | struct { | ||
| 778 | enum font_property_index index; | ||
| 779 | CFStringRef trait; | ||
| 780 | CGPoint points[6]; | ||
| 781 | } numeric_traits[] = | ||
| 782 | {{FONT_WEIGHT_INDEX, MAC_FONT_WEIGHT_TRAIT, | ||
| 783 | {{-0.4, 50}, /* light */ | ||
| 784 | {-0.24, 87.5}, /* (semi-light + normal) / 2 */ | ||
| 785 | {0, 100}, /* normal */ | ||
| 786 | {0.24, 140}, /* (semi-bold + normal) / 2 */ | ||
| 787 | {0.4, 200}, /* bold */ | ||
| 788 | {CGFLOAT_MAX, CGFLOAT_MAX}}}, | ||
| 789 | {FONT_SLANT_INDEX, MAC_FONT_SLANT_TRAIT, | ||
| 790 | {{0, 100}, {0.1, 200}, {CGFLOAT_MAX, CGFLOAT_MAX}}}, | ||
| 791 | {FONT_WIDTH_INDEX, MAC_FONT_WIDTH_TRAIT, | ||
| 792 | {{0, 100}, {1, 200}, {CGFLOAT_MAX, CGFLOAT_MAX}}}}; | ||
| 793 | int i; | ||
| 794 | |||
| 795 | for (i = 0; i < sizeof (numeric_traits) / sizeof (numeric_traits[0]); i++) | ||
| 796 | { | ||
| 797 | num = CFDictionaryGetValue (dict, numeric_traits[i].trait); | ||
| 798 | if (num && CFNumberGetValue (num, kCFNumberCGFloatType, &floatval)) | ||
| 799 | { | ||
| 800 | CGPoint *point = numeric_traits[i].points; | ||
| 801 | |||
| 802 | while (point->x < floatval) | ||
| 803 | point++; | ||
| 804 | if (point == numeric_traits[i].points) | ||
| 805 | point++; | ||
| 806 | else if (point->x == CGFLOAT_MAX) | ||
| 807 | point--; | ||
| 808 | floatval = (point - 1)->y + ((floatval - (point - 1)->x) | ||
| 809 | * ((point->y - (point - 1)->y) | ||
| 810 | / (point->x - (point - 1)->x))); | ||
| 811 | FONT_SET_STYLE (spec_or_entity, numeric_traits[i].index, | ||
| 812 | make_number (lround (floatval))); | ||
| 813 | } | ||
| 814 | } | ||
| 815 | |||
| 816 | num = CFDictionaryGetValue (dict, MAC_FONT_SYMBOLIC_TRAIT); | ||
| 817 | if (num) | ||
| 818 | { | ||
| 819 | FontSymbolicTraits sym_traits; | ||
| 820 | int spacing; | ||
| 821 | |||
| 822 | cfnumber_get_font_symbolic_traits_value (num, &sym_traits); | ||
| 823 | spacing = (sym_traits & MAC_FONT_TRAIT_MONO_SPACE | ||
| 824 | ? FONT_SPACING_MONO : FONT_SPACING_PROPORTIONAL); | ||
| 825 | ASET (spec_or_entity, FONT_SPACING_INDEX, make_number (spacing)); | ||
| 826 | } | ||
| 827 | |||
| 828 | CFRelease (dict); | ||
| 829 | } | ||
| 830 | num = mac_font_descriptor_copy_attribute (desc, MAC_FONT_SIZE_ATTRIBUTE); | ||
| 831 | if (num && CFNumberGetValue (num, kCFNumberCGFloatType, &floatval)) | ||
| 832 | ASET (spec_or_entity, FONT_SIZE_INDEX, make_number (floatval)); | ||
| 833 | else | ||
| 834 | ASET (spec_or_entity, FONT_SIZE_INDEX, make_number (0)); | ||
| 835 | if (num) | ||
| 836 | CFRelease (num); | ||
| 837 | } | ||
| 838 | |||
| 839 | static Lisp_Object | ||
| 840 | macfont_descriptor_entity (FontDescriptorRef desc, Lisp_Object extra, | ||
| 841 | FontSymbolicTraits synth_sym_traits) | ||
| 842 | { | ||
| 843 | Lisp_Object entity; | ||
| 844 | CFDictionaryRef dict; | ||
| 845 | FontSymbolicTraits sym_traits = 0; | ||
| 846 | CFStringRef name; | ||
| 847 | |||
| 848 | entity = font_make_entity (); | ||
| 849 | |||
| 850 | ASET (entity, FONT_TYPE_INDEX, macfont_driver.type); | ||
| 851 | ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); | ||
| 852 | |||
| 853 | macfont_store_descriptor_attributes (desc, entity); | ||
| 854 | |||
| 855 | dict = mac_font_descriptor_copy_attribute (desc, MAC_FONT_TRAITS_ATTRIBUTE); | ||
| 856 | if (dict) | ||
| 857 | { | ||
| 858 | CFNumberRef num = CFDictionaryGetValue (dict, MAC_FONT_SYMBOLIC_TRAIT); | ||
| 859 | |||
| 860 | if (num) | ||
| 861 | cfnumber_get_font_symbolic_traits_value (num, &sym_traits); | ||
| 862 | CFRelease (dict); | ||
| 863 | } | ||
| 864 | if (EQ (AREF (entity, FONT_SIZE_INDEX), make_number (0))) | ||
| 865 | ASET (entity, FONT_AVGWIDTH_INDEX, make_number (0)); | ||
| 866 | ASET (entity, FONT_EXTRA_INDEX, Fcopy_sequence (extra)); | ||
| 867 | name = mac_font_descriptor_copy_attribute (desc, MAC_FONT_NAME_ATTRIBUTE); | ||
| 868 | font_put_extra (entity, QCfont_entity, | ||
| 869 | make_save_ptr_int ((void *) name, sym_traits)); | ||
| 870 | if (synth_sym_traits & MAC_FONT_TRAIT_ITALIC) | ||
| 871 | FONT_SET_STYLE (entity, FONT_SLANT_INDEX, | ||
| 872 | make_number (FONT_SLANT_SYNTHETIC_ITALIC)); | ||
| 873 | if (synth_sym_traits & MAC_FONT_TRAIT_BOLD) | ||
| 874 | FONT_SET_STYLE (entity, FONT_WEIGHT_INDEX, | ||
| 875 | make_number (FONT_WEIGHT_SYNTHETIC_BOLD)); | ||
| 876 | if (synth_sym_traits & MAC_FONT_TRAIT_MONO_SPACE) | ||
| 877 | ASET (entity, FONT_SPACING_INDEX, | ||
| 878 | make_number (FONT_SPACING_SYNTHETIC_MONO)); | ||
| 879 | |||
| 880 | return entity; | ||
| 881 | } | ||
| 882 | |||
| 883 | static CFStringRef | ||
| 884 | macfont_create_family_with_symbol (Lisp_Object symbol) | ||
| 885 | { | ||
| 886 | static CFArrayRef families = NULL; | ||
| 887 | CFStringRef result = NULL, family_name; | ||
| 888 | int using_cache_p = 1; | ||
| 889 | CFComparatorFunction family_name_comparator; | ||
| 890 | |||
| 891 | family_name = cfstring_create_with_string_noencode (SYMBOL_NAME (symbol)); | ||
| 892 | if (family_name == NULL) | ||
| 893 | return NULL; | ||
| 894 | |||
| 895 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 | ||
| 896 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 897 | if (CTFontManagerCompareFontFamilyNames != NULL) | ||
| 898 | #endif | ||
| 899 | { | ||
| 900 | family_name_comparator = CTFontManagerCompareFontFamilyNames; | ||
| 901 | } | ||
| 902 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 903 | else /* CTFontManagerCompareFontFamilyNames == NULL */ | ||
| 904 | #endif | ||
| 905 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 */ | ||
| 906 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 907 | { | ||
| 908 | family_name_comparator = mac_font_family_compare; | ||
| 909 | } | ||
| 910 | #endif | ||
| 911 | |||
| 912 | if ((*family_name_comparator) (family_name, CFSTR ("LastResort"), NULL) | ||
| 913 | == kCFCompareEqualTo) | ||
| 914 | result = CFSTR ("LastResort"); | ||
| 915 | else | ||
| 916 | while (1) | ||
| 917 | { | ||
| 918 | CFIndex i, count; | ||
| 919 | |||
| 920 | if (families == NULL) | ||
| 921 | { | ||
| 922 | families = mac_font_create_available_families (); | ||
| 923 | using_cache_p = 0; | ||
| 924 | if (families == NULL) | ||
| 925 | break; | ||
| 926 | } | ||
| 927 | |||
| 928 | count = CFArrayGetCount (families); | ||
| 929 | i = CFArrayBSearchValues (families, CFRangeMake (0, count), | ||
| 930 | (const void *) family_name, | ||
| 931 | family_name_comparator, NULL); | ||
| 932 | if (i < count) | ||
| 933 | { | ||
| 934 | CFStringRef name = CFArrayGetValueAtIndex (families, i); | ||
| 935 | |||
| 936 | if ((*family_name_comparator) (name, family_name, NULL) | ||
| 937 | == kCFCompareEqualTo) | ||
| 938 | result = CFRetain (name); | ||
| 939 | } | ||
| 940 | |||
| 941 | if (result || !using_cache_p) | ||
| 942 | break; | ||
| 943 | else | ||
| 944 | { | ||
| 945 | CFRelease (families); | ||
| 946 | families = NULL; | ||
| 947 | } | ||
| 948 | } | ||
| 949 | |||
| 950 | CFRelease (family_name); | ||
| 951 | |||
| 952 | return result; | ||
| 953 | } | ||
| 954 | |||
| 955 | #define WIDTH_FRAC_BITS (4) | ||
| 956 | #define WIDTH_FRAC_SCALE (2 * ((1 << (WIDTH_FRAC_BITS - 1)) - 1)) | ||
| 957 | |||
| 958 | struct macfont_metrics | ||
| 959 | { | ||
| 960 | unsigned char lbearing_low, rbearing_low; | ||
| 961 | signed lbearing_high : 4, rbearing_high : 4; | ||
| 962 | unsigned char ascent_low, descent_low; | ||
| 963 | signed ascent_high : 4, descent_high : 4; | ||
| 964 | |||
| 965 | /* These two members are used for fixed-point representation of | ||
| 966 | glyph width. The `width_int' member is an integer that is | ||
| 967 | closest to the width. The `width_frac' member is the fractional | ||
| 968 | adjustment representing a value in [-.5, .5], multiplied by | ||
| 969 | WIDTH_FRAC_SCALE. For synthetic monospace fonts, they represent | ||
| 970 | the advance delta for centering instead of the glyph width. */ | ||
| 971 | signed width_frac : WIDTH_FRAC_BITS, width_int : 16 - WIDTH_FRAC_BITS; | ||
| 972 | }; | ||
| 973 | |||
| 974 | #define METRICS_VALUE(metrics, member) \ | ||
| 975 | (((metrics)->member##_high << 8) | (metrics)->member##_low) | ||
| 976 | #define METRICS_SET_VALUE(metrics, member, value) \ | ||
| 977 | do {short tmp = (value); (metrics)->member##_low = tmp & 0xff; \ | ||
| 978 | (metrics)->member##_high = tmp >> 8;} while (0) | ||
| 979 | |||
| 980 | enum metrics_status | ||
| 981 | { | ||
| 982 | METRICS_INVALID = -1, /* metrics entry is invalid */ | ||
| 983 | METRICS_WIDTH_VALID = -2 /* width is valid but others are invalid */ | ||
| 984 | }; | ||
| 985 | |||
| 986 | #define METRICS_STATUS(metrics) \ | ||
| 987 | (METRICS_VALUE (metrics, ascent) + METRICS_VALUE (metrics, descent)) | ||
| 988 | #define METRICS_SET_STATUS(metrics, status) \ | ||
| 989 | do {METRICS_SET_VALUE (metrics, ascent, 0); \ | ||
| 990 | METRICS_SET_VALUE (metrics, descent, status);} while (0) | ||
| 991 | |||
| 992 | #define METRICS_NCOLS_PER_ROW (128) | ||
| 993 | #define LCD_FONT_SMOOTHING_LEFT_MARGIN (0.396f) | ||
| 994 | #define LCD_FONT_SMOOTHING_RIGHT_MARGIN (0.396f) | ||
| 995 | |||
| 996 | static int | ||
| 997 | macfont_glyph_extents (struct font *font, CGGlyph glyph, | ||
| 998 | struct font_metrics *metrics, CGFloat *advance_delta, | ||
| 999 | int force_integral_p) | ||
| 1000 | { | ||
| 1001 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 1002 | FontRef macfont = macfont_info->macfont; | ||
| 1003 | int row, col; | ||
| 1004 | struct macfont_metrics *cache; | ||
| 1005 | int width; | ||
| 1006 | |||
| 1007 | row = glyph / METRICS_NCOLS_PER_ROW; | ||
| 1008 | col = glyph % METRICS_NCOLS_PER_ROW; | ||
| 1009 | if (row >= macfont_info->metrics_nrows) | ||
| 1010 | { | ||
| 1011 | macfont_info->metrics = | ||
| 1012 | xrealloc (macfont_info->metrics, | ||
| 1013 | sizeof (struct macfont_metrics *) * (row + 1)); | ||
| 1014 | memset (macfont_info->metrics + macfont_info->metrics_nrows, 0, | ||
| 1015 | (sizeof (struct macfont_metrics *) | ||
| 1016 | * (row + 1 - macfont_info->metrics_nrows))); | ||
| 1017 | macfont_info->metrics_nrows = row + 1; | ||
| 1018 | } | ||
| 1019 | if (macfont_info->metrics[row] == NULL) | ||
| 1020 | { | ||
| 1021 | struct macfont_metrics *new; | ||
| 1022 | int i; | ||
| 1023 | |||
| 1024 | new = xmalloc (sizeof (struct macfont_metrics) * METRICS_NCOLS_PER_ROW); | ||
| 1025 | for (i = 0; i < METRICS_NCOLS_PER_ROW; i++) | ||
| 1026 | METRICS_SET_STATUS (new + i, METRICS_INVALID); | ||
| 1027 | macfont_info->metrics[row] = new; | ||
| 1028 | } | ||
| 1029 | cache = macfont_info->metrics[row] + col; | ||
| 1030 | |||
| 1031 | if (METRICS_STATUS (cache) == METRICS_INVALID) | ||
| 1032 | { | ||
| 1033 | CGFloat fwidth; | ||
| 1034 | |||
| 1035 | if (macfont_info->screen_font) | ||
| 1036 | fwidth = mac_screen_font_get_advance_width_for_glyph (macfont_info->screen_font, glyph); | ||
| 1037 | else | ||
| 1038 | fwidth = mac_font_get_advance_width_for_glyph (macfont, glyph); | ||
| 1039 | |||
| 1040 | /* For synthetic mono fonts, cache->width_{int,frac} holds the | ||
| 1041 | advance delta value. */ | ||
| 1042 | if (macfont_info->spacing == MACFONT_SPACING_SYNTHETIC_MONO) | ||
| 1043 | fwidth = (font->pixel_size - fwidth) / 2; | ||
| 1044 | cache->width_int = lround (fwidth); | ||
| 1045 | cache->width_frac = lround ((fwidth - cache->width_int) | ||
| 1046 | * WIDTH_FRAC_SCALE); | ||
| 1047 | METRICS_SET_STATUS (cache, METRICS_WIDTH_VALID); | ||
| 1048 | } | ||
| 1049 | if (macfont_info->spacing == MACFONT_SPACING_SYNTHETIC_MONO) | ||
| 1050 | width = font->pixel_size; | ||
| 1051 | else | ||
| 1052 | width = cache->width_int; | ||
| 1053 | |||
| 1054 | if (metrics) | ||
| 1055 | { | ||
| 1056 | if (METRICS_STATUS (cache) == METRICS_WIDTH_VALID) | ||
| 1057 | { | ||
| 1058 | CGRect bounds = mac_font_get_bounding_rect_for_glyph (macfont, glyph); | ||
| 1059 | |||
| 1060 | if (macfont_info->synthetic_italic_p) | ||
| 1061 | { | ||
| 1062 | /* We assume the members a, b, c, and d in | ||
| 1063 | synthetic_italic_atfm are non-negative. */ | ||
| 1064 | bounds.origin = | ||
| 1065 | CGPointApplyAffineTransform (bounds.origin, | ||
| 1066 | synthetic_italic_atfm); | ||
| 1067 | bounds.size = | ||
| 1068 | CGSizeApplyAffineTransform (bounds.size, synthetic_italic_atfm); | ||
| 1069 | } | ||
| 1070 | if (macfont_info->synthetic_bold_p) | ||
| 1071 | { | ||
| 1072 | CGFloat d = | ||
| 1073 | - synthetic_bold_factor * mac_font_get_size (macfont) / 2; | ||
| 1074 | |||
| 1075 | bounds = CGRectInset (bounds, d, d); | ||
| 1076 | } | ||
| 1077 | switch (macfont_info->spacing) | ||
| 1078 | { | ||
| 1079 | case MACFONT_SPACING_PROPORTIONAL: | ||
| 1080 | bounds.origin.x += - (cache->width_frac | ||
| 1081 | / (CGFloat) (WIDTH_FRAC_SCALE * 2)); | ||
| 1082 | break; | ||
| 1083 | case MACFONT_SPACING_MONO: | ||
| 1084 | break; | ||
| 1085 | case MACFONT_SPACING_SYNTHETIC_MONO: | ||
| 1086 | bounds.origin.x += (cache->width_int | ||
| 1087 | + (cache->width_frac | ||
| 1088 | / (CGFloat) WIDTH_FRAC_SCALE)); | ||
| 1089 | break; | ||
| 1090 | } | ||
| 1091 | if (bounds.size.width > 0) | ||
| 1092 | { | ||
| 1093 | bounds.origin.x -= LCD_FONT_SMOOTHING_LEFT_MARGIN; | ||
| 1094 | bounds.size.width += (LCD_FONT_SMOOTHING_LEFT_MARGIN | ||
| 1095 | + LCD_FONT_SMOOTHING_RIGHT_MARGIN); | ||
| 1096 | } | ||
| 1097 | bounds = CGRectIntegral (bounds); | ||
| 1098 | METRICS_SET_VALUE (cache, lbearing, CGRectGetMinX (bounds)); | ||
| 1099 | METRICS_SET_VALUE (cache, rbearing, CGRectGetMaxX (bounds)); | ||
| 1100 | METRICS_SET_VALUE (cache, ascent, CGRectGetMaxY (bounds)); | ||
| 1101 | METRICS_SET_VALUE (cache, descent, -CGRectGetMinY (bounds)); | ||
| 1102 | } | ||
| 1103 | metrics->lbearing = METRICS_VALUE (cache, lbearing); | ||
| 1104 | metrics->rbearing = METRICS_VALUE (cache, rbearing); | ||
| 1105 | metrics->width = width; | ||
| 1106 | metrics->ascent = METRICS_VALUE (cache, ascent); | ||
| 1107 | metrics->descent = METRICS_VALUE (cache, descent); | ||
| 1108 | } | ||
| 1109 | |||
| 1110 | if (advance_delta) | ||
| 1111 | { | ||
| 1112 | switch (macfont_info->spacing) | ||
| 1113 | { | ||
| 1114 | case MACFONT_SPACING_PROPORTIONAL: | ||
| 1115 | *advance_delta = (force_integral_p ? 0 | ||
| 1116 | : - (cache->width_frac | ||
| 1117 | / (CGFloat) (WIDTH_FRAC_SCALE * 2))); | ||
| 1118 | break; | ||
| 1119 | case MACFONT_SPACING_MONO: | ||
| 1120 | *advance_delta = 0; | ||
| 1121 | break; | ||
| 1122 | case MACFONT_SPACING_SYNTHETIC_MONO: | ||
| 1123 | *advance_delta = (force_integral_p ? cache->width_int | ||
| 1124 | : (cache->width_int | ||
| 1125 | + (cache->width_frac | ||
| 1126 | / (CGFloat) WIDTH_FRAC_SCALE))); | ||
| 1127 | break; | ||
| 1128 | } | ||
| 1129 | } | ||
| 1130 | |||
| 1131 | return width; | ||
| 1132 | } | ||
| 1133 | |||
| 1134 | static CFMutableDictionaryRef macfont_cache_dictionary; | ||
| 1135 | |||
| 1136 | /* Threshold used in row_nkeys_or_perm. This must be less than or | ||
| 1137 | equal to the number of rows that are invalid as BMP (i.e., from | ||
| 1138 | U+D800 to U+DFFF). */ | ||
| 1139 | #define ROW_PERM_OFFSET (8) | ||
| 1140 | |||
| 1141 | /* The number of glyphs that can be stored in a value for a single | ||
| 1142 | entry of CFDictionary. */ | ||
| 1143 | #define NGLYPHS_IN_VALUE (sizeof (void *) / sizeof (CGGlyph)) | ||
| 1144 | |||
| 1145 | struct macfont_cache | ||
| 1146 | { | ||
| 1147 | int reference_count; | ||
| 1148 | CFCharacterSetRef cf_charset; | ||
| 1149 | struct { | ||
| 1150 | /* The cached glyph for a BMP character c is stored in | ||
| 1151 | matrix[row_nkeys_or_perm[c / 256] - ROW_PERM_OFFSET][c % 256] | ||
| 1152 | if row_nkeys_or_perm[c / 256] >= ROW_PERM_OFFSET. */ | ||
| 1153 | unsigned char row_nkeys_or_perm[256]; | ||
| 1154 | CGGlyph **matrix; | ||
| 1155 | |||
| 1156 | /* Number of rows for which the BMP cache is allocated so far. | ||
| 1157 | I.e., matrix[0] ... matrix[nrows - 1] are non-NULL. */ | ||
| 1158 | int nrows; | ||
| 1159 | |||
| 1160 | /* The cached glyph for a character c is stored as the (c % | ||
| 1161 | NGLYPHS_IN_VALUE)-th CGGlyph block of a value for the key (c / | ||
| 1162 | NGLYPHS_IN_VALUE). However, the glyph for a BMP characrer c is | ||
| 1163 | not stored here if row_nkeys_or_perm[c / 256] >= | ||
| 1164 | ROW_PERM_OFFSET. */ | ||
| 1165 | CFMutableDictionaryRef dictionary; | ||
| 1166 | } glyph; | ||
| 1167 | |||
| 1168 | struct { | ||
| 1169 | /* UVS (Unicode Variation Sequence) subtable data, which is of | ||
| 1170 | type CFDataRef if available. NULL means it is not initialized | ||
| 1171 | yet. kCFNull means the subtable is not found and there is no | ||
| 1172 | suitable fallback table for this font. */ | ||
| 1173 | CFTypeRef table; | ||
| 1174 | |||
| 1175 | /* Character collection specifying the destination of the mapping | ||
| 1176 | provided by `table' above. If `table' is obtained from the UVS | ||
| 1177 | subtable in the font cmap table, then the value of this member | ||
| 1178 | should be MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING. */ | ||
| 1179 | CharacterCollection collection; | ||
| 1180 | } uvs; | ||
| 1181 | }; | ||
| 1182 | |||
| 1183 | static struct macfont_cache *macfont_lookup_cache (CFStringRef); | ||
| 1184 | static struct macfont_cache *macfont_retain_cache (struct macfont_cache *); | ||
| 1185 | static void macfont_release_cache (struct macfont_cache *); | ||
| 1186 | static CFCharacterSetRef macfont_get_cf_charset (struct font *); | ||
| 1187 | static CFCharacterSetRef macfont_get_cf_charset_for_name (CFStringRef); | ||
| 1188 | static CGGlyph macfont_get_glyph_for_character (struct font *, UTF32Char); | ||
| 1189 | static CGGlyph macfont_get_glyph_for_cid (struct font *font, | ||
| 1190 | CharacterCollection, CGFontIndex); | ||
| 1191 | static CFDataRef macfont_get_uvs_table (struct font *, CharacterCollection *); | ||
| 1192 | |||
| 1193 | static struct macfont_cache * | ||
| 1194 | macfont_lookup_cache (CFStringRef key) | ||
| 1195 | { | ||
| 1196 | struct macfont_cache *cache; | ||
| 1197 | |||
| 1198 | if (macfont_cache_dictionary == NULL) | ||
| 1199 | { | ||
| 1200 | macfont_cache_dictionary = | ||
| 1201 | CFDictionaryCreateMutable (NULL, 0, | ||
| 1202 | &kCFTypeDictionaryKeyCallBacks, NULL); | ||
| 1203 | cache = NULL; | ||
| 1204 | } | ||
| 1205 | else | ||
| 1206 | cache = ((struct macfont_cache *) | ||
| 1207 | CFDictionaryGetValue (macfont_cache_dictionary, key)); | ||
| 1208 | |||
| 1209 | if (cache == NULL) | ||
| 1210 | { | ||
| 1211 | FontRef macfont = mac_font_create_with_name (key, 0); | ||
| 1212 | |||
| 1213 | if (macfont) | ||
| 1214 | { | ||
| 1215 | cache = xzalloc (sizeof (struct macfont_cache)); | ||
| 1216 | /* Treat the LastResort font as if it contained glyphs for | ||
| 1217 | all characters. This may look too rough, but neither | ||
| 1218 | CTFontCopyCharacterSet nor -[NSFont coveredCharacterSet] | ||
| 1219 | for this font is correct for non-BMP characters on Mac OS | ||
| 1220 | X 10.5, anyway. */ | ||
| 1221 | if (CFStringCompare (key, CFSTR ("LastResort"), 0) | ||
| 1222 | == kCFCompareEqualTo) | ||
| 1223 | { | ||
| 1224 | CFRange range = CFRangeMake (0, MAX_UNICODE_CHAR + 1); | ||
| 1225 | |||
| 1226 | cache->cf_charset = | ||
| 1227 | CFCharacterSetCreateWithCharactersInRange (NULL, range); | ||
| 1228 | } | ||
| 1229 | if (cache->cf_charset == NULL) | ||
| 1230 | cache->cf_charset = mac_font_copy_character_set (macfont); | ||
| 1231 | CFDictionaryAddValue (macfont_cache_dictionary, key, | ||
| 1232 | (const void *) cache); | ||
| 1233 | CFRelease (macfont); | ||
| 1234 | } | ||
| 1235 | } | ||
| 1236 | |||
| 1237 | return cache; | ||
| 1238 | } | ||
| 1239 | |||
| 1240 | static struct macfont_cache * | ||
| 1241 | macfont_retain_cache (struct macfont_cache *cache) | ||
| 1242 | { | ||
| 1243 | cache->reference_count++; | ||
| 1244 | |||
| 1245 | return cache; | ||
| 1246 | } | ||
| 1247 | |||
| 1248 | static void | ||
| 1249 | macfont_release_cache (struct macfont_cache *cache) | ||
| 1250 | { | ||
| 1251 | if (--cache->reference_count == 0) | ||
| 1252 | { | ||
| 1253 | int i; | ||
| 1254 | |||
| 1255 | for (i = 0; i < cache->glyph.nrows; i++) | ||
| 1256 | xfree (cache->glyph.matrix[i]); | ||
| 1257 | xfree (cache->glyph.matrix); | ||
| 1258 | if (cache->glyph.dictionary) | ||
| 1259 | CFRelease (cache->glyph.dictionary); | ||
| 1260 | memset (&cache->glyph, 0, sizeof (cache->glyph)); | ||
| 1261 | if (cache->uvs.table) | ||
| 1262 | CFRelease (cache->uvs.table); | ||
| 1263 | memset (&cache->uvs, 0, sizeof (cache->uvs)); | ||
| 1264 | } | ||
| 1265 | } | ||
| 1266 | |||
| 1267 | static CFCharacterSetRef | ||
| 1268 | macfont_get_cf_charset (struct font *font) | ||
| 1269 | { | ||
| 1270 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 1271 | |||
| 1272 | return macfont_info->cache->cf_charset; | ||
| 1273 | } | ||
| 1274 | |||
| 1275 | static CFCharacterSetRef | ||
| 1276 | macfont_get_cf_charset_for_name (CFStringRef name) | ||
| 1277 | { | ||
| 1278 | struct macfont_cache *cache = macfont_lookup_cache (name); | ||
| 1279 | |||
| 1280 | return cache->cf_charset; | ||
| 1281 | } | ||
| 1282 | |||
| 1283 | static CGGlyph | ||
| 1284 | macfont_get_glyph_for_character (struct font *font, UTF32Char c) | ||
| 1285 | { | ||
| 1286 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 1287 | FontRef macfont = macfont_info->macfont; | ||
| 1288 | struct macfont_cache *cache = macfont_info->cache; | ||
| 1289 | |||
| 1290 | if (c < 0xD800 || (c > 0xDFFF && c < 0x10000)) | ||
| 1291 | { | ||
| 1292 | int row = c / 256; | ||
| 1293 | int nkeys_or_perm = cache->glyph.row_nkeys_or_perm[row]; | ||
| 1294 | |||
| 1295 | if (nkeys_or_perm < ROW_PERM_OFFSET) | ||
| 1296 | { | ||
| 1297 | UniChar unichars[256], ch; | ||
| 1298 | CGGlyph *glyphs; | ||
| 1299 | int i, len; | ||
| 1300 | int nrows; | ||
| 1301 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 1302 | dispatch_queue_t queue; | ||
| 1303 | dispatch_group_t group = NULL; | ||
| 1304 | #else | ||
| 1305 | int nkeys; | ||
| 1306 | #endif | ||
| 1307 | |||
| 1308 | if (row != 0) | ||
| 1309 | { | ||
| 1310 | CFMutableDictionaryRef dictionary; | ||
| 1311 | uintptr_t key, value; | ||
| 1312 | int nshifts; | ||
| 1313 | CGGlyph glyph; | ||
| 1314 | |||
| 1315 | if (cache->glyph.dictionary == NULL) | ||
| 1316 | cache->glyph.dictionary = | ||
| 1317 | CFDictionaryCreateMutable (NULL, 0, NULL, NULL); | ||
| 1318 | dictionary = cache->glyph.dictionary; | ||
| 1319 | key = c / NGLYPHS_IN_VALUE; | ||
| 1320 | nshifts = ((c % NGLYPHS_IN_VALUE) * sizeof (CGGlyph) * 8); | ||
| 1321 | value = ((uintptr_t) | ||
| 1322 | CFDictionaryGetValue (dictionary, (const void *) key)); | ||
| 1323 | glyph = (value >> nshifts); | ||
| 1324 | if (glyph) | ||
| 1325 | return glyph; | ||
| 1326 | |||
| 1327 | if (nkeys_or_perm + 1 != ROW_PERM_OFFSET) | ||
| 1328 | { | ||
| 1329 | ch = c; | ||
| 1330 | if (!mac_font_get_glyphs_for_characters (macfont, &ch, | ||
| 1331 | &glyph, 1) | ||
| 1332 | || glyph == 0) | ||
| 1333 | glyph = kCGFontIndexInvalid; | ||
| 1334 | |||
| 1335 | if (value == 0) | ||
| 1336 | cache->glyph.row_nkeys_or_perm[row] = nkeys_or_perm + 1; | ||
| 1337 | value |= ((uintptr_t) glyph << nshifts); | ||
| 1338 | CFDictionarySetValue (dictionary, (const void *) key, | ||
| 1339 | (const void *) value); | ||
| 1340 | |||
| 1341 | return glyph; | ||
| 1342 | } | ||
| 1343 | |||
| 1344 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 1345 | queue = | ||
| 1346 | dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); | ||
| 1347 | group = dispatch_group_create (); | ||
| 1348 | dispatch_group_async (group, queue, ^{ | ||
| 1349 | int nkeys; | ||
| 1350 | uintptr_t key; | ||
| 1351 | #endif | ||
| 1352 | nkeys = nkeys_or_perm; | ||
| 1353 | for (key = row * (256 / NGLYPHS_IN_VALUE); ; key++) | ||
| 1354 | if (CFDictionaryContainsKey (dictionary, | ||
| 1355 | (const void *) key)) | ||
| 1356 | { | ||
| 1357 | CFDictionaryRemoveValue (dictionary, | ||
| 1358 | (const void *) key); | ||
| 1359 | if (--nkeys == 0) | ||
| 1360 | break; | ||
| 1361 | } | ||
| 1362 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 1363 | }); | ||
| 1364 | #endif | ||
| 1365 | } | ||
| 1366 | |||
| 1367 | len = 0; | ||
| 1368 | for (i = 0; i < 256; i++) | ||
| 1369 | { | ||
| 1370 | ch = row * 256 + i; | ||
| 1371 | if (CFCharacterSetIsLongCharacterMember (cache->cf_charset, ch)) | ||
| 1372 | unichars[len++] = ch; | ||
| 1373 | } | ||
| 1374 | |||
| 1375 | glyphs = xmalloc (sizeof (CGGlyph) * 256); | ||
| 1376 | if (len > 0) | ||
| 1377 | { | ||
| 1378 | mac_font_get_glyphs_for_characters (macfont, unichars, | ||
| 1379 | glyphs, len); | ||
| 1380 | while (i > len) | ||
| 1381 | { | ||
| 1382 | int next = unichars[len - 1] % 256; | ||
| 1383 | |||
| 1384 | while (--i > next) | ||
| 1385 | glyphs[i] = kCGFontIndexInvalid; | ||
| 1386 | |||
| 1387 | len--; | ||
| 1388 | glyphs[i] = glyphs[len]; | ||
| 1389 | if (len == 0) | ||
| 1390 | break; | ||
| 1391 | } | ||
| 1392 | } | ||
| 1393 | if (i > len) | ||
| 1394 | while (i-- > 0) | ||
| 1395 | glyphs[i] = kCGFontIndexInvalid; | ||
| 1396 | |||
| 1397 | nrows = cache->glyph.nrows; | ||
| 1398 | nkeys_or_perm = nrows + ROW_PERM_OFFSET; | ||
| 1399 | cache->glyph.row_nkeys_or_perm[row] = nkeys_or_perm; | ||
| 1400 | nrows++; | ||
| 1401 | cache->glyph.matrix = xrealloc (cache->glyph.matrix, | ||
| 1402 | sizeof (CGGlyph *) * nrows); | ||
| 1403 | cache->glyph.matrix[nrows - 1] = glyphs; | ||
| 1404 | cache->glyph.nrows = nrows; | ||
| 1405 | |||
| 1406 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 1407 | if (group) | ||
| 1408 | { | ||
| 1409 | dispatch_group_wait (group, DISPATCH_TIME_FOREVER); | ||
| 1410 | dispatch_release (group); | ||
| 1411 | } | ||
| 1412 | #endif | ||
| 1413 | } | ||
| 1414 | |||
| 1415 | return cache->glyph.matrix[nkeys_or_perm - ROW_PERM_OFFSET][c % 256]; | ||
| 1416 | } | ||
| 1417 | else | ||
| 1418 | { | ||
| 1419 | uintptr_t key, value; | ||
| 1420 | int nshifts; | ||
| 1421 | CGGlyph glyph; | ||
| 1422 | |||
| 1423 | if (cache->glyph.dictionary == NULL) | ||
| 1424 | cache->glyph.dictionary = | ||
| 1425 | CFDictionaryCreateMutable (NULL, 0, NULL, NULL); | ||
| 1426 | key = c / NGLYPHS_IN_VALUE; | ||
| 1427 | nshifts = ((c % NGLYPHS_IN_VALUE) * sizeof (CGGlyph) * 8); | ||
| 1428 | value = (uintptr_t) CFDictionaryGetValue (cache->glyph.dictionary, | ||
| 1429 | (const void *) key); | ||
| 1430 | glyph = (value >> nshifts); | ||
| 1431 | if (glyph == 0) | ||
| 1432 | { | ||
| 1433 | UniChar unichars[2]; | ||
| 1434 | CGGlyph glyphs[2]; | ||
| 1435 | CFIndex count = macfont_store_utf32char_to_unichars (c, unichars); | ||
| 1436 | |||
| 1437 | if (mac_font_get_glyphs_for_characters (macfont, unichars, glyphs, | ||
| 1438 | count)) | ||
| 1439 | glyph = glyphs[0]; | ||
| 1440 | if (glyph == 0) | ||
| 1441 | glyph = kCGFontIndexInvalid; | ||
| 1442 | |||
| 1443 | value |= ((uintptr_t) glyph << nshifts); | ||
| 1444 | CFDictionarySetValue (cache->glyph.dictionary, | ||
| 1445 | (const void *) key, (const void *) value); | ||
| 1446 | } | ||
| 1447 | |||
| 1448 | return glyph; | ||
| 1449 | } | ||
| 1450 | } | ||
| 1451 | |||
| 1452 | static CGGlyph | ||
| 1453 | macfont_get_glyph_for_cid (struct font *font, CharacterCollection collection, | ||
| 1454 | CGFontIndex cid) | ||
| 1455 | { | ||
| 1456 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 1457 | FontRef macfont = macfont_info->macfont; | ||
| 1458 | |||
| 1459 | /* Cache it? */ | ||
| 1460 | return mac_font_get_glyph_for_cid (macfont, collection, cid); | ||
| 1461 | } | ||
| 1462 | |||
| 1463 | static CFDataRef | ||
| 1464 | macfont_get_uvs_table (struct font *font, CharacterCollection *collection) | ||
| 1465 | { | ||
| 1466 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 1467 | FontRef macfont = macfont_info->macfont; | ||
| 1468 | struct macfont_cache *cache = macfont_info->cache; | ||
| 1469 | CFDataRef result = NULL; | ||
| 1470 | |||
| 1471 | if (cache->uvs.table == NULL) | ||
| 1472 | { | ||
| 1473 | CFDataRef uvs_table = mac_font_copy_uvs_table (macfont); | ||
| 1474 | CharacterCollection uvs_collection = | ||
| 1475 | MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING; | ||
| 1476 | |||
| 1477 | if (uvs_table == NULL | ||
| 1478 | && mac_font_get_glyph_for_cid (macfont, | ||
| 1479 | MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1, | ||
| 1480 | 6480) != kCGFontIndexInvalid) | ||
| 1481 | { | ||
| 1482 | /* If the glyph for U+4E55 is accessible via its CID 6480, | ||
| 1483 | then we use the Adobe-Japan1 UVS table, which maps a | ||
| 1484 | variation sequence to a CID, as a fallback. */ | ||
| 1485 | static CFDataRef mac_uvs_table_adobe_japan1 = NULL; | ||
| 1486 | |||
| 1487 | if (mac_uvs_table_adobe_japan1 == NULL) | ||
| 1488 | mac_uvs_table_adobe_japan1 = | ||
| 1489 | CFDataCreateWithBytesNoCopy (NULL, | ||
| 1490 | mac_uvs_table_adobe_japan1_bytes, | ||
| 1491 | sizeof (mac_uvs_table_adobe_japan1_bytes), | ||
| 1492 | kCFAllocatorNull); | ||
| 1493 | if (mac_uvs_table_adobe_japan1) | ||
| 1494 | { | ||
| 1495 | uvs_table = CFRetain (mac_uvs_table_adobe_japan1); | ||
| 1496 | uvs_collection = MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1; | ||
| 1497 | } | ||
| 1498 | } | ||
| 1499 | if (uvs_table == NULL) | ||
| 1500 | cache->uvs.table = kCFNull; | ||
| 1501 | else | ||
| 1502 | cache->uvs.table = uvs_table; | ||
| 1503 | cache->uvs.collection = uvs_collection; | ||
| 1504 | } | ||
| 1505 | |||
| 1506 | if (cache->uvs.table != kCFNull) | ||
| 1507 | { | ||
| 1508 | result = cache->uvs.table; | ||
| 1509 | *collection = cache->uvs.collection; | ||
| 1510 | } | ||
| 1511 | |||
| 1512 | return result; | ||
| 1513 | } | ||
| 1514 | |||
| 1515 | static Lisp_Object macfont_get_cache (struct frame *); | ||
| 1516 | static Lisp_Object macfont_list (struct frame *, Lisp_Object); | ||
| 1517 | static Lisp_Object macfont_match (struct frame *, Lisp_Object); | ||
| 1518 | static Lisp_Object macfont_list_family (struct frame *); | ||
| 1519 | static void macfont_free_entity (Lisp_Object); | ||
| 1520 | static Lisp_Object macfont_open (struct frame *, Lisp_Object, int); | ||
| 1521 | static void macfont_close (struct frame *, struct font *); | ||
| 1522 | static int macfont_has_char (Lisp_Object, int); | ||
| 1523 | static unsigned macfont_encode_char (struct font *, int); | ||
| 1524 | static int macfont_text_extents (struct font *, unsigned int *, int, | ||
| 1525 | struct font_metrics *); | ||
| 1526 | static int macfont_draw (struct glyph_string *, int, int, int, int, bool); | ||
| 1527 | static Lisp_Object macfont_shape (Lisp_Object); | ||
| 1528 | static int macfont_variation_glyphs (struct font *, int c, | ||
| 1529 | unsigned variations[256]); | ||
| 1530 | static void macfont_filter_properties (Lisp_Object, Lisp_Object); | ||
| 1531 | |||
| 1532 | static struct font_driver macfont_driver = | ||
| 1533 | { | ||
| 1534 | LISP_INITIALLY_ZERO, /* Qmac_ct */ | ||
| 1535 | 0, /* case insensitive */ | ||
| 1536 | macfont_get_cache, | ||
| 1537 | macfont_list, | ||
| 1538 | macfont_match, | ||
| 1539 | macfont_list_family, | ||
| 1540 | macfont_free_entity, | ||
| 1541 | macfont_open, | ||
| 1542 | macfont_close, | ||
| 1543 | NULL, /* prepare_face */ | ||
| 1544 | NULL, /* done_face */ | ||
| 1545 | macfont_has_char, | ||
| 1546 | macfont_encode_char, | ||
| 1547 | macfont_text_extents, | ||
| 1548 | macfont_draw, | ||
| 1549 | NULL, /* get_bitmap */ | ||
| 1550 | NULL, /* free_bitmap */ | ||
| 1551 | NULL, /* get_outline */ | ||
| 1552 | NULL, /* free_outline */ | ||
| 1553 | NULL, /* anchor_point */ | ||
| 1554 | NULL, /* otf_capability */ | ||
| 1555 | NULL, /* otf_drive */ | ||
| 1556 | NULL, /* start_for_frame */ | ||
| 1557 | NULL, /* end_for_frame */ | ||
| 1558 | macfont_shape, | ||
| 1559 | NULL, /* check */ | ||
| 1560 | macfont_variation_glyphs, | ||
| 1561 | macfont_filter_properties, | ||
| 1562 | }; | ||
| 1563 | |||
| 1564 | static Lisp_Object | ||
| 1565 | macfont_get_cache (struct frame * f) | ||
| 1566 | { | ||
| 1567 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); | ||
| 1568 | |||
| 1569 | return (dpyinfo->name_list_element); | ||
| 1570 | } | ||
| 1571 | |||
| 1572 | static int | ||
| 1573 | macfont_get_charset (Lisp_Object registry) | ||
| 1574 | { | ||
| 1575 | char *str = SSDATA (SYMBOL_NAME (registry)); | ||
| 1576 | char *re = alloca (SBYTES (SYMBOL_NAME (registry)) * 2 + 1); | ||
| 1577 | Lisp_Object regexp; | ||
| 1578 | int i, j; | ||
| 1579 | |||
| 1580 | for (i = j = 0; i < SBYTES (SYMBOL_NAME (registry)); i++, j++) | ||
| 1581 | { | ||
| 1582 | if (str[i] == '.') | ||
| 1583 | re[j++] = '\\'; | ||
| 1584 | else if (str[i] == '*') | ||
| 1585 | re[j++] = '.'; | ||
| 1586 | re[j] = str[i]; | ||
| 1587 | if (re[j] == '?') | ||
| 1588 | re[j] = '.'; | ||
| 1589 | } | ||
| 1590 | re[j] = '\0'; | ||
| 1591 | regexp = make_unibyte_string (re, j); | ||
| 1592 | for (i = 0; cf_charset_table[i].name; i++) | ||
| 1593 | if (fast_c_string_match_ignore_case | ||
| 1594 | (regexp, cf_charset_table[i].name, | ||
| 1595 | strlen (cf_charset_table[i].name)) >= 0) | ||
| 1596 | break; | ||
| 1597 | if (! cf_charset_table[i].name) | ||
| 1598 | return -1; | ||
| 1599 | if (! cf_charset_table[i].cf_charset) | ||
| 1600 | { | ||
| 1601 | int *uniquifier = cf_charset_table[i].uniquifier; | ||
| 1602 | UniChar *unichars = alloca (sizeof (cf_charset_table[i].uniquifier)); | ||
| 1603 | CFIndex count = 0; | ||
| 1604 | CFStringRef string; | ||
| 1605 | CFMutableCharacterSetRef charset = CFCharacterSetCreateMutable (NULL); | ||
| 1606 | |||
| 1607 | if (! charset) | ||
| 1608 | return -1; | ||
| 1609 | for (j = 0; uniquifier[j]; j++) | ||
| 1610 | { | ||
| 1611 | count += macfont_store_utf32char_to_unichars (uniquifier[j], | ||
| 1612 | unichars + count); | ||
| 1613 | CFCharacterSetAddCharactersInRange (charset, | ||
| 1614 | CFRangeMake (uniquifier[j], 1)); | ||
| 1615 | } | ||
| 1616 | |||
| 1617 | string = CFStringCreateWithCharacters (NULL, unichars, count); | ||
| 1618 | if (! string) | ||
| 1619 | { | ||
| 1620 | CFRelease (charset); | ||
| 1621 | return -1; | ||
| 1622 | } | ||
| 1623 | cf_charset_table[i].cf_charset = CFCharacterSetCreateCopy (NULL, | ||
| 1624 | charset); | ||
| 1625 | CFRelease (charset); | ||
| 1626 | /* CFCharacterSetCreateWithCharactersInString does not handle | ||
| 1627 | surrogate pairs properly as of Mac OS X 10.5. */ | ||
| 1628 | cf_charset_table[i].cf_charset_string = string; | ||
| 1629 | } | ||
| 1630 | return i; | ||
| 1631 | } | ||
| 1632 | |||
| 1633 | struct OpenTypeSpec | ||
| 1634 | { | ||
| 1635 | Lisp_Object script; | ||
| 1636 | unsigned int script_tag, langsys_tag; | ||
| 1637 | int nfeatures[2]; | ||
| 1638 | unsigned int *features[2]; | ||
| 1639 | }; | ||
| 1640 | |||
| 1641 | #define OTF_SYM_TAG(SYM, TAG) \ | ||
| 1642 | do { \ | ||
| 1643 | unsigned char *p = SDATA (SYMBOL_NAME (SYM)); \ | ||
| 1644 | TAG = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]; \ | ||
| 1645 | } while (0) | ||
| 1646 | |||
| 1647 | #define OTF_TAG_STR(TAG, P) \ | ||
| 1648 | do { \ | ||
| 1649 | (P)[0] = (char) (TAG >> 24); \ | ||
| 1650 | (P)[1] = (char) ((TAG >> 16) & 0xFF); \ | ||
| 1651 | (P)[2] = (char) ((TAG >> 8) & 0xFF); \ | ||
| 1652 | (P)[3] = (char) (TAG & 0xFF); \ | ||
| 1653 | (P)[4] = '\0'; \ | ||
| 1654 | } while (0) | ||
| 1655 | |||
| 1656 | static struct OpenTypeSpec * | ||
| 1657 | macfont_get_open_type_spec (Lisp_Object otf_spec) | ||
| 1658 | { | ||
| 1659 | struct OpenTypeSpec *spec = xmalloc (sizeof *spec); | ||
| 1660 | Lisp_Object val; | ||
| 1661 | int i, j; | ||
| 1662 | bool negative; | ||
| 1663 | |||
| 1664 | if (! spec) | ||
| 1665 | return NULL; | ||
| 1666 | spec->script = XCAR (otf_spec); | ||
| 1667 | if (! NILP (spec->script)) | ||
| 1668 | { | ||
| 1669 | OTF_SYM_TAG (spec->script, spec->script_tag); | ||
| 1670 | val = assq_no_quit (spec->script, Votf_script_alist); | ||
| 1671 | if (CONSP (val) && SYMBOLP (XCDR (val))) | ||
| 1672 | spec->script = XCDR (val); | ||
| 1673 | else | ||
| 1674 | spec->script = Qnil; | ||
| 1675 | } | ||
| 1676 | else | ||
| 1677 | spec->script_tag = 0x44464C54; /* "DFLT" */ | ||
| 1678 | otf_spec = XCDR (otf_spec); | ||
| 1679 | spec->langsys_tag = 0; | ||
| 1680 | if (! NILP (otf_spec)) | ||
| 1681 | { | ||
| 1682 | val = XCAR (otf_spec); | ||
| 1683 | if (! NILP (val)) | ||
| 1684 | OTF_SYM_TAG (val, spec->langsys_tag); | ||
| 1685 | otf_spec = XCDR (otf_spec); | ||
| 1686 | } | ||
| 1687 | spec->nfeatures[0] = spec->nfeatures[1] = 0; | ||
| 1688 | for (i = 0; i < 2 && ! NILP (otf_spec); i++, otf_spec = XCDR (otf_spec)) | ||
| 1689 | { | ||
| 1690 | Lisp_Object len; | ||
| 1691 | |||
| 1692 | val = XCAR (otf_spec); | ||
| 1693 | if (NILP (val)) | ||
| 1694 | continue; | ||
| 1695 | len = Flength (val); | ||
| 1696 | spec->features[i] = | ||
| 1697 | (min (PTRDIFF_MAX, SIZE_MAX) / sizeof (int) < XINT (len) | ||
| 1698 | ? 0 | ||
| 1699 | : malloc (XINT (len) * sizeof *spec->features[i])); | ||
| 1700 | if (! spec->features[i]) | ||
| 1701 | { | ||
| 1702 | if (i > 0 && spec->features[0]) | ||
| 1703 | free (spec->features[0]); | ||
| 1704 | free (spec); | ||
| 1705 | return NULL; | ||
| 1706 | } | ||
| 1707 | for (j = 0, negative = 0; CONSP (val); val = XCDR (val)) | ||
| 1708 | { | ||
| 1709 | if (NILP (XCAR (val))) | ||
| 1710 | negative = 1; | ||
| 1711 | else | ||
| 1712 | { | ||
| 1713 | unsigned int tag; | ||
| 1714 | |||
| 1715 | OTF_SYM_TAG (XCAR (val), tag); | ||
| 1716 | spec->features[i][j++] = negative ? tag & 0x80000000 : tag; | ||
| 1717 | } | ||
| 1718 | } | ||
| 1719 | spec->nfeatures[i] = j; | ||
| 1720 | } | ||
| 1721 | return spec; | ||
| 1722 | } | ||
| 1723 | |||
| 1724 | static CFMutableDictionaryRef | ||
| 1725 | macfont_create_attributes_with_spec (Lisp_Object spec) | ||
| 1726 | { | ||
| 1727 | Lisp_Object tmp, extra; | ||
| 1728 | CFMutableArrayRef langarray = NULL; | ||
| 1729 | CFCharacterSetRef charset = NULL; | ||
| 1730 | CFStringRef charset_string = NULL; | ||
| 1731 | CFMutableDictionaryRef attributes = NULL, traits = NULL; | ||
| 1732 | Lisp_Object script = Qnil; | ||
| 1733 | Lisp_Object registry; | ||
| 1734 | int cf_charset_idx, i; | ||
| 1735 | struct OpenTypeSpec *otspec = NULL; | ||
| 1736 | struct { | ||
| 1737 | enum font_property_index index; | ||
| 1738 | CFStringRef trait; | ||
| 1739 | CGPoint points[6]; | ||
| 1740 | } numeric_traits[] = | ||
| 1741 | {{FONT_WEIGHT_INDEX, MAC_FONT_WEIGHT_TRAIT, | ||
| 1742 | {{-0.4, 50}, /* light */ | ||
| 1743 | {-0.24, 87.5}, /* (semi-light + normal) / 2 */ | ||
| 1744 | {0, 100}, /* normal */ | ||
| 1745 | {0.24, 140}, /* (semi-bold + normal) / 2 */ | ||
| 1746 | {0.4, 200}, /* bold */ | ||
| 1747 | {CGFLOAT_MAX, CGFLOAT_MAX}}}, | ||
| 1748 | {FONT_SLANT_INDEX, MAC_FONT_SLANT_TRAIT, | ||
| 1749 | {{0, 100}, {0.1, 200}, {CGFLOAT_MAX, CGFLOAT_MAX}}}, | ||
| 1750 | {FONT_WIDTH_INDEX, MAC_FONT_WIDTH_TRAIT, | ||
| 1751 | {{0, 100}, {1, 200}, {CGFLOAT_MAX, CGFLOAT_MAX}}}}; | ||
| 1752 | |||
| 1753 | registry = AREF (spec, FONT_REGISTRY_INDEX); | ||
| 1754 | if (NILP (registry) | ||
| 1755 | || EQ (registry, Qascii_0) | ||
| 1756 | || EQ (registry, Qiso10646_1) | ||
| 1757 | || EQ (registry, Qunicode_bmp)) | ||
| 1758 | cf_charset_idx = -1; | ||
| 1759 | else | ||
| 1760 | { | ||
| 1761 | CFStringRef lang; | ||
| 1762 | |||
| 1763 | cf_charset_idx = macfont_get_charset (registry); | ||
| 1764 | if (cf_charset_idx < 0) | ||
| 1765 | goto err; | ||
| 1766 | charset = cf_charset_table[cf_charset_idx].cf_charset; | ||
| 1767 | charset_string = cf_charset_table[cf_charset_idx].cf_charset_string; | ||
| 1768 | lang = cf_charset_table[cf_charset_idx].lang; | ||
| 1769 | if (lang) | ||
| 1770 | { | ||
| 1771 | langarray = CFArrayCreateMutable (NULL, 0, &kCFTypeArrayCallBacks); | ||
| 1772 | if (! langarray) | ||
| 1773 | goto err; | ||
| 1774 | CFArrayAppendValue (langarray, lang); | ||
| 1775 | } | ||
| 1776 | } | ||
| 1777 | |||
| 1778 | for (extra = AREF (spec, FONT_EXTRA_INDEX); | ||
| 1779 | CONSP (extra); extra = XCDR (extra)) | ||
| 1780 | { | ||
| 1781 | Lisp_Object key, val; | ||
| 1782 | |||
| 1783 | tmp = XCAR (extra); | ||
| 1784 | key = XCAR (tmp), val = XCDR (tmp); | ||
| 1785 | if (EQ (key, QClang)) | ||
| 1786 | { | ||
| 1787 | if (! langarray) | ||
| 1788 | langarray = CFArrayCreateMutable (NULL, 0, &kCFTypeArrayCallBacks); | ||
| 1789 | if (! langarray) | ||
| 1790 | goto err; | ||
| 1791 | if (SYMBOLP (val)) | ||
| 1792 | val = list1 (val); | ||
| 1793 | for (; CONSP (val); val = XCDR (val)) | ||
| 1794 | if (SYMBOLP (XCAR (val))) | ||
| 1795 | { | ||
| 1796 | CFStringRef lang = | ||
| 1797 | cfstring_create_with_string_noencode (SYMBOL_NAME | ||
| 1798 | (XCAR (val))); | ||
| 1799 | |||
| 1800 | if (lang == NULL) | ||
| 1801 | goto err; | ||
| 1802 | CFArrayAppendValue (langarray, lang); | ||
| 1803 | CFRelease (lang); | ||
| 1804 | } | ||
| 1805 | } | ||
| 1806 | else if (EQ (key, QCotf)) | ||
| 1807 | { | ||
| 1808 | otspec = macfont_get_open_type_spec (val); | ||
| 1809 | if (! otspec) | ||
| 1810 | goto err; | ||
| 1811 | script = otspec->script; | ||
| 1812 | } | ||
| 1813 | else if (EQ (key, QCscript)) | ||
| 1814 | script = val; | ||
| 1815 | } | ||
| 1816 | |||
| 1817 | if (! NILP (script) && ! charset) | ||
| 1818 | { | ||
| 1819 | Lisp_Object chars = assq_no_quit (script, Vscript_representative_chars); | ||
| 1820 | |||
| 1821 | if (CONSP (chars) && CONSP (CDR (chars))) | ||
| 1822 | { | ||
| 1823 | CFMutableStringRef string = CFStringCreateMutable (NULL, 0); | ||
| 1824 | CFMutableCharacterSetRef cs = CFCharacterSetCreateMutable (NULL); | ||
| 1825 | |||
| 1826 | if (! string || !cs) | ||
| 1827 | { | ||
| 1828 | if (string) | ||
| 1829 | CFRelease (string); | ||
| 1830 | else if (cs) | ||
| 1831 | CFRelease (cs); | ||
| 1832 | goto err; | ||
| 1833 | } | ||
| 1834 | for (chars = XCDR (chars); CONSP (chars); chars = XCDR (chars)) | ||
| 1835 | if (CHARACTERP (XCAR (chars))) | ||
| 1836 | { | ||
| 1837 | UniChar unichars[2]; | ||
| 1838 | CFIndex count = | ||
| 1839 | macfont_store_utf32char_to_unichars (XFASTINT (XCAR (chars)), | ||
| 1840 | unichars); | ||
| 1841 | CFRange range = CFRangeMake (XFASTINT (XCAR (chars)), 1); | ||
| 1842 | |||
| 1843 | CFStringAppendCharacters (string, unichars, count); | ||
| 1844 | CFCharacterSetAddCharactersInRange (cs, range); | ||
| 1845 | } | ||
| 1846 | charset = cs; | ||
| 1847 | /* CFCharacterSetCreateWithCharactersInString does not | ||
| 1848 | handle surrogate pairs properly as of Mac OS X 10.5. */ | ||
| 1849 | charset_string = string; | ||
| 1850 | } | ||
| 1851 | } | ||
| 1852 | |||
| 1853 | attributes = CFDictionaryCreateMutable (NULL, 0, | ||
| 1854 | &kCFTypeDictionaryKeyCallBacks, | ||
| 1855 | &kCFTypeDictionaryValueCallBacks); | ||
| 1856 | if (! attributes) | ||
| 1857 | goto err; | ||
| 1858 | |||
| 1859 | tmp = AREF (spec, FONT_FAMILY_INDEX); | ||
| 1860 | if (SYMBOLP (tmp) && ! NILP (tmp)) | ||
| 1861 | { | ||
| 1862 | CFStringRef family = macfont_create_family_with_symbol (tmp); | ||
| 1863 | |||
| 1864 | if (! family) | ||
| 1865 | goto err; | ||
| 1866 | CFDictionaryAddValue (attributes, MAC_FONT_FAMILY_NAME_ATTRIBUTE, | ||
| 1867 | family); | ||
| 1868 | CFRelease (family); | ||
| 1869 | } | ||
| 1870 | |||
| 1871 | traits = CFDictionaryCreateMutable (NULL, 4, | ||
| 1872 | &kCFTypeDictionaryKeyCallBacks, | ||
| 1873 | &kCFTypeDictionaryValueCallBacks); | ||
| 1874 | if (! traits) | ||
| 1875 | goto err; | ||
| 1876 | |||
| 1877 | for (i = 0; i < sizeof (numeric_traits) / sizeof (numeric_traits[0]); i++) | ||
| 1878 | { | ||
| 1879 | tmp = AREF (spec, numeric_traits[i].index); | ||
| 1880 | if (INTEGERP (tmp)) | ||
| 1881 | { | ||
| 1882 | CGPoint *point = numeric_traits[i].points; | ||
| 1883 | CGFloat floatval = (XINT (tmp) >> 8); // XXX | ||
| 1884 | CFNumberRef num; | ||
| 1885 | |||
| 1886 | while (point->y < floatval) | ||
| 1887 | point++; | ||
| 1888 | if (point == numeric_traits[i].points) | ||
| 1889 | point++; | ||
| 1890 | else if (point->y == CGFLOAT_MAX) | ||
| 1891 | point--; | ||
| 1892 | floatval = (point - 1)->x + ((floatval - (point - 1)->y) | ||
| 1893 | * ((point->x - (point - 1)->x) | ||
| 1894 | / (point->y - (point - 1)->y))); | ||
| 1895 | if (floatval > 1.0) | ||
| 1896 | floatval = 1.0; | ||
| 1897 | else if (floatval < -1.0) | ||
| 1898 | floatval = -1.0; | ||
| 1899 | num = CFNumberCreate (NULL, kCFNumberCGFloatType, &floatval); | ||
| 1900 | if (! num) | ||
| 1901 | goto err; | ||
| 1902 | CFDictionaryAddValue (traits, numeric_traits[i].trait, num); | ||
| 1903 | CFRelease (num); | ||
| 1904 | } | ||
| 1905 | } | ||
| 1906 | if (CFDictionaryGetCount (traits)) | ||
| 1907 | CFDictionaryAddValue (attributes, MAC_FONT_TRAITS_ATTRIBUTE, traits); | ||
| 1908 | |||
| 1909 | if (charset) | ||
| 1910 | CFDictionaryAddValue (attributes, MAC_FONT_CHARACTER_SET_ATTRIBUTE, | ||
| 1911 | charset); | ||
| 1912 | if (charset_string) | ||
| 1913 | CFDictionaryAddValue (attributes, MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE, | ||
| 1914 | charset_string); | ||
| 1915 | if (langarray) | ||
| 1916 | CFDictionaryAddValue (attributes, MAC_FONT_LANGUAGES_ATTRIBUTE, langarray); | ||
| 1917 | |||
| 1918 | goto finish; | ||
| 1919 | |||
| 1920 | err: | ||
| 1921 | if (attributes) | ||
| 1922 | { | ||
| 1923 | CFRelease (attributes); | ||
| 1924 | attributes = NULL; | ||
| 1925 | } | ||
| 1926 | |||
| 1927 | finish: | ||
| 1928 | if (langarray) CFRelease (langarray); | ||
| 1929 | if (charset && cf_charset_idx < 0) CFRelease (charset); | ||
| 1930 | if (charset_string && cf_charset_idx < 0) CFRelease (charset_string); | ||
| 1931 | if (traits) CFRelease (traits); | ||
| 1932 | if (otspec) | ||
| 1933 | { | ||
| 1934 | if (otspec->nfeatures[0] > 0) | ||
| 1935 | free (otspec->features[0]); | ||
| 1936 | if (otspec->nfeatures[1] > 0) | ||
| 1937 | free (otspec->features[1]); | ||
| 1938 | free (otspec); | ||
| 1939 | } | ||
| 1940 | |||
| 1941 | return attributes; | ||
| 1942 | } | ||
| 1943 | |||
| 1944 | static Boolean | ||
| 1945 | macfont_supports_charset_and_languages_p (FontDescriptorRef desc, | ||
| 1946 | CFCharacterSetRef charset, | ||
| 1947 | Lisp_Object chars, | ||
| 1948 | CFArrayRef languages) | ||
| 1949 | { | ||
| 1950 | Boolean result = true; | ||
| 1951 | |||
| 1952 | if (charset || VECTORP (chars)) | ||
| 1953 | { | ||
| 1954 | CFCharacterSetRef desc_charset = | ||
| 1955 | mac_font_descriptor_copy_attribute (desc, | ||
| 1956 | MAC_FONT_CHARACTER_SET_ATTRIBUTE); | ||
| 1957 | |||
| 1958 | if (desc_charset == NULL) | ||
| 1959 | result = false; | ||
| 1960 | else | ||
| 1961 | { | ||
| 1962 | if (charset) | ||
| 1963 | result = CFCharacterSetIsSupersetOfSet (desc_charset, charset); | ||
| 1964 | else /* VECTORP (chars) */ | ||
| 1965 | { | ||
| 1966 | ptrdiff_t j; | ||
| 1967 | |||
| 1968 | for (j = 0; j < ASIZE (chars); j++) | ||
| 1969 | if (TYPE_RANGED_INTEGERP (UTF32Char, AREF (chars, j)) | ||
| 1970 | && CFCharacterSetIsLongCharacterMember (desc_charset, | ||
| 1971 | XFASTINT (AREF (chars, j)))) | ||
| 1972 | break; | ||
| 1973 | if (j == ASIZE (chars)) | ||
| 1974 | result = false; | ||
| 1975 | } | ||
| 1976 | CFRelease (desc_charset); | ||
| 1977 | } | ||
| 1978 | } | ||
| 1979 | if (result && languages) | ||
| 1980 | result = mac_font_descriptor_supports_languages (desc, languages); | ||
| 1981 | |||
| 1982 | return result; | ||
| 1983 | } | ||
| 1984 | |||
| 1985 | static CFIndex | ||
| 1986 | macfont_closest_traits_index (CFArrayRef traits_array, | ||
| 1987 | FontSymbolicTraits target) | ||
| 1988 | { | ||
| 1989 | CFIndex i, result = -1, count = CFArrayGetCount (traits_array); | ||
| 1990 | int min_distance = (1 << 3); | ||
| 1991 | |||
| 1992 | for (i = 0; i < count; i++) | ||
| 1993 | { | ||
| 1994 | FontSymbolicTraits traits, diff; | ||
| 1995 | int distance = 0; | ||
| 1996 | |||
| 1997 | traits = ((FontSymbolicTraits) (uintptr_t) | ||
| 1998 | CFArrayGetValueAtIndex (traits_array, i)); | ||
| 1999 | diff = (target ^ traits); | ||
| 2000 | /* We prefer synthetic bold of italic to synthetic italic of | ||
| 2001 | bold when both bold and italic are available but bold-italic | ||
| 2002 | is not available. */ | ||
| 2003 | if (diff & MAC_FONT_TRAIT_BOLD) | ||
| 2004 | distance |= (1 << 0); | ||
| 2005 | if (diff & MAC_FONT_TRAIT_ITALIC) | ||
| 2006 | distance |= (1 << 1); | ||
| 2007 | if (diff & MAC_FONT_TRAIT_MONO_SPACE) | ||
| 2008 | distance |= (1 << 2); | ||
| 2009 | if (distance < min_distance) | ||
| 2010 | { | ||
| 2011 | min_distance = distance; | ||
| 2012 | result = i; | ||
| 2013 | } | ||
| 2014 | } | ||
| 2015 | |||
| 2016 | return result; | ||
| 2017 | } | ||
| 2018 | |||
| 2019 | static Lisp_Object | ||
| 2020 | macfont_list (struct frame *f, Lisp_Object spec) | ||
| 2021 | { | ||
| 2022 | Lisp_Object val = Qnil, family, extra; | ||
| 2023 | int i, n; | ||
| 2024 | CFStringRef family_name = NULL; | ||
| 2025 | CFMutableDictionaryRef attributes = NULL, traits; | ||
| 2026 | Lisp_Object chars = Qnil; | ||
| 2027 | int spacing = -1; | ||
| 2028 | FontSymbolicTraits synth_sym_traits = 0; | ||
| 2029 | CFArrayRef families; | ||
| 2030 | CFIndex families_count; | ||
| 2031 | CFCharacterSetRef charset = NULL; | ||
| 2032 | CFArrayRef languages = NULL; | ||
| 2033 | |||
| 2034 | block_input (); | ||
| 2035 | |||
| 2036 | family = AREF (spec, FONT_FAMILY_INDEX); | ||
| 2037 | if (! NILP (family)) | ||
| 2038 | { | ||
| 2039 | family_name = macfont_create_family_with_symbol (family); | ||
| 2040 | if (family_name == NULL) | ||
| 2041 | goto finish; | ||
| 2042 | } | ||
| 2043 | |||
| 2044 | attributes = macfont_create_attributes_with_spec (spec); | ||
| 2045 | if (! attributes) | ||
| 2046 | goto finish; | ||
| 2047 | |||
| 2048 | charset = ((CFCharacterSetRef) | ||
| 2049 | CFDictionaryGetValue (attributes, | ||
| 2050 | MAC_FONT_CHARACTER_SET_ATTRIBUTE)); | ||
| 2051 | if (charset) | ||
| 2052 | { | ||
| 2053 | CFRetain (charset); | ||
| 2054 | CFDictionaryRemoveValue (attributes, MAC_FONT_CHARACTER_SET_ATTRIBUTE); | ||
| 2055 | } | ||
| 2056 | else | ||
| 2057 | { | ||
| 2058 | val = assq_no_quit (QCscript, AREF (spec, FONT_EXTRA_INDEX)); | ||
| 2059 | if (! NILP (val)) | ||
| 2060 | { | ||
| 2061 | val = assq_no_quit (XCDR (val), Vscript_representative_chars); | ||
| 2062 | if (CONSP (val) && VECTORP (XCDR (val))) | ||
| 2063 | chars = XCDR (val); | ||
| 2064 | } | ||
| 2065 | val = Qnil; | ||
| 2066 | } | ||
| 2067 | |||
| 2068 | languages = ((CFArrayRef) | ||
| 2069 | CFDictionaryGetValue (attributes, MAC_FONT_LANGUAGES_ATTRIBUTE)); | ||
| 2070 | if (languages) | ||
| 2071 | { | ||
| 2072 | CFRetain (languages); | ||
| 2073 | CFDictionaryRemoveValue (attributes, MAC_FONT_LANGUAGES_ATTRIBUTE); | ||
| 2074 | } | ||
| 2075 | |||
| 2076 | if (INTEGERP (AREF (spec, FONT_SPACING_INDEX))) | ||
| 2077 | spacing = XINT (AREF (spec, FONT_SPACING_INDEX)); | ||
| 2078 | |||
| 2079 | traits = ((CFMutableDictionaryRef) | ||
| 2080 | CFDictionaryGetValue (attributes, MAC_FONT_TRAITS_ATTRIBUTE)); | ||
| 2081 | |||
| 2082 | n = FONT_SLANT_NUMERIC (spec); | ||
| 2083 | if (n < 0 || n == FONT_SLANT_SYNTHETIC_ITALIC) | ||
| 2084 | { | ||
| 2085 | synth_sym_traits |= MAC_FONT_TRAIT_ITALIC; | ||
| 2086 | if (traits) | ||
| 2087 | CFDictionaryRemoveValue (traits, MAC_FONT_SLANT_TRAIT); | ||
| 2088 | } | ||
| 2089 | |||
| 2090 | n = FONT_WEIGHT_NUMERIC (spec); | ||
| 2091 | if (n < 0 || n == FONT_WEIGHT_SYNTHETIC_BOLD) | ||
| 2092 | { | ||
| 2093 | synth_sym_traits |= MAC_FONT_TRAIT_BOLD; | ||
| 2094 | if (traits) | ||
| 2095 | CFDictionaryRemoveValue (traits, MAC_FONT_WEIGHT_TRAIT); | ||
| 2096 | } | ||
| 2097 | |||
| 2098 | if (languages | ||
| 2099 | && (spacing < 0 || spacing == FONT_SPACING_SYNTHETIC_MONO)) | ||
| 2100 | { | ||
| 2101 | CFStringRef language = CFArrayGetValueAtIndex (languages, 0); | ||
| 2102 | |||
| 2103 | if (CFStringHasPrefix (language, CFSTR ("ja")) | ||
| 2104 | || CFStringHasPrefix (language, CFSTR ("ko")) | ||
| 2105 | || CFStringHasPrefix (language, CFSTR ("zh"))) | ||
| 2106 | synth_sym_traits |= MAC_FONT_TRAIT_MONO_SPACE; | ||
| 2107 | } | ||
| 2108 | |||
| 2109 | /* Create array of families. */ | ||
| 2110 | if (family_name) | ||
| 2111 | families = CFArrayCreate (NULL, (const void **) &family_name, | ||
| 2112 | 1, &kCFTypeArrayCallBacks); | ||
| 2113 | else | ||
| 2114 | { | ||
| 2115 | CFStringRef pref_family; | ||
| 2116 | CFIndex families_count, pref_family_index = -1; | ||
| 2117 | |||
| 2118 | families = mac_font_create_available_families (); | ||
| 2119 | if (families == NULL) | ||
| 2120 | goto err; | ||
| 2121 | |||
| 2122 | families_count = CFArrayGetCount (families); | ||
| 2123 | |||
| 2124 | /* Move preferred family to the front if exists. */ | ||
| 2125 | pref_family = | ||
| 2126 | mac_font_create_preferred_family_for_attributes (attributes); | ||
| 2127 | if (pref_family) | ||
| 2128 | { | ||
| 2129 | pref_family_index = | ||
| 2130 | CFArrayGetFirstIndexOfValue (families, | ||
| 2131 | CFRangeMake (0, families_count), | ||
| 2132 | pref_family); | ||
| 2133 | CFRelease (pref_family); | ||
| 2134 | } | ||
| 2135 | if (pref_family_index > 0) | ||
| 2136 | { | ||
| 2137 | CFMutableArrayRef mutable_families = | ||
| 2138 | CFArrayCreateMutable (NULL, families_count, &kCFTypeArrayCallBacks); | ||
| 2139 | |||
| 2140 | if (mutable_families) | ||
| 2141 | { | ||
| 2142 | CFArrayAppendValue (mutable_families, | ||
| 2143 | CFArrayGetValueAtIndex (families, | ||
| 2144 | pref_family_index)); | ||
| 2145 | CFArrayAppendArray (mutable_families, families, | ||
| 2146 | CFRangeMake (0, pref_family_index)); | ||
| 2147 | if (pref_family_index + 1 < families_count) | ||
| 2148 | CFArrayAppendArray (mutable_families, families, | ||
| 2149 | CFRangeMake (pref_family_index + 1, | ||
| 2150 | families_count | ||
| 2151 | - (pref_family_index + 1))); | ||
| 2152 | CFRelease (families); | ||
| 2153 | families = mutable_families; | ||
| 2154 | } | ||
| 2155 | } | ||
| 2156 | } | ||
| 2157 | |||
| 2158 | val = Qnil; | ||
| 2159 | extra = AREF (spec, FONT_EXTRA_INDEX); | ||
| 2160 | families_count = CFArrayGetCount (families); | ||
| 2161 | for (i = 0; i < families_count; i++) | ||
| 2162 | { | ||
| 2163 | CFStringRef family_name = CFArrayGetValueAtIndex (families, i); | ||
| 2164 | FontDescriptorRef pat_desc; | ||
| 2165 | CFArrayRef descs; | ||
| 2166 | CFIndex descs_count; | ||
| 2167 | CFMutableArrayRef filtered_descs, traits_array; | ||
| 2168 | Lisp_Object entity; | ||
| 2169 | int j; | ||
| 2170 | |||
| 2171 | CFDictionarySetValue (attributes, MAC_FONT_FAMILY_NAME_ATTRIBUTE, | ||
| 2172 | family_name); | ||
| 2173 | pat_desc = mac_font_descriptor_create_with_attributes (attributes); | ||
| 2174 | if (! pat_desc) | ||
| 2175 | goto err; | ||
| 2176 | |||
| 2177 | /* CTFontDescriptorCreateMatchingFontDescriptors on Mac OS X | ||
| 2178 | 10.7 returns NULL if pat_desc represents the LastResort font. | ||
| 2179 | So we use CTFontDescriptorCreateMatchingFontDescriptor (no | ||
| 2180 | trailing "s") for such a font. */ | ||
| 2181 | if (CFStringCompare (family_name, CFSTR ("LastResort"), 0) | ||
| 2182 | != kCFCompareEqualTo) | ||
| 2183 | descs = mac_font_descriptor_create_matching_font_descriptors (pat_desc, | ||
| 2184 | NULL); | ||
| 2185 | else | ||
| 2186 | { | ||
| 2187 | FontDescriptorRef lr_desc = | ||
| 2188 | mac_font_descriptor_create_matching_font_descriptor (pat_desc, | ||
| 2189 | NULL); | ||
| 2190 | if (lr_desc) | ||
| 2191 | { | ||
| 2192 | descs = CFArrayCreate (NULL, (const void **) &lr_desc, 1, | ||
| 2193 | &kCFTypeArrayCallBacks); | ||
| 2194 | CFRelease (lr_desc); | ||
| 2195 | } | ||
| 2196 | else | ||
| 2197 | descs = NULL; | ||
| 2198 | } | ||
| 2199 | CFRelease (pat_desc); | ||
| 2200 | if (! descs) | ||
| 2201 | goto err; | ||
| 2202 | |||
| 2203 | descs_count = CFArrayGetCount (descs); | ||
| 2204 | if (descs_count == 0 | ||
| 2205 | || !macfont_supports_charset_and_languages_p (CFArrayGetValueAtIndex (descs, 0), | ||
| 2206 | charset, chars, | ||
| 2207 | languages)) | ||
| 2208 | { | ||
| 2209 | CFRelease (descs); | ||
| 2210 | continue; | ||
| 2211 | } | ||
| 2212 | |||
| 2213 | filtered_descs = | ||
| 2214 | CFArrayCreateMutable (NULL, descs_count, &kCFTypeArrayCallBacks); | ||
| 2215 | traits_array = CFArrayCreateMutable (NULL, descs_count, NULL); | ||
| 2216 | for (j = 0; j < descs_count; j++) | ||
| 2217 | { | ||
| 2218 | FontDescriptorRef desc = CFArrayGetValueAtIndex (descs, j); | ||
| 2219 | CFDictionaryRef dict; | ||
| 2220 | CFNumberRef num; | ||
| 2221 | FontSymbolicTraits sym_traits; | ||
| 2222 | |||
| 2223 | dict = mac_font_descriptor_copy_attribute (desc, | ||
| 2224 | MAC_FONT_TRAITS_ATTRIBUTE); | ||
| 2225 | if (dict == NULL) | ||
| 2226 | continue; | ||
| 2227 | |||
| 2228 | num = CFDictionaryGetValue (dict, MAC_FONT_SYMBOLIC_TRAIT); | ||
| 2229 | CFRelease (dict); | ||
| 2230 | if (num == NULL | ||
| 2231 | || !cfnumber_get_font_symbolic_traits_value (num, &sym_traits)) | ||
| 2232 | continue; | ||
| 2233 | |||
| 2234 | if (spacing >= 0 | ||
| 2235 | && !(synth_sym_traits & MAC_FONT_TRAIT_MONO_SPACE) | ||
| 2236 | && (((sym_traits & MAC_FONT_TRAIT_MONO_SPACE) != 0) | ||
| 2237 | != (spacing >= FONT_SPACING_MONO))) | ||
| 2238 | continue; | ||
| 2239 | |||
| 2240 | /* Don't use a color bitmap font unless its family is | ||
| 2241 | explicitly specified. */ | ||
| 2242 | if ((sym_traits & MAC_FONT_TRAIT_COLOR_GLYPHS) && NILP (family)) | ||
| 2243 | continue; | ||
| 2244 | |||
| 2245 | if (j > 0 | ||
| 2246 | && !macfont_supports_charset_and_languages_p (desc, charset, | ||
| 2247 | chars, languages)) | ||
| 2248 | continue; | ||
| 2249 | |||
| 2250 | CFArrayAppendValue (filtered_descs, desc); | ||
| 2251 | CFArrayAppendValue (traits_array, | ||
| 2252 | (const void *) (uintptr_t) sym_traits); | ||
| 2253 | } | ||
| 2254 | |||
| 2255 | CFRelease (descs); | ||
| 2256 | descs = filtered_descs; | ||
| 2257 | descs_count = CFArrayGetCount (descs); | ||
| 2258 | |||
| 2259 | for (j = 0; j < descs_count; j++) | ||
| 2260 | { | ||
| 2261 | FontDescriptorRef desc = CFArrayGetValueAtIndex (descs, j); | ||
| 2262 | FontSymbolicTraits sym_traits = | ||
| 2263 | ((FontSymbolicTraits) (uintptr_t) | ||
| 2264 | CFArrayGetValueAtIndex (traits_array, j)); | ||
| 2265 | FontSymbolicTraits mask_min, mask_max, imask, bmask, mmask; | ||
| 2266 | |||
| 2267 | mask_min = ((synth_sym_traits ^ sym_traits) | ||
| 2268 | & (MAC_FONT_TRAIT_ITALIC | MAC_FONT_TRAIT_BOLD)); | ||
| 2269 | if (FONT_SLANT_NUMERIC (spec) < 0) | ||
| 2270 | mask_min &= ~MAC_FONT_TRAIT_ITALIC; | ||
| 2271 | if (FONT_WEIGHT_NUMERIC (spec) < 0) | ||
| 2272 | mask_min &= ~MAC_FONT_TRAIT_BOLD; | ||
| 2273 | |||
| 2274 | mask_max = (synth_sym_traits & ~sym_traits); | ||
| 2275 | /* Synthetic bold does not work for bitmap-only fonts on Mac | ||
| 2276 | OS X 10.6. */ | ||
| 2277 | if ((mask_min ^ mask_max) & MAC_FONT_TRAIT_BOLD) | ||
| 2278 | { | ||
| 2279 | CFNumberRef format = | ||
| 2280 | mac_font_descriptor_copy_attribute (desc, | ||
| 2281 | MAC_FONT_FORMAT_ATTRIBUTE); | ||
| 2282 | |||
| 2283 | if (format) | ||
| 2284 | { | ||
| 2285 | uint32_t format_val; | ||
| 2286 | |||
| 2287 | if (CFNumberGetValue (format, kCFNumberSInt32Type, | ||
| 2288 | &format_val) | ||
| 2289 | && format_val == MAC_FONT_FORMAT_BITMAP) | ||
| 2290 | mask_max &= ~MAC_FONT_TRAIT_BOLD; | ||
| 2291 | } | ||
| 2292 | } | ||
| 2293 | if (spacing >= 0) | ||
| 2294 | mask_min |= (mask_max & MAC_FONT_TRAIT_MONO_SPACE); | ||
| 2295 | |||
| 2296 | for (mmask = (mask_min & MAC_FONT_TRAIT_MONO_SPACE); | ||
| 2297 | mmask <= (mask_max & MAC_FONT_TRAIT_MONO_SPACE); | ||
| 2298 | mmask += MAC_FONT_TRAIT_MONO_SPACE) | ||
| 2299 | for (bmask = (mask_min & MAC_FONT_TRAIT_BOLD); | ||
| 2300 | bmask <= (mask_max & MAC_FONT_TRAIT_BOLD); | ||
| 2301 | bmask += MAC_FONT_TRAIT_BOLD) | ||
| 2302 | for (imask = (mask_min & MAC_FONT_TRAIT_ITALIC); | ||
| 2303 | imask <= (mask_max & MAC_FONT_TRAIT_ITALIC); | ||
| 2304 | imask += MAC_FONT_TRAIT_ITALIC) | ||
| 2305 | { | ||
| 2306 | FontSymbolicTraits synth = (imask | bmask | mmask); | ||
| 2307 | |||
| 2308 | if (synth == 0 | ||
| 2309 | || j == macfont_closest_traits_index (traits_array, | ||
| 2310 | (sym_traits | synth))) | ||
| 2311 | { | ||
| 2312 | entity = macfont_descriptor_entity (desc, extra, synth); | ||
| 2313 | if (! NILP (entity)) | ||
| 2314 | val = Fcons (entity, val); | ||
| 2315 | } | ||
| 2316 | } | ||
| 2317 | } | ||
| 2318 | |||
| 2319 | CFRelease (traits_array); | ||
| 2320 | CFRelease (descs); | ||
| 2321 | } | ||
| 2322 | |||
| 2323 | CFRelease (families); | ||
| 2324 | val = Fnreverse (val); | ||
| 2325 | goto finish; | ||
| 2326 | err: | ||
| 2327 | val = Qnil; | ||
| 2328 | |||
| 2329 | finish: | ||
| 2330 | FONT_ADD_LOG ("macfont-list", spec, val); | ||
| 2331 | if (charset) CFRelease (charset); | ||
| 2332 | if (languages) CFRelease (languages); | ||
| 2333 | if (attributes) CFRelease (attributes); | ||
| 2334 | if (family_name) CFRelease (family_name); | ||
| 2335 | |||
| 2336 | unblock_input (); | ||
| 2337 | |||
| 2338 | return val; | ||
| 2339 | } | ||
| 2340 | |||
| 2341 | static Lisp_Object | ||
| 2342 | macfont_match (struct frame * frame, Lisp_Object spec) | ||
| 2343 | { | ||
| 2344 | Lisp_Object entity = Qnil; | ||
| 2345 | CFMutableDictionaryRef attributes; | ||
| 2346 | FontDescriptorRef pat_desc = NULL, desc = NULL; | ||
| 2347 | |||
| 2348 | block_input (); | ||
| 2349 | |||
| 2350 | attributes = macfont_create_attributes_with_spec (spec); | ||
| 2351 | if (attributes) | ||
| 2352 | { | ||
| 2353 | pat_desc = mac_font_descriptor_create_with_attributes (attributes); | ||
| 2354 | CFRelease (attributes); | ||
| 2355 | } | ||
| 2356 | if (pat_desc) | ||
| 2357 | { | ||
| 2358 | desc = mac_font_descriptor_create_matching_font_descriptor (pat_desc, | ||
| 2359 | NULL); | ||
| 2360 | CFRelease (pat_desc); | ||
| 2361 | } | ||
| 2362 | if (desc) | ||
| 2363 | { | ||
| 2364 | entity = macfont_descriptor_entity (desc, AREF (spec, FONT_EXTRA_INDEX), | ||
| 2365 | 0); | ||
| 2366 | CFRelease (desc); | ||
| 2367 | } | ||
| 2368 | unblock_input (); | ||
| 2369 | |||
| 2370 | FONT_ADD_LOG ("macfont-match", spec, entity); | ||
| 2371 | return entity; | ||
| 2372 | } | ||
| 2373 | |||
| 2374 | static Lisp_Object | ||
| 2375 | macfont_list_family (struct frame *frame) | ||
| 2376 | { | ||
| 2377 | Lisp_Object list = Qnil; | ||
| 2378 | CFArrayRef families; | ||
| 2379 | |||
| 2380 | block_input (); | ||
| 2381 | |||
| 2382 | families = mac_font_create_available_families (); | ||
| 2383 | if (families) | ||
| 2384 | { | ||
| 2385 | CFIndex i, count = CFArrayGetCount (families); | ||
| 2386 | |||
| 2387 | for (i = 0; i < count; i++) | ||
| 2388 | list = Fcons (macfont_intern_prop_cfstring (CFArrayGetValueAtIndex (families, i)), list); | ||
| 2389 | CFRelease (families); | ||
| 2390 | } | ||
| 2391 | |||
| 2392 | unblock_input (); | ||
| 2393 | |||
| 2394 | return list; | ||
| 2395 | } | ||
| 2396 | |||
| 2397 | static void | ||
| 2398 | macfont_free_entity (Lisp_Object entity) | ||
| 2399 | { | ||
| 2400 | Lisp_Object val = assq_no_quit (QCfont_entity, | ||
| 2401 | AREF (entity, FONT_EXTRA_INDEX)); | ||
| 2402 | CFStringRef name = XSAVE_POINTER (XCDR (val), 0); | ||
| 2403 | |||
| 2404 | block_input (); | ||
| 2405 | CFRelease (name); | ||
| 2406 | unblock_input (); | ||
| 2407 | } | ||
| 2408 | |||
| 2409 | static Lisp_Object | ||
| 2410 | macfont_open (struct frame * f, Lisp_Object entity, int pixel_size) | ||
| 2411 | { | ||
| 2412 | Lisp_Object val, font_object; | ||
| 2413 | CFStringRef font_name; | ||
| 2414 | struct macfont_info *macfont_info = NULL; | ||
| 2415 | struct font *font; | ||
| 2416 | int size; | ||
| 2417 | FontRef macfont; | ||
| 2418 | FontSymbolicTraits sym_traits; | ||
| 2419 | char name[256]; | ||
| 2420 | int len, i, total_width; | ||
| 2421 | CGGlyph glyph; | ||
| 2422 | CGFloat ascent, descent, leading; | ||
| 2423 | |||
| 2424 | val = assq_no_quit (QCfont_entity, AREF (entity, FONT_EXTRA_INDEX)); | ||
| 2425 | if (! CONSP (val) | ||
| 2426 | || XTYPE (XCDR (val)) != Lisp_Misc | ||
| 2427 | || XMISCTYPE (XCDR (val)) != Lisp_Misc_Save_Value) | ||
| 2428 | return Qnil; | ||
| 2429 | font_name = XSAVE_POINTER (XCDR (val), 0); | ||
| 2430 | sym_traits = XSAVE_INTEGER (XCDR (val), 1); | ||
| 2431 | |||
| 2432 | size = XINT (AREF (entity, FONT_SIZE_INDEX)); | ||
| 2433 | if (size == 0) | ||
| 2434 | size = pixel_size; | ||
| 2435 | |||
| 2436 | block_input (); | ||
| 2437 | macfont = mac_font_create_with_name (font_name, size); | ||
| 2438 | if (macfont) | ||
| 2439 | { | ||
| 2440 | int fontsize = (int) [((NSFont *) macfont) pointSize]; | ||
| 2441 | if (fontsize != size) size = fontsize; | ||
| 2442 | } | ||
| 2443 | unblock_input (); | ||
| 2444 | if (! macfont) | ||
| 2445 | return Qnil; | ||
| 2446 | |||
| 2447 | font_object = font_make_object (VECSIZE (struct macfont_info), entity, size); | ||
| 2448 | ASET (font_object, FONT_TYPE_INDEX, macfont_driver.type); | ||
| 2449 | len = font_unparse_xlfd (entity, size, name, 256); | ||
| 2450 | if (len > 0) | ||
| 2451 | ASET (font_object, FONT_NAME_INDEX, make_string (name, len)); | ||
| 2452 | len = font_unparse_fcname (entity, size, name, 256); | ||
| 2453 | if (len > 0) | ||
| 2454 | ASET (font_object, FONT_FULLNAME_INDEX, make_string (name, len)); | ||
| 2455 | else | ||
| 2456 | ASET (font_object, FONT_FULLNAME_INDEX, | ||
| 2457 | AREF (font_object, FONT_NAME_INDEX)); | ||
| 2458 | font = XFONT_OBJECT (font_object); | ||
| 2459 | font->pixel_size = size; | ||
| 2460 | font->driver = &macfont_driver; | ||
| 2461 | font->encoding_charset = font->repertory_charset = -1; | ||
| 2462 | |||
| 2463 | block_input (); | ||
| 2464 | |||
| 2465 | macfont_info = (struct macfont_info *) font; | ||
| 2466 | macfont_info->macfont = macfont; | ||
| 2467 | macfont_info->cgfont = mac_font_copy_graphics_font (macfont); | ||
| 2468 | |||
| 2469 | val = assq_no_quit (QCdestination, AREF (entity, FONT_EXTRA_INDEX)); | ||
| 2470 | if (CONSP (val) && EQ (XCDR (val), make_number (1))) | ||
| 2471 | macfont_info->screen_font = mac_screen_font_create_with_name (font_name, | ||
| 2472 | size); | ||
| 2473 | else | ||
| 2474 | macfont_info->screen_font = NULL; | ||
| 2475 | macfont_info->cache = macfont_lookup_cache (font_name); | ||
| 2476 | macfont_retain_cache (macfont_info->cache); | ||
| 2477 | macfont_info->metrics = NULL; | ||
| 2478 | macfont_info->metrics_nrows = 0; | ||
| 2479 | macfont_info->synthetic_italic_p = 0; | ||
| 2480 | macfont_info->synthetic_bold_p = 0; | ||
| 2481 | macfont_info->spacing = MACFONT_SPACING_PROPORTIONAL; | ||
| 2482 | macfont_info->antialias = MACFONT_ANTIALIAS_DEFAULT; | ||
| 2483 | if (!(sym_traits & MAC_FONT_TRAIT_ITALIC) | ||
| 2484 | && FONT_SLANT_NUMERIC (entity) == FONT_SLANT_SYNTHETIC_ITALIC) | ||
| 2485 | macfont_info->synthetic_italic_p = 1; | ||
| 2486 | if (!(sym_traits & MAC_FONT_TRAIT_BOLD) | ||
| 2487 | && FONT_WEIGHT_NUMERIC (entity) == FONT_WEIGHT_SYNTHETIC_BOLD) | ||
| 2488 | macfont_info->synthetic_bold_p = 1; | ||
| 2489 | if (sym_traits & MAC_FONT_TRAIT_MONO_SPACE) | ||
| 2490 | macfont_info->spacing = MACFONT_SPACING_MONO; | ||
| 2491 | else if (INTEGERP (AREF (entity, FONT_SPACING_INDEX)) | ||
| 2492 | && (XINT (AREF (entity, FONT_SPACING_INDEX)) | ||
| 2493 | == FONT_SPACING_SYNTHETIC_MONO)) | ||
| 2494 | macfont_info->spacing = MACFONT_SPACING_SYNTHETIC_MONO; | ||
| 2495 | if (macfont_info->synthetic_italic_p || macfont_info->synthetic_bold_p) | ||
| 2496 | macfont_info->antialias = MACFONT_ANTIALIAS_ON; | ||
| 2497 | else | ||
| 2498 | { | ||
| 2499 | val = assq_no_quit (QCantialias, AREF (entity, FONT_EXTRA_INDEX)); | ||
| 2500 | if (CONSP (val)) | ||
| 2501 | macfont_info->antialias = | ||
| 2502 | NILP (XCDR (val)) ? MACFONT_ANTIALIAS_OFF : MACFONT_ANTIALIAS_ON; | ||
| 2503 | } | ||
| 2504 | macfont_info->color_bitmap_p = 0; | ||
| 2505 | if (sym_traits & MAC_FONT_TRAIT_COLOR_GLYPHS) | ||
| 2506 | macfont_info->color_bitmap_p = 1; | ||
| 2507 | |||
| 2508 | glyph = macfont_get_glyph_for_character (font, ' '); | ||
| 2509 | if (glyph != kCGFontIndexInvalid) | ||
| 2510 | font->space_width = macfont_glyph_extents (font, glyph, NULL, NULL, 0); | ||
| 2511 | else | ||
| 2512 | /* dirty workaround */ | ||
| 2513 | font->space_width = pixel_size; | ||
| 2514 | |||
| 2515 | total_width = font->space_width; | ||
| 2516 | for (i = 1; i < 95; i++) | ||
| 2517 | { | ||
| 2518 | glyph = macfont_get_glyph_for_character (font, ' ' + i); | ||
| 2519 | if (glyph == kCGFontIndexInvalid) | ||
| 2520 | break; | ||
| 2521 | total_width += macfont_glyph_extents (font, glyph, NULL, NULL, 0); | ||
| 2522 | } | ||
| 2523 | if (i == 95) | ||
| 2524 | font->average_width = total_width / 95; | ||
| 2525 | else | ||
| 2526 | font->average_width = font->space_width; /* XXX */ | ||
| 2527 | |||
| 2528 | if (!(macfont_info->screen_font | ||
| 2529 | && mac_screen_font_get_metrics (macfont_info->screen_font, | ||
| 2530 | &ascent, &descent, &leading))) | ||
| 2531 | { | ||
| 2532 | CFStringRef family_name; | ||
| 2533 | |||
| 2534 | ascent = mac_font_get_ascent (macfont); | ||
| 2535 | descent = mac_font_get_descent (macfont); | ||
| 2536 | leading = mac_font_get_leading (macfont); | ||
| 2537 | /* AppKit and WebKit do some adjustment to the heights of | ||
| 2538 | Courier, Helvetica, and Times. */ | ||
| 2539 | family_name = mac_font_copy_family_name (macfont); | ||
| 2540 | if (family_name) | ||
| 2541 | { | ||
| 2542 | if ((CFStringCompare (family_name, CFSTR ("Courier"), 0) | ||
| 2543 | == kCFCompareEqualTo) | ||
| 2544 | || (CFStringCompare (family_name, CFSTR ("Helvetica"), 0) | ||
| 2545 | == kCFCompareEqualTo) | ||
| 2546 | || (CFStringCompare (family_name, CFSTR ("Times"), 0) | ||
| 2547 | == kCFCompareEqualTo)) | ||
| 2548 | ascent += (ascent + descent) * .15f; | ||
| 2549 | else if (CFStringHasPrefix (family_name, CFSTR ("Hiragino"))) | ||
| 2550 | { | ||
| 2551 | leading *= .25f; | ||
| 2552 | ascent += leading; | ||
| 2553 | } | ||
| 2554 | CFRelease (family_name); | ||
| 2555 | } | ||
| 2556 | } | ||
| 2557 | font->ascent = ascent + 0.5f; | ||
| 2558 | val = assq_no_quit (QCminspace, AREF (entity, FONT_EXTRA_INDEX)); | ||
| 2559 | if (CONSP (val) && !NILP (XCDR (val))) | ||
| 2560 | font->descent = descent + 0.5f; | ||
| 2561 | else | ||
| 2562 | font->descent = descent + leading + 0.5f; | ||
| 2563 | font->height = font->ascent + font->descent; | ||
| 2564 | |||
| 2565 | font->underline_position = - mac_font_get_underline_position (macfont) + 0.5f; | ||
| 2566 | font->underline_thickness = mac_font_get_underline_thickness (macfont) + 0.5f; | ||
| 2567 | |||
| 2568 | unblock_input (); | ||
| 2569 | |||
| 2570 | /* Unfortunately Xft doesn't provide a way to get minimum char | ||
| 2571 | width. So, we use space_width instead. */ | ||
| 2572 | font->min_width = font->max_width = font->space_width; /* XXX */ | ||
| 2573 | |||
| 2574 | font->baseline_offset = 0; | ||
| 2575 | font->relative_compose = 0; | ||
| 2576 | font->default_ascent = 0; | ||
| 2577 | font->vertical_centering = 0; | ||
| 2578 | |||
| 2579 | return font_object; | ||
| 2580 | } | ||
| 2581 | |||
| 2582 | static void | ||
| 2583 | macfont_close (struct frame * f, struct font *font) | ||
| 2584 | { | ||
| 2585 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 2586 | int i; | ||
| 2587 | |||
| 2588 | block_input (); | ||
| 2589 | CFRelease (macfont_info->macfont); | ||
| 2590 | CGFontRelease (macfont_info->cgfont); | ||
| 2591 | if (macfont_info->screen_font) | ||
| 2592 | CFRelease (macfont_info->screen_font); | ||
| 2593 | macfont_release_cache (macfont_info->cache); | ||
| 2594 | for (i = 0; i < macfont_info->metrics_nrows; i++) | ||
| 2595 | if (macfont_info->metrics[i]) | ||
| 2596 | xfree (macfont_info->metrics[i]); | ||
| 2597 | if (macfont_info->metrics) | ||
| 2598 | xfree (macfont_info->metrics); | ||
| 2599 | unblock_input (); | ||
| 2600 | } | ||
| 2601 | |||
| 2602 | static int | ||
| 2603 | macfont_has_char (Lisp_Object font, int c) | ||
| 2604 | { | ||
| 2605 | int result; | ||
| 2606 | CFCharacterSetRef charset; | ||
| 2607 | |||
| 2608 | block_input (); | ||
| 2609 | if (FONT_ENTITY_P (font)) | ||
| 2610 | { | ||
| 2611 | Lisp_Object val; | ||
| 2612 | CFStringRef name; | ||
| 2613 | |||
| 2614 | val = assq_no_quit (QCfont_entity, AREF (font, FONT_EXTRA_INDEX)); | ||
| 2615 | val = XCDR (val); | ||
| 2616 | name = XSAVE_POINTER (val, 0); | ||
| 2617 | charset = macfont_get_cf_charset_for_name (name); | ||
| 2618 | } | ||
| 2619 | else | ||
| 2620 | charset = macfont_get_cf_charset (XFONT_OBJECT (font)); | ||
| 2621 | |||
| 2622 | result = CFCharacterSetIsLongCharacterMember (charset, c); | ||
| 2623 | unblock_input (); | ||
| 2624 | |||
| 2625 | return result; | ||
| 2626 | } | ||
| 2627 | |||
| 2628 | static unsigned | ||
| 2629 | macfont_encode_char (struct font *font, int c) | ||
| 2630 | { | ||
| 2631 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 2632 | CGGlyph glyph; | ||
| 2633 | |||
| 2634 | block_input (); | ||
| 2635 | glyph = macfont_get_glyph_for_character (font, c); | ||
| 2636 | unblock_input (); | ||
| 2637 | |||
| 2638 | return glyph != kCGFontIndexInvalid ? glyph : FONT_INVALID_CODE; | ||
| 2639 | } | ||
| 2640 | |||
| 2641 | static int | ||
| 2642 | macfont_text_extents (struct font *font, unsigned int *code, int nglyphs, | ||
| 2643 | struct font_metrics *metrics) | ||
| 2644 | { | ||
| 2645 | int width, i; | ||
| 2646 | |||
| 2647 | block_input (); | ||
| 2648 | width = macfont_glyph_extents (font, code[0], metrics, NULL, 0); | ||
| 2649 | for (i = 1; i < nglyphs; i++) | ||
| 2650 | { | ||
| 2651 | struct font_metrics m; | ||
| 2652 | int w = macfont_glyph_extents (font, code[i], metrics ? &m : NULL, | ||
| 2653 | NULL, 0); | ||
| 2654 | |||
| 2655 | if (metrics) | ||
| 2656 | { | ||
| 2657 | if (width + m.lbearing < metrics->lbearing) | ||
| 2658 | metrics->lbearing = width + m.lbearing; | ||
| 2659 | if (width + m.rbearing > metrics->rbearing) | ||
| 2660 | metrics->rbearing = width + m.rbearing; | ||
| 2661 | if (m.ascent > metrics->ascent) | ||
| 2662 | metrics->ascent = m.ascent; | ||
| 2663 | if (m.descent > metrics->descent) | ||
| 2664 | metrics->descent = m.descent; | ||
| 2665 | } | ||
| 2666 | width += w; | ||
| 2667 | } | ||
| 2668 | unblock_input (); | ||
| 2669 | |||
| 2670 | if (metrics) | ||
| 2671 | metrics->width = width; | ||
| 2672 | |||
| 2673 | return width; | ||
| 2674 | } | ||
| 2675 | |||
| 2676 | static int | ||
| 2677 | macfont_draw (struct glyph_string *s, int from, int to, int x, int y, | ||
| 2678 | bool with_background) | ||
| 2679 | { | ||
| 2680 | struct frame * f = s->f; | ||
| 2681 | struct macfont_info *macfont_info = (struct macfont_info *) s->font; | ||
| 2682 | FontRef macfont = macfont_info->macfont; | ||
| 2683 | CGContextRef context; | ||
| 2684 | BOOL isComposite = s->first_glyph->type == COMPOSITE_GLYPH; | ||
| 2685 | int end = isComposite ? s->cmp_to : s->nchars; | ||
| 2686 | int len = end - s->cmp_from; | ||
| 2687 | int i; | ||
| 2688 | |||
| 2689 | block_input (); | ||
| 2690 | |||
| 2691 | context = [[NSGraphicsContext currentContext] graphicsPort]; | ||
| 2692 | CGContextSaveGState (context); | ||
| 2693 | |||
| 2694 | #if 0 | ||
| 2695 | if (s->num_clips > 0) | ||
| 2696 | { | ||
| 2697 | CGRect clips[2]; | ||
| 2698 | |||
| 2699 | for (i = 0; i < s->num_clips; i++) | ||
| 2700 | clips[i] = mac_rect_make (f, s->clip[i].left, s->clip[i].top, | ||
| 2701 | s->clip[i].right - s->clip[i].left, | ||
| 2702 | s->clip[i].bottom - s->clip[i].top); | ||
| 2703 | CGContextClipToRects (context, clips, s->num_clips); | ||
| 2704 | } | ||
| 2705 | #endif | ||
| 2706 | |||
| 2707 | if (with_background) | ||
| 2708 | { | ||
| 2709 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, s); | ||
| 2710 | CGContextFillRect (context, | ||
| 2711 | NSMakeRect (x, y, | ||
| 2712 | s->width, FONT_HEIGHT (s->font))); | ||
| 2713 | } | ||
| 2714 | |||
| 2715 | if (macfont_info->cgfont) | ||
| 2716 | { | ||
| 2717 | CGGlyph *glyphs = alloca (sizeof (CGGlyph) * len); | ||
| 2718 | CGPoint *positions = alloca (sizeof (CGPoint) * len); | ||
| 2719 | CGFloat total_width = 0; | ||
| 2720 | CGFloat font_size = mac_font_get_size (macfont); | ||
| 2721 | CGAffineTransform atfm; | ||
| 2722 | CGFloat advance_delta = 0; | ||
| 2723 | int y_draw = -y-FONT_BASE (s->font); | ||
| 2724 | int no_antialias_p = | ||
| 2725 | (macfont_info->antialias == MACFONT_ANTIALIAS_OFF | ||
| 2726 | || (macfont_info->antialias == MACFONT_ANTIALIAS_DEFAULT | ||
| 2727 | && font_size <= macfont_antialias_threshold)); | ||
| 2728 | |||
| 2729 | for (i = 0; i < len; i++) | ||
| 2730 | { | ||
| 2731 | int width; | ||
| 2732 | |||
| 2733 | glyphs[i] = *(s->char2b + s->cmp_from + i); | ||
| 2734 | width = (s->padding_p ? 1 | ||
| 2735 | : macfont_glyph_extents (s->font, glyphs[i], | ||
| 2736 | NULL, &advance_delta, | ||
| 2737 | no_antialias_p)); | ||
| 2738 | positions[i].x = total_width + advance_delta; | ||
| 2739 | positions[i].y = 0; | ||
| 2740 | total_width += width; | ||
| 2741 | } | ||
| 2742 | |||
| 2743 | CGContextScaleCTM (context, 1, -1); | ||
| 2744 | CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, s); | ||
| 2745 | if (macfont_info->synthetic_italic_p) | ||
| 2746 | atfm = synthetic_italic_atfm; | ||
| 2747 | else | ||
| 2748 | atfm = CGAffineTransformIdentity; | ||
| 2749 | if (macfont_info->synthetic_bold_p) | ||
| 2750 | { | ||
| 2751 | CGContextSetTextDrawingMode (context, kCGTextFillStroke); | ||
| 2752 | CGContextSetLineWidth (context, synthetic_bold_factor * font_size); | ||
| 2753 | CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND (context, s); | ||
| 2754 | } | ||
| 2755 | if (no_antialias_p) | ||
| 2756 | CGContextSetShouldAntialias (context, false); | ||
| 2757 | |||
| 2758 | CGContextSetTextMatrix (context, atfm); | ||
| 2759 | CGContextSetTextPosition (context, x, y_draw); | ||
| 2760 | |||
| 2761 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 | ||
| 2762 | if (macfont_info->color_bitmap_p | ||
| 2763 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1070 | ||
| 2764 | && CTFontDrawGlyphs != NULL | ||
| 2765 | #endif | ||
| 2766 | ) | ||
| 2767 | { | ||
| 2768 | if (len > 0) | ||
| 2769 | { | ||
| 2770 | CTFontDrawGlyphs (macfont, glyphs, positions, len, context); | ||
| 2771 | } | ||
| 2772 | } | ||
| 2773 | else | ||
| 2774 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 */ | ||
| 2775 | { | ||
| 2776 | CGContextSetFont (context, macfont_info->cgfont); | ||
| 2777 | CGContextSetFontSize (context, font_size); | ||
| 2778 | CGContextShowGlyphsAtPositions (context, glyphs, positions, len); | ||
| 2779 | } | ||
| 2780 | } | ||
| 2781 | |||
| 2782 | CGContextRestoreGState (context); | ||
| 2783 | |||
| 2784 | unblock_input (); | ||
| 2785 | |||
| 2786 | return len; | ||
| 2787 | } | ||
| 2788 | |||
| 2789 | Lisp_Object | ||
| 2790 | macfont_shape (Lisp_Object lgstring) | ||
| 2791 | { | ||
| 2792 | struct font *font; | ||
| 2793 | struct macfont_info *macfont_info; | ||
| 2794 | FontRef macfont; | ||
| 2795 | ptrdiff_t glyph_len, len, i, j; | ||
| 2796 | CFIndex nonbmp_len; | ||
| 2797 | UniChar *unichars; | ||
| 2798 | CFIndex *nonbmp_indices; | ||
| 2799 | CFStringRef string; | ||
| 2800 | CFIndex used = 0; | ||
| 2801 | struct mac_glyph_layout *glyph_layouts; | ||
| 2802 | |||
| 2803 | CHECK_FONT_GET_OBJECT (LGSTRING_FONT (lgstring), font); | ||
| 2804 | macfont_info = (struct macfont_info *) font; | ||
| 2805 | macfont = macfont_info->macfont; | ||
| 2806 | |||
| 2807 | glyph_len = LGSTRING_GLYPH_LEN (lgstring); | ||
| 2808 | nonbmp_len = 0; | ||
| 2809 | for (i = 0; i < glyph_len; i++) | ||
| 2810 | { | ||
| 2811 | Lisp_Object lglyph = LGSTRING_GLYPH (lgstring, i); | ||
| 2812 | |||
| 2813 | if (NILP (lglyph)) | ||
| 2814 | break; | ||
| 2815 | if (LGLYPH_CHAR (lglyph) >= 0x10000) | ||
| 2816 | nonbmp_len++; | ||
| 2817 | } | ||
| 2818 | |||
| 2819 | len = i; | ||
| 2820 | assume (len <= TYPE_MAXIMUM (EMACS_INT) - 2); | ||
| 2821 | |||
| 2822 | if (INT_MAX / 2 < len) | ||
| 2823 | memory_full (SIZE_MAX); | ||
| 2824 | |||
| 2825 | unichars = alloca (sizeof (UniChar) * (len + nonbmp_len)); | ||
| 2826 | nonbmp_indices = alloca (sizeof (CFIndex) * (nonbmp_len + 1)); | ||
| 2827 | for (i = j = 0; i < len; i++) | ||
| 2828 | { | ||
| 2829 | UTF32Char c = LGLYPH_CHAR (LGSTRING_GLYPH (lgstring, i)); | ||
| 2830 | |||
| 2831 | if (macfont_store_utf32char_to_unichars (c, unichars + i + j) > 1) | ||
| 2832 | { | ||
| 2833 | nonbmp_indices[j] = i + j; | ||
| 2834 | j++; | ||
| 2835 | } | ||
| 2836 | } | ||
| 2837 | nonbmp_indices[j] = len + j; /* sentinel */ | ||
| 2838 | |||
| 2839 | block_input (); | ||
| 2840 | |||
| 2841 | string = CFStringCreateWithCharactersNoCopy (NULL, unichars, len + nonbmp_len, | ||
| 2842 | kCFAllocatorNull); | ||
| 2843 | if (string) | ||
| 2844 | { | ||
| 2845 | glyph_layouts = alloca (sizeof (struct mac_glyph_layout) * glyph_len); | ||
| 2846 | if (macfont_info->screen_font) | ||
| 2847 | used = mac_screen_font_shape (macfont_info->screen_font, string, | ||
| 2848 | glyph_layouts, glyph_len); | ||
| 2849 | else | ||
| 2850 | used = mac_font_shape (macfont, string, glyph_layouts, glyph_len); | ||
| 2851 | CFRelease (string); | ||
| 2852 | } | ||
| 2853 | |||
| 2854 | unblock_input (); | ||
| 2855 | |||
| 2856 | if (used == 0) | ||
| 2857 | return Qnil; | ||
| 2858 | |||
| 2859 | block_input (); | ||
| 2860 | |||
| 2861 | for (i = 0; i < used; i++) | ||
| 2862 | { | ||
| 2863 | Lisp_Object lglyph = LGSTRING_GLYPH (lgstring, i); | ||
| 2864 | struct mac_glyph_layout *gl = glyph_layouts + i; | ||
| 2865 | EMACS_INT from, to; | ||
| 2866 | struct font_metrics metrics; | ||
| 2867 | int xoff, yoff, wadjust; | ||
| 2868 | |||
| 2869 | if (NILP (lglyph)) | ||
| 2870 | { | ||
| 2871 | lglyph = Fmake_vector (make_number (LGLYPH_SIZE), Qnil); | ||
| 2872 | LGSTRING_SET_GLYPH (lgstring, i, lglyph); | ||
| 2873 | } | ||
| 2874 | |||
| 2875 | from = gl->comp_range.location; | ||
| 2876 | /* Convert UTF-16 index to UTF-32. */ | ||
| 2877 | j = 0; | ||
| 2878 | while (nonbmp_indices[j] < from) | ||
| 2879 | j++; | ||
| 2880 | from -= j; | ||
| 2881 | LGLYPH_SET_FROM (lglyph, from); | ||
| 2882 | |||
| 2883 | to = gl->comp_range.location + gl->comp_range.length; | ||
| 2884 | /* Convert UTF-16 index to UTF-32. */ | ||
| 2885 | while (nonbmp_indices[j] < to) | ||
| 2886 | j++; | ||
| 2887 | to -= j; | ||
| 2888 | LGLYPH_SET_TO (lglyph, to - 1); | ||
| 2889 | |||
| 2890 | /* LGLYPH_CHAR is used in `describe-char' for checking whether | ||
| 2891 | the composition is trivial. */ | ||
| 2892 | { | ||
| 2893 | UTF32Char c; | ||
| 2894 | |||
| 2895 | if (unichars[gl->string_index] >= 0xD800 | ||
| 2896 | && unichars[gl->string_index] < 0xDC00) | ||
| 2897 | c = (((unichars[gl->string_index] - 0xD800) << 10) | ||
| 2898 | + (unichars[gl->string_index + 1] - 0xDC00) + 0x10000); | ||
| 2899 | else | ||
| 2900 | c = unichars[gl->string_index]; | ||
| 2901 | if (macfont_get_glyph_for_character (font, c) != gl->glyph_id) | ||
| 2902 | c = 0; | ||
| 2903 | LGLYPH_SET_CHAR (lglyph, c); | ||
| 2904 | } | ||
| 2905 | |||
| 2906 | { | ||
| 2907 | unsigned long cc = gl->glyph_id; | ||
| 2908 | LGLYPH_SET_CODE (lglyph, cc); | ||
| 2909 | } | ||
| 2910 | |||
| 2911 | macfont_glyph_extents (font, gl->glyph_id, &metrics, NULL, 0); | ||
| 2912 | LGLYPH_SET_WIDTH (lglyph, metrics.width); | ||
| 2913 | LGLYPH_SET_LBEARING (lglyph, metrics.lbearing); | ||
| 2914 | LGLYPH_SET_RBEARING (lglyph, metrics.rbearing); | ||
| 2915 | LGLYPH_SET_ASCENT (lglyph, metrics.ascent); | ||
| 2916 | LGLYPH_SET_DESCENT (lglyph, metrics.descent); | ||
| 2917 | |||
| 2918 | xoff = lround (gl->advance_delta); | ||
| 2919 | yoff = lround (- gl->baseline_delta); | ||
| 2920 | wadjust = lround (gl->advance); | ||
| 2921 | if (xoff != 0 || yoff != 0 || wadjust != metrics.width) | ||
| 2922 | { | ||
| 2923 | Lisp_Object vec; | ||
| 2924 | |||
| 2925 | vec = Fmake_vector (make_number (3), Qnil); | ||
| 2926 | ASET (vec, 0, make_number (xoff)); | ||
| 2927 | ASET (vec, 1, make_number (yoff)); | ||
| 2928 | ASET (vec, 2, make_number (wadjust)); | ||
| 2929 | LGLYPH_SET_ADJUSTMENT (lglyph, vec); | ||
| 2930 | } | ||
| 2931 | } | ||
| 2932 | |||
| 2933 | unblock_input (); | ||
| 2934 | |||
| 2935 | return make_number (used); | ||
| 2936 | } | ||
| 2937 | |||
| 2938 | /* Structures for the UVS subtable (format 14) in the cmap table. */ | ||
| 2939 | typedef UInt8 UINT24[3]; | ||
| 2940 | |||
| 2941 | #pragma pack(push, 1) | ||
| 2942 | struct variation_selector_record | ||
| 2943 | { | ||
| 2944 | UINT24 var_selector; | ||
| 2945 | UInt32 default_uvs_offset, non_default_uvs_offset; | ||
| 2946 | }; | ||
| 2947 | struct uvs_table | ||
| 2948 | { | ||
| 2949 | UInt16 format; | ||
| 2950 | UInt32 length, num_var_selector_records; | ||
| 2951 | struct variation_selector_record variation_selector_records[1]; | ||
| 2952 | }; | ||
| 2953 | #define SIZEOF_UVS_TABLE_HEADER \ | ||
| 2954 | (sizeof (struct uvs_table) - sizeof (struct variation_selector_record)) | ||
| 2955 | |||
| 2956 | struct unicode_value_range | ||
| 2957 | { | ||
| 2958 | UINT24 start_unicode_value; | ||
| 2959 | UInt8 additional_count; | ||
| 2960 | }; | ||
| 2961 | struct default_uvs_table { | ||
| 2962 | UInt32 num_unicode_value_ranges; | ||
| 2963 | struct unicode_value_range unicode_value_ranges[1]; | ||
| 2964 | }; | ||
| 2965 | #define SIZEOF_DEFAULT_UVS_TABLE_HEADER \ | ||
| 2966 | (sizeof (struct default_uvs_table) - sizeof (struct unicode_value_range)) | ||
| 2967 | |||
| 2968 | struct uvs_mapping | ||
| 2969 | { | ||
| 2970 | UINT24 unicode_value; | ||
| 2971 | UInt16 glyph_id; | ||
| 2972 | }; | ||
| 2973 | struct non_default_uvs_table | ||
| 2974 | { | ||
| 2975 | UInt32 num_uvs_mappings; | ||
| 2976 | struct uvs_mapping uvs_mappings[1]; | ||
| 2977 | }; | ||
| 2978 | #define SIZEOF_NON_DEFAULT_UVS_TABLE_HEADER \ | ||
| 2979 | (sizeof (struct non_default_uvs_table) - sizeof (struct uvs_mapping)) | ||
| 2980 | #pragma pack(pop) | ||
| 2981 | |||
| 2982 | /* Read big endian values. The argument LVAL must be an lvalue. */ | ||
| 2983 | /* I suppose OSReadBigInt* takes care of unaligned data. At least, we | ||
| 2984 | can find "... = OSReadBigInt32(cdb, 2);" followed by "... = | ||
| 2985 | OSReadBigInt16(cdb, 7);" in a sample code by Apple. */ | ||
| 2986 | #define BUINT8_VALUE(lval) (*((UInt8 *) &(lval))) | ||
| 2987 | #define BUINT16_VALUE(lval) OSReadBigInt16 (&(lval), 0) | ||
| 2988 | /* Succeeding one byte should also be accessible. */ | ||
| 2989 | #define BUINT24_VALUE(lval) (OSReadBigInt32 (&(lval), 0) >> 8) | ||
| 2990 | #define BUINT32_VALUE(lval) OSReadBigInt32 (&(lval), 0) | ||
| 2991 | |||
| 2992 | /* Return UVS subtable for the specified FONT. If the subtable is not | ||
| 2993 | found or ill-formated, then return NULL. */ | ||
| 2994 | |||
| 2995 | static CFDataRef | ||
| 2996 | mac_font_copy_uvs_table (FontRef font) | ||
| 2997 | { | ||
| 2998 | CFDataRef cmap_table, uvs_table = NULL; | ||
| 2999 | |||
| 3000 | cmap_table = mac_font_copy_non_synthetic_table (font, cmapFontTableTag); | ||
| 3001 | if (cmap_table) | ||
| 3002 | { | ||
| 3003 | sfntCMapHeader *cmap = (sfntCMapHeader *) CFDataGetBytePtr (cmap_table); | ||
| 3004 | struct uvs_table *uvs; | ||
| 3005 | struct variation_selector_record *records; | ||
| 3006 | UInt32 cmap_len, ntables, i, uvs_offset, uvs_len, nrecords; | ||
| 3007 | |||
| 3008 | #if __LP64__ | ||
| 3009 | if (CFDataGetLength (cmap_table) > UINT32_MAX) | ||
| 3010 | goto finish; | ||
| 3011 | #endif | ||
| 3012 | |||
| 3013 | cmap_len = CFDataGetLength (cmap_table); | ||
| 3014 | if (sizeof_sfntCMapHeader > cmap_len) | ||
| 3015 | goto finish; | ||
| 3016 | |||
| 3017 | ntables = BUINT16_VALUE (cmap->numTables); | ||
| 3018 | if (ntables > ((cmap_len - sizeof_sfntCMapHeader) | ||
| 3019 | / sizeof_sfntCMapEncoding)) | ||
| 3020 | goto finish; | ||
| 3021 | |||
| 3022 | for (i = 0; i < ntables; i++) | ||
| 3023 | if ((BUINT16_VALUE (cmap->encoding[i].platformID) | ||
| 3024 | == kFontUnicodePlatform) | ||
| 3025 | && (BUINT16_VALUE (cmap->encoding[i].scriptID) | ||
| 3026 | == 5)) /* kFontUnicodeV4_0VariationSequenceSemantics */ | ||
| 3027 | { | ||
| 3028 | uvs_offset = BUINT32_VALUE (cmap->encoding[i].offset); | ||
| 3029 | break; | ||
| 3030 | } | ||
| 3031 | if (i == ntables | ||
| 3032 | || uvs_offset > cmap_len | ||
| 3033 | || SIZEOF_UVS_TABLE_HEADER > cmap_len - uvs_offset) | ||
| 3034 | goto finish; | ||
| 3035 | |||
| 3036 | uvs = (struct uvs_table *) ((UInt8 *) cmap + uvs_offset); | ||
| 3037 | uvs_len = BUINT32_VALUE (uvs->length); | ||
| 3038 | if (uvs_len > cmap_len - uvs_offset | ||
| 3039 | || SIZEOF_UVS_TABLE_HEADER > uvs_len) | ||
| 3040 | goto finish; | ||
| 3041 | |||
| 3042 | if (BUINT16_VALUE (uvs->format) != 14) | ||
| 3043 | goto finish; | ||
| 3044 | |||
| 3045 | nrecords = BUINT32_VALUE (uvs->num_var_selector_records); | ||
| 3046 | if (nrecords > ((uvs_len - SIZEOF_UVS_TABLE_HEADER) | ||
| 3047 | / sizeof (struct variation_selector_record))) | ||
| 3048 | goto finish; | ||
| 3049 | |||
| 3050 | records = uvs->variation_selector_records; | ||
| 3051 | for (i = 0; i < nrecords; i++) | ||
| 3052 | { | ||
| 3053 | UInt32 default_uvs_offset, non_default_uvs_offset; | ||
| 3054 | |||
| 3055 | default_uvs_offset = BUINT32_VALUE (records[i].default_uvs_offset); | ||
| 3056 | if (default_uvs_offset) | ||
| 3057 | { | ||
| 3058 | struct default_uvs_table *default_uvs; | ||
| 3059 | UInt32 nranges; | ||
| 3060 | |||
| 3061 | if (default_uvs_offset > uvs_len | ||
| 3062 | || (SIZEOF_DEFAULT_UVS_TABLE_HEADER | ||
| 3063 | > uvs_len - default_uvs_offset)) | ||
| 3064 | goto finish; | ||
| 3065 | |||
| 3066 | default_uvs = ((struct default_uvs_table *) | ||
| 3067 | ((UInt8 *) uvs + default_uvs_offset)); | ||
| 3068 | nranges = BUINT32_VALUE (default_uvs->num_unicode_value_ranges); | ||
| 3069 | if (nranges > ((uvs_len - default_uvs_offset | ||
| 3070 | - SIZEOF_DEFAULT_UVS_TABLE_HEADER) | ||
| 3071 | / sizeof (struct unicode_value_range))) | ||
| 3072 | goto finish; | ||
| 3073 | /* Now 2 * nranges can't overflow, so we can safely use | ||
| 3074 | `(lo + hi) / 2' instead of `lo + (hi - lo) / 2' in | ||
| 3075 | mac_font_get_glyphs_for_variants. */ | ||
| 3076 | } | ||
| 3077 | |||
| 3078 | non_default_uvs_offset = | ||
| 3079 | BUINT32_VALUE (records[i].non_default_uvs_offset); | ||
| 3080 | if (non_default_uvs_offset) | ||
| 3081 | { | ||
| 3082 | struct non_default_uvs_table *non_default_uvs; | ||
| 3083 | UInt32 nmappings; | ||
| 3084 | |||
| 3085 | if (non_default_uvs_offset > uvs_len | ||
| 3086 | || (SIZEOF_NON_DEFAULT_UVS_TABLE_HEADER | ||
| 3087 | > uvs_len - non_default_uvs_offset)) | ||
| 3088 | goto finish; | ||
| 3089 | |||
| 3090 | non_default_uvs = ((struct non_default_uvs_table *) | ||
| 3091 | ((UInt8 *) uvs + non_default_uvs_offset)); | ||
| 3092 | nmappings = BUINT32_VALUE (non_default_uvs->num_uvs_mappings); | ||
| 3093 | if (nmappings > ((uvs_len - non_default_uvs_offset | ||
| 3094 | - SIZEOF_NON_DEFAULT_UVS_TABLE_HEADER) | ||
| 3095 | / sizeof (struct uvs_mapping))) | ||
| 3096 | goto finish; | ||
| 3097 | /* Now 2 * nmappings can't overflow, so we can safely | ||
| 3098 | use `(lo + hi) / 2' instead of `lo + (hi - lo) / 2' | ||
| 3099 | in mac_font_get_glyphs_for_variants. */ | ||
| 3100 | } | ||
| 3101 | } | ||
| 3102 | |||
| 3103 | uvs_table = CFDataCreate (NULL, (UInt8 *) uvs, uvs_len); | ||
| 3104 | |||
| 3105 | finish: | ||
| 3106 | CFRelease (cmap_table); | ||
| 3107 | } | ||
| 3108 | |||
| 3109 | return uvs_table; | ||
| 3110 | } | ||
| 3111 | |||
| 3112 | /* Find an entry in the given UVS subtable UVS_TABLE for a variation | ||
| 3113 | sequence consisting of the given base character C and each | ||
| 3114 | variation selector SELECTORS[i] for 0 <= i < COUNT, and store the | ||
| 3115 | result (explained below) into the corresponding GLYPHS[i]. If the | ||
| 3116 | entry is found in the Default UVS Table, then the result is 0. If | ||
| 3117 | the entry is found in the Non-Default UVS Table, then the result is | ||
| 3118 | the associated glyph ID. Otherwise, kCGFontIndexInvalid. The | ||
| 3119 | elements in SELECTORS must be sorted in strictly increasing | ||
| 3120 | order. */ | ||
| 3121 | |||
| 3122 | static void | ||
| 3123 | mac_font_get_glyphs_for_variants (CFDataRef uvs_table, UTF32Char c, | ||
| 3124 | const UTF32Char selectors[], CGGlyph glyphs[], | ||
| 3125 | CFIndex count) | ||
| 3126 | { | ||
| 3127 | struct uvs_table *uvs = (struct uvs_table *) CFDataGetBytePtr (uvs_table); | ||
| 3128 | struct variation_selector_record *records = uvs->variation_selector_records; | ||
| 3129 | CFIndex i; | ||
| 3130 | UInt32 ir, nrecords; | ||
| 3131 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 3132 | dispatch_queue_t queue = | ||
| 3133 | dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); | ||
| 3134 | dispatch_group_t group = dispatch_group_create (); | ||
| 3135 | #endif | ||
| 3136 | |||
| 3137 | nrecords = BUINT32_VALUE (uvs->num_var_selector_records); | ||
| 3138 | i = 0; | ||
| 3139 | ir = 0; | ||
| 3140 | while (i < count && ir < nrecords) | ||
| 3141 | { | ||
| 3142 | UInt32 default_uvs_offset, non_default_uvs_offset; | ||
| 3143 | |||
| 3144 | if (selectors[i] < BUINT24_VALUE (records[ir].var_selector)) | ||
| 3145 | { | ||
| 3146 | glyphs[i++] = kCGFontIndexInvalid; | ||
| 3147 | continue; | ||
| 3148 | } | ||
| 3149 | else if (selectors[i] > BUINT24_VALUE (records[ir].var_selector)) | ||
| 3150 | { | ||
| 3151 | ir++; | ||
| 3152 | continue; | ||
| 3153 | } | ||
| 3154 | |||
| 3155 | /* selectors[i] == BUINT24_VALUE (records[ir].var_selector) */ | ||
| 3156 | default_uvs_offset = BUINT32_VALUE (records[ir].default_uvs_offset); | ||
| 3157 | non_default_uvs_offset = | ||
| 3158 | BUINT32_VALUE (records[ir].non_default_uvs_offset); | ||
| 3159 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 3160 | dispatch_group_async (group, queue, ^{ | ||
| 3161 | #endif | ||
| 3162 | glyphs[i] = kCGFontIndexInvalid; | ||
| 3163 | |||
| 3164 | if (default_uvs_offset) | ||
| 3165 | { | ||
| 3166 | struct default_uvs_table *default_uvs = | ||
| 3167 | (struct default_uvs_table *) ((UInt8 *) uvs | ||
| 3168 | + default_uvs_offset); | ||
| 3169 | struct unicode_value_range *ranges = | ||
| 3170 | default_uvs->unicode_value_ranges; | ||
| 3171 | UInt32 lo, hi; | ||
| 3172 | |||
| 3173 | lo = 0; | ||
| 3174 | hi = BUINT32_VALUE (default_uvs->num_unicode_value_ranges); | ||
| 3175 | while (lo < hi) | ||
| 3176 | { | ||
| 3177 | UInt32 mid = (lo + hi) / 2; | ||
| 3178 | |||
| 3179 | if (c < BUINT24_VALUE (ranges[mid].start_unicode_value)) | ||
| 3180 | hi = mid; | ||
| 3181 | else | ||
| 3182 | lo = mid + 1; | ||
| 3183 | } | ||
| 3184 | if (hi > 0 | ||
| 3185 | && (c <= (BUINT24_VALUE (ranges[hi - 1].start_unicode_value) | ||
| 3186 | + BUINT8_VALUE (ranges[hi - 1].additional_count)))) | ||
| 3187 | glyphs[i] = 0; | ||
| 3188 | } | ||
| 3189 | |||
| 3190 | if (glyphs[i] == kCGFontIndexInvalid && non_default_uvs_offset) | ||
| 3191 | { | ||
| 3192 | struct non_default_uvs_table *non_default_uvs = | ||
| 3193 | (struct non_default_uvs_table *) ((UInt8 *) uvs | ||
| 3194 | + non_default_uvs_offset); | ||
| 3195 | struct uvs_mapping *mappings = non_default_uvs->uvs_mappings; | ||
| 3196 | UInt32 lo, hi; | ||
| 3197 | |||
| 3198 | lo = 0; | ||
| 3199 | hi = BUINT32_VALUE (non_default_uvs->num_uvs_mappings); | ||
| 3200 | while (lo < hi) | ||
| 3201 | { | ||
| 3202 | UInt32 mid = (lo + hi) / 2; | ||
| 3203 | |||
| 3204 | if (c < BUINT24_VALUE (mappings[mid].unicode_value)) | ||
| 3205 | hi = mid; | ||
| 3206 | else | ||
| 3207 | lo = mid + 1; | ||
| 3208 | } | ||
| 3209 | if (hi > 0 && | ||
| 3210 | BUINT24_VALUE (mappings[hi - 1].unicode_value) == c) | ||
| 3211 | glyphs[i] = BUINT16_VALUE (mappings[hi - 1].glyph_id); | ||
| 3212 | } | ||
| 3213 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 3214 | }); | ||
| 3215 | #endif | ||
| 3216 | i++; | ||
| 3217 | ir++; | ||
| 3218 | } | ||
| 3219 | while (i < count) | ||
| 3220 | glyphs[i++] = kCGFontIndexInvalid; | ||
| 3221 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 | ||
| 3222 | dispatch_group_wait (group, DISPATCH_TIME_FOREVER); | ||
| 3223 | dispatch_release (group); | ||
| 3224 | #endif | ||
| 3225 | } | ||
| 3226 | |||
| 3227 | static int | ||
| 3228 | macfont_variation_glyphs (struct font *font, int c, unsigned variations[256]) | ||
| 3229 | { | ||
| 3230 | CFDataRef uvs_table; | ||
| 3231 | CharacterCollection uvs_collection; | ||
| 3232 | int i, n = 0; | ||
| 3233 | |||
| 3234 | block_input (); | ||
| 3235 | uvs_table = macfont_get_uvs_table (font, &uvs_collection); | ||
| 3236 | |||
| 3237 | if (uvs_table) | ||
| 3238 | { | ||
| 3239 | UTF32Char selectors[256]; | ||
| 3240 | CGGlyph glyphs[256]; | ||
| 3241 | |||
| 3242 | for (i = 0; i < 16; i++) | ||
| 3243 | selectors[i] = 0xFE00 + i; | ||
| 3244 | for (; i < 256; i++) | ||
| 3245 | selectors[i] = 0xE0100 + (i - 16); | ||
| 3246 | mac_font_get_glyphs_for_variants (uvs_table, c, selectors, glyphs, 256); | ||
| 3247 | for (i = 0; i < 256; i++) | ||
| 3248 | { | ||
| 3249 | CGGlyph glyph = glyphs[i]; | ||
| 3250 | |||
| 3251 | if (uvs_collection != MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING | ||
| 3252 | && glyph != kCGFontIndexInvalid) | ||
| 3253 | glyph = macfont_get_glyph_for_cid (font, uvs_collection, glyph); | ||
| 3254 | if (glyph == kCGFontIndexInvalid) | ||
| 3255 | variations[i] = 0; | ||
| 3256 | else | ||
| 3257 | { | ||
| 3258 | variations[i] = (glyph ? glyph | ||
| 3259 | : macfont_get_glyph_for_character (font, c)); | ||
| 3260 | n++; | ||
| 3261 | } | ||
| 3262 | } | ||
| 3263 | } | ||
| 3264 | unblock_input (); | ||
| 3265 | |||
| 3266 | return n; | ||
| 3267 | } | ||
| 3268 | |||
| 3269 | static const char *const macfont_booleans[] = { | ||
| 3270 | ":antialias", | ||
| 3271 | ":minspace", | ||
| 3272 | NULL, | ||
| 3273 | }; | ||
| 3274 | |||
| 3275 | static const char *const macfont_non_booleans[] = { | ||
| 3276 | ":lang", | ||
| 3277 | ":script", | ||
| 3278 | ":destination", | ||
| 3279 | NULL, | ||
| 3280 | }; | ||
| 3281 | |||
| 3282 | static void | ||
| 3283 | macfont_filter_properties (Lisp_Object font, Lisp_Object alist) | ||
| 3284 | { | ||
| 3285 | font_filter_properties (font, alist, macfont_booleans, macfont_non_booleans); | ||
| 3286 | } | ||
| 3287 | |||
| 3288 | static Boolean | ||
| 3289 | mac_ctfont_descriptor_supports_languages (CTFontDescriptorRef descriptor, | ||
| 3290 | CFArrayRef languages) | ||
| 3291 | { | ||
| 3292 | Boolean result = true; | ||
| 3293 | CFArrayRef desc_languages = | ||
| 3294 | CTFontDescriptorCopyAttribute (descriptor, kCTFontLanguagesAttribute); | ||
| 3295 | |||
| 3296 | if (desc_languages == NULL) | ||
| 3297 | result = false; | ||
| 3298 | else | ||
| 3299 | { | ||
| 3300 | CFIndex desc_languages_count, i, languages_count; | ||
| 3301 | |||
| 3302 | desc_languages_count = CFArrayGetCount (desc_languages); | ||
| 3303 | languages_count = CFArrayGetCount (languages); | ||
| 3304 | for (i = 0; i < languages_count; i++) | ||
| 3305 | if (!CFArrayContainsValue (desc_languages, | ||
| 3306 | CFRangeMake (0, desc_languages_count), | ||
| 3307 | CFArrayGetValueAtIndex (languages, i))) | ||
| 3308 | { | ||
| 3309 | result = false; | ||
| 3310 | break; | ||
| 3311 | } | ||
| 3312 | CFRelease (desc_languages); | ||
| 3313 | } | ||
| 3314 | |||
| 3315 | return result; | ||
| 3316 | } | ||
| 3317 | |||
| 3318 | static CFStringRef | ||
| 3319 | mac_ctfont_create_preferred_family_for_attributes (CFDictionaryRef attributes) | ||
| 3320 | { | ||
| 3321 | CFStringRef result = NULL; | ||
| 3322 | CFStringRef charset_string = | ||
| 3323 | CFDictionaryGetValue (attributes, MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE); | ||
| 3324 | CFIndex length; | ||
| 3325 | |||
| 3326 | if (charset_string | ||
| 3327 | && (length = CFStringGetLength (charset_string)) > 0) | ||
| 3328 | { | ||
| 3329 | CFAttributedStringRef attr_string = NULL; | ||
| 3330 | CTLineRef ctline = NULL; | ||
| 3331 | CFDictionaryRef attrs = | ||
| 3332 | CFDictionaryCreate (NULL, NULL, NULL, 0, | ||
| 3333 | &kCFTypeDictionaryKeyCallBacks, | ||
| 3334 | &kCFTypeDictionaryValueCallBacks); | ||
| 3335 | |||
| 3336 | if (attrs) | ||
| 3337 | { | ||
| 3338 | attr_string = CFAttributedStringCreate (NULL, charset_string, attrs); | ||
| 3339 | CFRelease (attrs); | ||
| 3340 | } | ||
| 3341 | if (attr_string) | ||
| 3342 | { | ||
| 3343 | ctline = CTLineCreateWithAttributedString (attr_string); | ||
| 3344 | CFRelease (attr_string); | ||
| 3345 | } | ||
| 3346 | if (ctline) | ||
| 3347 | { | ||
| 3348 | CFArrayRef runs = CTLineGetGlyphRuns (ctline); | ||
| 3349 | CFIndex i, nruns = CFArrayGetCount (runs); | ||
| 3350 | CTFontRef font; | ||
| 3351 | |||
| 3352 | for (i = 0; i < nruns; i++) | ||
| 3353 | { | ||
| 3354 | CTRunRef run = CFArrayGetValueAtIndex (runs, i); | ||
| 3355 | CFDictionaryRef attributes = CTRunGetAttributes (run); | ||
| 3356 | CTFontRef font_in_run; | ||
| 3357 | |||
| 3358 | if (attributes == NULL) | ||
| 3359 | break; | ||
| 3360 | font_in_run = | ||
| 3361 | CFDictionaryGetValue (attributes, kCTFontAttributeName); | ||
| 3362 | if (font_in_run == NULL) | ||
| 3363 | break; | ||
| 3364 | if (i == 0) | ||
| 3365 | font = font_in_run; | ||
| 3366 | else if (!mac_ctfont_equal_in_postscript_name (font, font_in_run)) | ||
| 3367 | break; | ||
| 3368 | } | ||
| 3369 | if (nruns > 0 && i == nruns) | ||
| 3370 | result = CTFontCopyAttribute (font, kCTFontFamilyNameAttribute); | ||
| 3371 | CFRelease (ctline); | ||
| 3372 | } | ||
| 3373 | } | ||
| 3374 | |||
| 3375 | return result; | ||
| 3376 | } | ||
| 3377 | |||
| 3378 | static inline double | ||
| 3379 | mac_ctfont_get_advance_width_for_glyph (CTFontRef font, CGGlyph glyph) | ||
| 3380 | { | ||
| 3381 | return CTFontGetAdvancesForGlyphs (font, kCTFontDefaultOrientation, | ||
| 3382 | &glyph, NULL, 1); | ||
| 3383 | } | ||
| 3384 | |||
| 3385 | static inline CGRect | ||
| 3386 | mac_ctfont_get_bounding_rect_for_glyph (CTFontRef font, CGGlyph glyph) | ||
| 3387 | { | ||
| 3388 | return CTFontGetBoundingRectsForGlyphs (font, kCTFontDefaultOrientation, | ||
| 3389 | &glyph, NULL, 1); | ||
| 3390 | } | ||
| 3391 | |||
| 3392 | static CFArrayRef | ||
| 3393 | mac_ctfont_create_available_families (void) | ||
| 3394 | { | ||
| 3395 | CFMutableArrayRef families = NULL; | ||
| 3396 | |||
| 3397 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 | ||
| 3398 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 3399 | if (CTFontManagerCopyAvailableFontFamilyNames != NULL) | ||
| 3400 | #endif | ||
| 3401 | { | ||
| 3402 | CFArrayRef orig_families = CTFontManagerCopyAvailableFontFamilyNames (); | ||
| 3403 | |||
| 3404 | if (orig_families) | ||
| 3405 | { | ||
| 3406 | CFIndex i, count = CFArrayGetCount (orig_families); | ||
| 3407 | |||
| 3408 | families = CFArrayCreateMutable (NULL, count, &kCFTypeArrayCallBacks); | ||
| 3409 | if (families) | ||
| 3410 | for (i = 0; i < count; i++) | ||
| 3411 | { | ||
| 3412 | CFStringRef family = CFArrayGetValueAtIndex (orig_families, i); | ||
| 3413 | |||
| 3414 | if (!CFStringHasPrefix (family, CFSTR (".")) | ||
| 3415 | && (CTFontManagerCompareFontFamilyNames (family, | ||
| 3416 | CFSTR ("LastResort"), | ||
| 3417 | NULL) | ||
| 3418 | != kCFCompareEqualTo)) | ||
| 3419 | CFArrayAppendValue (families, family); | ||
| 3420 | } | ||
| 3421 | CFRelease (orig_families); | ||
| 3422 | } | ||
| 3423 | } | ||
| 3424 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 3425 | else /* CTFontManagerCopyAvailableFontFamilyNames == NULL */ | ||
| 3426 | #endif | ||
| 3427 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 */ | ||
| 3428 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 3429 | { | ||
| 3430 | CTFontCollectionRef collection; | ||
| 3431 | CFArrayRef descs = NULL; | ||
| 3432 | |||
| 3433 | collection = CTFontCollectionCreateFromAvailableFonts (NULL); | ||
| 3434 | if (collection) | ||
| 3435 | { | ||
| 3436 | descs = CTFontCollectionCreateMatchingFontDescriptors (collection); | ||
| 3437 | CFRelease (collection); | ||
| 3438 | } | ||
| 3439 | if (descs) | ||
| 3440 | { | ||
| 3441 | CFIndex i, count = CFArrayGetCount (descs); | ||
| 3442 | |||
| 3443 | families = CFArrayCreateMutable (NULL, count, &kCFTypeArrayCallBacks); | ||
| 3444 | if (families) | ||
| 3445 | for (i = 0; i < count; i++) | ||
| 3446 | { | ||
| 3447 | FontDescriptorRef desc = CFArrayGetValueAtIndex (descs, i); | ||
| 3448 | CFStringRef name = | ||
| 3449 | mac_font_descriptor_copy_attribute (desc, | ||
| 3450 | MAC_FONT_FAMILY_NAME_ATTRIBUTE); | ||
| 3451 | |||
| 3452 | if (name) | ||
| 3453 | { | ||
| 3454 | CFIndex p, limit = CFArrayGetCount (families); | ||
| 3455 | |||
| 3456 | p = CFArrayBSearchValues (families, CFRangeMake (0, limit), | ||
| 3457 | (const void *) name, | ||
| 3458 | mac_font_family_compare, NULL); | ||
| 3459 | if (p >= limit) | ||
| 3460 | CFArrayAppendValue (families, name); | ||
| 3461 | else if (mac_font_family_compare | ||
| 3462 | (CFArrayGetValueAtIndex (families, p), | ||
| 3463 | name, NULL) != kCFCompareEqualTo) | ||
| 3464 | CFArrayInsertValueAtIndex (families, p, name); | ||
| 3465 | CFRelease (name); | ||
| 3466 | } | ||
| 3467 | } | ||
| 3468 | CFRelease (descs); | ||
| 3469 | } | ||
| 3470 | } | ||
| 3471 | #endif | ||
| 3472 | |||
| 3473 | return families; | ||
| 3474 | } | ||
| 3475 | |||
| 3476 | static Boolean | ||
| 3477 | mac_ctfont_equal_in_postscript_name (CTFontRef font1, CTFontRef font2) | ||
| 3478 | { | ||
| 3479 | Boolean result; | ||
| 3480 | CFStringRef name1, name2; | ||
| 3481 | |||
| 3482 | if (font1 == font2) | ||
| 3483 | return true; | ||
| 3484 | |||
| 3485 | result = false; | ||
| 3486 | name1 = CTFontCopyPostScriptName (font1); | ||
| 3487 | if (name1) | ||
| 3488 | { | ||
| 3489 | name2 = CTFontCopyPostScriptName (font2); | ||
| 3490 | if (name2) | ||
| 3491 | { | ||
| 3492 | result = (CFStringCompare (name1, name2, 0) == kCFCompareEqualTo); | ||
| 3493 | CFRelease (name2); | ||
| 3494 | } | ||
| 3495 | CFRelease (name1); | ||
| 3496 | } | ||
| 3497 | |||
| 3498 | return result; | ||
| 3499 | } | ||
| 3500 | |||
| 3501 | static CTLineRef | ||
| 3502 | mac_ctfont_create_line_with_string_and_font (CFStringRef string, | ||
| 3503 | CTFontRef macfont) | ||
| 3504 | { | ||
| 3505 | CFStringRef keys[] = {kCTFontAttributeName, kCTKernAttributeName}; | ||
| 3506 | CFTypeRef values[] = {NULL, NULL}; | ||
| 3507 | CFDictionaryRef attributes = NULL; | ||
| 3508 | CFAttributedStringRef attr_string = NULL; | ||
| 3509 | CTLineRef ctline = NULL; | ||
| 3510 | float float_zero = 0.0f; | ||
| 3511 | |||
| 3512 | values[0] = macfont; | ||
| 3513 | values[1] = CFNumberCreate (NULL, kCFNumberFloatType, &float_zero); | ||
| 3514 | if (values[1]) | ||
| 3515 | { | ||
| 3516 | attributes = CFDictionaryCreate (NULL, (const void **) keys, | ||
| 3517 | (const void **) values, | ||
| 3518 | sizeof (keys) / sizeof (keys[0]), | ||
| 3519 | &kCFTypeDictionaryKeyCallBacks, | ||
| 3520 | &kCFTypeDictionaryValueCallBacks); | ||
| 3521 | CFRelease (values[1]); | ||
| 3522 | } | ||
| 3523 | if (attributes) | ||
| 3524 | { | ||
| 3525 | attr_string = CFAttributedStringCreate (NULL, string, attributes); | ||
| 3526 | CFRelease (attributes); | ||
| 3527 | } | ||
| 3528 | if (attr_string) | ||
| 3529 | { | ||
| 3530 | ctline = CTLineCreateWithAttributedString (attr_string); | ||
| 3531 | CFRelease (attr_string); | ||
| 3532 | } | ||
| 3533 | if (ctline) | ||
| 3534 | { | ||
| 3535 | /* Abandon if ctline contains some fonts other than the | ||
| 3536 | specified one. */ | ||
| 3537 | CFArrayRef runs = CTLineGetGlyphRuns (ctline); | ||
| 3538 | CFIndex i, nruns = CFArrayGetCount (runs); | ||
| 3539 | |||
| 3540 | for (i = 0; i < nruns; i++) | ||
| 3541 | { | ||
| 3542 | CTRunRef run = CFArrayGetValueAtIndex (runs, i); | ||
| 3543 | CFDictionaryRef attributes = CTRunGetAttributes (run); | ||
| 3544 | CTFontRef font_in_run; | ||
| 3545 | |||
| 3546 | if (attributes == NULL) | ||
| 3547 | break; | ||
| 3548 | font_in_run = | ||
| 3549 | CFDictionaryGetValue (attributes, kCTFontAttributeName); | ||
| 3550 | if (font_in_run == NULL) | ||
| 3551 | break; | ||
| 3552 | if (!mac_ctfont_equal_in_postscript_name (macfont, font_in_run)) | ||
| 3553 | break; | ||
| 3554 | } | ||
| 3555 | if (i < nruns) | ||
| 3556 | { | ||
| 3557 | CFRelease (ctline); | ||
| 3558 | ctline = NULL; | ||
| 3559 | } | ||
| 3560 | } | ||
| 3561 | |||
| 3562 | return ctline; | ||
| 3563 | } | ||
| 3564 | |||
| 3565 | CFIndex | ||
| 3566 | mac_ctfont_shape (CTFontRef font, CFStringRef string, | ||
| 3567 | struct mac_glyph_layout *glyph_layouts, CFIndex glyph_len) | ||
| 3568 | { | ||
| 3569 | CFIndex used, result = 0; | ||
| 3570 | CTLineRef ctline = mac_ctfont_create_line_with_string_and_font (string, font); | ||
| 3571 | |||
| 3572 | if (ctline == NULL) | ||
| 3573 | return 0; | ||
| 3574 | |||
| 3575 | used = CTLineGetGlyphCount (ctline); | ||
| 3576 | if (used <= glyph_len) | ||
| 3577 | { | ||
| 3578 | CFArrayRef ctruns = CTLineGetGlyphRuns (ctline); | ||
| 3579 | CFIndex k, ctrun_count = CFArrayGetCount (ctruns); | ||
| 3580 | CGFloat total_advance = 0; | ||
| 3581 | CFIndex total_glyph_count = 0; | ||
| 3582 | |||
| 3583 | for (k = 0; k < ctrun_count; k++) | ||
| 3584 | { | ||
| 3585 | CTRunRef ctrun = CFArrayGetValueAtIndex (ctruns, k); | ||
| 3586 | CFIndex i, min_location, glyph_count = CTRunGetGlyphCount (ctrun); | ||
| 3587 | struct mac_glyph_layout *glbuf = glyph_layouts + total_glyph_count; | ||
| 3588 | CFRange string_range, comp_range, range; | ||
| 3589 | CFIndex *permutation; | ||
| 3590 | |||
| 3591 | if (CTRunGetStatus (ctrun) & kCTRunStatusRightToLeft) | ||
| 3592 | permutation = xmalloc (sizeof (CFIndex) * glyph_count); | ||
| 3593 | else | ||
| 3594 | permutation = NULL; | ||
| 3595 | |||
| 3596 | #define RIGHT_TO_LEFT_P permutation | ||
| 3597 | |||
| 3598 | /* Now the `comp_range' member of struct mac_glyph_layout is | ||
| 3599 | temporarily used as a work area such that: | ||
| 3600 | glbuf[i].comp_range.location = | ||
| 3601 | min {compRange[i + 1].location, ..., | ||
| 3602 | compRange[glyph_count - 1].location, | ||
| 3603 | maxRange (stringRangeForCTRun)} | ||
| 3604 | glbuf[i].comp_range.length = maxRange (compRange[i]) | ||
| 3605 | where compRange[i] is the range of composed characters | ||
| 3606 | containing i-th glyph. */ | ||
| 3607 | string_range = CTRunGetStringRange (ctrun); | ||
| 3608 | min_location = string_range.location + string_range.length; | ||
| 3609 | for (i = 0; i < glyph_count; i++) | ||
| 3610 | { | ||
| 3611 | struct mac_glyph_layout *gl = glbuf + glyph_count - i - 1; | ||
| 3612 | CFIndex glyph_index; | ||
| 3613 | CFRange rng; | ||
| 3614 | |||
| 3615 | if (!RIGHT_TO_LEFT_P) | ||
| 3616 | glyph_index = glyph_count - i - 1; | ||
| 3617 | else | ||
| 3618 | glyph_index = i; | ||
| 3619 | CTRunGetStringIndices (ctrun, CFRangeMake (glyph_index, 1), | ||
| 3620 | &gl->string_index); | ||
| 3621 | rng = | ||
| 3622 | CFStringGetRangeOfComposedCharactersAtIndex (string, | ||
| 3623 | gl->string_index); | ||
| 3624 | gl->comp_range.location = min_location; | ||
| 3625 | gl->comp_range.length = rng.location + rng.length; | ||
| 3626 | if (rng.location < min_location) | ||
| 3627 | min_location = rng.location; | ||
| 3628 | } | ||
| 3629 | |||
| 3630 | /* Fill the `comp_range' member of struct mac_glyph_layout, | ||
| 3631 | and setup a permutation for right-to-left text. */ | ||
| 3632 | comp_range = CFRangeMake (string_range.location, 0); | ||
| 3633 | range = CFRangeMake (0, 0); | ||
| 3634 | while (1) | ||
| 3635 | { | ||
| 3636 | struct mac_glyph_layout *gl = | ||
| 3637 | glbuf + range.location + range.length; | ||
| 3638 | |||
| 3639 | if (gl->comp_range.length | ||
| 3640 | > comp_range.location + comp_range.length) | ||
| 3641 | comp_range.length = gl->comp_range.length - comp_range.location; | ||
| 3642 | min_location = gl->comp_range.location; | ||
| 3643 | range.length++; | ||
| 3644 | |||
| 3645 | if (min_location >= comp_range.location + comp_range.length) | ||
| 3646 | { | ||
| 3647 | comp_range.length = min_location - comp_range.location; | ||
| 3648 | for (i = 0; i < range.length; i++) | ||
| 3649 | { | ||
| 3650 | glbuf[range.location + i].comp_range = comp_range; | ||
| 3651 | if (RIGHT_TO_LEFT_P) | ||
| 3652 | permutation[range.location + i] = | ||
| 3653 | range.location + range.length - i - 1; | ||
| 3654 | } | ||
| 3655 | |||
| 3656 | comp_range = CFRangeMake (min_location, 0); | ||
| 3657 | range.location += range.length; | ||
| 3658 | range.length = 0; | ||
| 3659 | if (range.location == glyph_count) | ||
| 3660 | break; | ||
| 3661 | } | ||
| 3662 | } | ||
| 3663 | |||
| 3664 | /* Then fill the remaining members. */ | ||
| 3665 | for (range = CFRangeMake (0, 1); range.location < glyph_count; | ||
| 3666 | range.location++) | ||
| 3667 | { | ||
| 3668 | struct mac_glyph_layout *gl; | ||
| 3669 | CGPoint position; | ||
| 3670 | |||
| 3671 | if (!RIGHT_TO_LEFT_P) | ||
| 3672 | gl = glbuf + range.location; | ||
| 3673 | else | ||
| 3674 | { | ||
| 3675 | CFIndex src, dest; | ||
| 3676 | |||
| 3677 | src = glyph_count - 1 - range.location; | ||
| 3678 | dest = permutation[src]; | ||
| 3679 | gl = glbuf + dest; | ||
| 3680 | if (src < dest) | ||
| 3681 | { | ||
| 3682 | CFIndex tmp = gl->string_index; | ||
| 3683 | |||
| 3684 | gl->string_index = glbuf[src].string_index; | ||
| 3685 | glbuf[src].string_index = tmp; | ||
| 3686 | } | ||
| 3687 | } | ||
| 3688 | CTRunGetGlyphs (ctrun, range, &gl->glyph_id); | ||
| 3689 | |||
| 3690 | CTRunGetPositions (ctrun, range, &position); | ||
| 3691 | gl->advance_delta = position.x - total_advance; | ||
| 3692 | gl->baseline_delta = position.y; | ||
| 3693 | gl->advance = (gl->advance_delta | ||
| 3694 | + CTRunGetTypographicBounds (ctrun, range, | ||
| 3695 | NULL, NULL, NULL)); | ||
| 3696 | total_advance += gl->advance; | ||
| 3697 | } | ||
| 3698 | |||
| 3699 | if (RIGHT_TO_LEFT_P) | ||
| 3700 | xfree (permutation); | ||
| 3701 | |||
| 3702 | #undef RIGHT_TO_LEFT_P | ||
| 3703 | |||
| 3704 | total_glyph_count += glyph_count; | ||
| 3705 | } | ||
| 3706 | |||
| 3707 | result = used; | ||
| 3708 | } | ||
| 3709 | CFRelease (ctline); | ||
| 3710 | |||
| 3711 | return result; | ||
| 3712 | } | ||
| 3713 | |||
| 3714 | /* The function below seems to cause a memory leak for the CFString | ||
| 3715 | created by CFStringCreateWithCharacters as of Mac OS X 10.5.8 and | ||
| 3716 | 10.6.3. For now, we use the NSGlyphInfo version instead. */ | ||
| 3717 | #if USE_CT_GLYPH_INFO | ||
| 3718 | CGGlyph | ||
| 3719 | mac_ctfont_get_glyph_for_cid (CTFontRef font, CTCharacterCollection collection, | ||
| 3720 | CGFontIndex cid) | ||
| 3721 | { | ||
| 3722 | CGGlyph result = kCGFontIndexInvalid; | ||
| 3723 | UniChar characters[] = {0xfffd}; | ||
| 3724 | CFStringRef string; | ||
| 3725 | CFAttributedStringRef attr_string = NULL; | ||
| 3726 | CTLineRef ctline = NULL; | ||
| 3727 | |||
| 3728 | string = CFStringCreateWithCharacters (NULL, characters, | ||
| 3729 | sizeof (characters) | ||
| 3730 | / sizeof (characters[0])); | ||
| 3731 | if (string) | ||
| 3732 | { | ||
| 3733 | CTGlyphInfoRef glyph_info = | ||
| 3734 | CTGlyphInfoCreateWithCharacterIdentifier (cid, collection, string); | ||
| 3735 | CFDictionaryRef attributes = NULL; | ||
| 3736 | |||
| 3737 | if (glyph_info) | ||
| 3738 | { | ||
| 3739 | CFStringRef keys[] = {kCTFontAttributeName, | ||
| 3740 | kCTGlyphInfoAttributeName}; | ||
| 3741 | CFTypeRef values[] = {font, glyph_info}; | ||
| 3742 | |||
| 3743 | attributes = CFDictionaryCreate (NULL, (const void **) keys, | ||
| 3744 | (const void **) values, | ||
| 3745 | sizeof (keys) / sizeof (keys[0]), | ||
| 3746 | &kCFTypeDictionaryKeyCallBacks, | ||
| 3747 | &kCFTypeDictionaryValueCallBacks); | ||
| 3748 | CFRelease (glyph_info); | ||
| 3749 | } | ||
| 3750 | if (attributes) | ||
| 3751 | { | ||
| 3752 | attr_string = CFAttributedStringCreate (NULL, string, attributes); | ||
| 3753 | CFRelease (attributes); | ||
| 3754 | } | ||
| 3755 | CFRelease (string); | ||
| 3756 | } | ||
| 3757 | if (attr_string) | ||
| 3758 | { | ||
| 3759 | ctline = CTLineCreateWithAttributedString (attr_string); | ||
| 3760 | CFRelease (attr_string); | ||
| 3761 | } | ||
| 3762 | if (ctline) | ||
| 3763 | { | ||
| 3764 | CFArrayRef runs = CTLineGetGlyphRuns (ctline); | ||
| 3765 | |||
| 3766 | if (CFArrayGetCount (runs) > 0) | ||
| 3767 | { | ||
| 3768 | CTRunRef run = CFArrayGetValueAtIndex (runs, 0); | ||
| 3769 | CFDictionaryRef attributes = CTRunGetAttributes (run); | ||
| 3770 | |||
| 3771 | if (attributes) | ||
| 3772 | { | ||
| 3773 | CTFontRef font_in_run = | ||
| 3774 | CFDictionaryGetValue (attributes, kCTFontAttributeName); | ||
| 3775 | |||
| 3776 | if (font_in_run | ||
| 3777 | && mac_ctfont_equal_in_postscript_name (font_in_run, font)) | ||
| 3778 | { | ||
| 3779 | CTRunGetGlyphs (run, CFRangeMake (0, 1), &result); | ||
| 3780 | if (result >= CTFontGetGlyphCount (font)) | ||
| 3781 | result = kCGFontIndexInvalid; | ||
| 3782 | } | ||
| 3783 | } | ||
| 3784 | } | ||
| 3785 | CFRelease (ctline); | ||
| 3786 | } | ||
| 3787 | |||
| 3788 | return result; | ||
| 3789 | } | ||
| 3790 | #endif | ||
| 3791 | |||
| 3792 | #if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 | ||
| 3793 | static inline int | ||
| 3794 | mac_font_family_group (CFStringRef family) | ||
| 3795 | { | ||
| 3796 | if (CFStringHasPrefix (family, CFSTR ("#"))) | ||
| 3797 | return 2; | ||
| 3798 | else | ||
| 3799 | { | ||
| 3800 | CFRange range; | ||
| 3801 | |||
| 3802 | range = CFStringFind (family, CFSTR ("Apple"), | ||
| 3803 | kCFCompareCaseInsensitive | kCFCompareAnchored); | ||
| 3804 | if (range.location != kCFNotFound) | ||
| 3805 | return 1; | ||
| 3806 | |||
| 3807 | return 0; | ||
| 3808 | } | ||
| 3809 | } | ||
| 3810 | |||
| 3811 | CFComparisonResult | ||
| 3812 | mac_font_family_compare (const void *val1, const void *val2, void *context) | ||
| 3813 | { | ||
| 3814 | CFStringRef family1 = (CFStringRef) val1, family2 = (CFStringRef) val2; | ||
| 3815 | int group1, group2; | ||
| 3816 | |||
| 3817 | group1 = mac_font_family_group (family1); | ||
| 3818 | group2 = mac_font_family_group (family2); | ||
| 3819 | if (group1 < group2) | ||
| 3820 | return kCFCompareLessThan; | ||
| 3821 | if (group1 > group2) | ||
| 3822 | return kCFCompareGreaterThan; | ||
| 3823 | return CFStringCompare (family1, family2, kCFCompareCaseInsensitive); | ||
| 3824 | } | ||
| 3825 | #endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1060 */ | ||
| 3826 | |||
| 3827 | void * | ||
| 3828 | macfont_get_nsctfont (struct font *font) | ||
| 3829 | { | ||
| 3830 | struct macfont_info *macfont_info = (struct macfont_info *) font; | ||
| 3831 | FontRef macfont = macfont_info->macfont; | ||
| 3832 | |||
| 3833 | return (void *) macfont; | ||
| 3834 | } | ||
| 3835 | |||
| 3836 | void | ||
| 3837 | mac_register_font_driver (struct frame *f) | ||
| 3838 | { | ||
| 3839 | register_font_driver (&macfont_driver, f); | ||
| 3840 | } | ||
| 3841 | |||
| 3842 | #endif // MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | ||
| 3843 | |||
| 3844 | |||
| 3845 | void | ||
| 3846 | syms_of_macfont (void) | ||
| 3847 | { | ||
| 3848 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | ||
| 3849 | static struct font_driver mac_font_driver; | ||
| 3850 | |||
| 3851 | DEFSYM (Qmac_ct, "mac-ct"); | ||
| 3852 | macfont_driver.type = Qmac_ct; | ||
| 3853 | register_font_driver (&macfont_driver, NULL); | ||
| 3854 | |||
| 3855 | DEFSYM (QCdestination, ":destination"); | ||
| 3856 | DEFSYM (QCminspace, ":minspace"); | ||
| 3857 | #endif | ||
| 3858 | } | ||
diff --git a/src/macuvs.h b/src/macuvs.h new file mode 100644 index 00000000000..20879888f9a --- /dev/null +++ b/src/macuvs.h | |||
| @@ -0,0 +1,9215 @@ | |||
| 1 | /* UVS (Unicode Variation Sequence) table definitions. | ||
| 2 | |||
| 3 | This file is part of GNU Emacs. */ | ||
| 4 | |||
| 5 | /* This was generated from the Ideographic Variation Database file at | ||
| 6 | http://www.unicode.org/ivd/data/2012-03-02/IVD_Sequences.txt | ||
| 7 | using admin/mac/uvs.el in GNU Emacs, and distributed under | ||
| 8 | the Terms of Use in http://www.unicode.org/terms_of_use.html. */ | ||
| 9 | static const unsigned char mac_uvs_table_adobe_japan1_bytes[] = | ||
| 10 | { | ||
| 11 | 0x00, 0x0e, 0x00, 0x01, 0x1f, 0x9e, 0x00, 0x00, | ||
| 12 | 0x00, 0x0f, 0x0e, 0x01, 0x00, 0x00, 0x00, 0x00, | ||
| 13 | 0x00, 0x00, 0x00, 0x00, 0xaf, 0x0e, 0x01, 0x01, | ||
| 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x9a, | ||
| 15 | 0x0e, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 16 | 0x01, 0x1c, 0x31, 0x0e, 0x01, 0x03, 0x00, 0x00, | ||
| 17 | 0x00, 0x00, 0x00, 0x01, 0x1e, 0xb0, 0x0e, 0x01, | ||
| 18 | 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, | ||
| 19 | 0x09, 0x0e, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, | ||
| 20 | 0x00, 0x01, 0x1f, 0x2b, 0x0e, 0x01, 0x06, 0x00, | ||
| 21 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x43, 0x0e, | ||
| 22 | 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | ||
| 23 | 0x1f, 0x51, 0x0e, 0x01, 0x08, 0x00, 0x00, 0x00, | ||
| 24 | 0x00, 0x00, 0x01, 0x1f, 0x5f, 0x0e, 0x01, 0x09, | ||
| 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x68, | ||
| 26 | 0x0e, 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 27 | 0x01, 0x1f, 0x71, 0x0e, 0x01, 0x0b, 0x00, 0x00, | ||
| 28 | 0x00, 0x00, 0x00, 0x01, 0x1f, 0x7a, 0x0e, 0x01, | ||
| 29 | 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, | ||
| 30 | 0x83, 0x0e, 0x01, 0x0d, 0x00, 0x00, 0x00, 0x00, | ||
| 31 | 0x00, 0x01, 0x1f, 0x8c, 0x0e, 0x01, 0x0e, 0x00, | ||
| 32 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x95, 0x00, | ||
| 33 | 0x00, 0x33, 0xfb, 0x00, 0x34, 0x02, 0x35, 0x82, | ||
| 34 | 0x00, 0x34, 0x05, 0x3c, 0x1b, 0x00, 0x34, 0x06, | ||
| 35 | 0x43, 0x5a, 0x00, 0x34, 0x27, 0x36, 0x56, 0x00, | ||
| 36 | 0x34, 0x2c, 0x43, 0x5e, 0x00, 0x34, 0x2e, 0x37, | ||
| 37 | 0x88, 0x00, 0x34, 0x68, 0x36, 0xdf, 0x00, 0x34, | ||
| 38 | 0x6a, 0x43, 0x75, 0x00, 0x34, 0x88, 0x3c, 0x52, | ||
| 39 | 0x00, 0x34, 0x92, 0x43, 0x8e, 0x00, 0x34, 0xb5, | ||
| 40 | 0x41, 0x99, 0x00, 0x34, 0xbc, 0x43, 0x97, 0x00, | ||
| 41 | 0x34, 0xc1, 0x47, 0xd0, 0x00, 0x34, 0xc7, 0x43, | ||
| 42 | 0x9b, 0x00, 0x34, 0xdb, 0x3c, 0x41, 0x00, 0x35, | ||
| 43 | 0x1f, 0x36, 0x29, 0x00, 0x35, 0x3e, 0x37, 0x1e, | ||
| 44 | 0x00, 0x35, 0x5d, 0x43, 0xbd, 0x00, 0x35, 0x5e, | ||
| 45 | 0x43, 0xbe, 0x00, 0x35, 0x63, 0x43, 0xc0, 0x00, | ||
| 46 | 0x35, 0x6e, 0x43, 0xc4, 0x00, 0x35, 0xa6, 0x43, | ||
| 47 | 0xd9, 0x00, 0x35, 0xa8, 0x43, 0xdb, 0x00, 0x35, | ||
| 48 | 0xc5, 0x43, 0xe1, 0x00, 0x35, 0xda, 0x43, 0xea, | ||
| 49 | 0x00, 0x35, 0xde, 0x4e, 0x63, 0x00, 0x35, 0xf4, | ||
| 50 | 0x43, 0xf3, 0x00, 0x36, 0x05, 0x43, 0xfa, 0x00, | ||
| 51 | 0x36, 0x14, 0x4a, 0xbb, 0x00, 0x36, 0x4a, 0x44, | ||
| 52 | 0x21, 0x00, 0x36, 0x91, 0x44, 0x41, 0x00, 0x36, | ||
| 53 | 0x96, 0x44, 0x45, 0x00, 0x36, 0x99, 0x44, 0x43, | ||
| 54 | 0x00, 0x36, 0xcf, 0x44, 0x56, 0x00, 0x37, 0x61, | ||
| 55 | 0x44, 0x78, 0x00, 0x37, 0x62, 0x44, 0x79, 0x00, | ||
| 56 | 0x37, 0x6b, 0x44, 0x7d, 0x00, 0x37, 0x6c, 0x44, | ||
| 57 | 0x7c, 0x00, 0x37, 0x75, 0x44, 0x80, 0x00, 0x37, | ||
| 58 | 0x8d, 0x36, 0x1a, 0x00, 0x37, 0xc1, 0x44, 0x8e, | ||
| 59 | 0x00, 0x37, 0xe2, 0x37, 0x2b, 0x00, 0x37, 0xe8, | ||
| 60 | 0x44, 0xa2, 0x00, 0x37, 0xf4, 0x44, 0xa5, 0x00, | ||
| 61 | 0x37, 0xfd, 0x44, 0xa8, 0x00, 0x38, 0x00, 0x44, | ||
| 62 | 0xaa, 0x00, 0x38, 0x2f, 0x44, 0xb4, 0x00, 0x38, | ||
| 63 | 0x36, 0x44, 0xb5, 0x00, 0x38, 0x40, 0x44, 0xb6, | ||
| 64 | 0x00, 0x38, 0x5c, 0x44, 0xba, 0x00, 0x38, 0x61, | ||
| 65 | 0x44, 0xbc, 0x00, 0x38, 0xa1, 0x4e, 0xcb, 0x00, | ||
| 66 | 0x38, 0xad, 0x4a, 0xbc, 0x00, 0x38, 0xfa, 0x36, | ||
| 67 | 0x1c, 0x00, 0x39, 0x17, 0x44, 0xd9, 0x00, 0x39, | ||
| 68 | 0x1a, 0x44, 0xdc, 0x00, 0x39, 0x6f, 0x44, 0xeb, | ||
| 69 | 0x00, 0x39, 0xa4, 0x4e, 0x9a, 0x00, 0x39, 0xb8, | ||
| 70 | 0x4e, 0x9b, 0x00, 0x3a, 0x5c, 0x4e, 0x9f, 0x00, | ||
| 71 | 0x3a, 0x6e, 0x45, 0x31, 0x00, 0x3a, 0x73, 0x45, | ||
| 72 | 0x34, 0x00, 0x3a, 0x85, 0x4e, 0xae, 0x00, 0x3a, | ||
| 73 | 0xc4, 0x4e, 0xa7, 0x00, 0x3a, 0xcb, 0x4e, 0xa8, | ||
| 74 | 0x00, 0x3a, 0xd6, 0x45, 0x43, 0x00, 0x3a, 0xd7, | ||
| 75 | 0x45, 0x5e, 0x00, 0x3a, 0xea, 0x45, 0x4d, 0x00, | ||
| 76 | 0x3a, 0xf3, 0x3c, 0x40, 0x00, 0x3b, 0x0e, 0x45, | ||
| 77 | 0x58, 0x00, 0x3b, 0x1a, 0x45, 0x5c, 0x00, 0x3b, | ||
| 78 | 0x1c, 0x45, 0x5d, 0x00, 0x3b, 0x22, 0x3c, 0x49, | ||
| 79 | 0x00, 0x3b, 0x6d, 0x45, 0x8c, 0x00, 0x3b, 0x77, | ||
| 80 | 0x45, 0x85, 0x00, 0x3b, 0x87, 0x45, 0xa2, 0x00, | ||
| 81 | 0x3b, 0x88, 0x36, 0x8d, 0x00, 0x3b, 0x8d, 0x45, | ||
| 82 | 0xa4, 0x00, 0x3b, 0xa4, 0x45, 0xaa, 0x00, 0x3b, | ||
| 83 | 0xb6, 0x42, 0x0e, 0x00, 0x3b, 0xc3, 0x42, 0x0f, | ||
| 84 | 0x00, 0x3b, 0xcd, 0x45, 0xb8, 0x00, 0x3b, 0xf0, | ||
| 85 | 0x45, 0xc9, 0x00, 0x3b, 0xf3, 0x4e, 0xb7, 0x00, | ||
| 86 | 0x3c, 0x0f, 0x42, 0x17, 0x00, 0x3c, 0x26, 0x45, | ||
| 87 | 0xdf, 0x00, 0x3c, 0xc3, 0x45, 0xfc, 0x00, 0x3c, | ||
| 88 | 0xd2, 0x46, 0x01, 0x00, 0x3d, 0x11, 0x46, 0x25, | ||
| 89 | 0x00, 0x3d, 0x1e, 0x46, 0x30, 0x00, 0x3d, 0x31, | ||
| 90 | 0x4e, 0xbe, 0x00, 0x3d, 0x4e, 0x1d, 0xe7, 0x00, | ||
| 91 | 0x3d, 0x64, 0x46, 0x4a, 0x00, 0x3d, 0x9a, 0x46, | ||
| 92 | 0x58, 0x00, 0x3d, 0xc0, 0x46, 0x6a, 0x00, 0x3d, | ||
| 93 | 0xcc, 0x4a, 0xbd, 0x00, 0x3d, 0xd4, 0x46, 0x6f, | ||
| 94 | 0x00, 0x3e, 0x05, 0x46, 0x7b, 0x00, 0x3e, 0x3f, | ||
| 95 | 0x42, 0x48, 0x00, 0x3e, 0x40, 0x4e, 0xca, 0x00, | ||
| 96 | 0x3e, 0x60, 0x46, 0x8b, 0x00, 0x3e, 0x66, 0x46, | ||
| 97 | 0x8d, 0x00, 0x3e, 0x68, 0x46, 0x8e, 0x00, 0x3e, | ||
| 98 | 0x83, 0x46, 0x95, 0x00, 0x3e, 0x8a, 0x3c, 0x43, | ||
| 99 | 0x00, 0x3e, 0x94, 0x46, 0x9b, 0x00, 0x3e, 0xda, | ||
| 100 | 0x3c, 0x48, 0x00, 0x3f, 0x57, 0x46, 0xcb, 0x00, | ||
| 101 | 0x3f, 0x72, 0x42, 0x58, 0x00, 0x3f, 0x75, 0x46, | ||
| 102 | 0xd9, 0x00, 0x3f, 0x77, 0x46, 0xdb, 0x00, 0x3f, | ||
| 103 | 0xae, 0x46, 0xed, 0x00, 0x3f, 0xb1, 0x37, 0x54, | ||
| 104 | 0x00, 0x3f, 0xc9, 0x46, 0xf8, 0x00, 0x3f, 0xd7, | ||
| 105 | 0x46, 0xfd, 0x00, 0x3f, 0xdc, 0x4a, 0xbe, 0x00, | ||
| 106 | 0x40, 0x39, 0x47, 0x0f, 0x00, 0x40, 0x58, 0x47, | ||
| 107 | 0x16, 0x00, 0x40, 0x93, 0x3c, 0x4c, 0x00, 0x41, | ||
| 108 | 0x03, 0x3c, 0x4f, 0x00, 0x41, 0x05, 0x47, 0x3b, | ||
| 109 | 0x00, 0x41, 0x48, 0x47, 0x47, 0x00, 0x41, 0x4f, | ||
| 110 | 0x47, 0x4a, 0x00, 0x41, 0x63, 0x47, 0x4e, 0x00, | ||
| 111 | 0x41, 0xb4, 0x47, 0x5d, 0x00, 0x41, 0xbf, 0x47, | ||
| 112 | 0x60, 0x00, 0x41, 0xe6, 0x47, 0x6b, 0x00, 0x41, | ||
| 113 | 0xee, 0x47, 0x6f, 0x00, 0x41, 0xf3, 0x47, 0x6c, | ||
| 114 | 0x00, 0x42, 0x07, 0x47, 0x76, 0x00, 0x42, 0x0e, | ||
| 115 | 0x47, 0x79, 0x00, 0x42, 0x64, 0x37, 0x60, 0x00, | ||
| 116 | 0x42, 0x93, 0x3c, 0x50, 0x00, 0x42, 0xc6, 0x47, | ||
| 117 | 0x9f, 0x00, 0x42, 0xd6, 0x47, 0xaa, 0x00, 0x42, | ||
| 118 | 0xdd, 0x47, 0xae, 0x00, 0x43, 0x02, 0x47, 0xbc, | ||
| 119 | 0x00, 0x43, 0x2b, 0x47, 0xc9, 0x00, 0x43, 0x43, | ||
| 120 | 0x47, 0xcb, 0x00, 0x43, 0xee, 0x47, 0xf7, 0x00, | ||
| 121 | 0x43, 0xf0, 0x47, 0xfa, 0x00, 0x44, 0x08, 0x48, | ||
| 122 | 0x00, 0x00, 0x44, 0x0c, 0x3c, 0x42, 0x00, 0x44, | ||
| 123 | 0x17, 0x48, 0x02, 0x00, 0x44, 0x1c, 0x48, 0x03, | ||
| 124 | 0x00, 0x44, 0x22, 0x48, 0x05, 0x00, 0x44, 0x53, | ||
| 125 | 0x37, 0x73, 0x00, 0x44, 0x5b, 0x42, 0xa4, 0x00, | ||
| 126 | 0x44, 0x76, 0x48, 0x1c, 0x00, 0x44, 0x7a, 0x48, | ||
| 127 | 0x1d, 0x00, 0x44, 0x91, 0x48, 0x23, 0x00, 0x44, | ||
| 128 | 0xb3, 0x48, 0x3e, 0x00, 0x44, 0xbe, 0x48, 0x3c, | ||
| 129 | 0x00, 0x44, 0xd4, 0x48, 0x3d, 0x00, 0x45, 0x08, | ||
| 130 | 0x48, 0x5c, 0x00, 0x45, 0x0d, 0x48, 0x58, 0x00, | ||
| 131 | 0x45, 0x25, 0x37, 0x7e, 0x00, 0x45, 0x43, 0x48, | ||
| 132 | 0x6c, 0x00, 0x45, 0x7a, 0x3c, 0x4b, 0x00, 0x45, | ||
| 133 | 0x9d, 0x42, 0xd4, 0x00, 0x45, 0xb8, 0x48, 0xa0, | ||
| 134 | 0x00, 0x45, 0xbe, 0x4a, 0xbf, 0x00, 0x45, 0xe5, | ||
| 135 | 0x48, 0xba, 0x00, 0x45, 0xea, 0x42, 0xd9, 0x00, | ||
| 136 | 0x46, 0x0f, 0x48, 0xca, 0x00, 0x46, 0x10, 0x4a, | ||
| 137 | 0xc0, 0x00, 0x46, 0x41, 0x48, 0xd8, 0x00, 0x46, | ||
| 138 | 0x65, 0x3c, 0x4e, 0x00, 0x46, 0xa1, 0x48, 0xe9, | ||
| 139 | 0x00, 0x46, 0xae, 0x3c, 0x51, 0x00, 0x46, 0xaf, | ||
| 140 | 0x48, 0xed, 0x00, 0x47, 0x0c, 0x49, 0x02, 0x00, | ||
| 141 | 0x47, 0x1f, 0x4e, 0xfb, 0x00, 0x47, 0x64, 0x49, | ||
| 142 | 0x18, 0x00, 0x47, 0xe6, 0x37, 0x90, 0x00, 0x47, | ||
| 143 | 0xfd, 0x49, 0x24, 0x00, 0x48, 0x16, 0x49, 0x2e, | ||
| 144 | 0x00, 0x48, 0x1e, 0x4f, 0x01, 0x00, 0x48, 0x44, | ||
| 145 | 0x42, 0xf5, 0x00, 0x48, 0x4e, 0x49, 0x3a, 0x00, | ||
| 146 | 0x48, 0xb5, 0x49, 0x5b, 0x00, 0x49, 0xb0, 0x43, | ||
| 147 | 0x1f, 0x00, 0x49, 0xe7, 0x49, 0xd2, 0x00, 0x49, | ||
| 148 | 0xfa, 0x49, 0xd6, 0x00, 0x4a, 0x04, 0x49, 0xdb, | ||
| 149 | 0x00, 0x4a, 0x29, 0x49, 0xde, 0x00, 0x4a, 0xbc, | ||
| 150 | 0x49, 0xf6, 0x00, 0x4b, 0x38, 0x35, 0xdf, 0x00, | ||
| 151 | 0x4b, 0x3b, 0x4a, 0x0e, 0x00, 0x4b, 0x7e, 0x4a, | ||
| 152 | 0xc1, 0x00, 0x4b, 0xc2, 0x4a, 0x33, 0x00, 0x4b, | ||
| 153 | 0xca, 0x4a, 0x35, 0x00, 0x4b, 0xd2, 0x4a, 0x37, | ||
| 154 | 0x00, 0x4b, 0xe8, 0x3c, 0x46, 0x00, 0x4c, 0x17, | ||
| 155 | 0x43, 0x34, 0x00, 0x4c, 0x20, 0x4a, 0x48, 0x00, | ||
| 156 | 0x4c, 0x38, 0x4a, 0xc2, 0x00, 0x4c, 0xc4, 0x4a, | ||
| 157 | 0x84, 0x00, 0x4c, 0xd1, 0x4a, 0x87, 0x00, 0x4c, | ||
| 158 | 0xe1, 0x4a, 0xc3, 0x00, 0x4d, 0x07, 0x4a, 0x9b, | ||
| 159 | 0x00, 0x4d, 0x77, 0x4a, 0xab, 0x00, 0x4e, 0x00, | ||
| 160 | 0x04, 0xb0, 0x00, 0x4e, 0x01, 0x0b, 0xb8, 0x00, | ||
| 161 | 0x4e, 0x02, 0x43, 0x52, 0x00, 0x4e, 0x03, 0x08, | ||
| 162 | 0xe3, 0x00, 0x4e, 0x04, 0x37, 0xd8, 0x00, 0x4e, | ||
| 163 | 0x05, 0x37, 0xd9, 0x00, 0x4e, 0x07, 0x0e, 0xaa, | ||
| 164 | 0x00, 0x4e, 0x08, 0x09, 0xce, 0x00, 0x4e, 0x09, | ||
| 165 | 0x08, 0x7e, 0x00, 0x4e, 0x0a, 0x09, 0xcd, 0x00, | ||
| 166 | 0x4e, 0x0b, 0x05, 0x3c, 0x00, 0x4e, 0x0c, 0x4a, | ||
| 167 | 0xc4, 0x00, 0x4e, 0x0d, 0x0d, 0xc6, 0x00, 0x4e, | ||
| 168 | 0x0e, 0x0f, 0x29, 0x00, 0x4e, 0x0f, 0x43, 0x53, | ||
| 169 | 0x00, 0x4e, 0x10, 0x0f, 0xfb, 0x00, 0x4e, 0x11, | ||
| 170 | 0x04, 0xd1, 0x00, 0x4e, 0x12, 0x43, 0x54, 0x00, | ||
| 171 | 0x4e, 0x14, 0x05, 0xcc, 0x00, 0x4e, 0x15, 0x0f, | ||
| 172 | 0xfc, 0x00, 0x4e, 0x16, 0x0a, 0x48, 0x00, 0x4e, | ||
| 173 | 0x17, 0x10, 0xd7, 0x00, 0x4e, 0x18, 0x06, 0x70, | ||
| 174 | 0x00, 0x4e, 0x19, 0x0e, 0x0a, 0x00, 0x4e, 0x1e, | ||
| 175 | 0x09, 0xcf, 0x00, 0x4e, 0x1f, 0x37, 0xda, 0x00, | ||
| 176 | 0x4e, 0x21, 0x0f, 0x86, 0x00, 0x4e, 0x23, 0x4a, | ||
| 177 | 0xc5, 0x00, 0x4e, 0x24, 0x4a, 0xc6, 0x00, 0x4e, | ||
| 178 | 0x26, 0x0e, 0x12, 0x00, 0x4e, 0x28, 0x20, 0xb3, | ||
| 179 | 0x00, 0x4e, 0x29, 0x43, 0x55, 0x00, 0x4e, 0x2a, | ||
| 180 | 0x0f, 0xfd, 0x00, 0x4e, 0x2b, 0x37, 0xdb, 0x00, | ||
| 181 | 0x4e, 0x2c, 0x37, 0x4d, 0x00, 0x4e, 0x2d, 0x0b, | ||
| 182 | 0xa4, 0x00, 0x4e, 0x2e, 0x43, 0x56, 0x00, 0x4e, | ||
| 183 | 0x2f, 0x37, 0xdc, 0x00, 0x4e, 0x30, 0x37, 0xdd, | ||
| 184 | 0x00, 0x4e, 0x31, 0x0f, 0xfe, 0x00, 0x4e, 0x32, | ||
| 185 | 0x06, 0xf2, 0x00, 0x4e, 0x35, 0x52, 0x53, 0x00, | ||
| 186 | 0x4e, 0x36, 0x0f, 0xff, 0x00, 0x4e, 0x37, 0x36, | ||
| 187 | 0x9d, 0x00, 0x4e, 0x38, 0x06, 0x19, 0x00, 0x4e, | ||
| 188 | 0x39, 0x0b, 0x6e, 0x00, 0x4e, 0x3b, 0x09, 0x13, | ||
| 189 | 0x00, 0x4e, 0x3c, 0x10, 0x00, 0x00, 0x4e, 0x3f, | ||
| 190 | 0x10, 0x01, 0x00, 0x4e, 0x40, 0x37, 0xde, 0x00, | ||
| 191 | 0x4e, 0x41, 0x37, 0xdf, 0x00, 0x4e, 0x42, 0x10, | ||
| 192 | 0x02, 0x00, 0x4e, 0x43, 0x0c, 0xeb, 0x00, 0x4e, | ||
| 193 | 0x44, 0x37, 0xe0, 0x00, 0x4e, 0x45, 0x06, 0x71, | ||
| 194 | 0x00, 0x4e, 0x47, 0x43, 0x57, 0x00, 0x4e, 0x48, | ||
| 195 | 0x37, 0x2e, 0x00, 0x4e, 0x4b, 0x0c, 0xed, 0x00, | ||
| 196 | 0x4e, 0x4d, 0x0c, 0xbb, 0x00, 0x4e, 0x4e, 0x07, | ||
| 197 | 0x77, 0x00, 0x4e, 0x4f, 0x0e, 0x61, 0x00, 0x4e, | ||
| 198 | 0x51, 0x43, 0x59, 0x00, 0x4e, 0x55, 0x19, 0x50, | ||
| 199 | 0x00, 0x4e, 0x56, 0x10, 0x03, 0x00, 0x4e, 0x57, | ||
| 200 | 0x09, 0xd0, 0x00, 0x4e, 0x58, 0x10, 0x04, 0x00, | ||
| 201 | 0x4e, 0x59, 0x05, 0x35, 0x00, 0x4e, 0x5a, 0x37, | ||
| 202 | 0xe1, 0x00, 0x4e, 0x5c, 0x52, 0x54, 0x00, 0x4e, | ||
| 203 | 0x5d, 0x06, 0xdd, 0x00, 0x4e, 0x5e, 0x07, 0xa4, | ||
| 204 | 0x00, 0x4e, 0x5f, 0x0e, 0xf5, 0x00, 0x4e, 0x62, | ||
| 205 | 0x12, 0x33, 0x00, 0x4e, 0x63, 0x52, 0x55, 0x00, | ||
| 206 | 0x4e, 0x68, 0x52, 0x56, 0x00, 0x4e, 0x69, 0x43, | ||
| 207 | 0x5c, 0x00, 0x4e, 0x71, 0x0f, 0x5a, 0x00, 0x4e, | ||
| 208 | 0x73, 0x0c, 0xd5, 0x00, 0x4e, 0x74, 0x52, 0x57, | ||
| 209 | 0x00, 0x4e, 0x75, 0x52, 0x58, 0x00, 0x4e, 0x79, | ||
| 210 | 0x4a, 0xc7, 0x00, 0x4e, 0x7e, 0x05, 0xe1, 0x00, | ||
| 211 | 0x4e, 0x7f, 0x37, 0xe2, 0x00, 0x4e, 0x80, 0x06, | ||
| 212 | 0x4f, 0x00, 0x4e, 0x82, 0x10, 0x05, 0x00, 0x4e, | ||
| 213 | 0x85, 0x10, 0x06, 0x00, 0x4e, 0x86, 0x0f, 0x83, | ||
| 214 | 0x00, 0x4e, 0x88, 0x0f, 0x27, 0x00, 0x4e, 0x89, | ||
| 215 | 0x0a, 0xea, 0x00, 0x4e, 0x8a, 0x10, 0x08, 0x00, | ||
| 216 | 0x4e, 0x8b, 0x08, 0xc4, 0x00, 0x4e, 0x8c, 0x0c, | ||
| 217 | 0xcb, 0x00, 0x4e, 0x8d, 0x37, 0xe3, 0x00, 0x4e, | ||
| 218 | 0x8e, 0x10, 0x0b, 0x00, 0x4e, 0x91, 0x04, 0xe0, | ||
| 219 | 0x00, 0x4e, 0x92, 0x07, 0x93, 0x00, 0x4e, 0x94, | ||
| 220 | 0x07, 0x92, 0x00, 0x4e, 0x95, 0x04, 0xaa, 0x00, | ||
| 221 | 0x4e, 0x96, 0x37, 0xe4, 0x00, 0x4e, 0x97, 0x52, | ||
| 222 | 0x59, 0x00, 0x4e, 0x98, 0x0f, 0xf1, 0x00, 0x4e, | ||
| 223 | 0x99, 0x0f, 0xf0, 0x00, 0x4e, 0x9b, 0x08, 0x23, | ||
| 224 | 0x00, 0x4e, 0x9c, 0x04, 0x65, 0x00, 0x4e, 0x9d, | ||
| 225 | 0x43, 0x5d, 0x00, 0x4e, 0x9e, 0x10, 0x0c, 0x00, | ||
| 226 | 0x4e, 0x9f, 0x10, 0x0d, 0x00, 0x4e, 0xa0, 0x10, | ||
| 227 | 0x0e, 0x00, 0x4e, 0xa1, 0x0e, 0x62, 0x00, 0x4e, | ||
| 228 | 0xa2, 0x10, 0x0f, 0x00, 0x4e, 0xa4, 0x07, 0xa6, | ||
| 229 | 0x00, 0x4e, 0xa5, 0x04, 0xab, 0x00, 0x4e, 0xa6, | ||
| 230 | 0x0e, 0xa0, 0x00, 0x4e, 0xa8, 0x06, 0x96, 0x00, | ||
| 231 | 0x4e, 0xab, 0x06, 0x97, 0x00, 0x4e, 0xac, 0x06, | ||
| 232 | 0x98, 0x00, 0x4e, 0xad, 0x0b, 0xfe, 0x00, 0x4e, | ||
| 233 | 0xae, 0x0f, 0x84, 0x00, 0x4e, 0xaf, 0x52, 0x5a, | ||
| 234 | 0x00, 0x4e, 0xb0, 0x10, 0x10, 0x00, 0x4e, 0xb3, | ||
| 235 | 0x10, 0x11, 0x00, 0x4e, 0xb6, 0x10, 0x12, 0x00, | ||
| 236 | 0x4e, 0xb9, 0x37, 0xe5, 0x00, 0x4e, 0xba, 0x0a, | ||
| 237 | 0x13, 0x00, 0x4e, 0xbb, 0x36, 0x20, 0x00, 0x4e, | ||
| 238 | 0xbc, 0x43, 0x5f, 0x00, 0x4e, 0xc0, 0x09, 0x44, | ||
| 239 | 0x00, 0x4e, 0xc1, 0x0a, 0x14, 0x00, 0x4e, 0xc2, | ||
| 240 | 0x10, 0x17, 0x00, 0x4e, 0xc3, 0x43, 0x60, 0x00, | ||
| 241 | 0x4e, 0xc4, 0x10, 0x15, 0x00, 0x4e, 0xc6, 0x10, | ||
| 242 | 0x16, 0x00, 0x4e, 0xc7, 0x06, 0x72, 0x00, 0x4e, | ||
| 243 | 0xc8, 0x43, 0x61, 0x00, 0x4e, 0xca, 0x08, 0x13, | ||
| 244 | 0x00, 0x4e, 0xcb, 0x05, 0x70, 0x00, 0x4e, 0xcd, | ||
| 245 | 0x10, 0x14, 0x00, 0x4e, 0xce, 0x10, 0x13, 0x00, | ||
| 246 | 0x4e, 0xcf, 0x0d, 0xf9, 0x00, 0x4e, 0xd0, 0x37, | ||
| 247 | 0xe6, 0x00, 0x4e, 0xd4, 0x08, 0x94, 0x00, 0x4e, | ||
| 248 | 0xd5, 0x08, 0x93, 0x00, 0x4e, 0xd6, 0x0b, 0x1e, | ||
| 249 | 0x00, 0x4e, 0xd7, 0x10, 0x18, 0x00, 0x4e, 0xd8, | ||
| 250 | 0x0d, 0xc7, 0x00, 0x4e, 0xd9, 0x0a, 0x8b, 0x00, | ||
| 251 | 0x4e, 0xda, 0x43, 0x63, 0x00, 0x4e, 0xdb, 0x52, | ||
| 252 | 0x5b, 0x00, 0x4e, 0xdd, 0x02, 0x90, 0x00, 0x4e, | ||
| 253 | 0xde, 0x10, 0x19, 0x00, 0x4e, 0xdf, 0x10, 0x1b, | ||
| 254 | 0x00, 0x4e, 0xe0, 0x37, 0xe7, 0x00, 0x4e, 0xe1, | ||
| 255 | 0x20, 0xb4, 0x00, 0x4e, 0xe2, 0x52, 0x5c, 0x00, | ||
| 256 | 0x4e, 0xe3, 0x0b, 0x45, 0x00, 0x4e, 0xe4, 0x0f, | ||
| 257 | 0xa9, 0x00, 0x4e, 0xe5, 0x04, 0x8e, 0x00, 0x4e, | ||
| 258 | 0xe8, 0x52, 0x5d, 0x00, 0x4e, 0xeb, 0x43, 0x62, | ||
| 259 | 0x00, 0x4e, 0xed, 0x10, 0x1a, 0x00, 0x4e, 0xee, | ||
| 260 | 0x05, 0x3e, 0x00, 0x4e, 0xef, 0x52, 0x5e, 0x00, | ||
| 261 | 0x4e, 0xf0, 0x06, 0xbc, 0x00, 0x4e, 0xf1, 0x43, | ||
| 262 | 0x64, 0x00, 0x4e, 0xf2, 0x0b, 0xa5, 0x00, 0x4e, | ||
| 263 | 0xf3, 0x4a, 0xc8, 0x00, 0x4e, 0xf5, 0x43, 0x65, | ||
| 264 | 0x00, 0x4e, 0xf6, 0x07, 0x45, 0x00, 0x4e, 0xf7, | ||
| 265 | 0x10, 0x1c, 0x00, 0x4e, 0xfb, 0x0c, 0xda, 0x00, | ||
| 266 | 0x4e, 0xfc, 0x20, 0xb5, 0x00, 0x4e, 0xfd, 0x37, | ||
| 267 | 0xe8, 0x00, 0x4e, 0xfe, 0x52, 0x5f, 0x00, 0x4e, | ||
| 268 | 0xff, 0x37, 0xe9, 0x00, 0x4f, 0x00, 0x20, 0xb6, | ||
| 269 | 0x00, 0x4f, 0x01, 0x06, 0x27, 0x00, 0x4f, 0x02, | ||
| 270 | 0x52, 0x60, 0x00, 0x4f, 0x03, 0x20, 0xb7, 0x00, | ||
| 271 | 0x4f, 0x08, 0x52, 0x61, 0x00, 0x4f, 0x09, 0x10, | ||
| 272 | 0x1d, 0x00, 0x4f, 0x0a, 0x04, 0x8f, 0x00, 0x4f, | ||
| 273 | 0x0b, 0x37, 0xea, 0x00, 0x4f, 0x0c, 0x4a, 0xc9, | ||
| 274 | 0x00, 0x4f, 0x0d, 0x07, 0x94, 0x00, 0x4f, 0x0e, | ||
| 275 | 0x06, 0x28, 0x00, 0x4f, 0x0f, 0x0d, 0xec, 0x00, | ||
| 276 | 0x4f, 0x10, 0x0d, 0x46, 0x00, 0x4f, 0x11, 0x06, | ||
| 277 | 0x73, 0x00, 0x4f, 0x12, 0x52, 0x62, 0x00, 0x4f, | ||
| 278 | 0x15, 0x37, 0xeb, 0x00, 0x4f, 0x16, 0x43, 0x66, | ||
| 279 | 0x00, 0x4f, 0x17, 0x52, 0x63, 0x00, 0x4f, 0x19, | ||
| 280 | 0x4a, 0xca, 0x00, 0x4f, 0x1a, 0x05, 0x71, 0x00, | ||
| 281 | 0x4f, 0x1c, 0x10, 0x40, 0x00, 0x4f, 0x1d, 0x0c, | ||
| 282 | 0x3b, 0x00, 0x4f, 0x2b, 0x4a, 0xcb, 0x00, 0x4f, | ||
| 283 | 0x2e, 0x4a, 0xcc, 0x00, 0x4f, 0x2f, 0x0d, 0x22, | ||
| 284 | 0x00, 0x4f, 0x30, 0x10, 0x1f, 0x00, 0x4f, 0x31, | ||
| 285 | 0x4a, 0xcd, 0x00, 0x4f, 0x33, 0x52, 0x64, 0x00, | ||
| 286 | 0x4f, 0x34, 0x0d, 0x50, 0x00, 0x4f, 0x35, 0x52, | ||
| 287 | 0x65, 0x00, 0x4f, 0x36, 0x0f, 0xaa, 0x00, 0x4f, | ||
| 288 | 0x37, 0x43, 0x68, 0x00, 0x4f, 0x38, 0x09, 0xf3, | ||
| 289 | 0x00, 0x4f, 0x39, 0x20, 0xb8, 0x00, 0x4f, 0x3a, | ||
| 290 | 0x08, 0x95, 0x00, 0x4f, 0x3b, 0x37, 0xed, 0x00, | ||
| 291 | 0x4f, 0x3c, 0x08, 0xc5, 0x00, 0x4f, 0x3d, 0x05, | ||
| 292 | 0x40, 0x00, 0x4f, 0x3e, 0x43, 0x69, 0x00, 0x4f, | ||
| 293 | 0x40, 0x52, 0x66, 0x00, 0x4f, 0x42, 0x52, 0x67, | ||
| 294 | 0x00, 0x4f, 0x43, 0x0b, 0xed, 0x00, 0x4f, 0x46, | ||
| 295 | 0x0b, 0x60, 0x00, 0x4f, 0x47, 0x10, 0x23, 0x00, | ||
| 296 | 0x4f, 0x48, 0x41, 0x8b, 0x00, 0x4f, 0x49, 0x37, | ||
| 297 | 0xee, 0x00, 0x4f, 0x4b, 0x52, 0x68, 0x00, 0x4f, | ||
| 298 | 0x4c, 0x52, 0x69, 0x00, 0x4f, 0x4d, 0x04, 0x90, | ||
| 299 | 0x00, 0x4f, 0x4e, 0x0b, 0xff, 0x00, 0x4f, 0x4f, | ||
| 300 | 0x09, 0x45, 0x00, 0x4f, 0x50, 0x08, 0x24, 0x00, | ||
| 301 | 0x4f, 0x51, 0x0f, 0x0e, 0x00, 0x4f, 0x52, 0x52, | ||
| 302 | 0x6a, 0x00, 0x4f, 0x53, 0x0b, 0x2e, 0x00, 0x4f, | ||
| 303 | 0x54, 0x37, 0xef, 0x00, 0x4f, 0x55, 0x05, 0x3f, | ||
| 304 | 0x00, 0x4f, 0x56, 0x20, 0xb9, 0x00, 0x4f, 0x57, | ||
| 305 | 0x10, 0x22, 0x00, 0x4f, 0x58, 0x43, 0x6a, 0x00, | ||
| 306 | 0x4f, 0x59, 0x0f, 0x28, 0x00, 0x4f, 0x5a, 0x10, | ||
| 307 | 0x1e, 0x00, 0x4f, 0x5b, 0x10, 0x20, 0x00, 0x4f, | ||
| 308 | 0x5c, 0x08, 0x5e, 0x00, 0x4f, 0x5d, 0x10, 0x21, | ||
| 309 | 0x00, 0x4f, 0x5e, 0x11, 0xd3, 0x00, 0x4f, 0x5f, | ||
| 310 | 0x41, 0x8c, 0x00, 0x4f, 0x60, 0x37, 0xec, 0x00, | ||
| 311 | 0x4f, 0x63, 0x52, 0x6b, 0x00, 0x4f, 0x64, 0x43, | ||
| 312 | 0x67, 0x00, 0x4f, 0x69, 0x10, 0x29, 0x00, 0x4f, | ||
| 313 | 0x6a, 0x41, 0x8d, 0x00, 0x4f, 0x6c, 0x41, 0x8e, | ||
| 314 | 0x00, 0x4f, 0x6e, 0x52, 0x6c, 0x00, 0x4f, 0x6f, | ||
| 315 | 0x10, 0x2c, 0x00, 0x4f, 0x70, 0x10, 0x2a, 0x00, | ||
| 316 | 0x4f, 0x71, 0x52, 0x6d, 0x00, 0x4f, 0x73, 0x05, | ||
| 317 | 0x42, 0x00, 0x4f, 0x75, 0x0e, 0x0b, 0x00, 0x4f, | ||
| 318 | 0x76, 0x10, 0x24, 0x00, 0x4f, 0x77, 0x43, 0x6c, | ||
| 319 | 0x00, 0x4f, 0x78, 0x43, 0x6d, 0x00, 0x4f, 0x79, | ||
| 320 | 0x52, 0x6e, 0x00, 0x4f, 0x7a, 0x37, 0xf0, 0x00, | ||
| 321 | 0x4f, 0x7b, 0x10, 0x28, 0x00, 0x4f, 0x7c, 0x07, | ||
| 322 | 0xa7, 0x00, 0x4f, 0x7d, 0x37, 0xf1, 0x00, 0x4f, | ||
| 323 | 0x7e, 0x37, 0xf2, 0x00, 0x4f, 0x7f, 0x08, 0x96, | ||
| 324 | 0x00, 0x4f, 0x81, 0x52, 0x6f, 0x00, 0x4f, 0x82, | ||
| 325 | 0x43, 0x6e, 0x00, 0x4f, 0x83, 0x05, 0xe2, 0x00, | ||
| 326 | 0x4f, 0x84, 0x4a, 0xce, 0x00, 0x4f, 0x85, 0x43, | ||
| 327 | 0x6f, 0x00, 0x4f, 0x86, 0x10, 0x2d, 0x00, 0x4f, | ||
| 328 | 0x88, 0x10, 0x25, 0x00, 0x4f, 0x89, 0x52, 0x70, | ||
| 329 | 0x00, 0x4f, 0x8a, 0x20, 0xbb, 0x00, 0x4f, 0x8b, | ||
| 330 | 0x0f, 0xab, 0x00, 0x4f, 0x8c, 0x52, 0x71, 0x00, | ||
| 331 | 0x4f, 0x8d, 0x08, 0xc6, 0x00, 0x4f, 0x8e, 0x52, | ||
| 332 | 0x72, 0x00, 0x4f, 0x8f, 0x10, 0x26, 0x00, 0x4f, | ||
| 333 | 0x90, 0x52, 0x73, 0x00, 0x4f, 0x91, 0x10, 0x2b, | ||
| 334 | 0x00, 0x4f, 0x92, 0x20, 0xba, 0x00, 0x4f, 0x93, | ||
| 335 | 0x52, 0x74, 0x00, 0x4f, 0x94, 0x20, 0xbd, 0x00, | ||
| 336 | 0x4f, 0x96, 0x10, 0x2e, 0x00, 0x4f, 0x97, 0x37, | ||
| 337 | 0xf3, 0x00, 0x4f, 0x98, 0x10, 0x27, 0x00, 0x4f, | ||
| 338 | 0x99, 0x52, 0x75, 0x00, 0x4f, 0x9a, 0x20, 0xbc, | ||
| 339 | 0x00, 0x4f, 0x9b, 0x06, 0x99, 0x00, 0x4f, 0x9d, | ||
| 340 | 0x04, 0x91, 0x00, 0x4f, 0x9e, 0x4a, 0xcf, 0x00, | ||
| 341 | 0x4f, 0x9f, 0x52, 0x76, 0x00, 0x4f, 0xa0, 0x06, | ||
| 342 | 0x9a, 0x00, 0x4f, 0xa1, 0x05, 0x41, 0x00, 0x4f, | ||
| 343 | 0xab, 0x11, 0xd4, 0x00, 0x4f, 0xad, 0x0e, 0xa7, | ||
| 344 | 0x00, 0x4f, 0xae, 0x0d, 0xe0, 0x00, 0x4f, 0xaf, | ||
| 345 | 0x07, 0xa8, 0x00, 0x4f, 0xb2, 0x43, 0x71, 0x00, | ||
| 346 | 0x4f, 0xb5, 0x09, 0xf5, 0x00, 0x4f, 0xb6, 0x0f, | ||
| 347 | 0x7f, 0x00, 0x4f, 0xb7, 0x4a, 0xd0, 0x00, 0x4f, | ||
| 348 | 0xb9, 0x52, 0x77, 0x00, 0x4f, 0xbb, 0x52, 0x78, | ||
| 349 | 0x00, 0x4f, 0xbc, 0x52, 0x79, 0x00, 0x4f, 0xbd, | ||
| 350 | 0x52, 0x7a, 0x00, 0x4f, 0xbe, 0x37, 0xf4, 0x00, | ||
| 351 | 0x4f, 0xbf, 0x0e, 0x28, 0x00, 0x4f, 0xc0, 0x52, | ||
| 352 | 0x7b, 0x00, 0x4f, 0xc1, 0x52, 0x7c, 0x00, 0x4f, | ||
| 353 | 0xc2, 0x07, 0x0e, 0x00, 0x4f, 0xc3, 0x0b, 0x05, | ||
| 354 | 0x00, 0x4f, 0xc4, 0x05, 0x64, 0x00, 0x4f, 0xc5, | ||
| 355 | 0x43, 0x72, 0x00, 0x4f, 0xc6, 0x52, 0x7d, 0x00, | ||
| 356 | 0x4f, 0xc8, 0x52, 0x7e, 0x00, 0x4f, 0xc9, 0x20, | ||
| 357 | 0xac, 0x00, 0x4f, 0xca, 0x09, 0x5d, 0x00, 0x4f, | ||
| 358 | 0xcb, 0x43, 0x73, 0x00, 0x4f, 0xcc, 0x52, 0x7f, | ||
| 359 | 0x00, 0x4f, 0xcd, 0x20, 0xbe, 0x00, 0x4f, 0xce, | ||
| 360 | 0x10, 0x32, 0x00, 0x4f, 0xcf, 0x37, 0xf5, 0x00, | ||
| 361 | 0x4f, 0xd0, 0x10, 0x37, 0x00, 0x4f, 0xd1, 0x10, | ||
| 362 | 0x35, 0x00, 0x4f, 0xd2, 0x43, 0x74, 0x00, 0x4f, | ||
| 363 | 0xd3, 0x3c, 0x2f, 0x00, 0x4f, 0xd4, 0x10, 0x30, | ||
| 364 | 0x00, 0x4f, 0xd7, 0x0b, 0x0f, 0x00, 0x4f, 0xd8, | ||
| 365 | 0x10, 0x33, 0x00, 0x4f, 0xda, 0x10, 0x36, 0x00, | ||
| 366 | 0x4f, 0xdb, 0x10, 0x34, 0x00, 0x4f, 0xdc, 0x52, | ||
| 367 | 0x80, 0x00, 0x4f, 0xdd, 0x0e, 0x2d, 0x00, 0x4f, | ||
| 368 | 0xdf, 0x10, 0x31, 0x00, 0x4f, 0xe0, 0x1d, 0xec, | ||
| 369 | 0x00, 0x4f, 0xe1, 0x09, 0xf4, 0x00, 0x4f, 0xe2, | ||
| 370 | 0x52, 0x81, 0x00, 0x4f, 0xe3, 0x0e, 0xa1, 0x00, | ||
| 371 | 0x4f, 0xe4, 0x10, 0x38, 0x00, 0x4f, 0xe5, 0x10, | ||
| 372 | 0x39, 0x00, 0x4f, 0xe6, 0x43, 0x70, 0x00, 0x4f, | ||
| 373 | 0xee, 0x09, 0x2e, 0x00, 0x4f, 0xef, 0x10, 0x46, | ||
| 374 | 0x00, 0x4f, 0xf0, 0x52, 0x82, 0x00, 0x4f, 0xf1, | ||
| 375 | 0x35, 0xa3, 0x00, 0x4f, 0xf2, 0x43, 0x76, 0x00, | ||
| 376 | 0x4f, 0xf3, 0x0d, 0x06, 0x00, 0x4f, 0xf5, 0x0d, | ||
| 377 | 0xa8, 0x00, 0x4f, 0xf6, 0x10, 0x41, 0x00, 0x4f, | ||
| 378 | 0xf8, 0x0e, 0x40, 0x00, 0x4f, 0xfa, 0x05, 0x36, | ||
| 379 | 0x00, 0x4f, 0xfc, 0x52, 0x83, 0x00, 0x4f, 0xfd, | ||
| 380 | 0x37, 0xf6, 0x00, 0x4f, 0xfe, 0x10, 0x45, 0x00, | ||
| 381 | 0x4f, 0xff, 0x20, 0xc1, 0x00, 0x50, 0x00, 0x37, | ||
| 382 | 0xf7, 0x00, 0x50, 0x01, 0x37, 0xf8, 0x00, 0x50, | ||
| 383 | 0x02, 0x4f, 0x4b, 0x00, 0x50, 0x04, 0x4a, 0xd1, | ||
| 384 | 0x00, 0x50, 0x05, 0x10, 0x3f, 0x00, 0x50, 0x06, | ||
| 385 | 0x10, 0x48, 0x00, 0x50, 0x07, 0x52, 0x84, 0x00, | ||
| 386 | 0x50, 0x09, 0x0a, 0xd4, 0x00, 0x50, 0x0a, 0x52, | ||
| 387 | 0x85, 0x00, 0x50, 0x0b, 0x07, 0x78, 0x00, 0x50, | ||
| 388 | 0x0c, 0x4a, 0xd2, 0x00, 0x50, 0x0d, 0x0d, 0x12, | ||
| 389 | 0x00, 0x50, 0x0e, 0x41, 0x8f, 0x00, 0x50, 0x0f, | ||
| 390 | 0x16, 0x00, 0x00, 0x50, 0x10, 0x37, 0xf9, 0x00, | ||
| 391 | 0x50, 0x11, 0x10, 0x47, 0x00, 0x50, 0x12, 0x0c, | ||
| 392 | 0x57, 0x00, 0x50, 0x13, 0x43, 0x77, 0x00, 0x50, | ||
| 393 | 0x14, 0x10, 0x3c, 0x00, 0x50, 0x16, 0x07, 0xaa, | ||
| 394 | 0x00, 0x50, 0x17, 0x52, 0x86, 0x00, 0x50, 0x18, | ||
| 395 | 0x41, 0x90, 0x00, 0x50, 0x19, 0x07, 0xa9, 0x00, | ||
| 396 | 0x50, 0x1a, 0x10, 0x3a, 0x00, 0x50, 0x1b, 0x37, | ||
| 397 | 0xfa, 0x00, 0x50, 0x1c, 0x43, 0x78, 0x00, 0x50, | ||
| 398 | 0x1d, 0x52, 0x87, 0x00, 0x50, 0x1e, 0x20, 0xc2, | ||
| 399 | 0x00, 0x50, 0x1f, 0x09, 0x06, 0x00, 0x50, 0x21, | ||
| 400 | 0x10, 0x42, 0x00, 0x50, 0x22, 0x20, 0xc0, 0x00, | ||
| 401 | 0x50, 0x23, 0x0e, 0x3f, 0x00, 0x50, 0x24, 0x0b, | ||
| 402 | 0x8b, 0x00, 0x50, 0x25, 0x10, 0x3e, 0x00, 0x50, | ||
| 403 | 0x26, 0x07, 0x47, 0x00, 0x50, 0x27, 0x37, 0xfb, | ||
| 404 | 0x00, 0x50, 0x28, 0x10, 0x3b, 0x00, 0x50, 0x29, | ||
| 405 | 0x10, 0x43, 0x00, 0x50, 0x2a, 0x10, 0x3d, 0x00, | ||
| 406 | 0x50, 0x2b, 0x0f, 0x99, 0x00, 0x50, 0x2c, 0x10, | ||
| 407 | 0x44, 0x00, 0x50, 0x2d, 0x0f, 0xe7, 0x00, 0x50, | ||
| 408 | 0x2e, 0x37, 0xfc, 0x00, 0x50, 0x30, 0x52, 0x88, | ||
| 409 | 0x00, 0x50, 0x32, 0x52, 0x89, 0x00, 0x50, 0x33, | ||
| 410 | 0x52, 0x8a, 0x00, 0x50, 0x35, 0x52, 0x8b, 0x00, | ||
| 411 | 0x50, 0x36, 0x06, 0xde, 0x00, 0x50, 0x39, 0x07, | ||
| 412 | 0x46, 0x00, 0x50, 0x3b, 0x38, 0x00, 0x00, 0x50, | ||
| 413 | 0x40, 0x20, 0xbf, 0x00, 0x50, 0x41, 0x41, 0x91, | ||
| 414 | 0x00, 0x50, 0x42, 0x20, 0xc5, 0x00, 0x50, 0x43, | ||
| 415 | 0x10, 0x49, 0x00, 0x50, 0x45, 0x52, 0x8c, 0x00, | ||
| 416 | 0x50, 0x46, 0x20, 0xc3, 0x00, 0x50, 0x47, 0x10, | ||
| 417 | 0x4a, 0x00, 0x50, 0x48, 0x10, 0x4e, 0x00, 0x50, | ||
| 418 | 0x49, 0x04, 0x92, 0x00, 0x50, 0x4a, 0x52, 0x8d, | ||
| 419 | 0x00, 0x50, 0x4c, 0x4a, 0xd3, 0x00, 0x50, 0x4e, | ||
| 420 | 0x43, 0x79, 0x00, 0x50, 0x4f, 0x0e, 0x20, 0x00, | ||
| 421 | 0x50, 0x50, 0x10, 0x4d, 0x00, 0x50, 0x51, 0x52, | ||
| 422 | 0x8e, 0x00, 0x50, 0x52, 0x52, 0x8f, 0x00, 0x50, | ||
| 423 | 0x53, 0x43, 0x7a, 0x00, 0x50, 0x55, 0x10, 0x4c, | ||
| 424 | 0x00, 0x50, 0x56, 0x10, 0x50, 0x00, 0x50, 0x57, | ||
| 425 | 0x37, 0xfd, 0x00, 0x50, 0x59, 0x52, 0x90, 0x00, | ||
| 426 | 0x50, 0x5a, 0x10, 0x4f, 0x00, 0x50, 0x5c, 0x0c, | ||
| 427 | 0x00, 0x00, 0x50, 0x5f, 0x4a, 0xd4, 0x00, 0x50, | ||
| 428 | 0x60, 0x52, 0x91, 0x00, 0x50, 0x62, 0x4a, 0xd5, | ||
| 429 | 0x00, 0x50, 0x63, 0x43, 0x7b, 0x00, 0x50, 0x65, | ||
| 430 | 0x07, 0x48, 0x00, 0x50, 0x66, 0x37, 0xfe, 0x00, | ||
| 431 | 0x50, 0x67, 0x52, 0x92, 0x00, 0x50, 0x6a, 0x37, | ||
| 432 | 0xff, 0x00, 0x50, 0x6c, 0x10, 0x51, 0x00, 0x50, | ||
| 433 | 0x6d, 0x52, 0x93, 0x00, 0x50, 0x70, 0x20, 0xc4, | ||
| 434 | 0x00, 0x50, 0x71, 0x52, 0x94, 0x00, 0x50, 0x72, | ||
| 435 | 0x08, 0xf1, 0x00, 0x50, 0x74, 0x0b, 0x06, 0x00, | ||
| 436 | 0x50, 0x75, 0x0c, 0x01, 0x00, 0x50, 0x76, 0x06, | ||
| 437 | 0xee, 0x00, 0x50, 0x77, 0x4a, 0xd6, 0x00, 0x50, | ||
| 438 | 0x78, 0x10, 0x52, 0x00, 0x50, 0x7d, 0x06, 0x50, | ||
| 439 | 0x00, 0x50, 0x80, 0x10, 0x53, 0x00, 0x50, 0x81, | ||
| 440 | 0x52, 0x95, 0x00, 0x50, 0x83, 0x52, 0x96, 0x00, | ||
| 441 | 0x50, 0x84, 0x52, 0x97, 0x00, 0x50, 0x85, 0x10, | ||
| 442 | 0x55, 0x00, 0x50, 0x86, 0x52, 0x98, 0x00, 0x50, | ||
| 443 | 0x88, 0x43, 0x7d, 0x00, 0x50, 0x8a, 0x52, 0x99, | ||
| 444 | 0x00, 0x50, 0x8d, 0x0e, 0x63, 0x00, 0x50, 0x8e, | ||
| 445 | 0x4a, 0xd7, 0x00, 0x50, 0x8f, 0x38, 0x01, 0x00, | ||
| 446 | 0x50, 0x90, 0x52, 0x9a, 0x00, 0x50, 0x91, 0x07, | ||
| 447 | 0x3c, 0x00, 0x50, 0x92, 0x43, 0x7e, 0x00, 0x50, | ||
| 448 | 0x93, 0x43, 0x7f, 0x00, 0x50, 0x94, 0x20, 0xc6, | ||
| 449 | 0x00, 0x50, 0x95, 0x43, 0x80, 0x00, 0x50, 0x96, | ||
| 450 | 0x38, 0x02, 0x00, 0x50, 0x98, 0x08, 0x7f, 0x00, | ||
| 451 | 0x50, 0x99, 0x0d, 0x8b, 0x00, 0x50, 0x9a, 0x10, | ||
| 452 | 0x54, 0x00, 0x50, 0x9b, 0x52, 0x9b, 0x00, 0x50, | ||
| 453 | 0x9c, 0x38, 0x03, 0x00, 0x50, 0x9e, 0x4a, 0xd8, | ||
| 454 | 0x00, 0x50, 0x9f, 0x52, 0x9c, 0x00, 0x50, 0xa0, | ||
| 455 | 0x52, 0x9d, 0x00, 0x50, 0xa1, 0x52, 0x9e, 0x00, | ||
| 456 | 0x50, 0xa2, 0x4a, 0xd9, 0x00, 0x50, 0xa3, 0x43, | ||
| 457 | 0x7c, 0x00, 0x50, 0xaa, 0x43, 0x81, 0x00, 0x50, | ||
| 458 | 0xac, 0x08, 0x35, 0x00, 0x50, 0xad, 0x0f, 0x2d, | ||
| 459 | 0x00, 0x50, 0xaf, 0x52, 0x9f, 0x00, 0x50, 0xb0, | ||
| 460 | 0x52, 0xa0, 0x00, 0x50, 0xb1, 0x43, 0x83, 0x00, | ||
| 461 | 0x50, 0xb2, 0x10, 0x57, 0x00, 0x50, 0xb3, 0x10, | ||
| 462 | 0x5a, 0x00, 0x50, 0xb4, 0x10, 0x56, 0x00, 0x50, | ||
| 463 | 0xb5, 0x08, 0x34, 0x00, 0x50, 0xb7, 0x09, 0x87, | ||
| 464 | 0x00, 0x50, 0xb9, 0x52, 0xa1, 0x00, 0x50, 0xba, | ||
| 465 | 0x43, 0x84, 0x00, 0x50, 0xbb, 0x43, 0x85, 0x00, | ||
| 466 | 0x50, 0xbd, 0x52, 0xa2, 0x00, 0x50, 0xbe, 0x07, | ||
| 467 | 0x0f, 0x00, 0x50, 0xc0, 0x52, 0xa3, 0x00, 0x50, | ||
| 468 | 0xc2, 0x10, 0x5b, 0x00, 0x50, 0xc3, 0x4a, 0xda, | ||
| 469 | 0x00, 0x50, 0xc4, 0x43, 0x86, 0x00, 0x50, 0xc5, | ||
| 470 | 0x06, 0xc7, 0x00, 0x50, 0xc7, 0x43, 0x87, 0x00, | ||
| 471 | 0x50, 0xc9, 0x10, 0x58, 0x00, 0x50, 0xca, 0x10, | ||
| 472 | 0x59, 0x00, 0x50, 0xcc, 0x38, 0x04, 0x00, 0x50, | ||
| 473 | 0xcd, 0x0c, 0x87, 0x00, 0x50, 0xce, 0x43, 0x8a, | ||
| 474 | 0x00, 0x50, 0xcf, 0x0a, 0xfe, 0x00, 0x50, 0xd0, | ||
| 475 | 0x41, 0x93, 0x00, 0x50, 0xd1, 0x06, 0x9b, 0x00, | ||
| 476 | 0x50, 0xd3, 0x52, 0xa4, 0x00, 0x50, 0xd4, 0x43, | ||
| 477 | 0x8c, 0x00, 0x50, 0xd5, 0x0e, 0x7b, 0x00, 0x50, | ||
| 478 | 0xd6, 0x10, 0x5c, 0x00, 0x50, 0xd8, 0x20, 0xc8, | ||
| 479 | 0x00, 0x50, 0xd9, 0x3c, 0x30, 0x00, 0x50, 0xda, | ||
| 480 | 0x0f, 0x85, 0x00, 0x50, 0xdc, 0x52, 0xa5, 0x00, | ||
| 481 | 0x50, 0xdd, 0x52, 0xa6, 0x00, 0x50, 0xde, 0x10, | ||
| 482 | 0x5d, 0x00, 0x50, 0xdf, 0x52, 0xa7, 0x00, 0x50, | ||
| 483 | 0xe1, 0x43, 0x8d, 0x00, 0x50, 0xe2, 0x52, 0xa8, | ||
| 484 | 0x00, 0x50, 0xe3, 0x10, 0x60, 0x00, 0x50, 0xe4, | ||
| 485 | 0x52, 0xa9, 0x00, 0x50, 0xe5, 0x10, 0x5e, 0x00, | ||
| 486 | 0x50, 0xe6, 0x38, 0x05, 0x00, 0x50, 0xe7, 0x0a, | ||
| 487 | 0xd0, 0x00, 0x50, 0xe8, 0x4a, 0xdb, 0x00, 0x50, | ||
| 488 | 0xe9, 0x38, 0x06, 0x00, 0x50, 0xed, 0x10, 0x5f, | ||
| 489 | 0x00, 0x50, 0xee, 0x10, 0x61, 0x00, 0x50, 0xef, | ||
| 490 | 0x38, 0x07, 0x00, 0x50, 0xf0, 0x3c, 0x31, 0x00, | ||
| 491 | 0x50, 0xf1, 0x4a, 0xdc, 0x00, 0x50, 0xf2, 0x41, | ||
| 492 | 0x92, 0x00, 0x50, 0xf3, 0x43, 0x88, 0x00, 0x50, | ||
| 493 | 0xf4, 0x20, 0xc7, 0x00, 0x50, 0xf5, 0x10, 0x63, | ||
| 494 | 0x00, 0x50, 0xf6, 0x52, 0xaa, 0x00, 0x50, 0xf9, | ||
| 495 | 0x10, 0x62, 0x00, 0x50, 0xfa, 0x52, 0xab, 0x00, | ||
| 496 | 0x50, 0xfb, 0x0e, 0x18, 0x00, 0x50, 0xfe, 0x4a, | ||
| 497 | 0xdd, 0x00, 0x51, 0x00, 0x06, 0x51, 0x00, 0x51, | ||
| 498 | 0x01, 0x10, 0x65, 0x00, 0x51, 0x02, 0x10, 0x66, | ||
| 499 | 0x00, 0x51, 0x03, 0x41, 0x95, 0x00, 0x51, 0x04, | ||
| 500 | 0x05, 0x2f, 0x00, 0x51, 0x06, 0x41, 0x94, 0x00, | ||
| 501 | 0x51, 0x07, 0x4a, 0xde, 0x00, 0x51, 0x08, 0x38, | ||
| 502 | 0x08, 0x00, 0x51, 0x09, 0x10, 0x64, 0x00, 0x51, | ||
| 503 | 0x0b, 0x38, 0x09, 0x00, 0x51, 0x0c, 0x4a, 0xdf, | ||
| 504 | 0x00, 0x51, 0x0d, 0x4a, 0xe0, 0x00, 0x51, 0x0e, | ||
| 505 | 0x4a, 0xe1, 0x00, 0x51, 0x10, 0x38, 0x0a, 0x00, | ||
| 506 | 0x51, 0x12, 0x09, 0x20, 0x00, 0x51, 0x14, 0x10, | ||
| 507 | 0x69, 0x00, 0x51, 0x15, 0x10, 0x68, 0x00, 0x51, | ||
| 508 | 0x16, 0x10, 0x67, 0x00, 0x51, 0x17, 0x43, 0x90, | ||
| 509 | 0x00, 0x51, 0x18, 0x10, 0x2f, 0x00, 0x51, 0x19, | ||
| 510 | 0x52, 0xad, 0x00, 0x51, 0x1a, 0x10, 0x6a, 0x00, | ||
| 511 | 0x51, 0x1b, 0x38, 0x0b, 0x00, 0x51, 0x1c, 0x52, | ||
| 512 | 0xae, 0x00, 0x51, 0x1d, 0x52, 0xaf, 0x00, 0x51, | ||
| 513 | 0x1e, 0x38, 0x0c, 0x00, 0x51, 0x1f, 0x09, 0x88, | ||
| 514 | 0x00, 0x51, 0x21, 0x10, 0x6b, 0x00, 0x51, 0x23, | ||
| 515 | 0x52, 0xb0, 0x00, 0x51, 0x27, 0x52, 0xb1, 0x00, | ||
| 516 | 0x51, 0x28, 0x52, 0xb2, 0x00, 0x51, 0x2a, 0x0f, | ||
| 517 | 0x0f, 0x00, 0x51, 0x2c, 0x52, 0xb3, 0x00, 0x51, | ||
| 518 | 0x2d, 0x52, 0xb4, 0x00, 0x51, 0x2f, 0x52, 0xb5, | ||
| 519 | 0x00, 0x51, 0x31, 0x52, 0xb6, 0x00, 0x51, 0x32, | ||
| 520 | 0x0e, 0xe5, 0x00, 0x51, 0x33, 0x4a, 0xe2, 0x00, | ||
| 521 | 0x51, 0x34, 0x52, 0xb7, 0x00, 0x51, 0x35, 0x41, | ||
| 522 | 0x96, 0x00, 0x51, 0x37, 0x10, 0x6d, 0x00, 0x51, | ||
| 523 | 0x38, 0x4a, 0xe3, 0x00, 0x51, 0x39, 0x52, 0xb8, | ||
| 524 | 0x00, 0x51, 0x3a, 0x10, 0x6c, 0x00, 0x51, 0x3b, | ||
| 525 | 0x10, 0x6f, 0x00, 0x51, 0x3c, 0x10, 0x6e, 0x00, | ||
| 526 | 0x51, 0x3f, 0x10, 0x70, 0x00, 0x51, 0x40, 0x10, | ||
| 527 | 0x71, 0x00, 0x51, 0x41, 0x04, 0xb8, 0x00, 0x51, | ||
| 528 | 0x42, 0x52, 0xb9, 0x00, 0x51, 0x43, 0x07, 0x69, | ||
| 529 | 0x00, 0x51, 0x44, 0x07, 0x11, 0x00, 0x51, 0x45, | ||
| 530 | 0x09, 0x46, 0x00, 0x51, 0x46, 0x0b, 0xb9, 0x00, | ||
| 531 | 0x51, 0x47, 0x06, 0x9c, 0x00, 0x51, 0x48, 0x0a, | ||
| 532 | 0x8c, 0x00, 0x51, 0x49, 0x07, 0xab, 0x00, 0x51, | ||
| 533 | 0x4a, 0x20, 0xc9, 0x00, 0x51, 0x4b, 0x08, 0x00, | ||
| 534 | 0x00, 0x51, 0x4c, 0x10, 0x73, 0x00, 0x51, 0x4d, | ||
| 535 | 0x0e, 0xd4, 0x00, 0x51, 0x4e, 0x0c, 0x40, 0x00, | ||
| 536 | 0x51, 0x4f, 0x52, 0xba, 0x00, 0x51, 0x50, 0x08, | ||
| 537 | 0xc7, 0x00, 0x51, 0x52, 0x10, 0x72, 0x00, 0x51, | ||
| 538 | 0x53, 0x52, 0xbb, 0x00, 0x51, 0x54, 0x1e, 0x86, | ||
| 539 | 0x00, 0x51, 0x55, 0x41, 0x97, 0x00, 0x51, 0x57, | ||
| 540 | 0x41, 0x98, 0x00, 0x51, 0x58, 0x52, 0xbc, 0x00, | ||
| 541 | 0x51, 0x5a, 0x0c, 0x58, 0x00, 0x51, 0x5c, 0x05, | ||
| 542 | 0xd3, 0x00, 0x51, 0x5f, 0x38, 0x0d, 0x00, 0x51, | ||
| 543 | 0x60, 0x43, 0x92, 0x00, 0x51, 0x62, 0x10, 0x75, | ||
| 544 | 0x00, 0x51, 0x64, 0x20, 0xca, 0x00, 0x51, 0x65, | ||
| 545 | 0x0c, 0xd6, 0x00, 0x51, 0x66, 0x52, 0xbd, 0x00, | ||
| 546 | 0x51, 0x67, 0x36, 0x8e, 0x00, 0x51, 0x68, 0x0a, | ||
| 547 | 0xb6, 0x00, 0x51, 0x69, 0x10, 0x77, 0x00, 0x51, | ||
| 548 | 0x6a, 0x10, 0x78, 0x00, 0x51, 0x6b, 0x0d, 0x40, | ||
| 549 | 0x00, 0x51, 0x6c, 0x07, 0xac, 0x00, 0x51, 0x6d, | ||
| 550 | 0x0f, 0xe1, 0x00, 0x51, 0x6e, 0x10, 0x79, 0x00, | ||
| 551 | 0x51, 0x71, 0x06, 0x9e, 0x00, 0x51, 0x73, 0x43, | ||
| 552 | 0x94, 0x00, 0x51, 0x74, 0x4a, 0xe4, 0x00, 0x51, | ||
| 553 | 0x75, 0x0e, 0x0c, 0x00, 0x51, 0x76, 0x0b, 0x16, | ||
| 554 | 0x00, 0x51, 0x77, 0x06, 0xe9, 0x00, 0x51, 0x78, | ||
| 555 | 0x0c, 0x2f, 0x00, 0x51, 0x79, 0x37, 0x79, 0x00, | ||
| 556 | 0x51, 0x7b, 0x47, 0xd9, 0x00, 0x51, 0x7c, 0x07, | ||
| 557 | 0x49, 0x00, 0x51, 0x7e, 0x52, 0xbe, 0x00, 0x51, | ||
| 558 | 0x80, 0x10, 0x7a, 0x00, 0x51, 0x82, 0x10, 0x7b, | ||
| 559 | 0x00, 0x51, 0x83, 0x43, 0x95, 0x00, 0x51, 0x84, | ||
| 560 | 0x4a, 0xe5, 0x00, 0x51, 0x85, 0x0c, 0xba, 0x00, | ||
| 561 | 0x51, 0x86, 0x05, 0x01, 0x00, 0x51, 0x89, 0x10, | ||
| 562 | 0x7e, 0x00, 0x51, 0x8a, 0x08, 0x6d, 0x00, 0x51, | ||
| 563 | 0x8b, 0x43, 0x96, 0x00, 0x51, 0x8c, 0x10, 0x7d, | ||
| 564 | 0x00, 0x51, 0x8d, 0x4e, 0x5d, 0x00, 0x51, 0x8e, | ||
| 565 | 0x52, 0xbf, 0x00, 0x51, 0x8f, 0x10, 0x7f, 0x00, | ||
| 566 | 0x51, 0x90, 0x18, 0x5b, 0x00, 0x51, 0x91, 0x10, | ||
| 567 | 0x80, 0x00, 0x51, 0x92, 0x0e, 0x6f, 0x00, 0x51, | ||
| 568 | 0x93, 0x10, 0x81, 0x00, 0x51, 0x95, 0x1e, 0x88, | ||
| 569 | 0x00, 0x51, 0x96, 0x10, 0x83, 0x00, 0x51, 0x97, | ||
| 570 | 0x09, 0xd1, 0x00, 0x51, 0x98, 0x43, 0x98, 0x00, | ||
| 571 | 0x51, 0x99, 0x08, 0xf8, 0x00, 0x51, 0x9d, 0x20, | ||
| 572 | 0xcb, 0x00, 0x51, 0xa0, 0x05, 0xe3, 0x00, 0x51, | ||
| 573 | 0xa1, 0x38, 0x0e, 0x00, 0x51, 0xa2, 0x10, 0x86, | ||
| 574 | 0x00, 0x51, 0xa3, 0x43, 0x99, 0x00, 0x51, 0xa4, | ||
| 575 | 0x10, 0x84, 0x00, 0x51, 0xa5, 0x0e, 0xc9, 0x00, | ||
| 576 | 0x51, 0xa6, 0x10, 0x85, 0x00, 0x51, 0xa8, 0x0d, | ||
| 577 | 0xcc, 0x00, 0x51, 0xa9, 0x10, 0x87, 0x00, 0x51, | ||
| 578 | 0xaa, 0x10, 0x88, 0x00, 0x51, 0xab, 0x10, 0x89, | ||
| 579 | 0x00, 0x51, 0xac, 0x36, 0x82, 0x00, 0x51, 0xad, | ||
| 580 | 0x43, 0x9a, 0x00, 0x51, 0xb0, 0x10, 0x8d, 0x00, | ||
| 581 | 0x51, 0xb1, 0x10, 0x8b, 0x00, 0x51, 0xb2, 0x10, | ||
| 582 | 0x8c, 0x00, 0x51, 0xb3, 0x10, 0x8a, 0x00, 0x51, | ||
| 583 | 0xb4, 0x08, 0x53, 0x00, 0x51, 0xb5, 0x10, 0x8e, | ||
| 584 | 0x00, 0x51, 0xb6, 0x0e, 0xf6, 0x00, 0x51, 0xb7, | ||
| 585 | 0x0f, 0xac, 0x00, 0x51, 0xb8, 0x4a, 0xe6, 0x00, | ||
| 586 | 0x51, 0xba, 0x4a, 0xe7, 0x00, 0x51, 0xbc, 0x38, | ||
| 587 | 0x0f, 0x00, 0x51, 0xbd, 0x10, 0x8f, 0x00, 0x51, | ||
| 588 | 0xbe, 0x20, 0xcc, 0x00, 0x51, 0xbf, 0x52, 0xc0, | ||
| 589 | 0x00, 0x51, 0xc2, 0x52, 0xc1, 0x00, 0x51, 0xc3, | ||
| 590 | 0x3c, 0x32, 0x00, 0x51, 0xc4, 0x0a, 0x4c, 0x00, | ||
| 591 | 0x51, 0xc5, 0x10, 0x90, 0x00, 0x51, 0xc6, 0x09, | ||
| 592 | 0x64, 0x00, 0x51, 0xc8, 0x4a, 0xe8, 0x00, 0x51, | ||
| 593 | 0xc9, 0x10, 0x91, 0x00, 0x51, 0xca, 0x41, 0x9a, | ||
| 594 | 0x00, 0x51, 0xcb, 0x0b, 0xba, 0x00, 0x51, 0xcc, | ||
| 595 | 0x0f, 0x87, 0x00, 0x51, 0xcd, 0x0c, 0x5a, 0x00, | ||
| 596 | 0x51, 0xcf, 0x4a, 0xe9, 0x00, 0x51, 0xd1, 0x4a, | ||
| 597 | 0xea, 0x00, 0x51, 0xd2, 0x52, 0xc2, 0x00, 0x51, | ||
| 598 | 0xd3, 0x4a, 0xeb, 0x00, 0x51, 0xd4, 0x4a, 0xec, | ||
| 599 | 0x00, 0x51, 0xd5, 0x52, 0xc3, 0x00, 0x51, 0xd6, | ||
| 600 | 0x10, 0xda, 0x00, 0x51, 0xd8, 0x4a, 0xed, 0x00, | ||
| 601 | 0x51, 0xdb, 0x10, 0x92, 0x00, 0x51, 0xdc, 0x20, | ||
| 602 | 0x5c, 0x00, 0x51, 0xdd, 0x06, 0xbd, 0x00, 0x51, | ||
| 603 | 0xde, 0x4f, 0x4c, 0x00, 0x51, 0xdf, 0x4a, 0xee, | ||
| 604 | 0x00, 0x51, 0xe0, 0x10, 0x93, 0x00, 0x51, 0xe1, | ||
| 605 | 0x0e, 0x8c, 0x00, 0x51, 0xe2, 0x41, 0x9b, 0x00, | ||
| 606 | 0x51, 0xe5, 0x52, 0xc4, 0x00, 0x51, 0xe6, 0x09, | ||
| 607 | 0x72, 0x00, 0x51, 0xe7, 0x0b, 0x5c, 0x00, 0x51, | ||
| 608 | 0xe9, 0x10, 0x95, 0x00, 0x51, 0xea, 0x0c, 0xbc, | ||
| 609 | 0x00, 0x51, 0xec, 0x20, 0xcd, 0x00, 0x51, 0xed, | ||
| 610 | 0x10, 0x96, 0x00, 0x51, 0xee, 0x38, 0x11, 0x00, | ||
| 611 | 0x51, 0xf0, 0x10, 0x97, 0x00, 0x51, 0xf1, 0x05, | ||
| 612 | 0x8c, 0x00, 0x51, 0xf2, 0x52, 0xc5, 0x00, 0x51, | ||
| 613 | 0xf3, 0x43, 0x9d, 0x00, 0x51, 0xf4, 0x38, 0x12, | ||
| 614 | 0x00, 0x51, 0xf5, 0x10, 0x98, 0x00, 0x51, 0xf6, | ||
| 615 | 0x06, 0x9f, 0x00, 0x51, 0xf7, 0x52, 0xc6, 0x00, | ||
| 616 | 0x51, 0xf8, 0x0c, 0xa4, 0x00, 0x51, 0xf9, 0x05, | ||
| 617 | 0x1c, 0x00, 0x51, 0xfa, 0x09, 0x5a, 0x00, 0x51, | ||
| 618 | 0xfd, 0x0d, 0x35, 0x00, 0x51, 0xfe, 0x10, 0x99, | ||
| 619 | 0x00, 0x52, 0x00, 0x0c, 0x5b, 0x00, 0x52, 0x01, | ||
| 620 | 0x38, 0x13, 0x00, 0x52, 0x02, 0x38, 0x14, 0x00, | ||
| 621 | 0x52, 0x03, 0x0a, 0x15, 0x00, 0x52, 0x04, 0x10, | ||
| 622 | 0x9a, 0x00, 0x52, 0x05, 0x4a, 0xef, 0x00, 0x52, | ||
| 623 | 0x06, 0x0d, 0xfc, 0x00, 0x52, 0x07, 0x0a, 0x7e, | ||
| 624 | 0x00, 0x52, 0x08, 0x05, 0xde, 0x00, 0x52, 0x0a, | ||
| 625 | 0x05, 0xe5, 0x00, 0x52, 0x0b, 0x10, 0x9b, 0x00, | ||
| 626 | 0x52, 0x0e, 0x10, 0x9d, 0x00, 0x52, 0x11, 0x07, | ||
| 627 | 0x10, 0x00, 0x52, 0x12, 0x43, 0x9e, 0x00, 0x52, | ||
| 628 | 0x13, 0x38, 0x15, 0x00, 0x52, 0x14, 0x10, 0x9c, | ||
| 629 | 0x00, 0x52, 0x15, 0x20, 0xce, 0x00, 0x52, 0x16, | ||
| 630 | 0x43, 0x9f, 0x00, 0x52, 0x17, 0x0f, 0xbb, 0x00, | ||
| 631 | 0x52, 0x18, 0x52, 0xc7, 0x00, 0x52, 0x1d, 0x09, | ||
| 632 | 0x73, 0x00, 0x52, 0x22, 0x52, 0xc8, 0x00, 0x52, | ||
| 633 | 0x24, 0x0d, 0x51, 0x00, 0x52, 0x25, 0x0e, 0x1c, | ||
| 634 | 0x00, 0x52, 0x26, 0x4a, 0xf0, 0x00, 0x52, 0x27, | ||
| 635 | 0x10, 0x9e, 0x00, 0x52, 0x28, 0x4a, 0xf1, 0x00, | ||
| 636 | 0x52, 0x29, 0x0f, 0x62, 0x00, 0x52, 0x2a, 0x10, | ||
| 637 | 0x9f, 0x00, 0x52, 0x2b, 0x4a, 0xf2, 0x00, 0x52, | ||
| 638 | 0x2e, 0x10, 0xa0, 0x00, 0x52, 0x30, 0x0c, 0x78, | ||
| 639 | 0x00, 0x52, 0x31, 0x4a, 0xf3, 0x00, 0x52, 0x32, | ||
| 640 | 0x4a, 0xf4, 0x00, 0x52, 0x33, 0x10, 0xa1, 0x00, | ||
| 641 | 0x52, 0x35, 0x4a, 0xf5, 0x00, 0x52, 0x36, 0x0a, | ||
| 642 | 0x4d, 0x00, 0x52, 0x37, 0x08, 0x6e, 0x00, 0x52, | ||
| 643 | 0x38, 0x07, 0x4a, 0x00, 0x52, 0x39, 0x10, 0xa2, | ||
| 644 | 0x00, 0x52, 0x3a, 0x08, 0x97, 0x00, 0x52, 0x3b, | ||
| 645 | 0x08, 0x01, 0x00, 0x52, 0x3c, 0x4a, 0xf6, 0x00, | ||
| 646 | 0x52, 0x43, 0x0c, 0x02, 0x00, 0x52, 0x44, 0x10, | ||
| 647 | 0xa4, 0x00, 0x52, 0x45, 0x52, 0xc9, 0x00, 0x52, | ||
| 648 | 0x47, 0x0b, 0x07, 0x00, 0x52, 0x49, 0x38, 0x16, | ||
| 649 | 0x00, 0x52, 0x4a, 0x08, 0x5f, 0x00, 0x52, 0x4b, | ||
| 650 | 0x10, 0xa5, 0x00, 0x52, 0x4c, 0x10, 0xa6, 0x00, | ||
| 651 | 0x52, 0x4d, 0x0a, 0xb2, 0x00, 0x52, 0x4f, 0x10, | ||
| 652 | 0xa3, 0x00, 0x52, 0x54, 0x10, 0xa8, 0x00, 0x52, | ||
| 653 | 0x55, 0x43, 0xa1, 0x00, 0x52, 0x56, 0x0e, 0x64, | ||
| 654 | 0x00, 0x52, 0x57, 0x41, 0x9c, 0x00, 0x52, 0x58, | ||
| 655 | 0x52, 0xca, 0x00, 0x52, 0x5a, 0x4a, 0xf7, 0x00, | ||
| 656 | 0x52, 0x5b, 0x07, 0xf6, 0x00, 0x52, 0x5c, 0x43, | ||
| 657 | 0xa2, 0x00, 0x52, 0x5d, 0x1e, 0x5e, 0x00, 0x52, | ||
| 658 | 0x5e, 0x10, 0xa7, 0x00, 0x52, 0x5f, 0x52, 0xcb, | ||
| 659 | 0x00, 0x52, 0x60, 0x4a, 0xf8, 0x00, 0x52, 0x61, | ||
| 660 | 0x38, 0x17, 0x00, 0x52, 0x63, 0x07, 0x4b, 0x00, | ||
| 661 | 0x52, 0x64, 0x08, 0x4e, 0x00, 0x52, 0x65, 0x0d, | ||
| 662 | 0x23, 0x00, 0x52, 0x66, 0x38, 0x18, 0x00, 0x52, | ||
| 663 | 0x69, 0x10, 0xab, 0x00, 0x52, 0x6a, 0x10, 0xa9, | ||
| 664 | 0x00, 0x52, 0x6c, 0x43, 0xa3, 0x00, 0x52, 0x6e, | ||
| 665 | 0x4a, 0xf9, 0x00, 0x52, 0x6f, 0x0d, 0xed, 0x00, | ||
| 666 | 0x52, 0x70, 0x09, 0xd2, 0x00, 0x52, 0x71, 0x10, | ||
| 667 | 0xb2, 0x00, 0x52, 0x72, 0x35, 0x74, 0x00, 0x52, | ||
| 668 | 0x73, 0x10, 0xac, 0x00, 0x52, 0x74, 0x10, 0xaa, | ||
| 669 | 0x00, 0x52, 0x75, 0x0a, 0xd1, 0x00, 0x52, 0x77, | ||
| 670 | 0x43, 0xa4, 0x00, 0x52, 0x78, 0x4a, 0xfa, 0x00, | ||
| 671 | 0x52, 0x79, 0x4a, 0xfb, 0x00, 0x52, 0x7d, 0x10, | ||
| 672 | 0xae, 0x00, 0x52, 0x7f, 0x10, 0xad, 0x00, 0x52, | ||
| 673 | 0x80, 0x52, 0xcc, 0x00, 0x52, 0x82, 0x43, 0xa6, | ||
| 674 | 0x00, 0x52, 0x83, 0x05, 0xa2, 0x00, 0x52, 0x84, | ||
| 675 | 0x43, 0xa5, 0x00, 0x52, 0x85, 0x52, 0xcd, 0x00, | ||
| 676 | 0x52, 0x87, 0x07, 0x36, 0x00, 0x52, 0x88, 0x10, | ||
| 677 | 0xb3, 0x00, 0x52, 0x89, 0x0f, 0x75, 0x00, 0x52, | ||
| 678 | 0x8a, 0x4a, 0xfc, 0x00, 0x52, 0x8c, 0x4a, 0xfd, | ||
| 679 | 0x00, 0x52, 0x8d, 0x10, 0xaf, 0x00, 0x52, 0x91, | ||
| 680 | 0x10, 0xb4, 0x00, 0x52, 0x92, 0x10, 0xb1, 0x00, | ||
| 681 | 0x52, 0x93, 0x38, 0x19, 0x00, 0x52, 0x94, 0x10, | ||
| 682 | 0xb0, 0x00, 0x52, 0x95, 0x52, 0xce, 0x00, 0x52, | ||
| 683 | 0x96, 0x52, 0xcf, 0x00, 0x52, 0x97, 0x52, 0xd0, | ||
| 684 | 0x00, 0x52, 0x98, 0x43, 0xa8, 0x00, 0x52, 0x9a, | ||
| 685 | 0x52, 0xd1, 0x00, 0x52, 0x9b, 0x0f, 0x97, 0x00, | ||
| 686 | 0x52, 0x9c, 0x20, 0xcf, 0x00, 0x52, 0x9f, 0x07, | ||
| 687 | 0xad, 0x00, 0x52, 0xa0, 0x05, 0x43, 0x00, 0x52, | ||
| 688 | 0xa3, 0x0f, 0xbc, 0x00, 0x52, 0xa4, 0x43, 0xaa, | ||
| 689 | 0x00, 0x52, 0xa5, 0x52, 0xd2, 0x00, 0x52, 0xa6, | ||
| 690 | 0x20, 0xd0, 0x00, 0x52, 0xa7, 0x52, 0xd3, 0x00, | ||
| 691 | 0x52, 0xa9, 0x09, 0x7f, 0x00, 0x52, 0xaa, 0x0c, | ||
| 692 | 0x52, 0x00, 0x52, 0xab, 0x07, 0xf7, 0x00, 0x52, | ||
| 693 | 0xac, 0x10, 0xb7, 0x00, 0x52, 0xad, 0x10, 0xb8, | ||
| 694 | 0x00, 0x52, 0xaf, 0x21, 0x7d, 0x00, 0x52, 0xb0, | ||
| 695 | 0x52, 0xd4, 0x00, 0x52, 0xb1, 0x0f, 0xad, 0x00, | ||
| 696 | 0x52, 0xb4, 0x0f, 0xd1, 0x00, 0x52, 0xb5, 0x10, | ||
| 697 | 0xba, 0x00, 0x52, 0xb6, 0x52, 0xd5, 0x00, 0x52, | ||
| 698 | 0xb7, 0x52, 0xd6, 0x00, 0x52, 0xb8, 0x52, 0xd7, | ||
| 699 | 0x00, 0x52, 0xb9, 0x07, 0xae, 0x00, 0x52, 0xba, | ||
| 700 | 0x43, 0xab, 0x00, 0x52, 0xbb, 0x43, 0xac, 0x00, | ||
| 701 | 0x52, 0xbc, 0x10, 0xb9, 0x00, 0x52, 0xbd, 0x52, | ||
| 702 | 0xd8, 0x00, 0x52, 0xbe, 0x05, 0x8d, 0x00, 0x52, | ||
| 703 | 0xc0, 0x20, 0xd1, 0x00, 0x52, 0xc1, 0x10, 0xbb, | ||
| 704 | 0x00, 0x52, 0xc3, 0x0e, 0x84, 0x00, 0x52, 0xc4, | ||
| 705 | 0x52, 0xd9, 0x00, 0x52, 0xc5, 0x0b, 0xd8, 0x00, | ||
| 706 | 0x52, 0xc6, 0x52, 0xda, 0x00, 0x52, 0xc7, 0x0f, | ||
| 707 | 0x10, 0x00, 0x52, 0xc8, 0x38, 0x1a, 0x00, 0x52, | ||
| 708 | 0xc9, 0x34, 0x49, 0x00, 0x52, 0xca, 0x43, 0xad, | ||
| 709 | 0x00, 0x52, 0xcc, 0x41, 0x9d, 0x00, 0x52, 0xcd, | ||
| 710 | 0x10, 0xbc, 0x00, 0x52, 0xcf, 0x52, 0xdb, 0x00, | ||
| 711 | 0x52, 0xd0, 0x36, 0xe8, 0x00, 0x52, 0xd1, 0x43, | ||
| 712 | 0xae, 0x00, 0x52, 0xd2, 0x1b, 0xee, 0x00, 0x52, | ||
| 713 | 0xd4, 0x52, 0xdc, 0x00, 0x52, 0xd5, 0x0c, 0x88, | ||
| 714 | 0x00, 0x52, 0xd6, 0x41, 0x9e, 0x00, 0x52, 0xd7, | ||
| 715 | 0x10, 0xbd, 0x00, 0x52, 0xd8, 0x05, 0xe6, 0x00, | ||
| 716 | 0x52, 0xd9, 0x0e, 0xbf, 0x00, 0x52, 0xdb, 0x20, | ||
| 717 | 0xd2, 0x00, 0x52, 0xdc, 0x52, 0xdd, 0x00, 0x52, | ||
| 718 | 0xdd, 0x09, 0x89, 0x00, 0x52, 0xde, 0x10, 0xbe, | ||
| 719 | 0x00, 0x52, 0xdf, 0x0e, 0x37, 0x00, 0x52, 0xe0, | ||
| 720 | 0x10, 0xc2, 0x00, 0x52, 0xe1, 0x4a, 0xfe, 0x00, | ||
| 721 | 0x52, 0xe2, 0x0a, 0x4e, 0x00, 0x52, 0xe3, 0x10, | ||
| 722 | 0xbf, 0x00, 0x52, 0xe4, 0x06, 0xc8, 0x00, 0x52, | ||
| 723 | 0xe5, 0x52, 0xde, 0x00, 0x52, 0xe6, 0x10, 0xc0, | ||
| 724 | 0x00, 0x52, 0xe7, 0x05, 0xe7, 0x00, 0x52, 0xe8, | ||
| 725 | 0x52, 0xdf, 0x00, 0x52, 0xe9, 0x4a, 0xff, 0x00, | ||
| 726 | 0x52, 0xea, 0x52, 0xe0, 0x00, 0x52, 0xec, 0x52, | ||
| 727 | 0xe1, 0x00, 0x52, 0xf0, 0x38, 0x1b, 0x00, 0x52, | ||
| 728 | 0xf1, 0x4b, 0x00, 0x00, 0x52, 0xf2, 0x07, 0x04, | ||
| 729 | 0x00, 0x52, 0xf3, 0x10, 0xc3, 0x00, 0x52, 0xf4, | ||
| 730 | 0x52, 0xe2, 0x00, 0x52, 0xf5, 0x10, 0xc4, 0x00, | ||
| 731 | 0x52, 0xf6, 0x52, 0xe3, 0x00, 0x52, 0xf7, 0x43, | ||
| 732 | 0xb0, 0x00, 0x52, 0xf8, 0x10, 0xc5, 0x00, 0x52, | ||
| 733 | 0xf9, 0x10, 0xc6, 0x00, 0x52, 0xfa, 0x35, 0xef, | ||
| 734 | 0x00, 0x52, 0xfb, 0x41, 0x9f, 0x00, 0x52, 0xfe, | ||
| 735 | 0x07, 0xaf, 0x00, 0x52, 0xff, 0x0e, 0xea, 0x00, | ||
| 736 | 0x53, 0x00, 0x20, 0xd3, 0x00, 0x53, 0x01, 0x0e, | ||
| 737 | 0xf4, 0x00, 0x53, 0x02, 0x0c, 0xcf, 0x00, 0x53, | ||
| 738 | 0x03, 0x4b, 0x01, 0x00, 0x53, 0x05, 0x0e, 0x41, | ||
| 739 | 0x00, 0x53, 0x06, 0x10, 0xc7, 0x00, 0x53, 0x07, | ||
| 740 | 0x4f, 0x4d, 0x00, 0x53, 0x08, 0x10, 0xc8, 0x00, | ||
| 741 | 0x53, 0x0a, 0x38, 0x1c, 0x00, 0x53, 0x0b, 0x38, | ||
| 742 | 0x1d, 0x00, 0x53, 0x0c, 0x52, 0xe4, 0x00, 0x53, | ||
| 743 | 0x0d, 0x10, 0xca, 0x00, 0x53, 0x0f, 0x10, 0xcc, | ||
| 744 | 0x00, 0x53, 0x10, 0x10, 0xcb, 0x00, 0x53, 0x11, | ||
| 745 | 0x4b, 0x02, 0x00, 0x53, 0x13, 0x52, 0xe5, 0x00, | ||
| 746 | 0x53, 0x15, 0x10, 0xcd, 0x00, 0x53, 0x16, 0x05, | ||
| 747 | 0x3d, 0x00, 0x53, 0x17, 0x0e, 0x7a, 0x00, 0x53, | ||
| 748 | 0x18, 0x52, 0xe6, 0x00, 0x53, 0x19, 0x08, 0x6c, | ||
| 749 | 0x00, 0x53, 0x1a, 0x10, 0xce, 0x00, 0x53, 0x1b, | ||
| 750 | 0x52, 0xe7, 0x00, 0x53, 0x1c, 0x41, 0xa0, 0x00, | ||
| 751 | 0x53, 0x1d, 0x0a, 0xdb, 0x00, 0x53, 0x1e, 0x52, | ||
| 752 | 0xe8, 0x00, 0x53, 0x1f, 0x4b, 0x03, 0x00, 0x53, | ||
| 753 | 0x20, 0x09, 0x8a, 0x00, 0x53, 0x21, 0x06, 0xa1, | ||
| 754 | 0x00, 0x53, 0x23, 0x10, 0xcf, 0x00, 0x53, 0x24, | ||
| 755 | 0x20, 0xd5, 0x00, 0x53, 0x25, 0x52, 0xe9, 0x00, | ||
| 756 | 0x53, 0x27, 0x52, 0xea, 0x00, 0x53, 0x28, 0x52, | ||
| 757 | 0xeb, 0x00, 0x53, 0x29, 0x52, 0xec, 0x00, 0x53, | ||
| 758 | 0x2a, 0x0d, 0x6f, 0x00, 0x53, 0x2b, 0x52, 0xed, | ||
| 759 | 0x00, 0x53, 0x2c, 0x52, 0xee, 0x00, 0x53, 0x2d, | ||
| 760 | 0x4b, 0x04, 0x00, 0x53, 0x2f, 0x10, 0xd0, 0x00, | ||
| 761 | 0x53, 0x30, 0x52, 0xef, 0x00, 0x53, 0x31, 0x10, | ||
| 762 | 0xd1, 0x00, 0x53, 0x32, 0x4b, 0x05, 0x00, 0x53, | ||
| 763 | 0x33, 0x10, 0xd2, 0x00, 0x53, 0x35, 0x43, 0xb1, | ||
| 764 | 0x00, 0x53, 0x38, 0x10, 0xd3, 0x00, 0x53, 0x39, | ||
| 765 | 0x0d, 0x96, 0x00, 0x53, 0x3a, 0x06, 0xe0, 0x00, | ||
| 766 | 0x53, 0x3b, 0x04, 0xa9, 0x00, 0x53, 0x3c, 0x52, | ||
| 767 | 0xf0, 0x00, 0x53, 0x3d, 0x4b, 0x06, 0x00, 0x53, | ||
| 768 | 0x3e, 0x38, 0x1e, 0x00, 0x53, 0x3f, 0x0c, 0x97, | ||
| 769 | 0x00, 0x53, 0x40, 0x10, 0xd4, 0x00, 0x53, 0x41, | ||
| 770 | 0x09, 0x47, 0x00, 0x53, 0x42, 0x43, 0xb2, 0x00, | ||
| 771 | 0x53, 0x43, 0x0a, 0x8d, 0x00, 0x53, 0x45, 0x10, | ||
| 772 | 0xd6, 0x00, 0x53, 0x46, 0x10, 0xd5, 0x00, 0x53, | ||
| 773 | 0x47, 0x09, 0x8b, 0x00, 0x53, 0x48, 0x07, 0x95, | ||
| 774 | 0x00, 0x53, 0x49, 0x10, 0xd8, 0x00, 0x53, 0x4a, | ||
| 775 | 0x0d, 0x52, 0x00, 0x53, 0x4b, 0x38, 0x20, 0x00, | ||
| 776 | 0x53, 0x4c, 0x38, 0x1f, 0x00, 0x53, 0x4d, 0x10, | ||
| 777 | 0xd9, 0x00, 0x53, 0x51, 0x34, 0x42, 0x00, 0x53, | ||
| 778 | 0x52, 0x0b, 0x14, 0x00, 0x53, 0x53, 0x0b, 0x4e, | ||
| 779 | 0x00, 0x53, 0x54, 0x06, 0xa0, 0x00, 0x53, 0x57, | ||
| 780 | 0x0c, 0xc6, 0x00, 0x53, 0x58, 0x0b, 0x6f, 0x00, | ||
| 781 | 0x53, 0x59, 0x52, 0xf1, 0x00, 0x53, 0x5a, 0x0d, | ||
| 782 | 0x24, 0x00, 0x53, 0x5b, 0x52, 0xf2, 0x00, 0x53, | ||
| 783 | 0x5c, 0x0e, 0x7c, 0x00, 0x53, 0x5e, 0x10, 0xdb, | ||
| 784 | 0x00, 0x53, 0x60, 0x0a, 0x8e, 0x00, 0x53, 0x61, | ||
| 785 | 0x38, 0x21, 0x00, 0x53, 0x63, 0x41, 0xa1, 0x00, | ||
| 786 | 0x53, 0x65, 0x4b, 0x07, 0x00, 0x53, 0x66, 0x07, | ||
| 787 | 0x0b, 0x00, 0x53, 0x67, 0x43, 0xb5, 0x00, 0x53, | ||
| 788 | 0x69, 0x10, 0xdc, 0x00, 0x53, 0x6c, 0x38, 0x22, | ||
| 789 | 0x00, 0x53, 0x6d, 0x4b, 0x08, 0x00, 0x53, 0x6e, | ||
| 790 | 0x10, 0xdd, 0x00, 0x53, 0x6f, 0x04, 0xce, 0x00, | ||
| 791 | 0x53, 0x70, 0x04, 0xb9, 0x00, 0x53, 0x71, 0x06, | ||
| 792 | 0x29, 0x00, 0x53, 0x72, 0x20, 0xd6, 0x00, 0x53, | ||
| 793 | 0x73, 0x0b, 0x08, 0x00, 0x53, 0x74, 0x06, 0x6b, | ||
| 794 | 0x00, 0x53, 0x75, 0x0f, 0x5b, 0x00, 0x53, 0x77, | ||
| 795 | 0x10, 0xe0, 0x00, 0x53, 0x78, 0x05, 0x37, 0x00, | ||
| 796 | 0x53, 0x79, 0x4b, 0x09, 0x00, 0x53, 0x7a, 0x43, | ||
| 797 | 0xb6, 0x00, 0x53, 0x7b, 0x10, 0xdf, 0x00, 0x53, | ||
| 798 | 0x7d, 0x34, 0x35, 0x00, 0x53, 0x7e, 0x4b, 0x0a, | ||
| 799 | 0x00, 0x53, 0x7f, 0x35, 0x97, 0x00, 0x53, 0x82, | ||
| 800 | 0x10, 0xe1, 0x00, 0x53, 0x83, 0x52, 0xf4, 0x00, | ||
| 801 | 0x53, 0x84, 0x0e, 0xfd, 0x00, 0x53, 0x87, 0x52, | ||
| 802 | 0xf5, 0x00, 0x53, 0x88, 0x52, 0xf6, 0x00, 0x53, | ||
| 803 | 0x89, 0x37, 0xd0, 0x00, 0x53, 0x8e, 0x52, 0xf7, | ||
| 804 | 0x00, 0x53, 0x93, 0x20, 0xd7, 0x00, 0x53, 0x94, | ||
| 805 | 0x4b, 0x0b, 0x00, 0x53, 0x96, 0x10, 0xe2, 0x00, | ||
| 806 | 0x53, 0x98, 0x0f, 0x9a, 0x00, 0x53, 0x99, 0x4b, | ||
| 807 | 0x0c, 0x00, 0x53, 0x9a, 0x07, 0xb0, 0x00, 0x53, | ||
| 808 | 0x9d, 0x41, 0xa2, 0x00, 0x53, 0x9f, 0x07, 0x6a, | ||
| 809 | 0x00, 0x53, 0xa0, 0x10, 0xe3, 0x00, 0x53, 0xa1, | ||
| 810 | 0x52, 0xf8, 0x00, 0x53, 0xa4, 0x43, 0xb7, 0x00, | ||
| 811 | 0x53, 0xa5, 0x10, 0xe5, 0x00, 0x53, 0xa6, 0x10, | ||
| 812 | 0xe4, 0x00, 0x53, 0xa8, 0x0a, 0x25, 0x00, 0x53, | ||
| 813 | 0xa9, 0x04, 0xdb, 0x00, 0x53, 0xaa, 0x4b, 0x0d, | ||
| 814 | 0x00, 0x53, 0xab, 0x38, 0x23, 0x00, 0x53, 0xad, | ||
| 815 | 0x05, 0x00, 0x00, 0x53, 0xae, 0x10, 0xe6, 0x00, | ||
| 816 | 0x53, 0xaf, 0x4b, 0x0e, 0x00, 0x53, 0xb0, 0x10, | ||
| 817 | 0xe7, 0x00, 0x53, 0xb2, 0x20, 0xd8, 0x00, 0x53, | ||
| 818 | 0xb3, 0x07, 0x6b, 0x00, 0x53, 0xb4, 0x43, 0xb8, | ||
| 819 | 0x00, 0x53, 0xb5, 0x52, 0xf9, 0x00, 0x53, 0xb6, | ||
| 820 | 0x10, 0xe8, 0x00, 0x53, 0xb7, 0x43, 0xba, 0x00, | ||
| 821 | 0x53, 0xb8, 0x52, 0xfa, 0x00, 0x53, 0xba, 0x4b, | ||
| 822 | 0x0f, 0x00, 0x53, 0xbb, 0x06, 0x88, 0x00, 0x53, | ||
| 823 | 0xbd, 0x52, 0xfb, 0x00, 0x53, 0xc0, 0x43, 0xbb, | ||
| 824 | 0x00, 0x53, 0xc1, 0x4b, 0x10, 0x00, 0x53, 0xc2, | ||
| 825 | 0x08, 0x80, 0x00, 0x53, 0xc3, 0x10, 0xe9, 0x00, | ||
| 826 | 0x53, 0xc4, 0x4b, 0x11, 0x00, 0x53, 0xc5, 0x4b, | ||
| 827 | 0x12, 0x00, 0x53, 0xc8, 0x0e, 0xa2, 0x00, 0x53, | ||
| 828 | 0xc9, 0x08, 0x25, 0x00, 0x53, 0xca, 0x06, 0x74, | ||
| 829 | 0x00, 0x53, 0xcb, 0x0f, 0x11, 0x00, 0x53, 0xcc, | ||
| 830 | 0x0a, 0xd2, 0x00, 0x53, 0xcd, 0x0d, 0x53, 0x00, | ||
| 831 | 0x53, 0xce, 0x09, 0x29, 0x00, 0x53, 0xcf, 0x52, | ||
| 832 | 0xfc, 0x00, 0x53, 0xd2, 0x52, 0xfd, 0x00, 0x53, | ||
| 833 | 0xd3, 0x52, 0xfe, 0x00, 0x53, 0xd4, 0x09, 0x51, | ||
| 834 | 0x00, 0x53, 0xd5, 0x43, 0xbf, 0x00, 0x53, 0xd6, | ||
| 835 | 0x09, 0x14, 0x00, 0x53, 0xd7, 0x09, 0x21, 0x00, | ||
| 836 | 0x53, 0xd9, 0x09, 0x80, 0x00, 0x53, 0xda, 0x38, | ||
| 837 | 0x24, 0x00, 0x53, 0xdb, 0x0d, 0x54, 0x00, 0x53, | ||
| 838 | 0xdd, 0x20, 0xd9, 0x00, 0x53, 0xde, 0x52, 0xff, | ||
| 839 | 0x00, 0x53, 0xdf, 0x10, 0xec, 0x00, 0x53, 0xe0, | ||
| 840 | 0x4b, 0x13, 0x00, 0x53, 0xe1, 0x04, 0xe5, 0x00, | ||
| 841 | 0x53, 0xe2, 0x0a, 0xd3, 0x00, 0x53, 0xe3, 0x07, | ||
| 842 | 0xb1, 0x00, 0x53, 0xe4, 0x07, 0x79, 0x00, 0x53, | ||
| 843 | 0xe5, 0x06, 0xdf, 0x00, 0x53, 0xe6, 0x38, 0x25, | ||
| 844 | 0x00, 0x53, 0xe7, 0x53, 0x01, 0x00, 0x53, 0xe8, | ||
| 845 | 0x10, 0xf0, 0x00, 0x53, 0xe9, 0x0b, 0x5f, 0x00, | ||
| 846 | 0x53, 0xea, 0x0b, 0x5e, 0x00, 0x53, 0xeb, 0x06, | ||
| 847 | 0xa3, 0x00, 0x53, 0xec, 0x09, 0x8c, 0x00, 0x53, | ||
| 848 | 0xed, 0x10, 0xf1, 0x00, 0x53, 0xee, 0x10, 0xef, | ||
| 849 | 0x00, 0x53, 0xef, 0x05, 0x44, 0x00, 0x53, 0xf0, | ||
| 850 | 0x0b, 0x46, 0x00, 0x53, 0xf1, 0x08, 0xe4, 0x00, | ||
| 851 | 0x53, 0xf2, 0x08, 0x99, 0x00, 0x53, 0xf3, 0x04, | ||
| 852 | 0xc8, 0x00, 0x53, 0xf4, 0x43, 0xc1, 0x00, 0x53, | ||
| 853 | 0xf5, 0x38, 0x26, 0x00, 0x53, 0xf6, 0x05, 0xce, | ||
| 854 | 0x00, 0x53, 0xf7, 0x07, 0xf8, 0x00, 0x53, 0xf8, | ||
| 855 | 0x08, 0x98, 0x00, 0x53, 0xfa, 0x10, 0xf2, 0x00, | ||
| 856 | 0x54, 0x01, 0x10, 0xf3, 0x00, 0x54, 0x02, 0x53, | ||
| 857 | 0x02, 0x00, 0x54, 0x03, 0x06, 0x63, 0x00, 0x54, | ||
| 858 | 0x04, 0x05, 0xa4, 0x00, 0x54, 0x08, 0x07, 0xf9, | ||
| 859 | 0x00, 0x54, 0x09, 0x06, 0x62, 0x00, 0x54, 0x0a, | ||
| 860 | 0x0b, 0xfb, 0x00, 0x54, 0x0b, 0x04, 0xc7, 0x00, | ||
| 861 | 0x54, 0x0c, 0x0c, 0x89, 0x00, 0x54, 0x0d, 0x0e, | ||
| 862 | 0xca, 0x00, 0x54, 0x0e, 0x07, 0xb3, 0x00, 0x54, | ||
| 863 | 0x0f, 0x0f, 0x63, 0x00, 0x54, 0x10, 0x0c, 0x41, | ||
| 864 | 0x00, 0x54, 0x11, 0x07, 0xb2, 0x00, 0x54, 0x12, | ||
| 865 | 0x41, 0xa3, 0x00, 0x54, 0x13, 0x4b, 0x14, 0x00, | ||
| 866 | 0x54, 0x1a, 0x53, 0x03, 0x00, 0x54, 0x1b, 0x07, | ||
| 867 | 0x05, 0x00, 0x54, 0x1d, 0x10, 0xfc, 0x00, 0x54, | ||
| 868 | 0x1e, 0x36, 0x8c, 0x00, 0x54, 0x1f, 0x06, 0xdb, | ||
| 869 | 0x00, 0x54, 0x20, 0x0e, 0x78, 0x00, 0x54, 0x21, | ||
| 870 | 0x53, 0x04, 0x00, 0x54, 0x24, 0x43, 0xc2, 0x00, | ||
| 871 | 0x54, 0x26, 0x0d, 0x71, 0x00, 0x54, 0x27, 0x38, | ||
| 872 | 0x27, 0x00, 0x54, 0x28, 0x43, 0xc3, 0x00, 0x54, | ||
| 873 | 0x29, 0x10, 0xfb, 0x00, 0x54, 0x2a, 0x4b, 0x15, | ||
| 874 | 0x00, 0x54, 0x2b, 0x06, 0x1a, 0x00, 0x54, 0x2c, | ||
| 875 | 0x10, 0xf6, 0x00, 0x54, 0x2d, 0x10, 0xf7, 0x00, | ||
| 876 | 0x54, 0x2e, 0x10, 0xf9, 0x00, 0x54, 0x2f, 0x53, | ||
| 877 | 0x05, 0x00, 0x54, 0x31, 0x4b, 0x16, 0x00, 0x54, | ||
| 878 | 0x33, 0x35, 0xc0, 0x00, 0x54, 0x34, 0x4b, 0x17, | ||
| 879 | 0x00, 0x54, 0x35, 0x4b, 0x18, 0x00, 0x54, 0x36, | ||
| 880 | 0x10, 0xfa, 0x00, 0x54, 0x38, 0x06, 0x75, 0x00, | ||
| 881 | 0x54, 0x39, 0x0a, 0x27, 0x00, 0x54, 0x3b, 0x0d, | ||
| 882 | 0xfd, 0x00, 0x54, 0x3c, 0x10, 0xf8, 0x00, 0x54, | ||
| 883 | 0x3d, 0x10, 0xf4, 0x00, 0x54, 0x3e, 0x07, 0x97, | ||
| 884 | 0x00, 0x54, 0x3f, 0x35, 0xcf, 0x00, 0x54, 0x40, | ||
| 885 | 0x10, 0xf5, 0x00, 0x54, 0x42, 0x0f, 0xca, 0x00, | ||
| 886 | 0x54, 0x43, 0x43, 0xc5, 0x00, 0x54, 0x44, 0x53, | ||
| 887 | 0x06, 0x00, 0x54, 0x46, 0x0e, 0x42, 0x00, 0x54, | ||
| 888 | 0x47, 0x53, 0x07, 0x00, 0x54, 0x48, 0x0c, 0x04, | ||
| 889 | 0x00, 0x54, 0x49, 0x07, 0x96, 0x00, 0x54, 0x4a, | ||
| 890 | 0x08, 0x02, 0x00, 0x54, 0x4c, 0x4b, 0x19, 0x00, | ||
| 891 | 0x54, 0x4d, 0x38, 0x28, 0x00, 0x54, 0x4e, 0x10, | ||
| 892 | 0xfd, 0x00, 0x54, 0x4f, 0x53, 0x08, 0x00, 0x54, | ||
| 893 | 0x51, 0x0c, 0xb5, 0x00, 0x54, 0x55, 0x37, 0x23, | ||
| 894 | 0x00, 0x54, 0x5e, 0x53, 0x09, 0x00, 0x54, 0x5f, | ||
| 895 | 0x11, 0x01, 0x00, 0x54, 0x62, 0x43, 0xc6, 0x00, | ||
| 896 | 0x54, 0x64, 0x53, 0x0a, 0x00, 0x54, 0x66, 0x38, | ||
| 897 | 0x29, 0x00, 0x54, 0x67, 0x53, 0x0b, 0x00, 0x54, | ||
| 898 | 0x68, 0x35, 0xf7, 0x00, 0x54, 0x69, 0x53, 0x0c, | ||
| 899 | 0x00, 0x54, 0x6a, 0x09, 0x22, 0x00, 0x54, 0x6b, | ||
| 900 | 0x38, 0x2a, 0x00, 0x54, 0x6c, 0x43, 0xc7, 0x00, | ||
| 901 | 0x54, 0x6d, 0x53, 0x0d, 0x00, 0x54, 0x6e, 0x53, | ||
| 902 | 0x0e, 0x00, 0x54, 0x70, 0x11, 0x04, 0x00, 0x54, | ||
| 903 | 0x71, 0x11, 0x02, 0x00, 0x54, 0x73, 0x0e, 0xaf, | ||
| 904 | 0x00, 0x54, 0x74, 0x38, 0x2b, 0x00, 0x54, 0x75, | ||
| 905 | 0x10, 0xff, 0x00, 0x54, 0x76, 0x11, 0x08, 0x00, | ||
| 906 | 0x54, 0x77, 0x11, 0x03, 0x00, 0x54, 0x7b, 0x11, | ||
| 907 | 0x06, 0x00, 0x54, 0x7c, 0x07, 0x7a, 0x00, 0x54, | ||
| 908 | 0x7d, 0x0e, 0xcb, 0x00, 0x54, 0x7f, 0x41, 0xa4, | ||
| 909 | 0x00, 0x54, 0x80, 0x11, 0x07, 0x00, 0x54, 0x81, | ||
| 910 | 0x53, 0x0f, 0x00, 0x54, 0x83, 0x53, 0x10, 0x00, | ||
| 911 | 0x54, 0x84, 0x11, 0x09, 0x00, 0x54, 0x85, 0x53, | ||
| 912 | 0x11, 0x00, 0x54, 0x86, 0x11, 0x0b, 0x00, 0x54, | ||
| 913 | 0x88, 0x41, 0xa5, 0x00, 0x54, 0x89, 0x53, 0x12, | ||
| 914 | 0x00, 0x54, 0x8a, 0x20, 0xdc, 0x00, 0x54, 0x8b, | ||
| 915 | 0x08, 0x60, 0x00, 0x54, 0x8c, 0x0f, 0xe8, 0x00, | ||
| 916 | 0x54, 0x8d, 0x38, 0x2c, 0x00, 0x54, 0x8e, 0x11, | ||
| 917 | 0x00, 0x00, 0x54, 0x8f, 0x10, 0xfe, 0x00, 0x54, | ||
| 918 | 0x90, 0x11, 0x0a, 0x00, 0x54, 0x91, 0x53, 0x13, | ||
| 919 | 0x00, 0x54, 0x92, 0x11, 0x05, 0x00, 0x54, 0x95, | ||
| 920 | 0x43, 0xc8, 0x00, 0x54, 0x96, 0x38, 0x2d, 0x00, | ||
| 921 | 0x54, 0x9c, 0x20, 0xdb, 0x00, 0x54, 0x9f, 0x53, | ||
| 922 | 0x14, 0x00, 0x54, 0xa0, 0x43, 0xc9, 0x00, 0x54, | ||
| 923 | 0xa1, 0x38, 0x2e, 0x00, 0x54, 0xa2, 0x11, 0x0d, | ||
| 924 | 0x00, 0x54, 0xa4, 0x11, 0x16, 0x00, 0x54, 0xa5, | ||
| 925 | 0x11, 0x0f, 0x00, 0x54, 0xa6, 0x43, 0xca, 0x00, | ||
| 926 | 0x54, 0xa7, 0x4b, 0x1a, 0x00, 0x54, 0xa8, 0x11, | ||
| 927 | 0x13, 0x00, 0x54, 0xa9, 0x20, 0xdd, 0x00, 0x54, | ||
| 928 | 0xaa, 0x4b, 0x1b, 0x00, 0x54, 0xab, 0x11, 0x14, | ||
| 929 | 0x00, 0x54, 0xac, 0x11, 0x10, 0x00, 0x54, 0xad, | ||
| 930 | 0x38, 0x2f, 0x00, 0x54, 0xae, 0x43, 0xcb, 0x00, | ||
| 931 | 0x54, 0xaf, 0x11, 0x31, 0x00, 0x54, 0xb1, 0x4b, | ||
| 932 | 0x1c, 0x00, 0x54, 0xb2, 0x08, 0x59, 0x00, 0x54, | ||
| 933 | 0xb3, 0x05, 0x8f, 0x00, 0x54, 0xb7, 0x43, 0xcc, | ||
| 934 | 0x00, 0x54, 0xb8, 0x11, 0x0e, 0x00, 0x54, 0xb9, | ||
| 935 | 0x38, 0x30, 0x00, 0x54, 0xba, 0x43, 0xcd, 0x00, | ||
| 936 | 0x54, 0xbb, 0x4b, 0x1d, 0x00, 0x54, 0xbc, 0x11, | ||
| 937 | 0x18, 0x00, 0x54, 0xbd, 0x04, 0xba, 0x00, 0x54, | ||
| 938 | 0xbe, 0x11, 0x17, 0x00, 0x54, 0xbf, 0x38, 0x31, | ||
| 939 | 0x00, 0x54, 0xc0, 0x04, 0x69, 0x00, 0x54, 0xc1, | ||
| 940 | 0x0d, 0xbc, 0x00, 0x54, 0xc2, 0x11, 0x15, 0x00, | ||
| 941 | 0x54, 0xc3, 0x43, 0xce, 0x00, 0x54, 0xc4, 0x11, | ||
| 942 | 0x11, 0x00, 0x54, 0xc6, 0x38, 0x32, 0x00, 0x54, | ||
| 943 | 0xc7, 0x11, 0x0c, 0x00, 0x54, 0xc8, 0x11, 0x12, | ||
| 944 | 0x00, 0x54, 0xc9, 0x08, 0x38, 0x00, 0x54, 0xca, | ||
| 945 | 0x53, 0x15, 0x00, 0x54, 0xcd, 0x38, 0x33, 0x00, | ||
| 946 | 0x54, 0xce, 0x4b, 0x1e, 0x00, 0x54, 0xd8, 0x11, | ||
| 947 | 0x19, 0x00, 0x54, 0xe0, 0x53, 0x16, 0x00, 0x54, | ||
| 948 | 0xe1, 0x04, 0xbb, 0x00, 0x54, 0xe2, 0x11, 0x22, | ||
| 949 | 0x00, 0x54, 0xe5, 0x11, 0x1a, 0x00, 0x54, 0xe6, | ||
| 950 | 0x11, 0x1b, 0x00, 0x54, 0xe8, 0x09, 0x8d, 0x00, | ||
| 951 | 0x54, 0xe9, 0x0e, 0x97, 0x00, 0x54, 0xea, 0x4b, | ||
| 952 | 0x1f, 0x00, 0x54, 0xec, 0x43, 0xd0, 0x00, 0x54, | ||
| 953 | 0xed, 0x11, 0x20, 0x00, 0x54, 0xee, 0x11, 0x1f, | ||
| 954 | 0x00, 0x54, 0xef, 0x43, 0xd1, 0x00, 0x54, 0xf1, | ||
| 955 | 0x43, 0xd2, 0x00, 0x54, 0xf2, 0x0c, 0x29, 0x00, | ||
| 956 | 0x54, 0xf3, 0x43, 0xd3, 0x00, 0x54, 0xf6, 0x53, | ||
| 957 | 0x17, 0x00, 0x54, 0xfa, 0x11, 0x21, 0x00, 0x54, | ||
| 958 | 0xfc, 0x4b, 0x20, 0x00, 0x54, 0xfd, 0x11, 0x1e, | ||
| 959 | 0x00, 0x54, 0xfe, 0x53, 0x18, 0x00, 0x54, 0xff, | ||
| 960 | 0x20, 0xde, 0x00, 0x55, 0x00, 0x43, 0xd4, 0x00, | ||
| 961 | 0x55, 0x01, 0x43, 0xd5, 0x00, 0x55, 0x04, 0x04, | ||
| 962 | 0xd6, 0x00, 0x55, 0x05, 0x4b, 0x21, 0x00, 0x55, | ||
| 963 | 0x06, 0x08, 0x26, 0x00, 0x55, 0x07, 0x09, 0xf6, | ||
| 964 | 0x00, 0x55, 0x08, 0x4b, 0x22, 0x00, 0x55, 0x09, | ||
| 965 | 0x43, 0xd6, 0x00, 0x55, 0x0c, 0x53, 0x19, 0x00, | ||
| 966 | 0x55, 0x0d, 0x53, 0x1a, 0x00, 0x55, 0x0e, 0x38, | ||
| 967 | 0x34, 0x00, 0x55, 0x0f, 0x11, 0x1c, 0x00, 0x55, | ||
| 968 | 0x10, 0x0c, 0x5c, 0x00, 0x55, 0x14, 0x11, 0x1d, | ||
| 969 | 0x00, 0x55, 0x15, 0x4b, 0x23, 0x00, 0x55, 0x16, | ||
| 970 | 0x04, 0x66, 0x00, 0x55, 0x27, 0x4b, 0x24, 0x00, | ||
| 971 | 0x55, 0x2a, 0x4b, 0x25, 0x00, 0x55, 0x2b, 0x38, | ||
| 972 | 0x35, 0x00, 0x55, 0x2e, 0x11, 0x27, 0x00, 0x55, | ||
| 973 | 0x2f, 0x0f, 0x0d, 0x00, 0x55, 0x31, 0x09, 0x8f, | ||
| 974 | 0x00, 0x55, 0x32, 0x53, 0x1b, 0x00, 0x55, 0x33, | ||
| 975 | 0x11, 0x2d, 0x00, 0x55, 0x35, 0x38, 0x36, 0x00, | ||
| 976 | 0x55, 0x36, 0x4b, 0x26, 0x00, 0x55, 0x38, 0x11, | ||
| 977 | 0x2c, 0x00, 0x55, 0x39, 0x11, 0x23, 0x00, 0x55, | ||
| 978 | 0x3b, 0x53, 0x1c, 0x00, 0x55, 0x3c, 0x43, 0xd7, | ||
| 979 | 0x00, 0x55, 0x3d, 0x53, 0x1d, 0x00, 0x55, 0x3e, | ||
| 980 | 0x0b, 0x23, 0x00, 0x55, 0x40, 0x11, 0x24, 0x00, | ||
| 981 | 0x55, 0x41, 0x43, 0xd8, 0x00, 0x55, 0x44, 0x0b, | ||
| 982 | 0x4f, 0x00, 0x55, 0x45, 0x11, 0x29, 0x00, 0x55, | ||
| 983 | 0x46, 0x09, 0x8e, 0x00, 0x55, 0x47, 0x43, 0xda, | ||
| 984 | 0x00, 0x55, 0x49, 0x53, 0x1e, 0x00, 0x55, 0x4a, | ||
| 985 | 0x38, 0x37, 0x00, 0x55, 0x4c, 0x11, 0x26, 0x00, | ||
| 986 | 0x55, 0x4d, 0x53, 0x1f, 0x00, 0x55, 0x4f, 0x0e, | ||
| 987 | 0xf0, 0x00, 0x55, 0x50, 0x41, 0xa6, 0x00, 0x55, | ||
| 988 | 0x51, 0x4b, 0x27, 0x00, 0x55, 0x53, 0x07, 0x12, | ||
| 989 | 0x00, 0x55, 0x56, 0x11, 0x2a, 0x00, 0x55, 0x57, | ||
| 990 | 0x11, 0x2b, 0x00, 0x55, 0x58, 0x53, 0x20, 0x00, | ||
| 991 | 0x55, 0x5a, 0x53, 0x21, 0x00, 0x55, 0x5b, 0x53, | ||
| 992 | 0x22, 0x00, 0x55, 0x5c, 0x11, 0x28, 0x00, 0x55, | ||
| 993 | 0x5d, 0x11, 0x2e, 0x00, 0x55, 0x5e, 0x1d, 0xd1, | ||
| 994 | 0x00, 0x55, 0x60, 0x38, 0x38, 0x00, 0x55, 0x61, | ||
| 995 | 0x4f, 0x54, 0x00, 0x55, 0x63, 0x11, 0x25, 0x00, | ||
| 996 | 0x55, 0x64, 0x43, 0xdc, 0x00, 0x55, 0x66, 0x4b, | ||
| 997 | 0x28, 0x00, 0x55, 0x7b, 0x11, 0x34, 0x00, 0x55, | ||
| 998 | 0x7c, 0x11, 0x39, 0x00, 0x55, 0x7d, 0x43, 0xde, | ||
| 999 | 0x00, 0x55, 0x7e, 0x11, 0x35, 0x00, 0x55, 0x7f, | ||
| 1000 | 0x53, 0x23, 0x00, 0x55, 0x80, 0x11, 0x30, 0x00, | ||
| 1001 | 0x55, 0x81, 0x41, 0xa7, 0x00, 0x55, 0x82, 0x43, | ||
| 1002 | 0xdf, 0x00, 0x55, 0x83, 0x11, 0x3a, 0x00, 0x55, | ||
| 1003 | 0x84, 0x0a, 0xb3, 0x00, 0x55, 0x86, 0x20, 0xdf, | ||
| 1004 | 0x00, 0x55, 0x87, 0x11, 0x3c, 0x00, 0x55, 0x88, | ||
| 1005 | 0x38, 0x3a, 0x00, 0x55, 0x89, 0x07, 0xb4, 0x00, | ||
| 1006 | 0x55, 0x8a, 0x11, 0x32, 0x00, 0x55, 0x8b, 0x0b, | ||
| 1007 | 0xbb, 0x00, 0x55, 0x8e, 0x38, 0x3b, 0x00, 0x55, | ||
| 1008 | 0x8f, 0x4b, 0x29, 0x00, 0x55, 0x91, 0x43, 0xe0, | ||
| 1009 | 0x00, 0x55, 0x92, 0x4b, 0x2a, 0x00, 0x55, 0x93, | ||
| 1010 | 0x53, 0x24, 0x00, 0x55, 0x94, 0x4b, 0x2b, 0x00, | ||
| 1011 | 0x55, 0x97, 0x53, 0x25, 0x00, 0x55, 0x98, 0x11, | ||
| 1012 | 0x36, 0x00, 0x55, 0x99, 0x11, 0x2f, 0x00, 0x55, | ||
| 1013 | 0x9a, 0x05, 0xe9, 0x00, 0x55, 0x9c, 0x06, 0x2a, | ||
| 1014 | 0x00, 0x55, 0x9d, 0x05, 0xc3, 0x00, 0x55, 0x9e, | ||
| 1015 | 0x11, 0x37, 0x00, 0x55, 0x9f, 0x11, 0x33, 0x00, | ||
| 1016 | 0x55, 0xa3, 0x53, 0x26, 0x00, 0x55, 0xa4, 0x4b, | ||
| 1017 | 0x2c, 0x00, 0x55, 0xa7, 0x07, 0x4c, 0x00, 0x55, | ||
| 1018 | 0xa8, 0x11, 0x3d, 0x00, 0x55, 0xa9, 0x11, 0x3b, | ||
| 1019 | 0x00, 0x55, 0xaa, 0x0a, 0xd5, 0x00, 0x55, 0xab, | ||
| 1020 | 0x06, 0x64, 0x00, 0x55, 0xac, 0x06, 0xa4, 0x00, | ||
| 1021 | 0x55, 0xad, 0x41, 0xa8, 0x00, 0x55, 0xae, 0x11, | ||
| 1022 | 0x38, 0x00, 0x55, 0xb0, 0x06, 0xec, 0x00, 0x55, | ||
| 1023 | 0xb2, 0x4b, 0x2d, 0x00, 0x55, 0xb6, 0x04, 0xe6, | ||
| 1024 | 0x00, 0x55, 0xbf, 0x43, 0xe5, 0x00, 0x55, 0xc1, | ||
| 1025 | 0x53, 0x27, 0x00, 0x55, 0xc3, 0x4b, 0x2e, 0x00, | ||
| 1026 | 0x55, 0xc4, 0x11, 0x41, 0x00, 0x55, 0xc5, 0x11, | ||
| 1027 | 0x3f, 0x00, 0x55, 0xc6, 0x4b, 0x2f, 0x00, 0x55, | ||
| 1028 | 0xc7, 0x11, 0x78, 0x00, 0x55, 0xc9, 0x43, 0xe6, | ||
| 1029 | 0x00, 0x55, 0xcb, 0x53, 0x28, 0x00, 0x55, 0xcc, | ||
| 1030 | 0x43, 0xe7, 0x00, 0x55, 0xce, 0x41, 0xa9, 0x00, | ||
| 1031 | 0x55, 0xd1, 0x43, 0xe8, 0x00, 0x55, 0xd2, 0x43, | ||
| 1032 | 0xe2, 0x00, 0x55, 0xd3, 0x4b, 0x30, 0x00, 0x55, | ||
| 1033 | 0xd4, 0x11, 0x44, 0x00, 0x55, 0xd7, 0x53, 0x29, | ||
| 1034 | 0x00, 0x55, 0xd8, 0x53, 0x2a, 0x00, 0x55, 0xda, | ||
| 1035 | 0x11, 0x3e, 0x00, 0x55, 0xdb, 0x4b, 0x31, 0x00, | ||
| 1036 | 0x55, 0xdc, 0x11, 0x42, 0x00, 0x55, 0xdd, 0x43, | ||
| 1037 | 0xe9, 0x00, 0x55, 0xde, 0x53, 0x2b, 0x00, 0x55, | ||
| 1038 | 0xdf, 0x11, 0x40, 0x00, 0x55, 0xe2, 0x43, 0xeb, | ||
| 1039 | 0x00, 0x55, 0xe3, 0x08, 0x9a, 0x00, 0x55, 0xe4, | ||
| 1040 | 0x11, 0x43, 0x00, 0x55, 0xe9, 0x43, 0xed, 0x00, | ||
| 1041 | 0x55, 0xec, 0x4b, 0x32, 0x00, 0x55, 0xee, 0x4b, | ||
| 1042 | 0x33, 0x00, 0x55, 0xf1, 0x4b, 0x34, 0x00, 0x55, | ||
| 1043 | 0xf6, 0x4b, 0x35, 0x00, 0x55, 0xf7, 0x11, 0x46, | ||
| 1044 | 0x00, 0x55, 0xf8, 0x4b, 0x36, 0x00, 0x55, 0xf9, | ||
| 1045 | 0x11, 0x4b, 0x00, 0x55, 0xfd, 0x11, 0x49, 0x00, | ||
| 1046 | 0x55, 0xfe, 0x11, 0x48, 0x00, 0x55, 0xff, 0x53, | ||
| 1047 | 0x2c, 0x00, 0x56, 0x05, 0x4b, 0x37, 0x00, 0x56, | ||
| 1048 | 0x06, 0x34, 0x36, 0x00, 0x56, 0x07, 0x43, 0xf0, | ||
| 1049 | 0x00, 0x56, 0x08, 0x38, 0x3c, 0x00, 0x56, 0x09, | ||
| 1050 | 0x05, 0x45, 0x00, 0x56, 0x0a, 0x53, 0x2e, 0x00, | ||
| 1051 | 0x56, 0x0d, 0x4b, 0x38, 0x00, 0x56, 0x0e, 0x38, | ||
| 1052 | 0x3d, 0x00, 0x56, 0x0f, 0x38, 0x3e, 0x00, 0x56, | ||
| 1053 | 0x10, 0x43, 0xf1, 0x00, 0x56, 0x11, 0x4b, 0x39, | ||
| 1054 | 0x00, 0x56, 0x12, 0x4b, 0x3a, 0x00, 0x56, 0x14, | ||
| 1055 | 0x11, 0x45, 0x00, 0x56, 0x16, 0x11, 0x47, 0x00, | ||
| 1056 | 0x56, 0x17, 0x09, 0x90, 0x00, 0x56, 0x18, 0x04, | ||
| 1057 | 0xd5, 0x00, 0x56, 0x19, 0x53, 0x2f, 0x00, 0x56, | ||
| 1058 | 0x1b, 0x11, 0x4a, 0x00, 0x56, 0x20, 0x3c, 0x1d, | ||
| 1059 | 0x00, 0x56, 0x28, 0x43, 0xee, 0x00, 0x56, 0x29, | ||
| 1060 | 0x05, 0x5e, 0x00, 0x56, 0x2c, 0x4b, 0x3b, 0x00, | ||
| 1061 | 0x56, 0x2f, 0x11, 0x55, 0x00, 0x56, 0x30, 0x43, | ||
| 1062 | 0xf2, 0x00, 0x56, 0x31, 0x09, 0xe4, 0x00, 0x56, | ||
| 1063 | 0x32, 0x11, 0x51, 0x00, 0x56, 0x33, 0x53, 0x30, | ||
| 1064 | 0x00, 0x56, 0x34, 0x11, 0x4f, 0x00, 0x56, 0x35, | ||
| 1065 | 0x4b, 0x3c, 0x00, 0x56, 0x36, 0x11, 0x50, 0x00, | ||
| 1066 | 0x56, 0x37, 0x38, 0x3f, 0x00, 0x56, 0x38, 0x11, | ||
| 1067 | 0x52, 0x00, 0x56, 0x39, 0x4b, 0x3d, 0x00, 0x56, | ||
| 1068 | 0x3b, 0x41, 0xaa, 0x00, 0x56, 0x3c, 0x53, 0x31, | ||
| 1069 | 0x00, 0x56, 0x3d, 0x43, 0xf4, 0x00, 0x56, 0x3f, | ||
| 1070 | 0x38, 0x40, 0x00, 0x56, 0x40, 0x43, 0xf5, 0x00, | ||
| 1071 | 0x56, 0x41, 0x53, 0x32, 0x00, 0x56, 0x42, 0x04, | ||
| 1072 | 0xdf, 0x00, 0x56, 0x43, 0x53, 0x33, 0x00, 0x56, | ||
| 1073 | 0x44, 0x53, 0x34, 0x00, 0x56, 0x46, 0x53, 0x35, | ||
| 1074 | 0x00, 0x56, 0x47, 0x43, 0xf6, 0x00, 0x56, 0x49, | ||
| 1075 | 0x38, 0x41, 0x00, 0x56, 0x4b, 0x38, 0x42, 0x00, | ||
| 1076 | 0x56, 0x4c, 0x0a, 0xbb, 0x00, 0x56, 0x4d, 0x4b, | ||
| 1077 | 0x3e, 0x00, 0x56, 0x4e, 0x11, 0x4c, 0x00, 0x56, | ||
| 1078 | 0x4f, 0x38, 0x43, 0x00, 0x56, 0x50, 0x11, 0x4d, | ||
| 1079 | 0x00, 0x56, 0x53, 0x1f, 0x1b, 0x00, 0x56, 0x54, | ||
| 1080 | 0x4b, 0x3f, 0x00, 0x56, 0x5b, 0x05, 0xd8, 0x00, | ||
| 1081 | 0x56, 0x5e, 0x43, 0xf7, 0x00, 0x56, 0x60, 0x43, | ||
| 1082 | 0xf8, 0x00, 0x56, 0x61, 0x53, 0x36, 0x00, 0x56, | ||
| 1083 | 0x62, 0x53, 0x37, 0x00, 0x56, 0x63, 0x53, 0x38, | ||
| 1084 | 0x00, 0x56, 0x64, 0x11, 0x54, 0x00, 0x56, 0x66, | ||
| 1085 | 0x38, 0x44, 0x00, 0x56, 0x68, 0x06, 0x2b, 0x00, | ||
| 1086 | 0x56, 0x69, 0x38, 0x45, 0x00, 0x56, 0x6a, 0x11, | ||
| 1087 | 0x57, 0x00, 0x56, 0x6b, 0x11, 0x53, 0x00, 0x56, | ||
| 1088 | 0x6c, 0x11, 0x56, 0x00, 0x56, 0x6d, 0x43, 0xf9, | ||
| 1089 | 0x00, 0x56, 0x6f, 0x38, 0x46, 0x00, 0x56, 0x71, | ||
| 1090 | 0x38, 0x47, 0x00, 0x56, 0x72, 0x38, 0x48, 0x00, | ||
| 1091 | 0x56, 0x74, 0x0d, 0xfe, 0x00, 0x56, 0x75, 0x53, | ||
| 1092 | 0x39, 0x00, 0x56, 0x76, 0x3c, 0x33, 0x00, 0x56, | ||
| 1093 | 0x78, 0x0c, 0xad, 0x00, 0x56, 0x7a, 0x0d, 0x4c, | ||
| 1094 | 0x00, 0x56, 0x80, 0x11, 0x59, 0x00, 0x56, 0x84, | ||
| 1095 | 0x53, 0x3a, 0x00, 0x56, 0x85, 0x4b, 0x40, 0x00, | ||
| 1096 | 0x56, 0x86, 0x11, 0x58, 0x00, 0x56, 0x87, 0x05, | ||
| 1097 | 0xa3, 0x00, 0x56, 0x88, 0x43, 0xfb, 0x00, 0x56, | ||
| 1098 | 0x8a, 0x11, 0x5a, 0x00, 0x56, 0x8b, 0x53, 0x3b, | ||
| 1099 | 0x00, 0x56, 0x8c, 0x43, 0xfc, 0x00, 0x56, 0x8f, | ||
| 1100 | 0x11, 0x5d, 0x00, 0x56, 0x94, 0x11, 0x5c, 0x00, | ||
| 1101 | 0x56, 0x95, 0x38, 0x49, 0x00, 0x56, 0x99, 0x1d, | ||
| 1102 | 0xe6, 0x00, 0x56, 0x9a, 0x38, 0x4a, 0x00, 0x56, | ||
| 1103 | 0x9d, 0x43, 0xfd, 0x00, 0x56, 0x9e, 0x41, 0xab, | ||
| 1104 | 0x00, 0x56, 0x9f, 0x4b, 0x41, 0x00, 0x56, 0xa0, | ||
| 1105 | 0x11, 0x5b, 0x00, 0x56, 0xa2, 0x0c, 0xef, 0x00, | ||
| 1106 | 0x56, 0xa5, 0x11, 0x5e, 0x00, 0x56, 0xa6, 0x4b, | ||
| 1107 | 0x42, 0x00, 0x56, 0xa7, 0x53, 0x3c, 0x00, 0x56, | ||
| 1108 | 0xa8, 0x43, 0xfe, 0x00, 0x56, 0xa9, 0x41, 0xac, | ||
| 1109 | 0x00, 0x56, 0xab, 0x53, 0x3d, 0x00, 0x56, 0xac, | ||
| 1110 | 0x38, 0x4b, 0x00, 0x56, 0xad, 0x38, 0x4c, 0x00, | ||
| 1111 | 0x56, 0xae, 0x11, 0x5f, 0x00, 0x56, 0xb1, 0x38, | ||
| 1112 | 0x4d, 0x00, 0x56, 0xb2, 0x43, 0xff, 0x00, 0x56, | ||
| 1113 | 0xb3, 0x41, 0xad, 0x00, 0x56, 0xb4, 0x11, 0x61, | ||
| 1114 | 0x00, 0x56, 0xb6, 0x11, 0x60, 0x00, 0x56, 0xb7, | ||
| 1115 | 0x4b, 0x43, 0x00, 0x56, 0xbc, 0x11, 0x63, 0x00, | ||
| 1116 | 0x56, 0xbe, 0x53, 0x3e, 0x00, 0x56, 0xc0, 0x11, | ||
| 1117 | 0x66, 0x00, 0x56, 0xc1, 0x11, 0x64, 0x00, 0x56, | ||
| 1118 | 0xc2, 0x11, 0x62, 0x00, 0x56, 0xc3, 0x11, 0x65, | ||
| 1119 | 0x00, 0x56, 0xc5, 0x44, 0x00, 0x00, 0x56, 0xc8, | ||
| 1120 | 0x11, 0x67, 0x00, 0x56, 0xc9, 0x38, 0x4e, 0x00, | ||
| 1121 | 0x56, 0xca, 0x1e, 0x5a, 0x00, 0x56, 0xcb, 0x53, | ||
| 1122 | 0x3f, 0x00, 0x56, 0xcc, 0x4b, 0x44, 0x00, 0x56, | ||
| 1123 | 0xcd, 0x44, 0x01, 0x00, 0x56, 0xce, 0x11, 0x68, | ||
| 1124 | 0x00, 0x56, 0xcf, 0x4b, 0x45, 0x00, 0x56, 0xd0, | ||
| 1125 | 0x53, 0x40, 0x00, 0x56, 0xd1, 0x11, 0x69, 0x00, | ||
| 1126 | 0x56, 0xd3, 0x11, 0x6a, 0x00, 0x56, 0xd7, 0x11, | ||
| 1127 | 0x6b, 0x00, 0x56, 0xd8, 0x10, 0x7c, 0x00, 0x56, | ||
| 1128 | 0xd9, 0x4b, 0x46, 0x00, 0x56, 0xda, 0x09, 0x28, | ||
| 1129 | 0x00, 0x56, 0xdb, 0x08, 0x9b, 0x00, 0x56, 0xdc, | ||
| 1130 | 0x53, 0x41, 0x00, 0x56, 0xdd, 0x38, 0x4f, 0x00, | ||
| 1131 | 0x56, 0xde, 0x05, 0x73, 0x00, 0x56, 0xdf, 0x44, | ||
| 1132 | 0x02, 0x00, 0x56, 0xe0, 0x04, 0xbc, 0x00, 0x56, | ||
| 1133 | 0xe1, 0x4b, 0x47, 0x00, 0x56, 0xe3, 0x0b, 0x82, | ||
| 1134 | 0x00, 0x56, 0xe4, 0x38, 0x50, 0x00, 0x56, 0xe5, | ||
| 1135 | 0x53, 0x42, 0x00, 0x56, 0xe6, 0x53, 0x43, 0x00, | ||
| 1136 | 0x56, 0xe7, 0x53, 0x44, 0x00, 0x56, 0xe8, 0x44, | ||
| 1137 | 0x03, 0x00, 0x56, 0xeb, 0x4b, 0x48, 0x00, 0x56, | ||
| 1138 | 0xed, 0x4b, 0x49, 0x00, 0x56, 0xee, 0x11, 0x6c, | ||
| 1139 | 0x00, 0x56, 0xf0, 0x08, 0x14, 0x00, 0x56, 0xf1, | ||
| 1140 | 0x4b, 0x4a, 0x00, 0x56, 0xf2, 0x04, 0x93, 0x00, | ||
| 1141 | 0x56, 0xf3, 0x0a, 0x24, 0x00, 0x56, 0xf6, 0x44, | ||
| 1142 | 0x04, 0x00, 0x56, 0xf7, 0x44, 0x05, 0x00, 0x56, | ||
| 1143 | 0xf9, 0x11, 0x6d, 0x00, 0x56, 0xfa, 0x07, 0x7b, | ||
| 1144 | 0x00, 0x56, 0xfd, 0x08, 0x03, 0x00, 0x56, 0xff, | ||
| 1145 | 0x11, 0x6f, 0x00, 0x57, 0x00, 0x11, 0x6e, 0x00, | ||
| 1146 | 0x57, 0x01, 0x53, 0x45, 0x00, 0x57, 0x02, 0x53, | ||
| 1147 | 0x46, 0x00, 0x57, 0x03, 0x0e, 0x30, 0x00, 0x57, | ||
| 1148 | 0x04, 0x11, 0x70, 0x00, 0x57, 0x07, 0x4b, 0x4b, | ||
| 1149 | 0x00, 0x57, 0x08, 0x11, 0x72, 0x00, 0x57, 0x09, | ||
| 1150 | 0x11, 0x71, 0x00, 0x57, 0x0a, 0x38, 0x51, 0x00, | ||
| 1151 | 0x57, 0x0b, 0x11, 0x73, 0x00, 0x57, 0x0c, 0x4b, | ||
| 1152 | 0x4c, 0x00, 0x57, 0x0d, 0x11, 0x74, 0x00, 0x57, | ||
| 1153 | 0x0f, 0x07, 0x4d, 0x00, 0x57, 0x11, 0x53, 0x47, | ||
| 1154 | 0x00, 0x57, 0x12, 0x05, 0x02, 0x00, 0x57, 0x13, | ||
| 1155 | 0x11, 0x75, 0x00, 0x57, 0x15, 0x38, 0x52, 0x00, | ||
| 1156 | 0x57, 0x16, 0x11, 0x77, 0x00, 0x57, 0x18, 0x11, | ||
| 1157 | 0x76, 0x00, 0x57, 0x1a, 0x4b, 0x4d, 0x00, 0x57, | ||
| 1158 | 0x1b, 0x4b, 0x4e, 0x00, 0x57, 0x1c, 0x11, 0x79, | ||
| 1159 | 0x00, 0x57, 0x1d, 0x4b, 0x4f, 0x00, 0x57, 0x1f, | ||
| 1160 | 0x0c, 0x54, 0x00, 0x57, 0x20, 0x53, 0x48, 0x00, | ||
| 1161 | 0x57, 0x21, 0x36, 0x80, 0x00, 0x57, 0x22, 0x53, | ||
| 1162 | 0x49, 0x00, 0x57, 0x23, 0x38, 0x53, 0x00, 0x57, | ||
| 1163 | 0x24, 0x53, 0x4a, 0x00, 0x57, 0x25, 0x53, 0x4b, | ||
| 1164 | 0x00, 0x57, 0x26, 0x11, 0x7a, 0x00, 0x57, 0x27, | ||
| 1165 | 0x04, 0x79, 0x00, 0x57, 0x28, 0x08, 0x4f, 0x00, | ||
| 1166 | 0x57, 0x29, 0x44, 0x08, 0x00, 0x57, 0x2a, 0x53, | ||
| 1167 | 0x4c, 0x00, 0x57, 0x2c, 0x4b, 0x50, 0x00, 0x57, | ||
| 1168 | 0x2d, 0x07, 0x13, 0x00, 0x57, 0x2e, 0x4b, 0x51, | ||
| 1169 | 0x00, 0x57, 0x2f, 0x38, 0x54, 0x00, 0x57, 0x30, | ||
| 1170 | 0x0b, 0x8d, 0x00, 0x57, 0x33, 0x38, 0x55, 0x00, | ||
| 1171 | 0x57, 0x34, 0x38, 0x56, 0x00, 0x57, 0x37, 0x11, | ||
| 1172 | 0x7b, 0x00, 0x57, 0x38, 0x11, 0x7c, 0x00, 0x57, | ||
| 1173 | 0x3b, 0x11, 0x7e, 0x00, 0x57, 0x3d, 0x4b, 0x52, | ||
| 1174 | 0x00, 0x57, 0x3e, 0x4b, 0x53, 0x00, 0x57, 0x3f, | ||
| 1175 | 0x53, 0x4d, 0x00, 0x57, 0x40, 0x11, 0x7f, 0x00, | ||
| 1176 | 0x57, 0x42, 0x08, 0x54, 0x00, 0x57, 0x45, 0x44, | ||
| 1177 | 0x0a, 0x00, 0x57, 0x46, 0x44, 0x0b, 0x00, 0x57, | ||
| 1178 | 0x47, 0x06, 0xc9, 0x00, 0x57, 0x4a, 0x0e, 0x65, | ||
| 1179 | 0x00, 0x57, 0x4c, 0x38, 0x57, 0x00, 0x57, 0x4d, | ||
| 1180 | 0x44, 0x0c, 0x00, 0x57, 0x4e, 0x11, 0x7d, 0x00, | ||
| 1181 | 0x57, 0x4f, 0x11, 0x80, 0x00, 0x57, 0x50, 0x08, | ||
| 1182 | 0x31, 0x00, 0x57, 0x51, 0x07, 0xb5, 0x00, 0x57, | ||
| 1183 | 0x52, 0x53, 0x4e, 0x00, 0x57, 0x59, 0x20, 0xe0, | ||
| 1184 | 0x00, 0x57, 0x5f, 0x4b, 0x54, 0x00, 0x57, 0x61, | ||
| 1185 | 0x11, 0x84, 0x00, 0x57, 0x62, 0x53, 0x4f, 0x00, | ||
| 1186 | 0x57, 0x64, 0x08, 0x15, 0x00, 0x57, 0x65, 0x20, | ||
| 1187 | 0xe1, 0x00, 0x57, 0x66, 0x0b, 0x71, 0x00, 0x57, | ||
| 1188 | 0x67, 0x53, 0x50, 0x00, 0x57, 0x68, 0x44, 0x0e, | ||
| 1189 | 0x00, 0x57, 0x69, 0x11, 0x81, 0x00, 0x57, 0x6a, | ||
| 1190 | 0x0b, 0xf6, 0x00, 0x57, 0x6b, 0x4b, 0x55, 0x00, | ||
| 1191 | 0x57, 0x6d, 0x4b, 0x56, 0x00, 0x57, 0x6e, 0x53, | ||
| 1192 | 0x51, 0x00, 0x57, 0x6f, 0x44, 0x0f, 0x00, 0x57, | ||
| 1193 | 0x70, 0x38, 0x58, 0x00, 0x57, 0x71, 0x53, 0x52, | ||
| 1194 | 0x00, 0x57, 0x73, 0x44, 0x10, 0x00, 0x57, 0x74, | ||
| 1195 | 0x44, 0x11, 0x00, 0x57, 0x75, 0x44, 0x12, 0x00, | ||
| 1196 | 0x57, 0x77, 0x41, 0xae, 0x00, 0x57, 0x79, 0x53, | ||
| 1197 | 0x53, 0x00, 0x57, 0x7a, 0x4b, 0x57, 0x00, 0x57, | ||
| 1198 | 0x7b, 0x44, 0x13, 0x00, 0x57, 0x7c, 0x41, 0xaf, | ||
| 1199 | 0x00, 0x57, 0x7e, 0x53, 0x54, 0x00, 0x57, 0x7f, | ||
| 1200 | 0x11, 0x85, 0x00, 0x57, 0x81, 0x53, 0x55, 0x00, | ||
| 1201 | 0x57, 0x82, 0x0a, 0x28, 0x00, 0x57, 0x83, 0x4b, | ||
| 1202 | 0x58, 0x00, 0x57, 0x88, 0x11, 0x83, 0x00, 0x57, | ||
| 1203 | 0x89, 0x11, 0x86, 0x00, 0x57, 0x8b, 0x07, 0x15, | ||
| 1204 | 0x00, 0x57, 0x8c, 0x38, 0x59, 0x00, 0x57, 0x93, | ||
| 1205 | 0x11, 0x87, 0x00, 0x57, 0x94, 0x53, 0x56, 0x00, | ||
| 1206 | 0x57, 0x95, 0x53, 0x5a, 0x00, 0x57, 0x97, 0x4b, | ||
| 1207 | 0x59, 0x00, 0x57, 0x99, 0x53, 0x57, 0x00, 0x57, | ||
| 1208 | 0x9a, 0x44, 0x16, 0x00, 0x57, 0x9c, 0x38, 0x5a, | ||
| 1209 | 0x00, 0x57, 0x9d, 0x44, 0x17, 0x00, 0x57, 0x9e, | ||
| 1210 | 0x44, 0x18, 0x00, 0x57, 0x9f, 0x53, 0x58, 0x00, | ||
| 1211 | 0x57, 0xa0, 0x11, 0x88, 0x00, 0x57, 0xa1, 0x53, | ||
| 1212 | 0x59, 0x00, 0x57, 0xa2, 0x07, 0xb6, 0x00, 0x57, | ||
| 1213 | 0xa3, 0x05, 0x9e, 0x00, 0x57, 0xa4, 0x11, 0x8a, | ||
| 1214 | 0x00, 0x57, 0xa7, 0x53, 0x5b, 0x00, 0x57, 0xa8, | ||
| 1215 | 0x44, 0x19, 0x00, 0x57, 0xa9, 0x53, 0x5c, 0x00, | ||
| 1216 | 0x57, 0xaa, 0x11, 0x8b, 0x00, 0x57, 0xac, 0x20, | ||
| 1217 | 0xe2, 0x00, 0x57, 0xae, 0x4b, 0x5a, 0x00, 0x57, | ||
| 1218 | 0xb0, 0x11, 0x8c, 0x00, 0x57, 0xb3, 0x11, 0x89, | ||
| 1219 | 0x00, 0x57, 0xb8, 0x38, 0x5b, 0x00, 0x57, 0xbd, | ||
| 1220 | 0x53, 0x5d, 0x00, 0x57, 0xc0, 0x11, 0x82, 0x00, | ||
| 1221 | 0x57, 0xc3, 0x11, 0x8d, 0x00, 0x57, 0xc6, 0x11, | ||
| 1222 | 0x8e, 0x00, 0x57, 0xc7, 0x20, 0xe4, 0x00, 0x57, | ||
| 1223 | 0xc8, 0x20, 0xe3, 0x00, 0x57, 0xcb, 0x0e, 0x92, | ||
| 1224 | 0x00, 0x57, 0xcc, 0x44, 0x1c, 0x00, 0x57, 0xce, | ||
| 1225 | 0x36, 0x11, 0x00, 0x57, 0xcf, 0x41, 0xb1, 0x00, | ||
| 1226 | 0x57, 0xd2, 0x11, 0x90, 0x00, 0x57, 0xd3, 0x11, | ||
| 1227 | 0x91, 0x00, 0x57, 0xd4, 0x11, 0x8f, 0x00, 0x57, | ||
| 1228 | 0xd5, 0x4b, 0x5b, 0x00, 0x57, 0xd6, 0x11, 0x93, | ||
| 1229 | 0x00, 0x57, 0xd7, 0x44, 0x1a, 0x00, 0x57, 0xdc, | ||
| 1230 | 0x0c, 0xee, 0x00, 0x57, 0xdd, 0x53, 0x5e, 0x00, | ||
| 1231 | 0x57, 0xde, 0x44, 0x1f, 0x00, 0x57, 0xdf, 0x04, | ||
| 1232 | 0xac, 0x00, 0x57, 0xe0, 0x0d, 0xc8, 0x00, 0x57, | ||
| 1233 | 0xe1, 0x53, 0x63, 0x00, 0x57, 0xe3, 0x11, 0x94, | ||
| 1234 | 0x00, 0x57, 0xe4, 0x41, 0xb2, 0x00, 0x57, 0xe6, | ||
| 1235 | 0x38, 0x5c, 0x00, 0x57, 0xe7, 0x4b, 0x5c, 0x00, | ||
| 1236 | 0x57, 0xe9, 0x53, 0x5f, 0x00, 0x57, 0xed, 0x38, | ||
| 1237 | 0x5d, 0x00, 0x57, 0xf0, 0x44, 0x20, 0x00, 0x57, | ||
| 1238 | 0xf4, 0x09, 0xe5, 0x00, 0x57, 0xf5, 0x38, 0x5e, | ||
| 1239 | 0x00, 0x57, 0xf6, 0x38, 0x5f, 0x00, 0x57, 0xf7, | ||
| 1240 | 0x08, 0xe5, 0x00, 0x57, 0xf8, 0x44, 0x22, 0x00, | ||
| 1241 | 0x57, 0xf9, 0x0d, 0x13, 0x00, 0x57, 0xfa, 0x06, | ||
| 1242 | 0x2c, 0x00, 0x57, 0xfb, 0x44, 0x23, 0x00, 0x57, | ||
| 1243 | 0xfc, 0x08, 0x5b, 0x00, 0x57, 0xfd, 0x44, 0x24, | ||
| 1244 | 0x00, 0x57, 0xfe, 0x53, 0x60, 0x00, 0x57, 0xff, | ||
| 1245 | 0x38, 0x60, 0x00, 0x58, 0x00, 0x0e, 0x87, 0x00, | ||
| 1246 | 0x58, 0x02, 0x0c, 0x8a, 0x00, 0x58, 0x03, 0x53, | ||
| 1247 | 0x61, 0x00, 0x58, 0x04, 0x44, 0x25, 0x00, 0x58, | ||
| 1248 | 0x05, 0x07, 0x4e, 0x00, 0x58, 0x06, 0x0b, 0x2f, | ||
| 1249 | 0x00, 0x58, 0x08, 0x53, 0x62, 0x00, 0x58, 0x09, | ||
| 1250 | 0x38, 0x61, 0x00, 0x58, 0x0a, 0x11, 0x92, 0x00, | ||
| 1251 | 0x58, 0x0b, 0x11, 0x95, 0x00, 0x58, 0x0c, 0x53, | ||
| 1252 | 0x64, 0x00, 0x58, 0x0d, 0x4b, 0x5d, 0x00, 0x58, | ||
| 1253 | 0x15, 0x0b, 0x24, 0x00, 0x58, 0x19, 0x11, 0x96, | ||
| 1254 | 0x00, 0x58, 0x1b, 0x53, 0x65, 0x00, 0x58, 0x1d, | ||
| 1255 | 0x11, 0x97, 0x00, 0x58, 0x1e, 0x44, 0x26, 0x00, | ||
| 1256 | 0x58, 0x1f, 0x53, 0x66, 0x00, 0x58, 0x20, 0x38, | ||
| 1257 | 0x62, 0x00, 0x58, 0x21, 0x11, 0x99, 0x00, 0x58, | ||
| 1258 | 0x24, 0x0c, 0x05, 0x00, 0x58, 0x26, 0x4b, 0x5e, | ||
| 1259 | 0x00, 0x58, 0x27, 0x44, 0x27, 0x00, 0x58, 0x2a, | ||
| 1260 | 0x05, 0xea, 0x00, 0x58, 0x2d, 0x53, 0x67, 0x00, | ||
| 1261 | 0x58, 0x2f, 0x1d, 0x32, 0x00, 0x58, 0x30, 0x05, | ||
| 1262 | 0x03, 0x00, 0x58, 0x31, 0x0e, 0x43, 0x00, 0x58, | ||
| 1263 | 0x32, 0x38, 0x63, 0x00, 0x58, 0x34, 0x09, 0xd4, | ||
| 1264 | 0x00, 0x58, 0x35, 0x0c, 0x42, 0x00, 0x58, 0x39, | ||
| 1265 | 0x44, 0x28, 0x00, 0x58, 0x3a, 0x08, 0x56, 0x00, | ||
| 1266 | 0x58, 0x3d, 0x11, 0x9f, 0x00, 0x58, 0x3f, 0x53, | ||
| 1267 | 0x68, 0x00, 0x58, 0x40, 0x0e, 0x0d, 0x00, 0x58, | ||
| 1268 | 0x41, 0x0f, 0xa5, 0x00, 0x58, 0x49, 0x44, 0x2a, | ||
| 1269 | 0x00, 0x58, 0x4a, 0x05, 0x74, 0x00, 0x58, 0x4b, | ||
| 1270 | 0x11, 0x9b, 0x00, 0x58, 0x4c, 0x44, 0x2b, 0x00, | ||
| 1271 | 0x58, 0x4d, 0x4b, 0x5f, 0x00, 0x58, 0x4f, 0x4b, | ||
| 1272 | 0x60, 0x00, 0x58, 0x50, 0x53, 0x69, 0x00, 0x58, | ||
| 1273 | 0x51, 0x0a, 0xbc, 0x00, 0x58, 0x52, 0x11, 0x9e, | ||
| 1274 | 0x00, 0x58, 0x54, 0x0c, 0x5d, 0x00, 0x58, 0x55, | ||
| 1275 | 0x53, 0x6a, 0x00, 0x58, 0x57, 0x0c, 0x43, 0x00, | ||
| 1276 | 0x58, 0x58, 0x0c, 0x5e, 0x00, 0x58, 0x59, 0x0d, | ||
| 1277 | 0x4d, 0x00, 0x58, 0x5a, 0x0b, 0xe9, 0x00, 0x58, | ||
| 1278 | 0x5e, 0x08, 0x39, 0x00, 0x58, 0x5f, 0x4b, 0x61, | ||
| 1279 | 0x00, 0x58, 0x61, 0x1e, 0x47, 0x00, 0x58, 0x62, | ||
| 1280 | 0x11, 0x9a, 0x00, 0x58, 0x64, 0x41, 0xb3, 0x00, | ||
| 1281 | 0x58, 0x67, 0x44, 0x2c, 0x00, 0x58, 0x68, 0x53, | ||
| 1282 | 0x6b, 0x00, 0x58, 0x69, 0x05, 0x18, 0x00, 0x58, | ||
| 1283 | 0x6b, 0x0c, 0x30, 0x00, 0x58, 0x6d, 0x4b, 0x62, | ||
| 1284 | 0x00, 0x58, 0x70, 0x11, 0x9c, 0x00, 0x58, 0x72, | ||
| 1285 | 0x11, 0x98, 0x00, 0x58, 0x75, 0x0a, 0x16, 0x00, | ||
| 1286 | 0x58, 0x78, 0x53, 0x6c, 0x00, 0x58, 0x79, 0x11, | ||
| 1287 | 0xa0, 0x00, 0x58, 0x7c, 0x38, 0x64, 0x00, 0x58, | ||
| 1288 | 0x7e, 0x09, 0x58, 0x00, 0x58, 0x7f, 0x4b, 0x63, | ||
| 1289 | 0x00, 0x58, 0x80, 0x38, 0x65, 0x00, 0x58, 0x81, | ||
| 1290 | 0x4b, 0x64, 0x00, 0x58, 0x83, 0x06, 0xa5, 0x00, | ||
| 1291 | 0x58, 0x85, 0x11, 0xa1, 0x00, 0x58, 0x87, 0x53, | ||
| 1292 | 0x6d, 0x00, 0x58, 0x88, 0x53, 0x6e, 0x00, 0x58, | ||
| 1293 | 0x89, 0x41, 0xb4, 0x00, 0x58, 0x8a, 0x44, 0x2d, | ||
| 1294 | 0x00, 0x58, 0x8b, 0x44, 0x2e, 0x00, 0x58, 0x8c, | ||
| 1295 | 0x53, 0x6f, 0x00, 0x58, 0x8d, 0x44, 0x2f, 0x00, | ||
| 1296 | 0x58, 0x8f, 0x44, 0x30, 0x00, 0x58, 0x90, 0x44, | ||
| 1297 | 0x31, 0x00, 0x58, 0x93, 0x0e, 0x38, 0x00, 0x58, | ||
| 1298 | 0x94, 0x44, 0x32, 0x00, 0x58, 0x96, 0x53, 0x70, | ||
| 1299 | 0x00, 0x58, 0x97, 0x0a, 0xff, 0x00, 0x58, 0x98, | ||
| 1300 | 0x4b, 0x65, 0x00, 0x58, 0x9c, 0x0b, 0xe2, 0x00, | ||
| 1301 | 0x58, 0x9d, 0x44, 0x33, 0x00, 0x58, 0x9e, 0x20, | ||
| 1302 | 0xe7, 0x00, 0x58, 0x9f, 0x11, 0xa3, 0x00, 0x58, | ||
| 1303 | 0xa0, 0x53, 0x71, 0x00, 0x58, 0xa1, 0x53, 0x72, | ||
| 1304 | 0x00, 0x58, 0xa2, 0x53, 0x73, 0x00, 0x58, 0xa6, | ||
| 1305 | 0x53, 0x74, 0x00, 0x58, 0xa8, 0x34, 0x4b, 0x00, | ||
| 1306 | 0x58, 0xa9, 0x38, 0x66, 0x00, 0x58, 0xaa, 0x44, | ||
| 1307 | 0x34, 0x00, 0x58, 0xab, 0x11, 0xa4, 0x00, 0x58, | ||
| 1308 | 0xae, 0x11, 0xa9, 0x00, 0x58, 0xb1, 0x44, 0x35, | ||
| 1309 | 0x00, 0x58, 0xb2, 0x20, 0xe8, 0x00, 0x58, 0xb3, | ||
| 1310 | 0x0d, 0xff, 0x00, 0x58, 0xb8, 0x11, 0xa8, 0x00, | ||
| 1311 | 0x58, 0xb9, 0x11, 0xa2, 0x00, 0x58, 0xba, 0x11, | ||
| 1312 | 0xa5, 0x00, 0x58, 0xbb, 0x11, 0xa7, 0x00, 0x58, | ||
| 1313 | 0xbc, 0x4b, 0x66, 0x00, 0x58, 0xbe, 0x08, 0x16, | ||
| 1314 | 0x00, 0x58, 0xc1, 0x0e, 0x19, 0x00, 0x58, 0xc2, | ||
| 1315 | 0x53, 0x76, 0x00, 0x58, 0xc3, 0x44, 0x37, 0x00, | ||
| 1316 | 0x58, 0xc4, 0x53, 0x75, 0x00, 0x58, 0xc5, 0x11, | ||
| 1317 | 0xaa, 0x00, 0x58, 0xc7, 0x0b, 0x83, 0x00, 0x58, | ||
| 1318 | 0xc8, 0x53, 0x77, 0x00, 0x58, 0xca, 0x05, 0x75, | ||
| 1319 | 0x00, 0x58, 0xcc, 0x09, 0xd5, 0x00, 0x58, 0xcd, | ||
| 1320 | 0x44, 0x38, 0x00, 0x58, 0xce, 0x38, 0x67, 0x00, | ||
| 1321 | 0x58, 0xd0, 0x38, 0x68, 0x00, 0x58, 0xd1, 0x11, | ||
| 1322 | 0xac, 0x00, 0x58, 0xd2, 0x41, 0xb6, 0x00, 0x58, | ||
| 1323 | 0xd3, 0x11, 0xab, 0x00, 0x58, 0xd4, 0x38, 0x69, | ||
| 1324 | 0x00, 0x58, 0xd5, 0x07, 0xfa, 0x00, 0x58, 0xd6, | ||
| 1325 | 0x53, 0x78, 0x00, 0x58, 0xd7, 0x11, 0xad, 0x00, | ||
| 1326 | 0x58, 0xd8, 0x11, 0xaf, 0x00, 0x58, 0xd9, 0x11, | ||
| 1327 | 0xae, 0x00, 0x58, 0xda, 0x38, 0x6a, 0x00, 0x58, | ||
| 1328 | 0xdc, 0x11, 0xb1, 0x00, 0x58, 0xdd, 0x53, 0x79, | ||
| 1329 | 0x00, 0x58, 0xde, 0x11, 0xa6, 0x00, 0x58, 0xdf, | ||
| 1330 | 0x11, 0xb3, 0x00, 0x58, 0xe0, 0x41, 0xb7, 0x00, | ||
| 1331 | 0x58, 0xe1, 0x53, 0x7a, 0x00, 0x58, 0xe2, 0x44, | ||
| 1332 | 0x39, 0x00, 0x58, 0xe4, 0x11, 0xb2, 0x00, 0x58, | ||
| 1333 | 0xe5, 0x11, 0xb0, 0x00, 0x58, 0xe9, 0x38, 0x6b, | ||
| 1334 | 0x00, 0x58, 0xeb, 0x08, 0x9c, 0x00, 0x58, 0xec, | ||
| 1335 | 0x0a, 0x17, 0x00, 0x58, 0xee, 0x0a, 0xd6, 0x00, | ||
| 1336 | 0x58, 0xef, 0x11, 0xb4, 0x00, 0x58, 0xf0, 0x0a, | ||
| 1337 | 0x60, 0x00, 0x58, 0xf1, 0x04, 0xb1, 0x00, 0x58, | ||
| 1338 | 0xf2, 0x0d, 0x1a, 0x00, 0x58, 0xf3, 0x44, 0x3a, | ||
| 1339 | 0x00, 0x58, 0xf4, 0x44, 0x3b, 0x00, 0x58, 0xf7, | ||
| 1340 | 0x0b, 0xf7, 0x00, 0x58, 0xf9, 0x11, 0xb6, 0x00, | ||
| 1341 | 0x58, 0xfa, 0x11, 0xb5, 0x00, 0x58, 0xfb, 0x11, | ||
| 1342 | 0xb7, 0x00, 0x58, 0xfc, 0x11, 0xb8, 0x00, 0x58, | ||
| 1343 | 0xfd, 0x11, 0xb9, 0x00, 0x59, 0x02, 0x11, 0xba, | ||
| 1344 | 0x00, 0x59, 0x05, 0x44, 0x3c, 0x00, 0x59, 0x06, | ||
| 1345 | 0x44, 0x3d, 0x00, 0x59, 0x09, 0x0e, 0x21, 0x00, | ||
| 1346 | 0x59, 0x0a, 0x11, 0xbb, 0x00, 0x59, 0x0b, 0x20, | ||
| 1347 | 0xe9, 0x00, 0x59, 0x0c, 0x38, 0x6c, 0x00, 0x59, | ||
| 1348 | 0x0d, 0x44, 0x3e, 0x00, 0x59, 0x0f, 0x05, 0x46, | ||
| 1349 | 0x00, 0x59, 0x10, 0x11, 0xbc, 0x00, 0x59, 0x12, | ||
| 1350 | 0x53, 0x7c, 0x00, 0x59, 0x13, 0x53, 0x7d, 0x00, | ||
| 1351 | 0x59, 0x14, 0x44, 0x3f, 0x00, 0x59, 0x15, 0x0f, | ||
| 1352 | 0x26, 0x00, 0x59, 0x16, 0x05, 0x8e, 0x00, 0x59, | ||
| 1353 | 0x18, 0x10, 0xde, 0x00, 0x59, 0x19, 0x09, 0x52, | ||
| 1354 | 0x00, 0x59, 0x1a, 0x0b, 0x1f, 0x00, 0x59, 0x1b, | ||
| 1355 | 0x11, 0xbd, 0x00, 0x59, 0x1c, 0x0e, 0xf7, 0x00, | ||
| 1356 | 0x59, 0x1d, 0x53, 0x7e, 0x00, 0x59, 0x1f, 0x4b, | ||
| 1357 | 0x67, 0x00, 0x59, 0x21, 0x53, 0x7f, 0x00, 0x59, | ||
| 1358 | 0x22, 0x0e, 0xc0, 0x00, 0x59, 0x23, 0x4b, 0x68, | ||
| 1359 | 0x00, 0x59, 0x24, 0x38, 0x6d, 0x00, 0x59, 0x25, | ||
| 1360 | 0x11, 0xbf, 0x00, 0x59, 0x27, 0x0b, 0x47, 0x00, | ||
| 1361 | 0x59, 0x28, 0x53, 0x80, 0x00, 0x59, 0x29, 0x0c, | ||
| 1362 | 0x31, 0x00, 0x59, 0x2a, 0x0b, 0x20, 0x00, 0x59, | ||
| 1363 | 0x2b, 0x0d, 0xc9, 0x00, 0x59, 0x2c, 0x11, 0xc0, | ||
| 1364 | 0x00, 0x59, 0x2d, 0x11, 0xc1, 0x00, 0x59, 0x2e, | ||
| 1365 | 0x05, 0x1d, 0x00, 0x59, 0x2f, 0x38, 0x6e, 0x00, | ||
| 1366 | 0x59, 0x30, 0x53, 0x81, 0x00, 0x59, 0x31, 0x08, | ||
| 1367 | 0xe6, 0x00, 0x59, 0x32, 0x11, 0xc2, 0x00, 0x59, | ||
| 1368 | 0x33, 0x53, 0x82, 0x00, 0x59, 0x35, 0x53, 0x83, | ||
| 1369 | 0x00, 0x59, 0x36, 0x53, 0x84, 0x00, 0x59, 0x37, | ||
| 1370 | 0x04, 0x94, 0x00, 0x59, 0x38, 0x11, 0xc3, 0x00, | ||
| 1371 | 0x59, 0x39, 0x37, 0x25, 0x00, 0x59, 0x3d, 0x44, | ||
| 1372 | 0x42, 0x00, 0x59, 0x3e, 0x11, 0xc4, 0x00, 0x59, | ||
| 1373 | 0x3f, 0x53, 0x85, 0x00, 0x59, 0x43, 0x53, 0x86, | ||
| 1374 | 0x00, 0x59, 0x44, 0x05, 0x04, 0x00, 0x59, 0x46, | ||
| 1375 | 0x44, 0x44, 0x00, 0x59, 0x47, 0x06, 0x2d, 0x00, | ||
| 1376 | 0x59, 0x48, 0x0c, 0xb8, 0x00, 0x59, 0x49, 0x0e, | ||
| 1377 | 0x44, 0x00, 0x59, 0x4e, 0x11, 0xc8, 0x00, 0x59, | ||
| 1378 | 0x4f, 0x0a, 0xd7, 0x00, 0x59, 0x50, 0x11, 0xc7, | ||
| 1379 | 0x00, 0x59, 0x51, 0x07, 0x16, 0x00, 0x59, 0x52, | ||
| 1380 | 0x53, 0x87, 0x00, 0x59, 0x53, 0x20, 0xea, 0x00, | ||
| 1381 | 0x59, 0x54, 0x0e, 0x89, 0x00, 0x59, 0x55, 0x11, | ||
| 1382 | 0xc6, 0x00, 0x59, 0x57, 0x0c, 0x5f, 0x00, 0x59, | ||
| 1383 | 0x58, 0x11, 0xca, 0x00, 0x59, 0x59, 0x4b, 0x69, | ||
| 1384 | 0x00, 0x59, 0x5a, 0x11, 0xc9, 0x00, 0x59, 0x5b, | ||
| 1385 | 0x20, 0xeb, 0x00, 0x59, 0x5d, 0x20, 0xec, 0x00, | ||
| 1386 | 0x59, 0x5e, 0x53, 0x88, 0x00, 0x59, 0x5f, 0x44, | ||
| 1387 | 0x47, 0x00, 0x59, 0x60, 0x11, 0xcc, 0x00, 0x59, | ||
| 1388 | 0x61, 0x38, 0x6f, 0x00, 0x59, 0x62, 0x11, 0xcb, | ||
| 1389 | 0x00, 0x59, 0x63, 0x20, 0xed, 0x00, 0x59, 0x65, | ||
| 1390 | 0x05, 0x1e, 0x00, 0x59, 0x67, 0x11, 0xcd, 0x00, | ||
| 1391 | 0x59, 0x68, 0x09, 0x91, 0x00, 0x59, 0x69, 0x11, | ||
| 1392 | 0xcf, 0x00, 0x59, 0x6a, 0x0b, 0x63, 0x00, 0x59, | ||
| 1393 | 0x6b, 0x53, 0x89, 0x00, 0x59, 0x6c, 0x11, 0xce, | ||
| 1394 | 0x00, 0x59, 0x6d, 0x38, 0x70, 0x00, 0x59, 0x6e, | ||
| 1395 | 0x0e, 0x03, 0x00, 0x59, 0x6f, 0x53, 0x8a, 0x00, | ||
| 1396 | 0x59, 0x72, 0x53, 0x8b, 0x00, 0x59, 0x73, 0x09, | ||
| 1397 | 0x81, 0x00, 0x59, 0x74, 0x0c, 0x55, 0x00, 0x59, | ||
| 1398 | 0x75, 0x44, 0x49, 0x00, 0x59, 0x76, 0x44, 0x4a, | ||
| 1399 | 0x00, 0x59, 0x78, 0x11, 0xd0, 0x00, 0x59, 0x79, | ||
| 1400 | 0x4b, 0x6a, 0x00, 0x59, 0x7b, 0x53, 0x8c, 0x00, | ||
| 1401 | 0x59, 0x7c, 0x44, 0x4b, 0x00, 0x59, 0x7d, 0x07, | ||
| 1402 | 0xb7, 0x00, 0x59, 0x81, 0x11, 0xd1, 0x00, 0x59, | ||
| 1403 | 0x82, 0x0c, 0xd7, 0x00, 0x59, 0x83, 0x0d, 0x72, | ||
| 1404 | 0x00, 0x59, 0x84, 0x0e, 0xdd, 0x00, 0x59, 0x8a, | ||
| 1405 | 0x0c, 0xdb, 0x00, 0x59, 0x8b, 0x41, 0xb9, 0x00, | ||
| 1406 | 0x59, 0x8c, 0x53, 0x8d, 0x00, 0x59, 0x8d, 0x11, | ||
| 1407 | 0xda, 0x00, 0x59, 0x8e, 0x53, 0x8e, 0x00, 0x59, | ||
| 1408 | 0x92, 0x41, 0xba, 0x00, 0x59, 0x93, 0x06, 0x52, | ||
| 1409 | 0x00, 0x59, 0x95, 0x53, 0x8f, 0x00, 0x59, 0x96, | ||
| 1410 | 0x0f, 0x2f, 0x00, 0x59, 0x97, 0x4b, 0x6b, 0x00, | ||
| 1411 | 0x59, 0x99, 0x0e, 0xbb, 0x00, 0x59, 0x9b, 0x12, | ||
| 1412 | 0x39, 0x00, 0x59, 0x9d, 0x11, 0xd2, 0x00, 0x59, | ||
| 1413 | 0x9f, 0x44, 0x4c, 0x00, 0x59, 0xa3, 0x11, 0xd5, | ||
| 1414 | 0x00, 0x59, 0xa4, 0x20, 0xee, 0x00, 0x59, 0xa5, | ||
| 1415 | 0x0b, 0x25, 0x00, 0x59, 0xa7, 0x53, 0x90, 0x00, | ||
| 1416 | 0x59, 0xa8, 0x0e, 0x66, 0x00, 0x59, 0xac, 0x0c, | ||
| 1417 | 0x44, 0x00, 0x59, 0xad, 0x53, 0x91, 0x00, 0x59, | ||
| 1418 | 0xae, 0x44, 0x4d, 0x00, 0x59, 0xaf, 0x4b, 0x6c, | ||
| 1419 | 0x00, 0x59, 0xb0, 0x53, 0x92, 0x00, 0x59, 0xb2, | ||
| 1420 | 0x11, 0xd6, 0x00, 0x59, 0xb3, 0x4b, 0x6d, 0x00, | ||
| 1421 | 0x59, 0xb7, 0x53, 0x93, 0x00, 0x59, 0xb9, 0x0e, | ||
| 1422 | 0x93, 0x00, 0x59, 0xba, 0x20, 0xef, 0x00, 0x59, | ||
| 1423 | 0xbb, 0x08, 0x3a, 0x00, 0x59, 0xbc, 0x44, 0x4e, | ||
| 1424 | 0x00, 0x59, 0xbe, 0x09, 0x92, 0x00, 0x59, 0xc1, | ||
| 1425 | 0x53, 0x94, 0x00, 0x59, 0xc3, 0x41, 0xbb, 0x00, | ||
| 1426 | 0x59, 0xc4, 0x53, 0x95, 0x00, 0x59, 0xc6, 0x11, | ||
| 1427 | 0xd7, 0x00, 0x59, 0xc8, 0x44, 0x4f, 0x00, 0x59, | ||
| 1428 | 0xc9, 0x08, 0x9e, 0x00, 0x59, 0xca, 0x38, 0x71, | ||
| 1429 | 0x00, 0x59, 0xcb, 0x08, 0x9d, 0x00, 0x59, 0xcd, | ||
| 1430 | 0x44, 0x50, 0x00, 0x59, 0xd0, 0x04, 0x7d, 0x00, | ||
| 1431 | 0x59, 0xd1, 0x07, 0x7c, 0x00, 0x59, 0xd2, 0x38, | ||
| 1432 | 0x72, 0x00, 0x59, 0xd3, 0x0a, 0x4f, 0x00, 0x59, | ||
| 1433 | 0xd4, 0x04, 0x95, 0x00, 0x59, 0xd9, 0x11, 0xdb, | ||
| 1434 | 0x00, 0x59, 0xda, 0x11, 0xdc, 0x00, 0x59, 0xdc, | ||
| 1435 | 0x11, 0xd9, 0x00, 0x59, 0xdd, 0x38, 0x73, 0x00, | ||
| 1436 | 0x59, 0xde, 0x44, 0x51, 0x00, 0x59, 0xdf, 0x4b, | ||
| 1437 | 0x6e, 0x00, 0x59, 0xe3, 0x38, 0x74, 0x00, 0x59, | ||
| 1438 | 0xe4, 0x38, 0x75, 0x00, 0x59, 0xe5, 0x04, 0xda, | ||
| 1439 | 0x00, 0x59, 0xe6, 0x05, 0xeb, 0x00, 0x59, 0xe7, | ||
| 1440 | 0x44, 0x52, 0x00, 0x59, 0xe8, 0x11, 0xd8, 0x00, | ||
| 1441 | 0x59, 0xea, 0x0e, 0xd1, 0x00, 0x59, 0xeb, 0x0d, | ||
| 1442 | 0xa3, 0x00, 0x59, 0xec, 0x36, 0xad, 0x00, 0x59, | ||
| 1443 | 0xee, 0x44, 0x53, 0x00, 0x59, 0xef, 0x53, 0x96, | ||
| 1444 | 0x00, 0x59, 0xf1, 0x4b, 0x6f, 0x00, 0x59, 0xf2, | ||
| 1445 | 0x53, 0x97, 0x00, 0x59, 0xf4, 0x53, 0x98, 0x00, | ||
| 1446 | 0x59, 0xf6, 0x04, 0x6c, 0x00, 0x59, 0xf7, 0x53, | ||
| 1447 | 0x99, 0x00, 0x59, 0xf8, 0x4b, 0x70, 0x00, 0x59, | ||
| 1448 | 0xfb, 0x04, 0xbd, 0x00, 0x59, 0xff, 0x08, 0x9f, | ||
| 1449 | 0x00, 0x5a, 0x00, 0x53, 0x9a, 0x00, 0x5a, 0x01, | ||
| 1450 | 0x04, 0x96, 0x00, 0x5a, 0x03, 0x04, 0x67, 0x00, | ||
| 1451 | 0x5a, 0x04, 0x38, 0x76, 0x00, 0x5a, 0x09, 0x11, | ||
| 1452 | 0xe1, 0x00, 0x5a, 0x0c, 0x38, 0x77, 0x00, 0x5a, | ||
| 1453 | 0x0d, 0x44, 0x57, 0x00, 0x5a, 0x0e, 0x53, 0x9b, | ||
| 1454 | 0x00, 0x5a, 0x11, 0x11, 0xdf, 0x00, 0x5a, 0x12, | ||
| 1455 | 0x53, 0x9c, 0x00, 0x5a, 0x13, 0x41, 0xbc, 0x00, | ||
| 1456 | 0x5a, 0x17, 0x44, 0x58, 0x00, 0x5a, 0x18, 0x0e, | ||
| 1457 | 0xc8, 0x00, 0x5a, 0x1a, 0x11, 0xe2, 0x00, 0x5a, | ||
| 1458 | 0x1b, 0x35, 0xc1, 0x00, 0x5a, 0x1c, 0x11, 0xe0, | ||
| 1459 | 0x00, 0x5a, 0x1e, 0x53, 0x9d, 0x00, 0x5a, 0x1f, | ||
| 1460 | 0x11, 0xde, 0x00, 0x5a, 0x20, 0x09, 0xf7, 0x00, | ||
| 1461 | 0x5a, 0x23, 0x38, 0x78, 0x00, 0x5a, 0x24, 0x53, | ||
| 1462 | 0x9e, 0x00, 0x5a, 0x25, 0x11, 0xdd, 0x00, 0x5a, | ||
| 1463 | 0x27, 0x44, 0x59, 0x00, 0x5a, 0x28, 0x53, 0x9f, | ||
| 1464 | 0x00, 0x5a, 0x29, 0x0e, 0x2a, 0x00, 0x5a, 0x2a, | ||
| 1465 | 0x53, 0xa0, 0x00, 0x5a, 0x2d, 0x44, 0x5a, 0x00, | ||
| 1466 | 0x5a, 0x2f, 0x07, 0x98, 0x00, 0x5a, 0x30, 0x53, | ||
| 1467 | 0xa1, 0x00, 0x5a, 0x35, 0x11, 0xe6, 0x00, 0x5a, | ||
| 1468 | 0x36, 0x11, 0xe7, 0x00, 0x5a, 0x3c, 0x09, 0x93, | ||
| 1469 | 0x00, 0x5a, 0x40, 0x11, 0xe3, 0x00, 0x5a, 0x41, | ||
| 1470 | 0x0f, 0xd2, 0x00, 0x5a, 0x44, 0x53, 0xa2, 0x00, | ||
| 1471 | 0x5a, 0x45, 0x53, 0xa3, 0x00, 0x5a, 0x46, 0x0d, | ||
| 1472 | 0x02, 0x00, 0x5a, 0x47, 0x38, 0x79, 0x00, 0x5a, | ||
| 1473 | 0x48, 0x53, 0xa4, 0x00, 0x5a, 0x49, 0x11, 0xe5, | ||
| 1474 | 0x00, 0x5a, 0x4c, 0x53, 0xa5, 0x00, 0x5a, 0x50, | ||
| 1475 | 0x53, 0xa6, 0x00, 0x5a, 0x55, 0x38, 0x7a, 0x00, | ||
| 1476 | 0x5a, 0x5a, 0x08, 0x17, 0x00, 0x5a, 0x5e, 0x53, | ||
| 1477 | 0xa7, 0x00, 0x5a, 0x62, 0x11, 0xe8, 0x00, 0x5a, | ||
| 1478 | 0x63, 0x38, 0x7b, 0x00, 0x5a, 0x65, 0x44, 0x5b, | ||
| 1479 | 0x00, 0x5a, 0x66, 0x0d, 0xca, 0x00, 0x5a, 0x67, | ||
| 1480 | 0x41, 0xbd, 0x00, 0x5a, 0x6a, 0x11, 0xe9, 0x00, | ||
| 1481 | 0x5a, 0x6c, 0x11, 0xe4, 0x00, 0x5a, 0x6d, 0x38, | ||
| 1482 | 0x7c, 0x00, 0x5a, 0x77, 0x41, 0xbe, 0x00, 0x5a, | ||
| 1483 | 0x7a, 0x44, 0x5c, 0x00, 0x5a, 0x7b, 0x53, 0xa8, | ||
| 1484 | 0x00, 0x5a, 0x7e, 0x38, 0x7d, 0x00, 0x5a, 0x7f, | ||
| 1485 | 0x0e, 0xc7, 0x00, 0x5a, 0x84, 0x41, 0xbf, 0x00, | ||
| 1486 | 0x5a, 0x8b, 0x44, 0x5d, 0x00, 0x5a, 0x90, 0x53, | ||
| 1487 | 0xa9, 0x00, 0x5a, 0x92, 0x0d, 0x14, 0x00, 0x5a, | ||
| 1488 | 0x93, 0x53, 0xaa, 0x00, 0x5a, 0x96, 0x53, 0xab, | ||
| 1489 | 0x00, 0x5a, 0x99, 0x53, 0xac, 0x00, 0x5a, 0x9a, | ||
| 1490 | 0x11, 0xea, 0x00, 0x5a, 0x9b, 0x0d, 0xa4, 0x00, | ||
| 1491 | 0x5a, 0x9c, 0x44, 0x5e, 0x00, 0x5a, 0x9e, 0x38, | ||
| 1492 | 0x7e, 0x00, 0x5a, 0x9f, 0x44, 0x5f, 0x00, 0x5a, | ||
| 1493 | 0xa0, 0x44, 0x60, 0x00, 0x5a, 0xa2, 0x44, 0x61, | ||
| 1494 | 0x00, 0x5a, 0xa7, 0x38, 0x7f, 0x00, 0x5a, 0xac, | ||
| 1495 | 0x38, 0x80, 0x00, 0x5a, 0xb1, 0x44, 0x62, 0x00, | ||
| 1496 | 0x5a, 0xb2, 0x4b, 0x71, 0x00, 0x5a, 0xb3, 0x38, | ||
| 1497 | 0x81, 0x00, 0x5a, 0xb5, 0x44, 0x63, 0x00, 0x5a, | ||
| 1498 | 0xb8, 0x4b, 0x72, 0x00, 0x5a, 0xba, 0x44, 0x64, | ||
| 1499 | 0x00, 0x5a, 0xbb, 0x53, 0xad, 0x00, 0x5a, 0xbc, | ||
| 1500 | 0x11, 0xeb, 0x00, 0x5a, 0xbd, 0x11, 0xef, 0x00, | ||
| 1501 | 0x5a, 0xbe, 0x11, 0xec, 0x00, 0x5a, 0xbf, 0x44, | ||
| 1502 | 0x65, 0x00, 0x5a, 0xc1, 0x05, 0x47, 0x00, 0x5a, | ||
| 1503 | 0xc2, 0x11, 0xee, 0x00, 0x5a, 0xc4, 0x41, 0xc0, | ||
| 1504 | 0x00, 0x5a, 0xc6, 0x53, 0xae, 0x00, 0x5a, 0xc8, | ||
| 1505 | 0x53, 0xaf, 0x00, 0x5a, 0xc9, 0x08, 0xe7, 0x00, | ||
| 1506 | 0x5a, 0xcb, 0x11, 0xed, 0x00, 0x5a, 0xcc, 0x07, | ||
| 1507 | 0x4f, 0x00, 0x5a, 0xcf, 0x53, 0xb0, 0x00, 0x5a, | ||
| 1508 | 0xd0, 0x11, 0xfb, 0x00, 0x5a, 0xd6, 0x11, 0xf4, | ||
| 1509 | 0x00, 0x5a, 0xd7, 0x11, 0xf1, 0x00, 0x5a, 0xda, | ||
| 1510 | 0x44, 0x66, 0x00, 0x5a, 0xdc, 0x44, 0x67, 0x00, | ||
| 1511 | 0x5a, 0xe0, 0x38, 0x82, 0x00, 0x5a, 0xe1, 0x0b, | ||
| 1512 | 0xa2, 0x00, 0x5a, 0xe3, 0x11, 0xf0, 0x00, 0x5a, | ||
| 1513 | 0xe5, 0x44, 0x68, 0x00, 0x5a, 0xe6, 0x11, 0xf2, | ||
| 1514 | 0x00, 0x5a, 0xe9, 0x11, 0xf3, 0x00, 0x5a, 0xea, | ||
| 1515 | 0x4b, 0x73, 0x00, 0x5a, 0xee, 0x44, 0x6a, 0x00, | ||
| 1516 | 0x5a, 0xf0, 0x44, 0x69, 0x00, 0x5a, 0xf5, 0x44, | ||
| 1517 | 0x6b, 0x00, 0x5a, 0xf6, 0x4b, 0x74, 0x00, 0x5a, | ||
| 1518 | 0xfa, 0x11, 0xf5, 0x00, 0x5a, 0xfb, 0x11, 0xf6, | ||
| 1519 | 0x00, 0x5a, 0xfd, 0x53, 0xb1, 0x00, 0x5b, 0x00, | ||
| 1520 | 0x38, 0x83, 0x00, 0x5b, 0x01, 0x53, 0xb2, 0x00, | ||
| 1521 | 0x5b, 0x08, 0x44, 0x6c, 0x00, 0x5b, 0x09, 0x06, | ||
| 1522 | 0x2e, 0x00, 0x5b, 0x0b, 0x11, 0xf8, 0x00, 0x5b, | ||
| 1523 | 0x0c, 0x11, 0xf7, 0x00, 0x5b, 0x16, 0x11, 0xf9, | ||
| 1524 | 0x00, 0x5b, 0x17, 0x44, 0x6d, 0x00, 0x5b, 0x19, | ||
| 1525 | 0x38, 0x84, 0x00, 0x5b, 0x1b, 0x4b, 0x75, 0x00, | ||
| 1526 | 0x5b, 0x1d, 0x4b, 0x76, 0x00, 0x5b, 0x21, 0x4b, | ||
| 1527 | 0x77, 0x00, 0x5b, 0x22, 0x09, 0xd6, 0x00, 0x5b, | ||
| 1528 | 0x25, 0x38, 0x85, 0x00, 0x5b, 0x2a, 0x11, 0xfc, | ||
| 1529 | 0x00, 0x5b, 0x2c, 0x0b, 0xf8, 0x00, 0x5b, 0x2d, | ||
| 1530 | 0x38, 0x86, 0x00, 0x5b, 0x30, 0x04, 0xe7, 0x00, | ||
| 1531 | 0x5b, 0x32, 0x11, 0xfa, 0x00, 0x5b, 0x34, 0x44, | ||
| 1532 | 0x6e, 0x00, 0x5b, 0x36, 0x11, 0xfd, 0x00, 0x5b, | ||
| 1533 | 0x38, 0x4b, 0x78, 0x00, 0x5b, 0x3e, 0x11, 0xfe, | ||
| 1534 | 0x00, 0x5b, 0x40, 0x12, 0x01, 0x00, 0x5b, 0x41, | ||
| 1535 | 0x38, 0x87, 0x00, 0x5b, 0x43, 0x11, 0xff, 0x00, | ||
| 1536 | 0x5b, 0x45, 0x12, 0x00, 0x00, 0x5b, 0x4b, 0x53, | ||
| 1537 | 0xb3, 0x00, 0x5b, 0x4c, 0x44, 0x6f, 0x00, 0x5b, | ||
| 1538 | 0x50, 0x08, 0xa0, 0x00, 0x5b, 0x51, 0x12, 0x02, | ||
| 1539 | 0x00, 0x5b, 0x52, 0x44, 0x70, 0x00, 0x5b, 0x54, | ||
| 1540 | 0x07, 0xb8, 0x00, 0x5b, 0x55, 0x12, 0x03, 0x00, | ||
| 1541 | 0x5b, 0x56, 0x20, 0xf0, 0x00, 0x5b, 0x57, 0x08, | ||
| 1542 | 0xc8, 0x00, 0x5b, 0x58, 0x0b, 0x18, 0x00, 0x5b, | ||
| 1543 | 0x5a, 0x12, 0x04, 0x00, 0x5b, 0x5b, 0x12, 0x05, | ||
| 1544 | 0x00, 0x5b, 0x5c, 0x08, 0xa8, 0x00, 0x5b, 0x5d, | ||
| 1545 | 0x07, 0xb9, 0x00, 0x5b, 0x5e, 0x53, 0xb4, 0x00, | ||
| 1546 | 0x5b, 0x5f, 0x0e, 0xde, 0x00, 0x5b, 0x63, 0x06, | ||
| 1547 | 0x42, 0x00, 0x5b, 0x64, 0x07, 0x7d, 0x00, 0x5b, | ||
| 1548 | 0x65, 0x12, 0x06, 0x00, 0x5b, 0x66, 0x05, 0xb6, | ||
| 1549 | 0x00, 0x5b, 0x68, 0x44, 0x71, 0x00, 0x5b, 0x69, | ||
| 1550 | 0x12, 0x07, 0x00, 0x5b, 0x6b, 0x0b, 0x19, 0x00, | ||
| 1551 | 0x5b, 0x6e, 0x53, 0xb5, 0x00, 0x5b, 0x6f, 0x44, | ||
| 1552 | 0x72, 0x00, 0x5b, 0x70, 0x12, 0x08, 0x00, 0x5b, | ||
| 1553 | 0x71, 0x12, 0x30, 0x00, 0x5b, 0x73, 0x12, 0x09, | ||
| 1554 | 0x00, 0x5b, 0x75, 0x12, 0x0a, 0x00, 0x5b, 0x76, | ||
| 1555 | 0x37, 0x28, 0x00, 0x5b, 0x78, 0x12, 0x0b, 0x00, | ||
| 1556 | 0x5b, 0x7a, 0x12, 0x0d, 0x00, 0x5b, 0x7c, 0x38, | ||
| 1557 | 0x88, 0x00, 0x5b, 0x7d, 0x41, 0xc2, 0x00, 0x5b, | ||
| 1558 | 0x7e, 0x38, 0x89, 0x00, 0x5b, 0x7f, 0x38, 0x8a, | ||
| 1559 | 0x00, 0x5b, 0x80, 0x12, 0x0e, 0x00, 0x5b, 0x81, | ||
| 1560 | 0x44, 0x73, 0x00, 0x5b, 0x82, 0x36, 0x10, 0x00, | ||
| 1561 | 0x5b, 0x83, 0x12, 0x0f, 0x00, 0x5b, 0x84, 0x44, | ||
| 1562 | 0x74, 0x00, 0x5b, 0x85, 0x0b, 0x50, 0x00, 0x5b, | ||
| 1563 | 0x86, 0x53, 0xb6, 0x00, 0x5b, 0x87, 0x04, 0xc9, | ||
| 1564 | 0x00, 0x5b, 0x88, 0x09, 0x15, 0x00, 0x5b, 0x89, | ||
| 1565 | 0x04, 0x86, 0x00, 0x5b, 0x8a, 0x38, 0x8b, 0x00, | ||
| 1566 | 0x5b, 0x8b, 0x0a, 0xd9, 0x00, 0x5b, 0x8c, 0x05, | ||
| 1567 | 0xec, 0x00, 0x5b, 0x8d, 0x08, 0xe1, 0x00, 0x5b, | ||
| 1568 | 0x8e, 0x53, 0xb7, 0x00, 0x5b, 0x8f, 0x07, 0xba, | ||
| 1569 | 0x00, 0x5b, 0x90, 0x53, 0xb8, 0x00, 0x5b, 0x91, | ||
| 1570 | 0x53, 0xb9, 0x00, 0x5b, 0x93, 0x41, 0xc3, 0x00, | ||
| 1571 | 0x5b, 0x94, 0x53, 0xba, 0x00, 0x5b, 0x95, 0x0c, | ||
| 1572 | 0x60, 0x00, 0x5b, 0x96, 0x44, 0x76, 0x00, 0x5b, | ||
| 1573 | 0x97, 0x09, 0x2b, 0x00, 0x5b, 0x98, 0x05, 0xed, | ||
| 1574 | 0x00, 0x5b, 0x99, 0x0b, 0xa6, 0x00, 0x5b, 0x9a, | ||
| 1575 | 0x0c, 0x06, 0x00, 0x5b, 0x9b, 0x04, 0x7c, 0x00, | ||
| 1576 | 0x5b, 0x9c, 0x06, 0x53, 0x00, 0x5b, 0x9d, 0x0e, | ||
| 1577 | 0x45, 0x00, 0x5b, 0x9f, 0x08, 0xee, 0x00, 0x5b, | ||
| 1578 | 0xa2, 0x06, 0x6c, 0x00, 0x5b, 0xa3, 0x0a, 0x8f, | ||
| 1579 | 0x00, 0x5b, 0xa4, 0x08, 0xe8, 0x00, 0x5b, 0xa5, | ||
| 1580 | 0x0f, 0x12, 0x00, 0x5b, 0xa6, 0x12, 0x10, 0x00, | ||
| 1581 | 0x5b, 0xa8, 0x53, 0xbb, 0x00, 0x5b, 0xa9, 0x53, | ||
| 1582 | 0xbc, 0x00, 0x5b, 0xac, 0x44, 0x77, 0x00, 0x5b, | ||
| 1583 | 0xad, 0x53, 0xbd, 0x00, 0x5b, 0xae, 0x06, 0x76, | ||
| 1584 | 0x00, 0x5b, 0xaf, 0x53, 0xbe, 0x00, 0x5b, 0xb0, | ||
| 1585 | 0x08, 0x3b, 0x00, 0x5b, 0xb1, 0x53, 0xbf, 0x00, | ||
| 1586 | 0x5b, 0xb2, 0x53, 0xc0, 0x00, 0x5b, 0xb3, 0x05, | ||
| 1587 | 0x90, 0x00, 0x5b, 0xb4, 0x05, 0x05, 0x00, 0x5b, | ||
| 1588 | 0xb5, 0x09, 0x94, 0x00, 0x5b, 0xb6, 0x05, 0x48, | ||
| 1589 | 0x00, 0x5b, 0xb7, 0x4b, 0x79, 0x00, 0x5b, 0xb8, | ||
| 1590 | 0x12, 0x11, 0x00, 0x5b, 0xb9, 0x0f, 0x30, 0x00, | ||
| 1591 | 0x5b, 0xba, 0x53, 0xc1, 0x00, 0x5b, 0xbc, 0x53, | ||
| 1592 | 0xc2, 0x00, 0x5b, 0xbf, 0x09, 0x53, 0x00, 0x5b, | ||
| 1593 | 0xc0, 0x20, 0xf1, 0x00, 0x5b, 0xc1, 0x53, 0xc3, | ||
| 1594 | 0x00, 0x5b, 0xc2, 0x09, 0x10, 0x00, 0x5b, 0xc3, | ||
| 1595 | 0x12, 0x12, 0x00, 0x5b, 0xc4, 0x06, 0x2f, 0x00, | ||
| 1596 | 0x5b, 0xc5, 0x0c, 0xaa, 0x00, 0x5b, 0xc6, 0x0e, | ||
| 1597 | 0xb5, 0x00, 0x5b, 0xc7, 0x12, 0x13, 0x00, 0x5b, | ||
| 1598 | 0xc9, 0x12, 0x14, 0x00, 0x5b, 0xcc, 0x0d, 0xcb, | ||
| 1599 | 0x00, 0x5b, 0xcd, 0x53, 0xc4, 0x00, 0x5b, 0xce, | ||
| 1600 | 0x44, 0x7a, 0x00, 0x5b, 0xcf, 0x53, 0xc5, 0x00, | ||
| 1601 | 0x5b, 0xd0, 0x12, 0x16, 0x00, 0x5b, 0xd2, 0x05, | ||
| 1602 | 0xe4, 0x00, 0x5b, 0xd3, 0x06, 0xef, 0x00, 0x5b, | ||
| 1603 | 0xd4, 0x12, 0x15, 0x00, 0x5b, 0xd6, 0x44, 0x7b, | ||
| 1604 | 0x00, 0x5b, 0xd7, 0x4b, 0x7a, 0x00, 0x5b, 0xd8, | ||
| 1605 | 0x20, 0xf3, 0x00, 0x5b, 0xd9, 0x53, 0xc6, 0x00, | ||
| 1606 | 0x5b, 0xda, 0x53, 0xc7, 0x00, 0x5b, 0xdb, 0x05, | ||
| 1607 | 0xee, 0x00, 0x5b, 0xdd, 0x09, 0xf8, 0x00, 0x5b, | ||
| 1608 | 0xde, 0x12, 0x1a, 0x00, 0x5b, 0xdf, 0x08, 0x6f, | ||
| 1609 | 0x00, 0x5b, 0xe0, 0x4b, 0x7b, 0x00, 0x5b, 0xe1, | ||
| 1610 | 0x05, 0x49, 0x00, 0x5b, 0xe2, 0x12, 0x19, 0x00, | ||
| 1611 | 0x5b, 0xe4, 0x12, 0x17, 0x00, 0x5b, 0xe5, 0x12, | ||
| 1612 | 0x1b, 0x00, 0x5b, 0xe6, 0x12, 0x18, 0x00, 0x5b, | ||
| 1613 | 0xe7, 0x36, 0x93, 0x00, 0x5b, 0xe8, 0x14, 0x8e, | ||
| 1614 | 0x00, 0x5b, 0xe9, 0x09, 0xf9, 0x00, 0x5b, 0xeb, | ||
| 1615 | 0x12, 0x1c, 0x00, 0x5b, 0xec, 0x4f, 0x4e, 0x00, | ||
| 1616 | 0x5b, 0xee, 0x0f, 0x88, 0x00, 0x5b, 0xef, 0x53, | ||
| 1617 | 0xc8, 0x00, 0x5b, 0xf0, 0x12, 0x1d, 0x00, 0x5b, | ||
| 1618 | 0xf1, 0x44, 0x7e, 0x00, 0x5b, 0xf3, 0x12, 0x1f, | ||
| 1619 | 0x00, 0x5b, 0xf4, 0x53, 0xc9, 0x00, 0x5b, 0xf5, | ||
| 1620 | 0x0b, 0xbc, 0x00, 0x5b, 0xf6, 0x12, 0x1e, 0x00, | ||
| 1621 | 0x5b, 0xf8, 0x0a, 0x47, 0x00, 0x5b, 0xfa, 0x08, | ||
| 1622 | 0xc9, 0x00, 0x5b, 0xfd, 0x44, 0x7f, 0x00, 0x5b, | ||
| 1623 | 0xfe, 0x0b, 0x30, 0x00, 0x5b, 0xff, 0x09, 0x23, | ||
| 1624 | 0x00, 0x5c, 0x01, 0x0d, 0xe7, 0x00, 0x5c, 0x02, | ||
| 1625 | 0x0a, 0x90, 0x00, 0x5c, 0x03, 0x44, 0x81, 0x00, | ||
| 1626 | 0x5c, 0x04, 0x08, 0xf9, 0x00, 0x5c, 0x05, 0x12, | ||
| 1627 | 0x20, 0x00, 0x5c, 0x06, 0x36, 0x08, 0x00, 0x5c, | ||
| 1628 | 0x07, 0x12, 0x21, 0x00, 0x5c, 0x08, 0x12, 0x22, | ||
| 1629 | 0x00, 0x5c, 0x09, 0x04, 0x97, 0x00, 0x5c, 0x0a, | ||
| 1630 | 0x0b, 0x1a, 0x00, 0x5c, 0x0b, 0x0a, 0x18, 0x00, | ||
| 1631 | 0x5c, 0x0c, 0x53, 0xca, 0x00, 0x5c, 0x0d, 0x12, | ||
| 1632 | 0x23, 0x00, 0x5c, 0x0e, 0x0c, 0x8b, 0x00, 0x5c, | ||
| 1633 | 0x0f, 0x09, 0x96, 0x00, 0x5c, 0x11, 0x09, 0x97, | ||
| 1634 | 0x00, 0x5c, 0x12, 0x41, 0xc4, 0x00, 0x5c, 0x13, | ||
| 1635 | 0x12, 0x24, 0x00, 0x5c, 0x14, 0x37, 0x2a, 0x00, | ||
| 1636 | 0x5c, 0x16, 0x0a, 0x91, 0x00, 0x5c, 0x17, 0x53, | ||
| 1637 | 0xcb, 0x00, 0x5c, 0x19, 0x36, 0x0b, 0x00, 0x5c, | ||
| 1638 | 0x1a, 0x09, 0x98, 0x00, 0x5c, 0x1e, 0x20, 0xf5, | ||
| 1639 | 0x00, 0x5c, 0x1f, 0x4b, 0x7c, 0x00, 0x5c, 0x20, | ||
| 1640 | 0x12, 0x25, 0x00, 0x5c, 0x22, 0x12, 0x26, 0x00, | ||
| 1641 | 0x5c, 0x23, 0x38, 0x8c, 0x00, 0x5c, 0x24, 0x0e, | ||
| 1642 | 0xec, 0x00, 0x5c, 0x26, 0x53, 0xcc, 0x00, 0x5c, | ||
| 1643 | 0x28, 0x12, 0x27, 0x00, 0x5c, 0x29, 0x44, 0x82, | ||
| 1644 | 0x00, 0x5c, 0x2a, 0x4b, 0x7d, 0x00, 0x5c, 0x2b, | ||
| 1645 | 0x38, 0x8d, 0x00, 0x5c, 0x2c, 0x4b, 0x7e, 0x00, | ||
| 1646 | 0x5c, 0x2d, 0x06, 0xbe, 0x00, 0x5c, 0x2e, 0x53, | ||
| 1647 | 0xcd, 0x00, 0x5c, 0x30, 0x38, 0x8e, 0x00, 0x5c, | ||
| 1648 | 0x31, 0x09, 0x2c, 0x00, 0x5c, 0x32, 0x53, 0xce, | ||
| 1649 | 0x00, 0x5c, 0x35, 0x53, 0xcf, 0x00, 0x5c, 0x36, | ||
| 1650 | 0x4b, 0x7f, 0x00, 0x5c, 0x38, 0x12, 0x28, 0x00, | ||
| 1651 | 0x5c, 0x39, 0x12, 0x29, 0x00, 0x5c, 0x3a, 0x09, | ||
| 1652 | 0x08, 0x00, 0x5c, 0x3b, 0x09, 0xf2, 0x00, 0x5c, | ||
| 1653 | 0x3c, 0x0c, 0xcc, 0x00, 0x5c, 0x3d, 0x0a, 0x1a, | ||
| 1654 | 0x00, 0x5c, 0x3e, 0x0d, 0x8c, 0x00, 0x5c, 0x3f, | ||
| 1655 | 0x0c, 0xd8, 0x00, 0x5c, 0x40, 0x06, 0xc1, 0x00, | ||
| 1656 | 0x5c, 0x41, 0x12, 0x2a, 0x00, 0x5c, 0x45, 0x06, | ||
| 1657 | 0x89, 0x00, 0x5c, 0x46, 0x12, 0x2b, 0x00, 0x5c, | ||
| 1658 | 0x48, 0x06, 0xf6, 0x00, 0x5c, 0x4a, 0x0c, 0xa7, | ||
| 1659 | 0x00, 0x5c, 0x4b, 0x05, 0x30, 0x00, 0x5c, 0x4d, | ||
| 1660 | 0x08, 0xa1, 0x00, 0x5c, 0x4e, 0x12, 0x2c, 0x00, | ||
| 1661 | 0x5c, 0x4f, 0x12, 0x2f, 0x00, 0x5c, 0x50, 0x12, | ||
| 1662 | 0x2e, 0x00, 0x5c, 0x51, 0x06, 0xf5, 0x00, 0x5c, | ||
| 1663 | 0x53, 0x12, 0x2d, 0x00, 0x5c, 0x55, 0x0c, 0x32, | ||
| 1664 | 0x00, 0x5c, 0x59, 0x4b, 0x80, 0x00, 0x5c, 0x5a, | ||
| 1665 | 0x53, 0xd0, 0x00, 0x5c, 0x5b, 0x1e, 0x92, 0x00, | ||
| 1666 | 0x5c, 0x5c, 0x4b, 0x81, 0x00, 0x5c, 0x5e, 0x0b, | ||
| 1667 | 0x10, 0x00, 0x5c, 0x5f, 0x44, 0x84, 0x00, 0x5c, | ||
| 1668 | 0x60, 0x0c, 0x45, 0x00, 0x5c, 0x61, 0x08, 0xf4, | ||
| 1669 | 0x00, 0x5c, 0x62, 0x1e, 0x0d, 0x00, 0x5c, 0x63, | ||
| 1670 | 0x38, 0x8f, 0x00, 0x5c, 0x64, 0x0a, 0xda, 0x00, | ||
| 1671 | 0x5c, 0x65, 0x0f, 0x64, 0x00, 0x5c, 0x67, 0x44, | ||
| 1672 | 0x85, 0x00, 0x5c, 0x68, 0x44, 0x86, 0x00, 0x5c, | ||
| 1673 | 0x69, 0x38, 0x90, 0x00, 0x5c, 0x6c, 0x12, 0x31, | ||
| 1674 | 0x00, 0x5c, 0x6d, 0x4b, 0x82, 0x00, 0x5c, 0x6e, | ||
| 1675 | 0x41, 0xc5, 0x00, 0x5c, 0x6f, 0x0c, 0xae, 0x00, | ||
| 1676 | 0x5c, 0x70, 0x44, 0x87, 0x00, 0x5c, 0x71, 0x08, | ||
| 1677 | 0x81, 0x00, 0x5c, 0x74, 0x53, 0xd1, 0x00, 0x5c, | ||
| 1678 | 0x75, 0x53, 0xd2, 0x00, 0x5c, 0x76, 0x12, 0x34, | ||
| 1679 | 0x00, 0x5c, 0x79, 0x12, 0x35, 0x00, 0x5c, 0x7a, | ||
| 1680 | 0x41, 0xc7, 0x00, 0x5c, 0x7b, 0x53, 0xd3, 0x00, | ||
| 1681 | 0x5c, 0x7c, 0x38, 0x91, 0x00, 0x5c, 0x7d, 0x53, | ||
| 1682 | 0xd4, 0x00, 0x5c, 0x87, 0x53, 0xd5, 0x00, 0x5c, | ||
| 1683 | 0x88, 0x44, 0x8c, 0x00, 0x5c, 0x8a, 0x44, 0x8d, | ||
| 1684 | 0x00, 0x5c, 0x8c, 0x12, 0x36, 0x00, 0x5c, 0x8f, | ||
| 1685 | 0x41, 0xc8, 0x00, 0x5c, 0x90, 0x06, 0x30, 0x00, | ||
| 1686 | 0x5c, 0x91, 0x12, 0x37, 0x00, 0x5c, 0x92, 0x53, | ||
| 1687 | 0xd6, 0x00, 0x5c, 0x94, 0x12, 0x38, 0x00, 0x5c, | ||
| 1688 | 0x9d, 0x53, 0xd7, 0x00, 0x5c, 0x9f, 0x41, 0xc9, | ||
| 1689 | 0x00, 0x5c, 0xa0, 0x44, 0x91, 0x00, 0x5c, 0xa1, | ||
| 1690 | 0x05, 0x2c, 0x00, 0x5c, 0xa2, 0x44, 0x92, 0x00, | ||
| 1691 | 0x5c, 0xa3, 0x41, 0xca, 0x00, 0x5c, 0xa6, 0x20, | ||
| 1692 | 0xf6, 0x00, 0x5c, 0xa7, 0x44, 0x93, 0x00, 0x5c, | ||
| 1693 | 0xa8, 0x0a, 0xbd, 0x00, 0x5c, 0xa9, 0x06, 0x20, | ||
| 1694 | 0x00, 0x5c, 0xaa, 0x41, 0xcb, 0x00, 0x5c, 0xab, | ||
| 1695 | 0x12, 0x3a, 0x00, 0x5c, 0xac, 0x0e, 0xb4, 0x00, | ||
| 1696 | 0x5c, 0xad, 0x44, 0x95, 0x00, 0x5c, 0xb1, 0x0b, | ||
| 1697 | 0x32, 0x00, 0x5c, 0xb2, 0x53, 0xd8, 0x00, 0x5c, | ||
| 1698 | 0xb3, 0x05, 0xb7, 0x00, 0x5c, 0xb4, 0x53, 0xd9, | ||
| 1699 | 0x00, 0x5c, 0xb5, 0x44, 0x96, 0x00, 0x5c, 0xb6, | ||
| 1700 | 0x12, 0x3c, 0x00, 0x5c, 0xb7, 0x12, 0x3e, 0x00, | ||
| 1701 | 0x5c, 0xb8, 0x06, 0x1b, 0x00, 0x5c, 0xba, 0x20, | ||
| 1702 | 0xf7, 0x00, 0x5c, 0xbb, 0x12, 0x3b, 0x00, 0x5c, | ||
| 1703 | 0xbc, 0x12, 0x3d, 0x00, 0x5c, 0xbe, 0x12, 0x40, | ||
| 1704 | 0x00, 0x5c, 0xc5, 0x12, 0x3f, 0x00, 0x5c, 0xc7, | ||
| 1705 | 0x12, 0x41, 0x00, 0x5c, 0xc9, 0x44, 0x98, 0x00, | ||
| 1706 | 0x5c, 0xcb, 0x38, 0x92, 0x00, 0x5c, 0xd0, 0x41, | ||
| 1707 | 0xcc, 0x00, 0x5c, 0xd2, 0x38, 0x93, 0x00, 0x5c, | ||
| 1708 | 0xd7, 0x53, 0xda, 0x00, 0x5c, 0xd9, 0x12, 0x42, | ||
| 1709 | 0x00, 0x5c, 0xdd, 0x4b, 0x83, 0x00, 0x5c, 0xe0, | ||
| 1710 | 0x0c, 0x95, 0x00, 0x5c, 0xe1, 0x06, 0xa6, 0x00, | ||
| 1711 | 0x5c, 0xe6, 0x37, 0x2c, 0x00, 0x5c, 0xe8, 0x05, | ||
| 1712 | 0x65, 0x00, 0x5c, 0xe9, 0x12, 0x43, 0x00, 0x5c, | ||
| 1713 | 0xea, 0x12, 0x48, 0x00, 0x5c, 0xed, 0x12, 0x46, | ||
| 1714 | 0x00, 0x5c, 0xee, 0x53, 0xdb, 0x00, 0x5c, 0xef, | ||
| 1715 | 0x0e, 0x47, 0x00, 0x5c, 0xf0, 0x0e, 0x46, 0x00, | ||
| 1716 | 0x5c, 0xf1, 0x53, 0xdc, 0x00, 0x5c, 0xf2, 0x53, | ||
| 1717 | 0xdd, 0x00, 0x5c, 0xf4, 0x38, 0x94, 0x00, 0x5c, | ||
| 1718 | 0xf5, 0x20, 0xf8, 0x00, 0x5c, 0xf6, 0x0c, 0x61, | ||
| 1719 | 0x00, 0x5c, 0xfa, 0x12, 0x45, 0x00, 0x5c, 0xfb, | ||
| 1720 | 0x09, 0x5e, 0x00, 0x5c, 0xfd, 0x12, 0x44, 0x00, | ||
| 1721 | 0x5d, 0x01, 0x4b, 0x84, 0x00, 0x5d, 0x06, 0x44, | ||
| 1722 | 0x9b, 0x00, 0x5d, 0x07, 0x0a, 0x38, 0x00, 0x5d, | ||
| 1723 | 0x0b, 0x12, 0x49, 0x00, 0x5d, 0x0d, 0x41, 0xce, | ||
| 1724 | 0x00, 0x5d, 0x0e, 0x08, 0x5a, 0x00, 0x5d, 0x10, | ||
| 1725 | 0x44, 0x9c, 0x00, 0x5d, 0x11, 0x12, 0x4f, 0x00, | ||
| 1726 | 0x5d, 0x12, 0x53, 0xde, 0x00, 0x5d, 0x14, 0x12, | ||
| 1727 | 0x50, 0x00, 0x5d, 0x15, 0x12, 0x4a, 0x00, 0x5d, | ||
| 1728 | 0x16, 0x05, 0x91, 0x00, 0x5d, 0x17, 0x12, 0x4b, | ||
| 1729 | 0x00, 0x5d, 0x18, 0x12, 0x54, 0x00, 0x5d, 0x19, | ||
| 1730 | 0x12, 0x53, 0x00, 0x5d, 0x1a, 0x12, 0x52, 0x00, | ||
| 1731 | 0x5d, 0x1b, 0x12, 0x4e, 0x00, 0x5d, 0x1d, 0x44, | ||
| 1732 | 0x9e, 0x00, 0x5d, 0x1f, 0x12, 0x4d, 0x00, 0x5d, | ||
| 1733 | 0x20, 0x44, 0x9f, 0x00, 0x5d, 0x22, 0x12, 0x51, | ||
| 1734 | 0x00, 0x5d, 0x23, 0x53, 0xdf, 0x00, 0x5d, 0x24, | ||
| 1735 | 0x38, 0x95, 0x00, 0x5d, 0x26, 0x38, 0x96, 0x00, | ||
| 1736 | 0x5d, 0x27, 0x20, 0xf9, 0x00, 0x5d, 0x29, 0x0e, | ||
| 1737 | 0x48, 0x00, 0x5d, 0x2b, 0x44, 0x9d, 0x00, 0x5d, | ||
| 1738 | 0x31, 0x44, 0xa0, 0x00, 0x5d, 0x34, 0x4b, 0x85, | ||
| 1739 | 0x00, 0x5d, 0x39, 0x44, 0xa1, 0x00, 0x5d, 0x3d, | ||
| 1740 | 0x4b, 0x86, 0x00, 0x5d, 0x3f, 0x53, 0xe0, 0x00, | ||
| 1741 | 0x5d, 0x42, 0x20, 0xfc, 0x00, 0x5d, 0x43, 0x38, | ||
| 1742 | 0x97, 0x00, 0x5d, 0x46, 0x38, 0x98, 0x00, 0x5d, | ||
| 1743 | 0x47, 0x41, 0xcf, 0x00, 0x5d, 0x48, 0x53, 0xe1, | ||
| 1744 | 0x00, 0x5d, 0x4a, 0x38, 0x99, 0x00, 0x5d, 0x4b, | ||
| 1745 | 0x12, 0x58, 0x00, 0x5d, 0x4c, 0x12, 0x55, 0x00, | ||
| 1746 | 0x5d, 0x4e, 0x12, 0x57, 0x00, 0x5d, 0x50, 0x0f, | ||
| 1747 | 0x5c, 0x00, 0x5d, 0x51, 0x53, 0xe3, 0x00, 0x5d, | ||
| 1748 | 0x52, 0x12, 0x56, 0x00, 0x5d, 0x53, 0x20, 0xfa, | ||
| 1749 | 0x00, 0x5d, 0x55, 0x53, 0xe2, 0x00, 0x5d, 0x59, | ||
| 1750 | 0x4b, 0x87, 0x00, 0x5d, 0x5c, 0x12, 0x4c, 0x00, | ||
| 1751 | 0x5d, 0x5f, 0x53, 0xe4, 0x00, 0x5d, 0x60, 0x53, | ||
| 1752 | 0xe5, 0x00, 0x5d, 0x61, 0x44, 0xa3, 0x00, 0x5d, | ||
| 1753 | 0x62, 0x53, 0xe6, 0x00, 0x5d, 0x64, 0x53, 0xe7, | ||
| 1754 | 0x00, 0x5d, 0x69, 0x0a, 0x39, 0x00, 0x5d, 0x6a, | ||
| 1755 | 0x44, 0xa4, 0x00, 0x5d, 0x6c, 0x12, 0x59, 0x00, | ||
| 1756 | 0x5d, 0x6d, 0x20, 0xfd, 0x00, 0x5d, 0x6f, 0x08, | ||
| 1757 | 0x27, 0x00, 0x5d, 0x70, 0x44, 0xa6, 0x00, 0x5d, | ||
| 1758 | 0x73, 0x12, 0x5a, 0x00, 0x5d, 0x76, 0x12, 0x5b, | ||
| 1759 | 0x00, 0x5d, 0x79, 0x53, 0xe8, 0x00, 0x5d, 0x7a, | ||
| 1760 | 0x53, 0xe9, 0x00, 0x5d, 0x7e, 0x4b, 0x88, 0x00, | ||
| 1761 | 0x5d, 0x7f, 0x53, 0xea, 0x00, 0x5d, 0x81, 0x41, | ||
| 1762 | 0xd0, 0x00, 0x5d, 0x82, 0x12, 0x5e, 0x00, 0x5d, | ||
| 1763 | 0x83, 0x4b, 0x89, 0x00, 0x5d, 0x84, 0x12, 0x5d, | ||
| 1764 | 0x00, 0x5d, 0x87, 0x12, 0x5c, 0x00, 0x5d, 0x88, | ||
| 1765 | 0x44, 0xa9, 0x00, 0x5d, 0x8a, 0x53, 0xeb, 0x00, | ||
| 1766 | 0x5d, 0x8b, 0x0c, 0x62, 0x00, 0x5d, 0x8c, 0x12, | ||
| 1767 | 0x47, 0x00, 0x5d, 0x90, 0x12, 0x64, 0x00, 0x5d, | ||
| 1768 | 0x92, 0x38, 0x9a, 0x00, 0x5d, 0x93, 0x53, 0xec, | ||
| 1769 | 0x00, 0x5d, 0x94, 0x38, 0x9b, 0x00, 0x5d, 0x95, | ||
| 1770 | 0x53, 0xed, 0x00, 0x5d, 0x97, 0x44, 0xab, 0x00, | ||
| 1771 | 0x5d, 0x99, 0x38, 0x9c, 0x00, 0x5d, 0x9b, 0x53, | ||
| 1772 | 0xee, 0x00, 0x5d, 0x9d, 0x12, 0x60, 0x00, 0x5d, | ||
| 1773 | 0x9f, 0x53, 0xef, 0x00, 0x5d, 0xa0, 0x38, 0x9d, | ||
| 1774 | 0x00, 0x5d, 0xa2, 0x12, 0x5f, 0x00, 0x5d, 0xa4, | ||
| 1775 | 0x41, 0xd1, 0x00, 0x5d, 0xa7, 0x41, 0xd2, 0x00, | ||
| 1776 | 0x5d, 0xab, 0x53, 0xf0, 0x00, 0x5d, 0xac, 0x12, | ||
| 1777 | 0x61, 0x00, 0x5d, 0xae, 0x12, 0x62, 0x00, 0x5d, | ||
| 1778 | 0xb0, 0x44, 0xac, 0x00, 0x5d, 0xb2, 0x3b, 0xa5, | ||
| 1779 | 0x00, 0x5d, 0xb4, 0x44, 0xad, 0x00, 0x5d, 0xb7, | ||
| 1780 | 0x12, 0x65, 0x00, 0x5d, 0xb8, 0x20, 0xfe, 0x00, | ||
| 1781 | 0x5d, 0xb9, 0x20, 0xff, 0x00, 0x5d, 0xba, 0x0f, | ||
| 1782 | 0xae, 0x00, 0x5d, 0xbc, 0x12, 0x66, 0x00, 0x5d, | ||
| 1783 | 0xbd, 0x12, 0x63, 0x00, 0x5d, 0xc3, 0x53, 0xf1, | ||
| 1784 | 0x00, 0x5d, 0xc7, 0x4b, 0x8a, 0x00, 0x5d, 0xc9, | ||
| 1785 | 0x12, 0x67, 0x00, 0x5d, 0xcb, 0x41, 0xd3, 0x00, | ||
| 1786 | 0x5d, 0xcc, 0x06, 0x1c, 0x00, 0x5d, 0xcd, 0x12, | ||
| 1787 | 0x68, 0x00, 0x5d, 0xce, 0x53, 0xf2, 0x00, 0x5d, | ||
| 1788 | 0xd0, 0x21, 0x00, 0x00, 0x5d, 0xd1, 0x44, 0xaf, | ||
| 1789 | 0x00, 0x5d, 0xd2, 0x12, 0x6a, 0x00, 0x5d, 0xd3, | ||
| 1790 | 0x12, 0x69, 0x00, 0x5d, 0xd6, 0x12, 0x6b, 0x00, | ||
| 1791 | 0x5d, 0xd7, 0x44, 0xb0, 0x00, 0x5d, 0xd8, 0x38, | ||
| 1792 | 0x9e, 0x00, 0x5d, 0xd9, 0x53, 0xf3, 0x00, 0x5d, | ||
| 1793 | 0xdb, 0x12, 0x6c, 0x00, 0x5d, 0xdd, 0x0a, 0x92, | ||
| 1794 | 0x00, 0x5d, 0xde, 0x09, 0x2d, 0x00, 0x5d, 0xe0, | ||
| 1795 | 0x38, 0x9f, 0x00, 0x5d, 0xe1, 0x09, 0x6e, 0x00, | ||
| 1796 | 0x5d, 0xe2, 0x34, 0x32, 0x00, 0x5d, 0xe3, 0x0a, | ||
| 1797 | 0xe5, 0x00, 0x5d, 0xe4, 0x44, 0xb2, 0x00, 0x5d, | ||
| 1798 | 0xe5, 0x07, 0xbb, 0x00, 0x5d, 0xe6, 0x08, 0x28, | ||
| 1799 | 0x00, 0x5d, 0xe7, 0x07, 0xbc, 0x00, 0x5d, 0xe8, | ||
| 1800 | 0x06, 0x8a, 0x00, 0x5d, 0xe9, 0x44, 0xb3, 0x00, | ||
| 1801 | 0x5d, 0xeb, 0x12, 0x6d, 0x00, 0x5d, 0xee, 0x08, | ||
| 1802 | 0x29, 0x00, 0x5d, 0xf1, 0x07, 0x7e, 0x00, 0x5d, | ||
| 1803 | 0xf2, 0x12, 0x6e, 0x00, 0x5d, 0xf3, 0x0e, 0xb2, | ||
| 1804 | 0x00, 0x5d, 0xf4, 0x0c, 0xf9, 0x00, 0x5d, 0xf5, | ||
| 1805 | 0x12, 0x6f, 0x00, 0x5d, 0xf7, 0x07, 0xbd, 0x00, | ||
| 1806 | 0x5d, 0xf8, 0x38, 0xa0, 0x00, 0x5d, 0xf9, 0x4b, | ||
| 1807 | 0x8b, 0x00, 0x5d, 0xfb, 0x05, 0xe8, 0x00, 0x5d, | ||
| 1808 | 0xfd, 0x1e, 0x36, 0x00, 0x5d, 0xfe, 0x06, 0xca, | ||
| 1809 | 0x00, 0x5d, 0xff, 0x35, 0xe2, 0x00, 0x5e, 0x00, | ||
| 1810 | 0x38, 0xa1, 0x00, 0x5e, 0x02, 0x08, 0xa2, 0x00, | ||
| 1811 | 0x5e, 0x03, 0x0d, 0xcd, 0x00, 0x5e, 0x06, 0x0d, | ||
| 1812 | 0x55, 0x00, 0x5e, 0x07, 0x53, 0xf4, 0x00, 0x5e, | ||
| 1813 | 0x0b, 0x12, 0x70, 0x00, 0x5e, 0x0c, 0x06, 0x31, | ||
| 1814 | 0x00, 0x5e, 0x0d, 0x53, 0xf5, 0x00, 0x5e, 0x11, | ||
| 1815 | 0x12, 0x73, 0x00, 0x5e, 0x12, 0x38, 0xa2, 0x00, | ||
| 1816 | 0x5e, 0x14, 0x38, 0xa3, 0x00, 0x5e, 0x15, 0x38, | ||
| 1817 | 0xa4, 0x00, 0x5e, 0x16, 0x0b, 0xbd, 0x00, 0x5e, | ||
| 1818 | 0x18, 0x38, 0xa5, 0x00, 0x5e, 0x19, 0x12, 0x72, | ||
| 1819 | 0x00, 0x5e, 0x1a, 0x12, 0x71, 0x00, 0x5e, 0x1b, | ||
| 1820 | 0x12, 0x74, 0x00, 0x5e, 0x1d, 0x0c, 0x07, 0x00, | ||
| 1821 | 0x5e, 0x1f, 0x44, 0xb7, 0x00, 0x5e, 0x20, 0x53, | ||
| 1822 | 0xf6, 0x00, 0x5e, 0x25, 0x0a, 0x29, 0x00, 0x5e, | ||
| 1823 | 0x28, 0x4b, 0x8c, 0x00, 0x5e, 0x2b, 0x08, 0xa3, | ||
| 1824 | 0x00, 0x5e, 0x2d, 0x0a, 0x6e, 0x00, 0x5e, 0x2e, | ||
| 1825 | 0x38, 0xa6, 0x00, 0x5e, 0x2f, 0x0b, 0x33, 0x00, | ||
| 1826 | 0x5e, 0x30, 0x06, 0x3c, 0x00, 0x5e, 0x32, 0x4b, | ||
| 1827 | 0x8d, 0x00, 0x5e, 0x33, 0x0b, 0xbe, 0x00, 0x5e, | ||
| 1828 | 0x35, 0x4b, 0x8e, 0x00, 0x5e, 0x36, 0x12, 0x75, | ||
| 1829 | 0x00, 0x5e, 0x37, 0x12, 0x76, 0x00, 0x5e, 0x38, | ||
| 1830 | 0x09, 0xd7, 0x00, 0x5e, 0x3d, 0x0e, 0x67, 0x00, | ||
| 1831 | 0x5e, 0x3e, 0x44, 0xb8, 0x00, 0x5e, 0x40, 0x12, | ||
| 1832 | 0x79, 0x00, 0x5e, 0x43, 0x12, 0x78, 0x00, 0x5e, | ||
| 1833 | 0x44, 0x12, 0x77, 0x00, 0x5e, 0x45, 0x0d, 0xef, | ||
| 1834 | 0x00, 0x5e, 0x47, 0x12, 0x80, 0x00, 0x5e, 0x49, | ||
| 1835 | 0x44, 0xb9, 0x00, 0x5e, 0x4b, 0x53, 0xf7, 0x00, | ||
| 1836 | 0x5e, 0x4c, 0x0e, 0x88, 0x00, 0x5e, 0x4e, 0x12, | ||
| 1837 | 0x7a, 0x00, 0x5e, 0x50, 0x53, 0xf8, 0x00, 0x5e, | ||
| 1838 | 0x51, 0x53, 0xf9, 0x00, 0x5e, 0x54, 0x12, 0x7c, | ||
| 1839 | 0x00, 0x5e, 0x55, 0x0e, 0x99, 0x00, 0x5e, 0x56, | ||
| 1840 | 0x44, 0xbb, 0x00, 0x5e, 0x57, 0x12, 0x7b, 0x00, | ||
| 1841 | 0x5e, 0x58, 0x38, 0xa7, 0x00, 0x5e, 0x5b, 0x4b, | ||
| 1842 | 0x8f, 0x00, 0x5e, 0x5c, 0x53, 0xfa, 0x00, 0x5e, | ||
| 1843 | 0x5e, 0x41, 0xd4, 0x00, 0x5e, 0x5f, 0x12, 0x7d, | ||
| 1844 | 0x00, 0x5e, 0x61, 0x0d, 0x3c, 0x00, 0x5e, 0x62, | ||
| 1845 | 0x12, 0x7e, 0x00, 0x5e, 0x63, 0x0e, 0x0e, 0x00, | ||
| 1846 | 0x5e, 0x64, 0x12, 0x7f, 0x00, 0x5e, 0x68, 0x4b, | ||
| 1847 | 0x90, 0x00, 0x5e, 0x6a, 0x4b, 0x91, 0x00, 0x5e, | ||
| 1848 | 0x6b, 0x38, 0xa8, 0x00, 0x5e, 0x6c, 0x38, 0xa9, | ||
| 1849 | 0x00, 0x5e, 0x6d, 0x44, 0xbd, 0x00, 0x5e, 0x6e, | ||
| 1850 | 0x44, 0xbe, 0x00, 0x5e, 0x70, 0x53, 0xfb, 0x00, | ||
| 1851 | 0x5e, 0x72, 0x05, 0xef, 0x00, 0x5e, 0x73, 0x0e, | ||
| 1852 | 0x0f, 0x00, 0x5e, 0x74, 0x0c, 0xe5, 0x00, 0x5e, | ||
| 1853 | 0x75, 0x12, 0x81, 0x00, 0x5e, 0x76, 0x12, 0x82, | ||
| 1854 | 0x00, 0x5e, 0x77, 0x4b, 0x92, 0x00, 0x5e, 0x78, | ||
| 1855 | 0x07, 0xbe, 0x00, 0x5e, 0x79, 0x05, 0xf0, 0x00, | ||
| 1856 | 0x5e, 0x7a, 0x12, 0x83, 0x00, 0x5e, 0x7b, 0x07, | ||
| 1857 | 0x6c, 0x00, 0x5e, 0x7c, 0x0f, 0x2e, 0x00, 0x5e, | ||
| 1858 | 0x7d, 0x0f, 0x13, 0x00, 0x5e, 0x7e, 0x06, 0x32, | ||
| 1859 | 0x00, 0x5e, 0x7f, 0x12, 0x85, 0x00, 0x5e, 0x80, | ||
| 1860 | 0x4b, 0x93, 0x00, 0x5e, 0x81, 0x0b, 0xbf, 0x00, | ||
| 1861 | 0x5e, 0x83, 0x07, 0xbf, 0x00, 0x5e, 0x84, 0x09, | ||
| 1862 | 0x99, 0x00, 0x5e, 0x87, 0x0d, 0x73, 0x00, 0x5e, | ||
| 1863 | 0x8a, 0x09, 0x9a, 0x00, 0x5e, 0x8b, 0x4b, 0x94, | ||
| 1864 | 0x00, 0x5e, 0x8e, 0x53, 0xfc, 0x00, 0x5e, 0x8f, | ||
| 1865 | 0x09, 0x82, 0x00, 0x5e, 0x95, 0x0c, 0x08, 0x00, | ||
| 1866 | 0x5e, 0x96, 0x0e, 0x49, 0x00, 0x5e, 0x97, 0x0c, | ||
| 1867 | 0x33, 0x00, 0x5e, 0x99, 0x36, 0xb0, 0x00, 0x5e, | ||
| 1868 | 0x9a, 0x07, 0xc0, 0x00, 0x5e, 0x9c, 0x0d, 0xce, | ||
| 1869 | 0x00, 0x5e, 0xa0, 0x12, 0x86, 0x00, 0x5e, 0xa2, | ||
| 1870 | 0x53, 0xfd, 0x00, 0x5e, 0xa4, 0x53, 0xfe, 0x00, | ||
| 1871 | 0x5e, 0xa5, 0x44, 0xc0, 0x00, 0x5e, 0xa6, 0x0c, | ||
| 1872 | 0x53, 0x00, 0x5e, 0xa7, 0x08, 0x32, 0x00, 0x5e, | ||
| 1873 | 0xa8, 0x38, 0xaa, 0x00, 0x5e, 0xaa, 0x38, 0xab, | ||
| 1874 | 0x00, 0x5e, 0xab, 0x07, 0x7f, 0x00, 0x5e, 0xac, | ||
| 1875 | 0x44, 0xc1, 0x00, 0x5e, 0xad, 0x0c, 0x09, 0x00, | ||
| 1876 | 0x5e, 0xb1, 0x53, 0xff, 0x00, 0x5e, 0xb3, 0x4b, | ||
| 1877 | 0x95, 0x00, 0x5e, 0xb5, 0x04, 0x87, 0x00, 0x5e, | ||
| 1878 | 0xb6, 0x09, 0x78, 0x00, 0x5e, 0xb7, 0x07, 0xc1, | ||
| 1879 | 0x00, 0x5e, 0xb8, 0x0f, 0x31, 0x00, 0x5e, 0xb9, | ||
| 1880 | 0x44, 0xc2, 0x00, 0x5e, 0xbd, 0x4b, 0x96, 0x00, | ||
| 1881 | 0x5e, 0xbe, 0x38, 0xac, 0x00, 0x5e, 0xbf, 0x38, | ||
| 1882 | 0xad, 0x00, 0x5e, 0xc1, 0x12, 0x87, 0x00, 0x5e, | ||
| 1883 | 0xc2, 0x12, 0x88, 0x00, 0x5e, 0xc3, 0x0d, 0x07, | ||
| 1884 | 0x00, 0x5e, 0xc6, 0x44, 0xc3, 0x00, 0x5e, 0xc8, | ||
| 1885 | 0x12, 0x89, 0x00, 0x5e, 0xc9, 0x37, 0x0f, 0x00, | ||
| 1886 | 0x5e, 0xca, 0x0f, 0xd3, 0x00, 0x5e, 0xcb, 0x3c, | ||
| 1887 | 0x1e, 0x00, 0x5e, 0xcc, 0x54, 0x00, 0x00, 0x5e, | ||
| 1888 | 0xce, 0x54, 0x01, 0x00, 0x5e, 0xcf, 0x12, 0x8b, | ||
| 1889 | 0x00, 0x5e, 0xd0, 0x12, 0x8a, 0x00, 0x5e, 0xd1, | ||
| 1890 | 0x4b, 0x97, 0x00, 0x5e, 0xd2, 0x38, 0xaf, 0x00, | ||
| 1891 | 0x5e, 0xd3, 0x05, 0xa5, 0x00, 0x5e, 0xd4, 0x4b, | ||
| 1892 | 0x98, 0x00, 0x5e, 0xd5, 0x4b, 0x99, 0x00, 0x5e, | ||
| 1893 | 0xd6, 0x12, 0x8c, 0x00, 0x5e, 0xd9, 0x44, 0xc4, | ||
| 1894 | 0x00, 0x5e, 0xda, 0x12, 0x8f, 0x00, 0x5e, 0xdb, | ||
| 1895 | 0x12, 0x90, 0x00, 0x5e, 0xdc, 0x54, 0x02, 0x00, | ||
| 1896 | 0x5e, 0xdd, 0x12, 0x8e, 0x00, 0x5e, 0xde, 0x54, | ||
| 1897 | 0x03, 0x00, 0x5e, 0xdf, 0x0d, 0xb2, 0x00, 0x5e, | ||
| 1898 | 0xe0, 0x09, 0x9b, 0x00, 0x5e, 0xe1, 0x12, 0x92, | ||
| 1899 | 0x00, 0x5e, 0xe2, 0x12, 0x91, 0x00, 0x5e, 0xe3, | ||
| 1900 | 0x12, 0x8d, 0x00, 0x5e, 0xe5, 0x54, 0x04, 0x00, | ||
| 1901 | 0x5e, 0xe8, 0x12, 0x93, 0x00, 0x5e, 0xe9, 0x12, | ||
| 1902 | 0x94, 0x00, 0x5e, 0xeb, 0x54, 0x05, 0x00, 0x5e, | ||
| 1903 | 0xec, 0x12, 0x95, 0x00, 0x5e, 0xf0, 0x12, 0x98, | ||
| 1904 | 0x00, 0x5e, 0xf1, 0x12, 0x96, 0x00, 0x5e, 0xf3, | ||
| 1905 | 0x12, 0x97, 0x00, 0x5e, 0xf4, 0x12, 0x99, 0x00, | ||
| 1906 | 0x5e, 0xf6, 0x05, 0x06, 0x00, 0x5e, 0xf7, 0x0c, | ||
| 1907 | 0x0a, 0x00, 0x5e, 0xf8, 0x12, 0x9a, 0x00, 0x5e, | ||
| 1908 | 0xf9, 0x41, 0xd5, 0x00, 0x5e, 0xfa, 0x07, 0x50, | ||
| 1909 | 0x00, 0x5e, 0xfb, 0x05, 0x76, 0x00, 0x5e, 0xfc, | ||
| 1910 | 0x0c, 0xec, 0x00, 0x5e, 0xfd, 0x44, 0xc6, 0x00, | ||
| 1911 | 0x5e, 0xfe, 0x12, 0x9b, 0x00, 0x5e, 0xff, 0x0c, | ||
| 1912 | 0xd3, 0x00, 0x5f, 0x00, 0x41, 0xd6, 0x00, 0x5f, | ||
| 1913 | 0x01, 0x0e, 0x2b, 0x00, 0x5f, 0x02, 0x41, 0xd7, | ||
| 1914 | 0x00, 0x5f, 0x03, 0x12, 0x9c, 0x00, 0x5f, 0x04, | ||
| 1915 | 0x0f, 0xd4, 0x00, 0x5f, 0x06, 0x54, 0x06, 0x00, | ||
| 1916 | 0x5f, 0x07, 0x38, 0xb0, 0x00, 0x5f, 0x08, 0x44, | ||
| 1917 | 0xc7, 0x00, 0x5f, 0x09, 0x12, 0x9d, 0x00, 0x5f, | ||
| 1918 | 0x0a, 0x0e, 0x10, 0x00, 0x5f, 0x0b, 0x12, 0xa0, | ||
| 1919 | 0x00, 0x5f, 0x0c, 0x0f, 0xfa, 0x00, 0x5f, 0x0d, | ||
| 1920 | 0x10, 0x0a, 0x00, 0x5f, 0x0e, 0x38, 0xb1, 0x00, | ||
| 1921 | 0x5f, 0x0f, 0x08, 0xdc, 0x00, 0x5f, 0x10, 0x0c, | ||
| 1922 | 0xcd, 0x00, 0x5f, 0x11, 0x12, 0xa1, 0x00, 0x5f, | ||
| 1923 | 0x13, 0x06, 0x77, 0x00, 0x5f, 0x14, 0x0b, 0xc0, | ||
| 1924 | 0x00, 0x5f, 0x15, 0x04, 0xbe, 0x00, 0x5f, 0x16, | ||
| 1925 | 0x12, 0xa2, 0x00, 0x5f, 0x17, 0x0d, 0xf6, 0x00, | ||
| 1926 | 0x5f, 0x18, 0x07, 0xc2, 0x00, 0x5f, 0x19, 0x54, | ||
| 1927 | 0x07, 0x00, 0x5f, 0x1b, 0x0b, 0x8e, 0x00, 0x5f, | ||
| 1928 | 0x1c, 0x38, 0xb2, 0x00, 0x5f, 0x1d, 0x38, 0xb3, | ||
| 1929 | 0x00, 0x5f, 0x1e, 0x44, 0xc9, 0x00, 0x5f, 0x1f, | ||
| 1930 | 0x0c, 0x0b, 0x00, 0x5f, 0x21, 0x21, 0x01, 0x00, | ||
| 1931 | 0x5f, 0x22, 0x38, 0xb4, 0x00, 0x5f, 0x23, 0x41, | ||
| 1932 | 0xd8, 0x00, 0x5f, 0x24, 0x54, 0x08, 0x00, 0x5f, | ||
| 1933 | 0x25, 0x0e, 0xfb, 0x00, 0x5f, 0x26, 0x07, 0x6d, | ||
| 1934 | 0x00, 0x5f, 0x27, 0x07, 0x80, 0x00, 0x5f, 0x28, | ||
| 1935 | 0x38, 0xb5, 0x00, 0x5f, 0x29, 0x12, 0xa3, 0x00, | ||
| 1936 | 0x5f, 0x2b, 0x54, 0x09, 0x00, 0x5f, 0x2c, 0x54, | ||
| 1937 | 0x0a, 0x00, 0x5f, 0x2d, 0x12, 0xa4, 0x00, 0x5f, | ||
| 1938 | 0x2e, 0x54, 0x0b, 0x00, 0x5f, 0x2f, 0x12, 0xaa, | ||
| 1939 | 0x00, 0x5f, 0x30, 0x54, 0x0c, 0x00, 0x5f, 0x31, | ||
| 1940 | 0x09, 0x11, 0x00, 0x5f, 0x34, 0x21, 0x02, 0x00, | ||
| 1941 | 0x5f, 0x35, 0x0b, 0xc1, 0x00, 0x5f, 0x36, 0x38, | ||
| 1942 | 0xb6, 0x00, 0x5f, 0x37, 0x06, 0xa7, 0x00, 0x5f, | ||
| 1943 | 0x38, 0x12, 0xa5, 0x00, 0x5f, 0x3a, 0x35, 0x98, | ||
| 1944 | 0x00, 0x5f, 0x3b, 0x38, 0xb7, 0x00, 0x5f, 0x3c, | ||
| 1945 | 0x0d, 0x9d, 0x00, 0x5f, 0x3d, 0x41, 0xd9, 0x00, | ||
| 1946 | 0x5f, 0x3e, 0x0b, 0x84, 0x00, 0x5f, 0x3f, 0x54, | ||
| 1947 | 0x0d, 0x00, 0x5f, 0x40, 0x38, 0xb8, 0x00, 0x5f, | ||
| 1948 | 0x41, 0x12, 0xa6, 0x00, 0x5f, 0x44, 0x54, 0x0e, | ||
| 1949 | 0x00, 0x5f, 0x45, 0x20, 0xb2, 0x00, 0x5f, 0x47, | ||
| 1950 | 0x44, 0xca, 0x00, 0x5f, 0x48, 0x12, 0xa7, 0x00, | ||
| 1951 | 0x5f, 0x4a, 0x06, 0xa8, 0x00, 0x5f, 0x4c, 0x12, | ||
| 1952 | 0xa8, 0x00, 0x5f, 0x4d, 0x4b, 0x9a, 0x00, 0x5f, | ||
| 1953 | 0x4e, 0x12, 0xa9, 0x00, 0x5f, 0x50, 0x38, 0xb9, | ||
| 1954 | 0x00, 0x5f, 0x51, 0x12, 0xab, 0x00, 0x5f, 0x53, | ||
| 1955 | 0x0c, 0x70, 0x00, 0x5f, 0x54, 0x41, 0xda, 0x00, | ||
| 1956 | 0x5f, 0x56, 0x12, 0xac, 0x00, 0x5f, 0x57, 0x12, | ||
| 1957 | 0xad, 0x00, 0x5f, 0x58, 0x38, 0xba, 0x00, 0x5f, | ||
| 1958 | 0x59, 0x12, 0xae, 0x00, 0x5f, 0x5b, 0x54, 0x0f, | ||
| 1959 | 0x00, 0x5f, 0x5c, 0x12, 0x9f, 0x00, 0x5f, 0x5d, | ||
| 1960 | 0x12, 0x9e, 0x00, 0x5f, 0x60, 0x54, 0x10, 0x00, | ||
| 1961 | 0x5f, 0x61, 0x12, 0xaf, 0x00, 0x5f, 0x62, 0x07, | ||
| 1962 | 0x17, 0x00, 0x5f, 0x63, 0x44, 0xcb, 0x00, 0x5f, | ||
| 1963 | 0x64, 0x38, 0xbb, 0x00, 0x5f, 0x65, 0x36, 0xac, | ||
| 1964 | 0x00, 0x5f, 0x66, 0x0d, 0x99, 0x00, 0x5f, 0x67, | ||
| 1965 | 0x21, 0x03, 0x00, 0x5f, 0x69, 0x08, 0x3c, 0x00, | ||
| 1966 | 0x5f, 0x6a, 0x0d, 0xa9, 0x00, 0x5f, 0x6b, 0x0b, | ||
| 1967 | 0xc2, 0x00, 0x5f, 0x6c, 0x0d, 0xbd, 0x00, 0x5f, | ||
| 1968 | 0x6d, 0x12, 0xb0, 0x00, 0x5f, 0x6f, 0x54, 0x11, | ||
| 1969 | 0x00, 0x5f, 0x70, 0x09, 0x9c, 0x00, 0x5f, 0x71, | ||
| 1970 | 0x04, 0xe8, 0x00, 0x5f, 0x72, 0x44, 0xcc, 0x00, | ||
| 1971 | 0x5f, 0x73, 0x12, 0xb1, 0x00, 0x5f, 0x74, 0x54, | ||
| 1972 | 0x12, 0x00, 0x5f, 0x75, 0x54, 0x13, 0x00, 0x5f, | ||
| 1973 | 0x77, 0x12, 0xb2, 0x00, 0x5f, 0x78, 0x54, 0x14, | ||
| 1974 | 0x00, 0x5f, 0x79, 0x0e, 0xfe, 0x00, 0x5f, 0x7a, | ||
| 1975 | 0x54, 0x15, 0x00, 0x5f, 0x7c, 0x0d, 0x74, 0x00, | ||
| 1976 | 0x5f, 0x7d, 0x41, 0xdb, 0x00, 0x5f, 0x7e, 0x44, | ||
| 1977 | 0xcd, 0x00, 0x5f, 0x7f, 0x12, 0xb5, 0x00, 0x5f, | ||
| 1978 | 0x80, 0x05, 0x1f, 0x00, 0x5f, 0x81, 0x0a, 0x50, | ||
| 1979 | 0x00, 0x5f, 0x82, 0x12, 0xb4, 0x00, 0x5f, 0x83, | ||
| 1980 | 0x12, 0xb3, 0x00, 0x5f, 0x84, 0x07, 0x18, 0x00, | ||
| 1981 | 0x5f, 0x85, 0x0b, 0x34, 0x00, 0x5f, 0x87, 0x12, | ||
| 1982 | 0xb9, 0x00, 0x5f, 0x88, 0x12, 0xb7, 0x00, 0x5f, | ||
| 1983 | 0x89, 0x38, 0xbc, 0x00, 0x5f, 0x8a, 0x12, 0xb6, | ||
| 1984 | 0x00, 0x5f, 0x8b, 0x0f, 0x6f, 0x00, 0x5f, 0x8c, | ||
| 1985 | 0x07, 0x99, 0x00, 0x5f, 0x8d, 0x54, 0x16, 0x00, | ||
| 1986 | 0x5f, 0x8f, 0x44, 0xce, 0x00, 0x5f, 0x90, 0x09, | ||
| 1987 | 0x83, 0x00, 0x5f, 0x91, 0x12, 0xb8, 0x00, 0x5f, | ||
| 1988 | 0x92, 0x0c, 0x46, 0x00, 0x5f, 0x93, 0x09, 0x48, | ||
| 1989 | 0x00, 0x5f, 0x96, 0x54, 0x17, 0x00, 0x5f, 0x97, | ||
| 1990 | 0x0c, 0x98, 0x00, 0x5f, 0x98, 0x12, 0xbc, 0x00, | ||
| 1991 | 0x5f, 0x99, 0x12, 0xbb, 0x00, 0x5f, 0x9c, 0x38, | ||
| 1992 | 0xbd, 0x00, 0x5f, 0x9d, 0x54, 0x18, 0x00, 0x5f, | ||
| 1993 | 0x9e, 0x12, 0xba, 0x00, 0x5f, 0xa0, 0x12, 0xbd, | ||
| 1994 | 0x00, 0x5f, 0xa1, 0x07, 0x9a, 0x00, 0x5f, 0xa2, | ||
| 1995 | 0x44, 0xcf, 0x00, 0x5f, 0xa4, 0x38, 0xbf, 0x00, | ||
| 1996 | 0x5f, 0xa7, 0x38, 0xbe, 0x00, 0x5f, 0xa8, 0x12, | ||
| 1997 | 0xbe, 0x00, 0x5f, 0xa9, 0x0d, 0xee, 0x00, 0x5f, | ||
| 1998 | 0xaa, 0x09, 0x65, 0x00, 0x5f, 0xab, 0x54, 0x19, | ||
| 1999 | 0x00, 0x5f, 0xac, 0x4b, 0x9b, 0x00, 0x5f, 0xad, | ||
| 2000 | 0x12, 0xbf, 0x00, 0x5f, 0xae, 0x0d, 0x8d, 0x00, | ||
| 2001 | 0x5f, 0xaf, 0x38, 0xc0, 0x00, 0x5f, 0xb0, 0x54, | ||
| 2002 | 0x1a, 0x00, 0x5f, 0xb1, 0x54, 0x1b, 0x00, 0x5f, | ||
| 2003 | 0xb3, 0x0c, 0x99, 0x00, 0x5f, 0xb4, 0x0b, 0xc3, | ||
| 2004 | 0x00, 0x5f, 0xb5, 0x34, 0x38, 0x00, 0x5f, 0xb7, | ||
| 2005 | 0x21, 0x04, 0x00, 0x5f, 0xb8, 0x38, 0xc1, 0x00, | ||
| 2006 | 0x5f, 0xb9, 0x0c, 0x2a, 0x00, 0x5f, 0xbc, 0x12, | ||
| 2007 | 0xc0, 0x00, 0x5f, 0xbd, 0x06, 0x45, 0x00, 0x5f, | ||
| 2008 | 0xc3, 0x09, 0xfa, 0x00, 0x5f, 0xc4, 0x38, 0xc2, | ||
| 2009 | 0x00, 0x5f, 0xc5, 0x0d, 0x9e, 0x00, 0x5f, 0xc7, | ||
| 2010 | 0x44, 0xd0, 0x00, 0x5f, 0xc8, 0x54, 0x1c, 0x00, | ||
| 2011 | 0x5f, 0xc9, 0x38, 0xc3, 0x00, 0x5f, 0xcb, 0x44, | ||
| 2012 | 0xd1, 0x00, 0x5f, 0xcc, 0x06, 0x33, 0x00, 0x5f, | ||
| 2013 | 0xcd, 0x0c, 0xdc, 0x00, 0x5f, 0xd0, 0x54, 0x1d, | ||
| 2014 | 0x00, 0x5f, 0xd1, 0x54, 0x1e, 0x00, 0x5f, 0xd2, | ||
| 2015 | 0x44, 0xd2, 0x00, 0x5f, 0xd3, 0x44, 0xd3, 0x00, | ||
| 2016 | 0x5f, 0xd4, 0x44, 0xd4, 0x00, 0x5f, 0xd6, 0x12, | ||
| 2017 | 0xc1, 0x00, 0x5f, 0xd7, 0x08, 0xa4, 0x00, 0x5f, | ||
| 2018 | 0xd8, 0x0e, 0x68, 0x00, 0x5f, 0xd9, 0x0e, 0x69, | ||
| 2019 | 0x00, 0x5f, 0xdc, 0x05, 0x20, 0x00, 0x5f, 0xdd, | ||
| 2020 | 0x12, 0xc6, 0x00, 0x5f, 0xde, 0x21, 0x05, 0x00, | ||
| 2021 | 0x5f, 0xe0, 0x0b, 0xa7, 0x00, 0x5f, 0xe1, 0x38, | ||
| 2022 | 0xc4, 0x00, 0x5f, 0xe2, 0x44, 0xd5, 0x00, 0x5f, | ||
| 2023 | 0xe4, 0x12, 0xc3, 0x00, 0x5f, 0xe8, 0x54, 0x1f, | ||
| 2024 | 0x00, 0x5f, 0xe9, 0x38, 0xc5, 0x00, 0x5f, 0xea, | ||
| 2025 | 0x4b, 0x9c, 0x00, 0x5f, 0xeb, 0x05, 0x77, 0x00, | ||
| 2026 | 0x5f, 0xec, 0x54, 0x20, 0x00, 0x5f, 0xed, 0x38, | ||
| 2027 | 0xc6, 0x00, 0x5f, 0xee, 0x44, 0xd6, 0x00, 0x5f, | ||
| 2028 | 0xef, 0x44, 0xd7, 0x00, 0x5f, 0xf0, 0x12, 0xf6, | ||
| 2029 | 0x00, 0x5f, 0xf1, 0x12, 0xc5, 0x00, 0x5f, 0xf2, | ||
| 2030 | 0x54, 0x21, 0x00, 0x5f, 0xf3, 0x44, 0xd8, 0x00, | ||
| 2031 | 0x5f, 0xf5, 0x0c, 0xe6, 0x00, 0x5f, 0xf6, 0x54, | ||
| 2032 | 0x22, 0x00, 0x5f, 0xf8, 0x12, 0xc4, 0x00, 0x5f, | ||
| 2033 | 0xfa, 0x54, 0x23, 0x00, 0x5f, 0xfb, 0x12, 0xc2, | ||
| 2034 | 0x00, 0x5f, 0xfc, 0x38, 0xc7, 0x00, 0x5f, 0xfd, | ||
| 2035 | 0x08, 0x0c, 0x00, 0x5f, 0xff, 0x12, 0xc8, 0x00, | ||
| 2036 | 0x60, 0x07, 0x4b, 0x9d, 0x00, 0x60, 0x0a, 0x54, | ||
| 2037 | 0x24, 0x00, 0x60, 0x0d, 0x41, 0xdc, 0x00, 0x60, | ||
| 2038 | 0x0e, 0x12, 0xce, 0x00, 0x60, 0x0f, 0x12, 0xd4, | ||
| 2039 | 0x00, 0x60, 0x10, 0x12, 0xcc, 0x00, 0x60, 0x12, | ||
| 2040 | 0x0c, 0x56, 0x00, 0x60, 0x13, 0x54, 0x25, 0x00, | ||
| 2041 | 0x60, 0x14, 0x41, 0xdd, 0x00, 0x60, 0x15, 0x12, | ||
| 2042 | 0xd1, 0x00, 0x60, 0x16, 0x0d, 0xcf, 0x00, 0x60, | ||
| 2043 | 0x17, 0x38, 0xc8, 0x00, 0x60, 0x18, 0x41, 0xde, | ||
| 2044 | 0x00, 0x60, 0x19, 0x12, 0xcb, 0x00, 0x60, 0x1a, | ||
| 2045 | 0x38, 0xc9, 0x00, 0x60, 0x1b, 0x12, 0xd0, 0x00, | ||
| 2046 | 0x60, 0x1c, 0x0f, 0xaf, 0x00, 0x60, 0x1d, 0x08, | ||
| 2047 | 0xa5, 0x00, 0x60, 0x1f, 0x54, 0x26, 0x00, 0x60, | ||
| 2048 | 0x20, 0x0b, 0x35, 0x00, 0x60, 0x21, 0x12, 0xc9, | ||
| 2049 | 0x00, 0x60, 0x22, 0x44, 0xda, 0x00, 0x60, 0x24, | ||
| 2050 | 0x44, 0xdb, 0x00, 0x60, 0x25, 0x06, 0x78, 0x00, | ||
| 2051 | 0x60, 0x26, 0x12, 0xd3, 0x00, 0x60, 0x27, 0x0a, | ||
| 2052 | 0x51, 0x00, 0x60, 0x28, 0x05, 0x07, 0x00, 0x60, | ||
| 2053 | 0x29, 0x12, 0xcd, 0x00, 0x60, 0x2a, 0x05, 0x78, | ||
| 2054 | 0x00, 0x60, 0x2b, 0x12, 0xd2, 0x00, 0x60, 0x2d, | ||
| 2055 | 0x54, 0x27, 0x00, 0x60, 0x2f, 0x06, 0xa9, 0x00, | ||
| 2056 | 0x60, 0x31, 0x12, 0xcf, 0x00, 0x60, 0x33, 0x38, | ||
| 2057 | 0xca, 0x00, 0x60, 0x35, 0x41, 0xdf, 0x00, 0x60, | ||
| 2058 | 0x3a, 0x12, 0xd5, 0x00, 0x60, 0x40, 0x54, 0x28, | ||
| 2059 | 0x00, 0x60, 0x41, 0x12, 0xd7, 0x00, 0x60, 0x42, | ||
| 2060 | 0x12, 0xe1, 0x00, 0x60, 0x43, 0x12, 0xdf, 0x00, | ||
| 2061 | 0x60, 0x46, 0x12, 0xdc, 0x00, 0x60, 0x47, 0x41, | ||
| 2062 | 0xe0, 0x00, 0x60, 0x48, 0x54, 0x29, 0x00, 0x60, | ||
| 2063 | 0x49, 0x4b, 0x9e, 0x00, 0x60, 0x4a, 0x12, 0xdb, | ||
| 2064 | 0x00, 0x60, 0x4b, 0x0f, 0xc0, 0x00, 0x60, 0x4c, | ||
| 2065 | 0x44, 0xdd, 0x00, 0x60, 0x4d, 0x12, 0xdd, 0x00, | ||
| 2066 | 0x60, 0x50, 0x06, 0xaa, 0x00, 0x60, 0x51, 0x54, | ||
| 2067 | 0x2a, 0x00, 0x60, 0x52, 0x07, 0xc3, 0x00, 0x60, | ||
| 2068 | 0x54, 0x4b, 0x9f, 0x00, 0x60, 0x55, 0x09, 0x84, | ||
| 2069 | 0x00, 0x60, 0x56, 0x54, 0x2b, 0x00, 0x60, 0x57, | ||
| 2070 | 0x54, 0x2c, 0x00, 0x60, 0x59, 0x12, 0xe4, 0x00, | ||
| 2071 | 0x60, 0x5a, 0x12, 0xd6, 0x00, 0x60, 0x5d, 0x21, | ||
| 2072 | 0x06, 0x00, 0x60, 0x5f, 0x12, 0xda, 0x00, 0x60, | ||
| 2073 | 0x60, 0x12, 0xca, 0x00, 0x60, 0x61, 0x38, 0xcb, | ||
| 2074 | 0x00, 0x60, 0x62, 0x05, 0x7a, 0x00, 0x60, 0x63, | ||
| 2075 | 0x12, 0xde, 0x00, 0x60, 0x64, 0x12, 0xe0, 0x00, | ||
| 2076 | 0x60, 0x65, 0x0b, 0x8f, 0x00, 0x60, 0x67, 0x4b, | ||
| 2077 | 0xa0, 0x00, 0x60, 0x68, 0x08, 0x18, 0x00, 0x60, | ||
| 2078 | 0x69, 0x05, 0x38, 0x00, 0x60, 0x6a, 0x12, 0xd8, | ||
| 2079 | 0x00, 0x60, 0x6b, 0x12, 0xe3, 0x00, 0x60, 0x6c, | ||
| 2080 | 0x12, 0xe2, 0x00, 0x60, 0x6d, 0x06, 0xab, 0x00, | ||
| 2081 | 0x60, 0x6f, 0x0b, 0x09, 0x00, 0x60, 0x70, 0x05, | ||
| 2082 | 0xc4, 0x00, 0x60, 0x71, 0x54, 0x2d, 0x00, 0x60, | ||
| 2083 | 0x75, 0x07, 0x19, 0x00, 0x60, 0x77, 0x12, 0xd9, | ||
| 2084 | 0x00, 0x60, 0x7e, 0x54, 0x2e, 0x00, 0x60, 0x7f, | ||
| 2085 | 0x38, 0xcc, 0x00, 0x60, 0x81, 0x12, 0xe5, 0x00, | ||
| 2086 | 0x60, 0x82, 0x54, 0x2f, 0x00, 0x60, 0x83, 0x12, | ||
| 2087 | 0xe8, 0x00, 0x60, 0x84, 0x12, 0xea, 0x00, 0x60, | ||
| 2088 | 0x85, 0x21, 0x07, 0x00, 0x60, 0x86, 0x54, 0x30, | ||
| 2089 | 0x00, 0x60, 0x88, 0x54, 0x31, 0x00, 0x60, 0x89, | ||
| 2090 | 0x08, 0xe9, 0x00, 0x60, 0x8a, 0x21, 0x08, 0x00, | ||
| 2091 | 0x60, 0x8b, 0x12, 0xf0, 0x00, 0x60, 0x8c, 0x0c, | ||
| 2092 | 0x0c, 0x00, 0x60, 0x8d, 0x12, 0xe6, 0x00, 0x60, | ||
| 2093 | 0x8e, 0x54, 0x32, 0x00, 0x60, 0x91, 0x54, 0x33, | ||
| 2094 | 0x00, 0x60, 0x92, 0x12, 0xee, 0x00, 0x60, 0x93, | ||
| 2095 | 0x54, 0x34, 0x00, 0x60, 0x94, 0x34, 0x0e, 0x00, | ||
| 2096 | 0x60, 0x95, 0x44, 0xde, 0x00, 0x60, 0x96, 0x12, | ||
| 2097 | 0xec, 0x00, 0x60, 0x97, 0x12, 0xed, 0x00, 0x60, | ||
| 2098 | 0x98, 0x54, 0x35, 0x00, 0x60, 0x9a, 0x12, 0xe9, | ||
| 2099 | 0x00, 0x60, 0x9b, 0x12, 0xeb, 0x00, 0x60, 0x9d, | ||
| 2100 | 0x41, 0xe1, 0x00, 0x60, 0x9e, 0x38, 0xcd, 0x00, | ||
| 2101 | 0x60, 0x9f, 0x07, 0x9b, 0x00, 0x60, 0xa0, 0x0f, | ||
| 2102 | 0x14, 0x00, 0x60, 0xa2, 0x54, 0x37, 0x00, 0x60, | ||
| 2103 | 0xa3, 0x05, 0xf1, 0x00, 0x60, 0xa4, 0x38, 0xce, | ||
| 2104 | 0x00, 0x60, 0xa5, 0x54, 0x38, 0x00, 0x60, 0xa6, | ||
| 2105 | 0x04, 0xfb, 0x00, 0x60, 0xa7, 0x12, 0xef, 0x00, | ||
| 2106 | 0x60, 0xa8, 0x44, 0xdf, 0x00, 0x60, 0xa9, 0x0c, | ||
| 2107 | 0xf0, 0x00, 0x60, 0xaa, 0x04, 0x71, 0x00, 0x60, | ||
| 2108 | 0xb0, 0x38, 0xcf, 0x00, 0x60, 0xb1, 0x44, 0xe1, | ||
| 2109 | 0x00, 0x60, 0xb2, 0x0d, 0x75, 0x00, 0x60, 0xb3, | ||
| 2110 | 0x12, 0xc7, 0x00, 0x60, 0xb4, 0x12, 0xf5, 0x00, | ||
| 2111 | 0x60, 0xb5, 0x12, 0xf9, 0x00, 0x60, 0xb6, 0x0e, | ||
| 2112 | 0xf1, 0x00, 0x60, 0xb7, 0x54, 0x39, 0x00, 0x60, | ||
| 2113 | 0xb8, 0x12, 0xf2, 0x00, 0x60, 0xbb, 0x4b, 0xa1, | ||
| 2114 | 0x00, 0x60, 0xbc, 0x0c, 0x63, 0x00, 0x60, 0xbd, | ||
| 2115 | 0x12, 0xf7, 0x00, 0x60, 0xbe, 0x44, 0xe2, 0x00, | ||
| 2116 | 0x60, 0xc2, 0x54, 0x3a, 0x00, 0x60, 0xc4, 0x4b, | ||
| 2117 | 0xa2, 0x00, 0x60, 0xc5, 0x09, 0xd8, 0x00, 0x60, | ||
| 2118 | 0xc6, 0x12, 0xf8, 0x00, 0x60, 0xc7, 0x0c, 0xaf, | ||
| 2119 | 0x00, 0x60, 0xc8, 0x44, 0xe3, 0x00, 0x60, 0xc9, | ||
| 2120 | 0x54, 0x3b, 0x00, 0x60, 0xca, 0x54, 0x3c, 0x00, | ||
| 2121 | 0x60, 0xcb, 0x38, 0xd0, 0x00, 0x60, 0xce, 0x54, | ||
| 2122 | 0x3d, 0x00, 0x60, 0xcf, 0x54, 0x3e, 0x00, 0x60, | ||
| 2123 | 0xd1, 0x0f, 0xed, 0x00, 0x60, 0xd3, 0x12, 0xf4, | ||
| 2124 | 0x00, 0x60, 0xd4, 0x41, 0xe2, 0x00, 0x60, 0xd5, | ||
| 2125 | 0x21, 0x0a, 0x00, 0x60, 0xd8, 0x12, 0xfa, 0x00, | ||
| 2126 | 0x60, 0xd9, 0x44, 0xe4, 0x00, 0x60, 0xda, 0x08, | ||
| 2127 | 0x0d, 0x00, 0x60, 0xdb, 0x38, 0xd1, 0x00, 0x60, | ||
| 2128 | 0xdc, 0x0a, 0x6f, 0x00, 0x60, 0xdd, 0x41, 0xe3, | ||
| 2129 | 0x00, 0x60, 0xde, 0x21, 0x09, 0x00, 0x60, 0xdf, | ||
| 2130 | 0x04, 0x98, 0x00, 0x60, 0xe0, 0x12, 0xf3, 0x00, | ||
| 2131 | 0x60, 0xe1, 0x12, 0xf1, 0x00, 0x60, 0xe2, 0x54, | ||
| 2132 | 0x3f, 0x00, 0x60, 0xe3, 0x0a, 0xdc, 0x00, 0x60, | ||
| 2133 | 0xe5, 0x54, 0x40, 0x00, 0x60, 0xe7, 0x12, 0xe7, | ||
| 2134 | 0x00, 0x60, 0xe8, 0x08, 0x82, 0x00, 0x60, 0xee, | ||
| 2135 | 0x44, 0xe5, 0x00, 0x60, 0xf0, 0x0b, 0x26, 0x00, | ||
| 2136 | 0x60, 0xf1, 0x13, 0x06, 0x00, 0x60, 0xf2, 0x21, | ||
| 2137 | 0x0c, 0x00, 0x60, 0xf3, 0x0a, 0xdd, 0x00, 0x60, | ||
| 2138 | 0xf4, 0x13, 0x01, 0x00, 0x60, 0xf5, 0x44, 0xe6, | ||
| 2139 | 0x00, 0x60, 0xf6, 0x12, 0xfe, 0x00, 0x60, 0xf7, | ||
| 2140 | 0x12, 0xff, 0x00, 0x60, 0xf8, 0x38, 0xd2, 0x00, | ||
| 2141 | 0x60, 0xf9, 0x09, 0x12, 0x00, 0x60, 0xfa, 0x13, | ||
| 2142 | 0x02, 0x00, 0x60, 0xfb, 0x13, 0x05, 0x00, 0x60, | ||
| 2143 | 0xfc, 0x54, 0x41, 0x00, 0x60, 0xfd, 0x4b, 0xa3, | ||
| 2144 | 0x00, 0x61, 0x00, 0x13, 0x00, 0x00, 0x61, 0x01, | ||
| 2145 | 0x09, 0x2f, 0x00, 0x61, 0x02, 0x54, 0x42, 0x00, | ||
| 2146 | 0x61, 0x03, 0x13, 0x03, 0x00, 0x61, 0x06, 0x12, | ||
| 2147 | 0xfd, 0x00, 0x61, 0x07, 0x54, 0x43, 0x00, 0x61, | ||
| 2148 | 0x08, 0x0f, 0x08, 0x00, 0x61, 0x09, 0x0f, 0x07, | ||
| 2149 | 0x00, 0x61, 0x0a, 0x4b, 0xa4, 0x00, 0x61, 0x0c, | ||
| 2150 | 0x54, 0x44, 0x00, 0x61, 0x0d, 0x13, 0x07, 0x00, | ||
| 2151 | 0x61, 0x0e, 0x13, 0x08, 0x00, 0x61, 0x0f, 0x04, | ||
| 2152 | 0x99, 0x00, 0x61, 0x10, 0x44, 0xe7, 0x00, 0x61, | ||
| 2153 | 0x11, 0x21, 0x0d, 0x00, 0x61, 0x12, 0x38, 0xd3, | ||
| 2154 | 0x00, 0x61, 0x13, 0x38, 0xd4, 0x00, 0x61, 0x14, | ||
| 2155 | 0x38, 0xd5, 0x00, 0x61, 0x15, 0x12, 0xfc, 0x00, | ||
| 2156 | 0x61, 0x16, 0x4b, 0xa5, 0x00, 0x61, 0x17, 0x54, | ||
| 2157 | 0x45, 0x00, 0x61, 0x19, 0x44, 0xe8, 0x00, 0x61, | ||
| 2158 | 0x1a, 0x06, 0xea, 0x00, 0x61, 0x1b, 0x04, 0x6a, | ||
| 2159 | 0x00, 0x61, 0x1c, 0x38, 0xd6, 0x00, 0x61, 0x1e, | ||
| 2160 | 0x44, 0xe9, 0x00, 0x61, 0x1f, 0x05, 0xf2, 0x00, | ||
| 2161 | 0x61, 0x20, 0x21, 0x0b, 0x00, 0x61, 0x21, 0x13, | ||
| 2162 | 0x04, 0x00, 0x61, 0x22, 0x54, 0x46, 0x00, 0x61, | ||
| 2163 | 0x27, 0x13, 0x0c, 0x00, 0x61, 0x28, 0x13, 0x0b, | ||
| 2164 | 0x00, 0x61, 0x2a, 0x4b, 0xa6, 0x00, 0x61, 0x2b, | ||
| 2165 | 0x41, 0xe4, 0x00, 0x61, 0x2c, 0x13, 0x10, 0x00, | ||
| 2166 | 0x61, 0x30, 0x21, 0x0f, 0x00, 0x61, 0x31, 0x54, | ||
| 2167 | 0x47, 0x00, 0x61, 0x34, 0x13, 0x11, 0x00, 0x61, | ||
| 2168 | 0x35, 0x54, 0x48, 0x00, 0x61, 0x36, 0x4b, 0xa7, | ||
| 2169 | 0x00, 0x61, 0x37, 0x21, 0x0e, 0x00, 0x61, 0x39, | ||
| 2170 | 0x54, 0x49, 0x00, 0x61, 0x3a, 0x44, 0xea, 0x00, | ||
| 2171 | 0x61, 0x3c, 0x13, 0x0f, 0x00, 0x61, 0x3d, 0x13, | ||
| 2172 | 0x12, 0x00, 0x61, 0x3e, 0x13, 0x0a, 0x00, 0x61, | ||
| 2173 | 0x3f, 0x13, 0x0e, 0x00, 0x61, 0x41, 0x44, 0xec, | ||
| 2174 | 0x00, 0x61, 0x42, 0x13, 0x13, 0x00, 0x61, 0x44, | ||
| 2175 | 0x13, 0x14, 0x00, 0x61, 0x45, 0x54, 0x4a, 0x00, | ||
| 2176 | 0x61, 0x46, 0x44, 0xed, 0x00, 0x61, 0x47, 0x13, | ||
| 2177 | 0x09, 0x00, 0x61, 0x48, 0x08, 0xca, 0x00, 0x61, | ||
| 2178 | 0x49, 0x54, 0x4b, 0x00, 0x61, 0x4a, 0x13, 0x0d, | ||
| 2179 | 0x00, 0x61, 0x4b, 0x0b, 0x36, 0x00, 0x61, 0x4c, | ||
| 2180 | 0x07, 0xc4, 0x00, 0x61, 0x4d, 0x12, 0xfb, 0x00, | ||
| 2181 | 0x61, 0x4e, 0x09, 0xfb, 0x00, 0x61, 0x53, 0x13, | ||
| 2182 | 0x21, 0x00, 0x61, 0x55, 0x0e, 0x39, 0x00, 0x61, | ||
| 2183 | 0x58, 0x13, 0x17, 0x00, 0x61, 0x59, 0x13, 0x18, | ||
| 2184 | 0x00, 0x61, 0x5a, 0x13, 0x19, 0x00, 0x61, 0x5d, | ||
| 2185 | 0x13, 0x20, 0x00, 0x61, 0x5e, 0x4b, 0xa8, 0x00, | ||
| 2186 | 0x61, 0x5f, 0x13, 0x1f, 0x00, 0x61, 0x60, 0x44, | ||
| 2187 | 0xee, 0x00, 0x61, 0x62, 0x0e, 0xab, 0x00, 0x61, | ||
| 2188 | 0x63, 0x05, 0xf3, 0x00, 0x61, 0x64, 0x4b, 0xa9, | ||
| 2189 | 0x00, 0x61, 0x65, 0x13, 0x1d, 0x00, 0x61, 0x67, | ||
| 2190 | 0x07, 0x1b, 0x00, 0x61, 0x68, 0x05, 0x92, 0x00, | ||
| 2191 | 0x61, 0x6b, 0x13, 0x1a, 0x00, 0x61, 0x6c, 0x54, | ||
| 2192 | 0x4c, 0x00, 0x61, 0x6e, 0x0f, 0x80, 0x00, 0x61, | ||
| 2193 | 0x6f, 0x13, 0x1c, 0x00, 0x61, 0x70, 0x04, 0x9a, | ||
| 2194 | 0x00, 0x61, 0x71, 0x13, 0x1e, 0x00, 0x61, 0x72, | ||
| 2195 | 0x54, 0x4d, 0x00, 0x61, 0x73, 0x13, 0x15, 0x00, | ||
| 2196 | 0x61, 0x74, 0x13, 0x1b, 0x00, 0x61, 0x75, 0x13, | ||
| 2197 | 0x22, 0x00, 0x61, 0x76, 0x07, 0x1a, 0x00, 0x61, | ||
| 2198 | 0x77, 0x13, 0x16, 0x00, 0x61, 0x78, 0x54, 0x4e, | ||
| 2199 | 0x00, 0x61, 0x7b, 0x4b, 0xaa, 0x00, 0x61, 0x7c, | ||
| 2200 | 0x38, 0xd7, 0x00, 0x61, 0x7d, 0x4b, 0xab, 0x00, | ||
| 2201 | 0x61, 0x7e, 0x0f, 0x47, 0x00, 0x61, 0x7f, 0x4b, | ||
| 2202 | 0xac, 0x00, 0x61, 0x80, 0x54, 0x4f, 0x00, 0x61, | ||
| 2203 | 0x81, 0x54, 0x50, 0x00, 0x61, 0x82, 0x0f, 0x15, | ||
| 2204 | 0x00, 0x61, 0x83, 0x54, 0x51, 0x00, 0x61, 0x84, | ||
| 2205 | 0x54, 0x52, 0x00, 0x61, 0x87, 0x13, 0x25, 0x00, | ||
| 2206 | 0x61, 0x8a, 0x13, 0x29, 0x00, 0x61, 0x8b, 0x54, | ||
| 2207 | 0x53, 0x00, 0x61, 0x8d, 0x38, 0xd8, 0x00, 0x61, | ||
| 2208 | 0x8e, 0x34, 0x33, 0x00, 0x61, 0x90, 0x0f, 0xc1, | ||
| 2209 | 0x00, 0x61, 0x91, 0x13, 0x2a, 0x00, 0x61, 0x92, | ||
| 2210 | 0x44, 0xf0, 0x00, 0x61, 0x93, 0x44, 0xf1, 0x00, | ||
| 2211 | 0x61, 0x94, 0x13, 0x27, 0x00, 0x61, 0x96, 0x13, | ||
| 2212 | 0x24, 0x00, 0x61, 0x97, 0x44, 0xf2, 0x00, 0x61, | ||
| 2213 | 0x98, 0x21, 0x10, 0x00, 0x61, 0x99, 0x13, 0x23, | ||
| 2214 | 0x00, 0x61, 0x9a, 0x13, 0x28, 0x00, 0x61, 0x9c, | ||
| 2215 | 0x54, 0x54, 0x00, 0x61, 0x9d, 0x4b, 0xad, 0x00, | ||
| 2216 | 0x61, 0x9f, 0x38, 0xd9, 0x00, 0x61, 0xa0, 0x54, | ||
| 2217 | 0x55, 0x00, 0x61, 0xa4, 0x0e, 0x00, 0x00, 0x61, | ||
| 2218 | 0xa5, 0x44, 0xf3, 0x00, 0x61, 0xa7, 0x0c, 0x8c, | ||
| 2219 | 0x00, 0x61, 0xa8, 0x38, 0xda, 0x00, 0x61, 0xa9, | ||
| 2220 | 0x07, 0x1c, 0x00, 0x61, 0xaa, 0x54, 0x56, 0x00, | ||
| 2221 | 0x61, 0xab, 0x13, 0x2b, 0x00, 0x61, 0xac, 0x13, | ||
| 2222 | 0x26, 0x00, 0x61, 0xad, 0x44, 0xf4, 0x00, 0x61, | ||
| 2223 | 0xae, 0x13, 0x2c, 0x00, 0x61, 0xb2, 0x07, 0x51, | ||
| 2224 | 0x00, 0x61, 0xb6, 0x05, 0x31, 0x00, 0x61, 0xb8, | ||
| 2225 | 0x4b, 0xae, 0x00, 0x61, 0xb9, 0x41, 0xe6, 0x00, | ||
| 2226 | 0x61, 0xba, 0x13, 0x34, 0x00, 0x61, 0xbc, 0x41, | ||
| 2227 | 0xe5, 0x00, 0x61, 0xbe, 0x05, 0xf4, 0x00, 0x61, | ||
| 2228 | 0xc0, 0x54, 0x57, 0x00, 0x61, 0xc1, 0x54, 0x58, | ||
| 2229 | 0x00, 0x61, 0xc2, 0x38, 0xdb, 0x00, 0x61, 0xc3, | ||
| 2230 | 0x13, 0x32, 0x00, 0x61, 0xc6, 0x13, 0x33, 0x00, | ||
| 2231 | 0x61, 0xc7, 0x08, 0x19, 0x00, 0x61, 0xc8, 0x13, | ||
| 2232 | 0x31, 0x00, 0x61, 0xc9, 0x13, 0x2f, 0x00, 0x61, | ||
| 2233 | 0xca, 0x13, 0x2e, 0x00, 0x61, 0xcb, 0x13, 0x35, | ||
| 2234 | 0x00, 0x61, 0xcc, 0x13, 0x2d, 0x00, 0x61, 0xcd, | ||
| 2235 | 0x13, 0x37, 0x00, 0x61, 0xce, 0x54, 0x59, 0x00, | ||
| 2236 | 0x61, 0xcf, 0x54, 0x5a, 0x00, 0x61, 0xd0, 0x05, | ||
| 2237 | 0x7b, 0x00, 0x61, 0xd5, 0x44, 0xf6, 0x00, 0x61, | ||
| 2238 | 0xdc, 0x4b, 0xaf, 0x00, 0x61, 0xdd, 0x44, 0xf7, | ||
| 2239 | 0x00, 0x61, 0xde, 0x54, 0x5b, 0x00, 0x61, 0xdf, | ||
| 2240 | 0x38, 0xdc, 0x00, 0x61, 0xe1, 0x54, 0x5c, 0x00, | ||
| 2241 | 0x61, 0xe2, 0x4b, 0xb0, 0x00, 0x61, 0xe3, 0x13, | ||
| 2242 | 0x39, 0x00, 0x61, 0xe5, 0x4b, 0xb1, 0x00, 0x61, | ||
| 2243 | 0xe6, 0x13, 0x38, 0x00, 0x61, 0xe7, 0x54, 0x5d, | ||
| 2244 | 0x00, 0x61, 0xe8, 0x4b, 0xb2, 0x00, 0x61, 0xe9, | ||
| 2245 | 0x54, 0x5e, 0x00, 0x61, 0xec, 0x54, 0x5f, 0x00, | ||
| 2246 | 0x61, 0xed, 0x54, 0x60, 0x00, 0x61, 0xef, 0x54, | ||
| 2247 | 0x61, 0x00, 0x61, 0xf2, 0x0b, 0xc4, 0x00, 0x61, | ||
| 2248 | 0xf4, 0x13, 0x3c, 0x00, 0x61, 0xf5, 0x44, 0xf8, | ||
| 2249 | 0x00, 0x61, 0xf6, 0x13, 0x3a, 0x00, 0x61, 0xf7, | ||
| 2250 | 0x13, 0x30, 0x00, 0x61, 0xf8, 0x07, 0x52, 0x00, | ||
| 2251 | 0x61, 0xfa, 0x13, 0x3b, 0x00, 0x61, 0xfc, 0x13, | ||
| 2252 | 0x3f, 0x00, 0x61, 0xfd, 0x13, 0x3e, 0x00, 0x61, | ||
| 2253 | 0xfe, 0x13, 0x40, 0x00, 0x61, 0xff, 0x13, 0x3d, | ||
| 2254 | 0x00, 0x62, 0x00, 0x13, 0x41, 0x00, 0x62, 0x01, | ||
| 2255 | 0x54, 0x62, 0x00, 0x62, 0x03, 0x54, 0x63, 0x00, | ||
| 2256 | 0x62, 0x04, 0x4b, 0xb3, 0x00, 0x62, 0x07, 0x4b, | ||
| 2257 | 0xb4, 0x00, 0x62, 0x08, 0x13, 0x42, 0x00, 0x62, | ||
| 2258 | 0x09, 0x13, 0x43, 0x00, 0x62, 0x0a, 0x0e, 0x3a, | ||
| 2259 | 0x00, 0x62, 0x0c, 0x13, 0x45, 0x00, 0x62, 0x0d, | ||
| 2260 | 0x13, 0x44, 0x00, 0x62, 0x0e, 0x09, 0x49, 0x00, | ||
| 2261 | 0x62, 0x10, 0x0a, 0x52, 0x00, 0x62, 0x11, 0x05, | ||
| 2262 | 0x66, 0x00, 0x62, 0x12, 0x05, 0x7c, 0x00, 0x62, | ||
| 2263 | 0x13, 0x21, 0x11, 0x00, 0x62, 0x14, 0x13, 0x46, | ||
| 2264 | 0x00, 0x62, 0x15, 0x38, 0xdd, 0x00, 0x62, 0x16, | ||
| 2265 | 0x04, 0x83, 0x00, 0x62, 0x1a, 0x0a, 0x70, 0x00, | ||
| 2266 | 0x62, 0x1b, 0x13, 0x47, 0x00, 0x62, 0x1c, 0x54, | ||
| 2267 | 0x64, 0x00, 0x62, 0x1d, 0x1a, 0x64, 0x00, 0x62, | ||
| 2268 | 0x1e, 0x13, 0x48, 0x00, 0x62, 0x1f, 0x07, 0x37, | ||
| 2269 | 0x00, 0x62, 0x20, 0x54, 0x65, 0x00, 0x62, 0x21, | ||
| 2270 | 0x13, 0x49, 0x00, 0x62, 0x22, 0x41, 0xe7, 0x00, | ||
| 2271 | 0x62, 0x23, 0x44, 0xfa, 0x00, 0x62, 0x26, 0x0a, | ||
| 2272 | 0x93, 0x00, 0x62, 0x27, 0x54, 0x66, 0x00, 0x62, | ||
| 2273 | 0x29, 0x38, 0xde, 0x00, 0x62, 0x2a, 0x13, 0x4a, | ||
| 2274 | 0x00, 0x62, 0x2b, 0x54, 0x67, 0x00, 0x62, 0x2e, | ||
| 2275 | 0x13, 0x4b, 0x00, 0x62, 0x2f, 0x06, 0x54, 0x00, | ||
| 2276 | 0x62, 0x30, 0x13, 0x4c, 0x00, 0x62, 0x31, 0x4b, | ||
| 2277 | 0xb5, 0x00, 0x62, 0x32, 0x13, 0x4d, 0x00, 0x62, | ||
| 2278 | 0x33, 0x13, 0x4e, 0x00, 0x62, 0x34, 0x0b, 0x37, | ||
| 2279 | 0x00, 0x62, 0x36, 0x35, 0xbd, 0x00, 0x62, 0x38, | ||
| 2280 | 0x07, 0x81, 0x00, 0x62, 0x39, 0x4b, 0xb6, 0x00, | ||
| 2281 | 0x62, 0x3b, 0x0e, 0xed, 0x00, 0x62, 0x3d, 0x4b, | ||
| 2282 | 0xb7, 0x00, 0x62, 0x3e, 0x34, 0x4e, 0x00, 0x62, | ||
| 2283 | 0x3f, 0x0e, 0x6a, 0x00, 0x62, 0x40, 0x09, 0x74, | ||
| 2284 | 0x00, 0x62, 0x41, 0x13, 0x4f, 0x00, 0x62, 0x42, | ||
| 2285 | 0x54, 0x68, 0x00, 0x62, 0x43, 0x38, 0xdf, 0x00, | ||
| 2286 | 0x62, 0x44, 0x54, 0x69, 0x00, 0x62, 0x46, 0x38, | ||
| 2287 | 0xe0, 0x00, 0x62, 0x47, 0x0a, 0x94, 0x00, 0x62, | ||
| 2288 | 0x48, 0x1b, 0x1a, 0x00, 0x62, 0x49, 0x0d, 0x76, | ||
| 2289 | 0x00, 0x62, 0x4b, 0x09, 0x16, 0x00, 0x62, 0x4c, | ||
| 2290 | 0x38, 0xe1, 0x00, 0x62, 0x4d, 0x08, 0x3d, 0x00, | ||
| 2291 | 0x62, 0x4e, 0x13, 0x50, 0x00, 0x62, 0x50, 0x54, | ||
| 2292 | 0x6a, 0x00, 0x62, 0x51, 0x38, 0xe2, 0x00, 0x62, | ||
| 2293 | 0x52, 0x44, 0xfb, 0x00, 0x62, 0x53, 0x0b, 0x27, | ||
| 2294 | 0x00, 0x62, 0x54, 0x54, 0x6b, 0x00, 0x62, 0x55, | ||
| 2295 | 0x0d, 0xf7, 0x00, 0x62, 0x56, 0x38, 0xe3, 0x00, | ||
| 2296 | 0x62, 0x58, 0x0b, 0x51, 0x00, 0x62, 0x5a, 0x41, | ||
| 2297 | 0xe8, 0x00, 0x62, 0x5b, 0x13, 0x53, 0x00, 0x62, | ||
| 2298 | 0x5c, 0x54, 0x6c, 0x00, 0x62, 0x5e, 0x13, 0x51, | ||
| 2299 | 0x00, 0x62, 0x60, 0x13, 0x54, 0x00, 0x62, 0x61, | ||
| 2300 | 0x44, 0xfc, 0x00, 0x62, 0x63, 0x13, 0x52, 0x00, | ||
| 2301 | 0x62, 0x64, 0x44, 0xfd, 0x00, 0x62, 0x68, 0x13, | ||
| 2302 | 0x55, 0x00, 0x62, 0x6d, 0x44, 0xff, 0x00, 0x62, | ||
| 2303 | 0x6e, 0x0e, 0x01, 0x00, 0x62, 0x6f, 0x41, 0xe9, | ||
| 2304 | 0x00, 0x62, 0x71, 0x04, 0x7b, 0x00, 0x62, 0x73, | ||
| 2305 | 0x45, 0x00, 0x00, 0x62, 0x76, 0x0d, 0xd0, 0x00, | ||
| 2306 | 0x62, 0x79, 0x0d, 0x77, 0x00, 0x62, 0x7a, 0x4b, | ||
| 2307 | 0xb8, 0x00, 0x62, 0x7b, 0x44, 0xfe, 0x00, 0x62, | ||
| 2308 | 0x7c, 0x13, 0x56, 0x00, 0x62, 0x7d, 0x54, 0x6d, | ||
| 2309 | 0x00, 0x62, 0x7e, 0x13, 0x59, 0x00, 0x62, 0x7f, | ||
| 2310 | 0x09, 0x9d, 0x00, 0x62, 0x80, 0x06, 0x55, 0x00, | ||
| 2311 | 0x62, 0x82, 0x13, 0x57, 0x00, 0x62, 0x83, 0x13, | ||
| 2312 | 0x5e, 0x00, 0x62, 0x84, 0x09, 0x9e, 0x00, 0x62, | ||
| 2313 | 0x85, 0x35, 0xc5, 0x00, 0x62, 0x89, 0x13, 0x58, | ||
| 2314 | 0x00, 0x62, 0x8a, 0x0c, 0xfa, 0x00, 0x62, 0x8d, | ||
| 2315 | 0x54, 0x6e, 0x00, 0x62, 0x8e, 0x54, 0x6f, 0x00, | ||
| 2316 | 0x62, 0x8f, 0x54, 0x70, 0x00, 0x62, 0x90, 0x4b, | ||
| 2317 | 0xb9, 0x00, 0x62, 0x91, 0x0f, 0x48, 0x00, 0x62, | ||
| 2318 | 0x92, 0x13, 0x5a, 0x00, 0x62, 0x93, 0x13, 0x5b, | ||
| 2319 | 0x00, 0x62, 0x94, 0x13, 0x5f, 0x00, 0x62, 0x95, | ||
| 2320 | 0x0c, 0x64, 0x00, 0x62, 0x96, 0x13, 0x5c, 0x00, | ||
| 2321 | 0x62, 0x97, 0x07, 0xc5, 0x00, 0x62, 0x98, 0x0a, | ||
| 2322 | 0x82, 0x00, 0x62, 0x99, 0x45, 0x01, 0x00, 0x62, | ||
| 2323 | 0x9b, 0x13, 0x6d, 0x00, 0x62, 0x9c, 0x0d, 0x48, | ||
| 2324 | 0x00, 0x62, 0x9e, 0x0b, 0x52, 0x00, 0x62, 0xa6, | ||
| 2325 | 0x21, 0x12, 0x00, 0x62, 0xa8, 0x4b, 0xba, 0x00, | ||
| 2326 | 0x62, 0xab, 0x0d, 0x78, 0x00, 0x62, 0xac, 0x13, | ||
| 2327 | 0xb2, 0x00, 0x62, 0xb1, 0x0e, 0x4a, 0x00, 0x62, | ||
| 2328 | 0xb3, 0x54, 0x71, 0x00, 0x62, 0xb5, 0x0c, 0x0d, | ||
| 2329 | 0x00, 0x62, 0xb6, 0x54, 0x72, 0x00, 0x62, 0xb7, | ||
| 2330 | 0x54, 0x73, 0x00, 0x62, 0xb9, 0x0e, 0xa3, 0x00, | ||
| 2331 | 0x62, 0xba, 0x54, 0x74, 0x00, 0x62, 0xbb, 0x13, | ||
| 2332 | 0x62, 0x00, 0x62, 0xbc, 0x05, 0x21, 0x00, 0x62, | ||
| 2333 | 0xbd, 0x0b, 0xa8, 0x00, 0x62, 0xbe, 0x54, 0x75, | ||
| 2334 | 0x00, 0x62, 0xbf, 0x54, 0x76, 0x00, 0x62, 0xc2, | ||
| 2335 | 0x13, 0x6b, 0x00, 0x62, 0xc4, 0x38, 0xe4, 0x00, | ||
| 2336 | 0x62, 0xc5, 0x0b, 0x72, 0x00, 0x62, 0xc6, 0x13, | ||
| 2337 | 0x65, 0x00, 0x62, 0xc7, 0x13, 0x6c, 0x00, 0x62, | ||
| 2338 | 0xc8, 0x13, 0x67, 0x00, 0x62, 0xc9, 0x13, 0x6e, | ||
| 2339 | 0x00, 0x62, 0xca, 0x13, 0x6a, 0x00, 0x62, 0xcc, | ||
| 2340 | 0x13, 0x69, 0x00, 0x62, 0xcd, 0x0d, 0x25, 0x00, | ||
| 2341 | 0x62, 0xce, 0x54, 0x77, 0x00, 0x62, 0xcf, 0x13, | ||
| 2342 | 0x63, 0x00, 0x62, 0xd0, 0x05, 0x7d, 0x00, 0x62, | ||
| 2343 | 0xd1, 0x13, 0x61, 0x00, 0x62, 0xd2, 0x06, 0x8b, | ||
| 2344 | 0x00, 0x62, 0xd3, 0x0b, 0x53, 0x00, 0x62, 0xd4, | ||
| 2345 | 0x37, 0x31, 0x00, 0x62, 0xd5, 0x45, 0x02, 0x00, | ||
| 2346 | 0x62, 0xd6, 0x41, 0xea, 0x00, 0x62, 0xd7, 0x13, | ||
| 2347 | 0x60, 0x00, 0x62, 0xd8, 0x07, 0xc6, 0x00, 0x62, | ||
| 2348 | 0xd9, 0x0a, 0x7f, 0x00, 0x62, 0xda, 0x4b, 0xbb, | ||
| 2349 | 0x00, 0x62, 0xdb, 0x09, 0x9f, 0x00, 0x62, 0xdc, | ||
| 2350 | 0x13, 0x68, 0x00, 0x62, 0xdd, 0x0d, 0x08, 0x00, | ||
| 2351 | 0x62, 0xe0, 0x06, 0x8c, 0x00, 0x62, 0xe1, 0x05, | ||
| 2352 | 0xa6, 0x00, 0x62, 0xea, 0x54, 0x78, 0x00, 0x62, | ||
| 2353 | 0xec, 0x05, 0xc5, 0x00, 0x62, 0xed, 0x09, 0xe7, | ||
| 2354 | 0x00, 0x62, 0xee, 0x13, 0x70, 0x00, 0x62, 0xef, | ||
| 2355 | 0x13, 0x75, 0x00, 0x62, 0xf1, 0x13, 0x71, 0x00, | ||
| 2356 | 0x62, 0xf2, 0x54, 0x79, 0x00, 0x62, 0xf3, 0x07, | ||
| 2357 | 0x53, 0x00, 0x62, 0xf4, 0x4b, 0xbc, 0x00, 0x62, | ||
| 2358 | 0xf5, 0x13, 0x76, 0x00, 0x62, 0xf6, 0x08, 0x70, | ||
| 2359 | 0x00, 0x62, 0xf7, 0x07, 0xfb, 0x00, 0x62, 0xfc, | ||
| 2360 | 0x38, 0xe5, 0x00, 0x62, 0xfd, 0x45, 0x04, 0x00, | ||
| 2361 | 0x62, 0xfe, 0x09, 0x30, 0x00, 0x62, 0xff, 0x13, | ||
| 2362 | 0x64, 0x00, 0x63, 0x01, 0x08, 0xcb, 0x00, 0x63, | ||
| 2363 | 0x02, 0x13, 0x73, 0x00, 0x63, 0x03, 0x45, 0x05, | ||
| 2364 | 0x00, 0x63, 0x04, 0x54, 0x7a, 0x00, 0x63, 0x07, | ||
| 2365 | 0x08, 0xa6, 0x00, 0x63, 0x08, 0x13, 0x74, 0x00, | ||
| 2366 | 0x63, 0x09, 0x04, 0x88, 0x00, 0x63, 0x0a, 0x38, | ||
| 2367 | 0xe6, 0x00, 0x63, 0x0b, 0x54, 0x7b, 0x00, 0x63, | ||
| 2368 | 0x0c, 0x13, 0x6f, 0x00, 0x63, 0x0d, 0x38, 0xe7, | ||
| 2369 | 0x00, 0x63, 0x10, 0x45, 0x06, 0x00, 0x63, 0x11, | ||
| 2370 | 0x0b, 0xc5, 0x00, 0x63, 0x13, 0x54, 0x7c, 0x00, | ||
| 2371 | 0x63, 0x16, 0x4b, 0xbd, 0x00, 0x63, 0x18, 0x38, | ||
| 2372 | 0xe8, 0x00, 0x63, 0x19, 0x06, 0x8d, 0x00, 0x63, | ||
| 2373 | 0x1b, 0x37, 0x37, 0x00, 0x63, 0x1f, 0x06, 0xac, | ||
| 2374 | 0x00, 0x63, 0x27, 0x13, 0x72, 0x00, 0x63, 0x28, | ||
| 2375 | 0x04, 0x6b, 0x00, 0x63, 0x29, 0x54, 0x7d, 0x00, | ||
| 2376 | 0x63, 0x2a, 0x4b, 0xbe, 0x00, 0x63, 0x2b, 0x08, | ||
| 2377 | 0x33, 0x00, 0x63, 0x2d, 0x54, 0x7e, 0x00, 0x63, | ||
| 2378 | 0x2f, 0x09, 0xfc, 0x00, 0x63, 0x32, 0x45, 0x09, | ||
| 2379 | 0x00, 0x63, 0x35, 0x45, 0x0a, 0x00, 0x63, 0x36, | ||
| 2380 | 0x4b, 0xbf, 0x00, 0x63, 0x39, 0x38, 0xe9, 0x00, | ||
| 2381 | 0x63, 0x3a, 0x0c, 0x0e, 0x00, 0x63, 0x3b, 0x45, | ||
| 2382 | 0x0b, 0x00, 0x63, 0x3c, 0x45, 0x0c, 0x00, 0x63, | ||
| 2383 | 0x3d, 0x0d, 0x68, 0x00, 0x63, 0x3e, 0x13, 0x78, | ||
| 2384 | 0x00, 0x63, 0x3f, 0x0a, 0xe0, 0x00, 0x63, 0x41, | ||
| 2385 | 0x45, 0x0d, 0x00, 0x63, 0x42, 0x38, 0xea, 0x00, | ||
| 2386 | 0x63, 0x43, 0x38, 0xeb, 0x00, 0x63, 0x44, 0x45, | ||
| 2387 | 0x0e, 0x00, 0x63, 0x46, 0x4b, 0xc0, 0x00, 0x63, | ||
| 2388 | 0x49, 0x0b, 0x0a, 0x00, 0x63, 0x4a, 0x54, 0x7f, | ||
| 2389 | 0x00, 0x63, 0x4b, 0x4b, 0xc1, 0x00, 0x63, 0x4c, | ||
| 2390 | 0x08, 0x79, 0x00, 0x63, 0x4d, 0x13, 0x79, 0x00, | ||
| 2391 | 0x63, 0x4e, 0x45, 0x0f, 0x00, 0x63, 0x4f, 0x13, | ||
| 2392 | 0x7b, 0x00, 0x63, 0x50, 0x13, 0x77, 0x00, 0x63, | ||
| 2393 | 0x52, 0x54, 0x80, 0x00, 0x63, 0x53, 0x4b, 0xc2, | ||
| 2394 | 0x00, 0x63, 0x54, 0x54, 0x81, 0x00, 0x63, 0x55, | ||
| 2395 | 0x0e, 0x31, 0x00, 0x63, 0x57, 0x0b, 0xd9, 0x00, | ||
| 2396 | 0x63, 0x58, 0x54, 0x82, 0x00, 0x63, 0x59, 0x45, | ||
| 2397 | 0x11, 0x00, 0x63, 0x5b, 0x54, 0x83, 0x00, 0x63, | ||
| 2398 | 0x5c, 0x0a, 0xde, 0x00, 0x63, 0x65, 0x38, 0xec, | ||
| 2399 | 0x00, 0x63, 0x66, 0x54, 0x84, 0x00, 0x63, 0x67, | ||
| 2400 | 0x0e, 0x4b, 0x00, 0x63, 0x68, 0x08, 0xfa, 0x00, | ||
| 2401 | 0x63, 0x69, 0x13, 0x87, 0x00, 0x63, 0x6b, 0x13, | ||
| 2402 | 0x86, 0x00, 0x63, 0x6c, 0x45, 0x14, 0x00, 0x63, | ||
| 2403 | 0x6d, 0x54, 0x85, 0x00, 0x63, 0x6e, 0x0a, 0x3e, | ||
| 2404 | 0x00, 0x63, 0x71, 0x4b, 0xc3, 0x00, 0x63, 0x72, | ||
| 2405 | 0x07, 0x54, 0x00, 0x63, 0x74, 0x38, 0xed, 0x00, | ||
| 2406 | 0x63, 0x75, 0x4b, 0xc4, 0x00, 0x63, 0x76, 0x13, | ||
| 2407 | 0x80, 0x00, 0x63, 0x77, 0x09, 0xa1, 0x00, 0x63, | ||
| 2408 | 0x78, 0x54, 0x86, 0x00, 0x63, 0x7a, 0x0c, 0xc0, | ||
| 2409 | 0x00, 0x63, 0x7b, 0x0c, 0xe7, 0x00, 0x63, 0x7c, | ||
| 2410 | 0x41, 0xeb, 0x00, 0x63, 0x7d, 0x38, 0xee, 0x00, | ||
| 2411 | 0x63, 0x7f, 0x4b, 0xc5, 0x00, 0x63, 0x80, 0x13, | ||
| 2412 | 0x7e, 0x00, 0x63, 0x82, 0x4b, 0xc6, 0x00, 0x63, | ||
| 2413 | 0x83, 0x0a, 0xdf, 0x00, 0x63, 0x84, 0x38, 0xef, | ||
| 2414 | 0x00, 0x63, 0x87, 0x38, 0xf0, 0x00, 0x63, 0x88, | ||
| 2415 | 0x09, 0x24, 0x00, 0x63, 0x89, 0x13, 0x83, 0x00, | ||
| 2416 | 0x63, 0x8a, 0x4b, 0xc7, 0x00, 0x63, 0x8c, 0x09, | ||
| 2417 | 0xa0, 0x00, 0x63, 0x8e, 0x13, 0x7d, 0x00, 0x63, | ||
| 2418 | 0x8f, 0x13, 0x82, 0x00, 0x63, 0x90, 0x38, 0xf1, | ||
| 2419 | 0x00, 0x63, 0x92, 0x0d, 0x09, 0x00, 0x63, 0x94, | ||
| 2420 | 0x45, 0x17, 0x00, 0x63, 0x95, 0x54, 0x87, 0x00, | ||
| 2421 | 0x63, 0x96, 0x13, 0x7c, 0x00, 0x63, 0x98, 0x06, | ||
| 2422 | 0xf7, 0x00, 0x63, 0x99, 0x45, 0x15, 0x00, 0x63, | ||
| 2423 | 0x9a, 0x54, 0x88, 0x00, 0x63, 0x9b, 0x05, 0xbb, | ||
| 2424 | 0x00, 0x63, 0x9e, 0x38, 0xf2, 0x00, 0x63, 0x9f, | ||
| 2425 | 0x13, 0x84, 0x00, 0x63, 0xa0, 0x0f, 0x73, 0x00, | ||
| 2426 | 0x63, 0xa1, 0x08, 0x3e, 0x00, 0x63, 0xa2, 0x0b, | ||
| 2427 | 0x73, 0x00, 0x63, 0xa3, 0x13, 0x81, 0x00, 0x63, | ||
| 2428 | 0xa4, 0x54, 0x89, 0x00, 0x63, 0xa5, 0x0a, 0x80, | ||
| 2429 | 0x00, 0x63, 0xa6, 0x54, 0x8a, 0x00, 0x63, 0xa7, | ||
| 2430 | 0x07, 0xc7, 0x00, 0x63, 0xa8, 0x0a, 0x2a, 0x00, | ||
| 2431 | 0x63, 0xa9, 0x05, 0x08, 0x00, 0x63, 0xaa, 0x0a, | ||
| 2432 | 0xbe, 0x00, 0x63, 0xab, 0x13, 0x7f, 0x00, 0x63, | ||
| 2433 | 0xac, 0x06, 0x5f, 0x00, 0x63, 0xad, 0x54, 0x8b, | ||
| 2434 | 0x00, 0x63, 0xae, 0x4b, 0xc8, 0x00, 0x63, 0xaf, | ||
| 2435 | 0x4b, 0xc9, 0x00, 0x63, 0xb2, 0x07, 0x1d, 0x00, | ||
| 2436 | 0x63, 0xb4, 0x0b, 0xeb, 0x00, 0x63, 0xb5, 0x13, | ||
| 2437 | 0x85, 0x00, 0x63, 0xbb, 0x0a, 0xe1, 0x00, 0x63, | ||
| 2438 | 0xbd, 0x45, 0x18, 0x00, 0x63, 0xbe, 0x13, 0x88, | ||
| 2439 | 0x00, 0x63, 0xc0, 0x13, 0x8a, 0x00, 0x63, 0xc1, | ||
| 2440 | 0x54, 0x8c, 0x00, 0x63, 0xc3, 0x0b, 0x17, 0x00, | ||
| 2441 | 0x63, 0xc4, 0x13, 0x90, 0x00, 0x63, 0xc5, 0x54, | ||
| 2442 | 0x8d, 0x00, 0x63, 0xc6, 0x13, 0x8b, 0x00, 0x63, | ||
| 2443 | 0xc8, 0x54, 0x8e, 0x00, 0x63, 0xc9, 0x13, 0x8d, | ||
| 2444 | 0x00, 0x63, 0xce, 0x54, 0x8f, 0x00, 0x63, 0xcf, | ||
| 2445 | 0x0d, 0xb3, 0x00, 0x63, 0xd0, 0x0c, 0x0f, 0x00, | ||
| 2446 | 0x63, 0xd1, 0x38, 0xf3, 0x00, 0x63, 0xd2, 0x13, | ||
| 2447 | 0x8e, 0x00, 0x63, 0xd3, 0x54, 0x90, 0x00, 0x63, | ||
| 2448 | 0xd4, 0x45, 0x19, 0x00, 0x63, 0xd5, 0x45, 0x1a, | ||
| 2449 | 0x00, 0x63, 0xd6, 0x0f, 0x16, 0x00, 0x63, 0xda, | ||
| 2450 | 0x0f, 0x32, 0x00, 0x63, 0xdb, 0x05, 0xf5, 0x00, | ||
| 2451 | 0x63, 0xdc, 0x38, 0xf4, 0x00, 0x63, 0xe0, 0x45, | ||
| 2452 | 0x1b, 0x00, 0x63, 0xe1, 0x04, 0x72, 0x00, 0x63, | ||
| 2453 | 0xe3, 0x13, 0x8c, 0x00, 0x63, 0xe5, 0x41, 0xec, | ||
| 2454 | 0x00, 0x63, 0xe9, 0x13, 0x89, 0x00, 0x63, 0xea, | ||
| 2455 | 0x4b, 0xca, 0x00, 0x63, 0xeb, 0x45, 0x1c, 0x00, | ||
| 2456 | 0x63, 0xec, 0x45, 0x1d, 0x00, 0x63, 0xed, 0x34, | ||
| 2457 | 0x1c, 0x00, 0x63, 0xee, 0x06, 0x34, 0x00, 0x63, | ||
| 2458 | 0xf2, 0x45, 0x1e, 0x00, 0x63, 0xf3, 0x54, 0x91, | ||
| 2459 | 0x00, 0x63, 0xf4, 0x05, 0x09, 0x00, 0x63, 0xf5, | ||
| 2460 | 0x21, 0x13, 0x00, 0x63, 0xf6, 0x13, 0x8f, 0x00, | ||
| 2461 | 0x63, 0xf7, 0x36, 0x44, 0x00, 0x63, 0xf8, 0x4b, | ||
| 2462 | 0xcb, 0x00, 0x63, 0xf9, 0x4b, 0xcc, 0x00, 0x63, | ||
| 2463 | 0xfa, 0x0f, 0x33, 0x00, 0x64, 0x06, 0x13, 0x93, | ||
| 2464 | 0x00, 0x64, 0x09, 0x38, 0xf5, 0x00, 0x64, 0x0a, | ||
| 2465 | 0x54, 0x92, 0x00, 0x64, 0x0d, 0x0b, 0x1b, 0x00, | ||
| 2466 | 0x64, 0x0f, 0x13, 0x9a, 0x00, 0x64, 0x10, 0x38, | ||
| 2467 | 0xf6, 0x00, 0x64, 0x12, 0x4b, 0xcd, 0x00, 0x64, | ||
| 2468 | 0x13, 0x13, 0x94, 0x00, 0x64, 0x14, 0x1e, 0x2c, | ||
| 2469 | 0x00, 0x64, 0x16, 0x13, 0x91, 0x00, 0x64, 0x17, | ||
| 2470 | 0x13, 0x98, 0x00, 0x64, 0x18, 0x4b, 0xce, 0x00, | ||
| 2471 | 0x64, 0x1c, 0x13, 0x7a, 0x00, 0x64, 0x1e, 0x45, | ||
| 2472 | 0x1f, 0x00, 0x64, 0x20, 0x4b, 0xcf, 0x00, 0x64, | ||
| 2473 | 0x22, 0x38, 0xf7, 0x00, 0x64, 0x24, 0x4b, 0xd0, | ||
| 2474 | 0x00, 0x64, 0x25, 0x45, 0x20, 0x00, 0x64, 0x26, | ||
| 2475 | 0x13, 0x95, 0x00, 0x64, 0x28, 0x13, 0x99, 0x00, | ||
| 2476 | 0x64, 0x29, 0x45, 0x21, 0x00, 0x64, 0x2a, 0x4b, | ||
| 2477 | 0xd1, 0x00, 0x64, 0x2c, 0x0d, 0x56, 0x00, 0x64, | ||
| 2478 | 0x2d, 0x0c, 0x65, 0x00, 0x64, 0x2f, 0x45, 0x22, | ||
| 2479 | 0x00, 0x64, 0x30, 0x54, 0x93, 0x00, 0x64, 0x34, | ||
| 2480 | 0x13, 0x92, 0x00, 0x64, 0x35, 0x4b, 0xd2, 0x00, | ||
| 2481 | 0x64, 0x36, 0x13, 0x96, 0x00, 0x64, 0x3a, 0x07, | ||
| 2482 | 0x1e, 0x00, 0x64, 0x3d, 0x4b, 0xd3, 0x00, 0x64, | ||
| 2483 | 0x3e, 0x08, 0x61, 0x00, 0x64, 0x3f, 0x4b, 0xd4, | ||
| 2484 | 0x00, 0x64, 0x42, 0x0a, 0x81, 0x00, 0x64, 0x4b, | ||
| 2485 | 0x54, 0x94, 0x00, 0x64, 0x4e, 0x13, 0x9e, 0x00, | ||
| 2486 | 0x64, 0x4f, 0x54, 0x95, 0x00, 0x64, 0x51, 0x1e, | ||
| 2487 | 0x43, 0x00, 0x64, 0x52, 0x4b, 0xd5, 0x00, 0x64, | ||
| 2488 | 0x53, 0x54, 0x96, 0x00, 0x64, 0x54, 0x38, 0xf8, | ||
| 2489 | 0x00, 0x64, 0x58, 0x0c, 0x20, 0x00, 0x64, 0x5a, | ||
| 2490 | 0x45, 0x23, 0x00, 0x64, 0x5b, 0x38, 0xf9, 0x00, | ||
| 2491 | 0x64, 0x5c, 0x54, 0x97, 0x00, 0x64, 0x5d, 0x45, | ||
| 2492 | 0x24, 0x00, 0x64, 0x5f, 0x4b, 0xd6, 0x00, 0x64, | ||
| 2493 | 0x60, 0x21, 0x14, 0x00, 0x64, 0x61, 0x54, 0x98, | ||
| 2494 | 0x00, 0x64, 0x63, 0x54, 0x99, 0x00, 0x64, 0x67, | ||
| 2495 | 0x13, 0x9b, 0x00, 0x64, 0x69, 0x0e, 0x8e, 0x00, | ||
| 2496 | 0x64, 0x6d, 0x38, 0xfa, 0x00, 0x64, 0x6f, 0x13, | ||
| 2497 | 0x9c, 0x00, 0x64, 0x73, 0x45, 0x25, 0x00, 0x64, | ||
| 2498 | 0x74, 0x4b, 0xd7, 0x00, 0x64, 0x76, 0x13, 0x9d, | ||
| 2499 | 0x00, 0x64, 0x78, 0x0e, 0xda, 0x00, 0x64, 0x79, | ||
| 2500 | 0x41, 0xed, 0x00, 0x64, 0x7a, 0x0a, 0x46, 0x00, | ||
| 2501 | 0x64, 0x7b, 0x38, 0xfb, 0x00, 0x64, 0x7d, 0x45, | ||
| 2502 | 0x26, 0x00, 0x64, 0x83, 0x07, 0x38, 0x00, 0x64, | ||
| 2503 | 0x85, 0x54, 0x9a, 0x00, 0x64, 0x87, 0x45, 0x27, | ||
| 2504 | 0x00, 0x64, 0x88, 0x13, 0xa4, 0x00, 0x64, 0x8f, | ||
| 2505 | 0x54, 0x9b, 0x00, 0x64, 0x90, 0x4b, 0xd8, 0x00, | ||
| 2506 | 0x64, 0x91, 0x45, 0x28, 0x00, 0x64, 0x92, 0x08, | ||
| 2507 | 0x83, 0x00, 0x64, 0x93, 0x13, 0xa1, 0x00, 0x64, | ||
| 2508 | 0x95, 0x13, 0xa0, 0x00, 0x64, 0x98, 0x4b, 0xd9, | ||
| 2509 | 0x00, 0x64, 0x99, 0x4b, 0xda, 0x00, 0x64, 0x9a, | ||
| 2510 | 0x0c, 0xe8, 0x00, 0x64, 0x9b, 0x54, 0x9c, 0x00, | ||
| 2511 | 0x64, 0x9d, 0x21, 0x15, 0x00, 0x64, 0x9e, 0x0c, | ||
| 2512 | 0x8d, 0x00, 0x64, 0x9f, 0x45, 0x29, 0x00, 0x64, | ||
| 2513 | 0xa1, 0x54, 0x9d, 0x00, 0x64, 0xa3, 0x54, 0x9e, | ||
| 2514 | 0x00, 0x64, 0xa4, 0x0c, 0x2b, 0x00, 0x64, 0xa5, | ||
| 2515 | 0x13, 0xa2, 0x00, 0x64, 0xa6, 0x54, 0x9f, 0x00, | ||
| 2516 | 0x64, 0xa8, 0x54, 0xa0, 0x00, 0x64, 0xa9, 0x13, | ||
| 2517 | 0xa3, 0x00, 0x64, 0xab, 0x0d, 0xe1, 0x00, 0x64, | ||
| 2518 | 0xac, 0x4b, 0xdb, 0x00, 0x64, 0xad, 0x0c, 0xfb, | ||
| 2519 | 0x00, 0x64, 0xae, 0x08, 0x71, 0x00, 0x64, 0xb0, | ||
| 2520 | 0x0a, 0x95, 0x00, 0x64, 0xb2, 0x0e, 0x7e, 0x00, | ||
| 2521 | 0x64, 0xb3, 0x4b, 0xdc, 0x00, 0x64, 0xb9, 0x05, | ||
| 2522 | 0xa7, 0x00, 0x64, 0xbb, 0x13, 0xaa, 0x00, 0x64, | ||
| 2523 | 0xbc, 0x13, 0xa5, 0x00, 0x64, 0xbd, 0x54, 0xa1, | ||
| 2524 | 0x00, 0x64, 0xbe, 0x38, 0xfc, 0x00, 0x64, 0xbf, | ||
| 2525 | 0x38, 0xfd, 0x00, 0x64, 0xc1, 0x0f, 0x34, 0x00, | ||
| 2526 | 0x64, 0xc2, 0x13, 0xac, 0x00, 0x64, 0xc4, 0x41, | ||
| 2527 | 0xee, 0x00, 0x64, 0xc5, 0x13, 0xa8, 0x00, 0x64, | ||
| 2528 | 0xc7, 0x13, 0xa9, 0x00, 0x64, 0xc9, 0x54, 0xa2, | ||
| 2529 | 0x00, 0x64, 0xca, 0x34, 0x1d, 0x00, 0x64, 0xcb, | ||
| 2530 | 0x45, 0x2a, 0x00, 0x64, 0xcc, 0x45, 0x2b, 0x00, | ||
| 2531 | 0x64, 0xcd, 0x0a, 0xe2, 0x00, 0x64, 0xce, 0x21, | ||
| 2532 | 0x16, 0x00, 0x64, 0xd0, 0x41, 0xef, 0x00, 0x64, | ||
| 2533 | 0xd1, 0x54, 0xa3, 0x00, 0x64, 0xd2, 0x13, 0xa7, | ||
| 2534 | 0x00, 0x64, 0xd4, 0x13, 0x66, 0x00, 0x64, 0xd5, | ||
| 2535 | 0x45, 0x2c, 0x00, 0x64, 0xd7, 0x45, 0x2d, 0x00, | ||
| 2536 | 0x64, 0xd8, 0x13, 0xab, 0x00, 0x64, 0xda, 0x13, | ||
| 2537 | 0xa6, 0x00, 0x64, 0xe0, 0x13, 0xb0, 0x00, 0x64, | ||
| 2538 | 0xe1, 0x13, 0xb1, 0x00, 0x64, 0xe2, 0x0c, 0x21, | ||
| 2539 | 0x00, 0x64, 0xe3, 0x13, 0xb3, 0x00, 0x64, 0xe4, | ||
| 2540 | 0x45, 0x2f, 0x00, 0x64, 0xe5, 0x38, 0xfe, 0x00, | ||
| 2541 | 0x64, 0xe6, 0x08, 0x72, 0x00, 0x64, 0xe7, 0x13, | ||
| 2542 | 0xae, 0x00, 0x64, 0xe9, 0x54, 0xa4, 0x00, 0x64, | ||
| 2543 | 0xea, 0x54, 0xa5, 0x00, 0x64, 0xec, 0x06, 0x56, | ||
| 2544 | 0x00, 0x64, 0xed, 0x4b, 0xdd, 0x00, 0x64, 0xef, | ||
| 2545 | 0x13, 0xb4, 0x00, 0x64, 0xf0, 0x4b, 0xde, 0x00, | ||
| 2546 | 0x64, 0xf1, 0x13, 0xad, 0x00, 0x64, 0xf2, 0x13, | ||
| 2547 | 0xb8, 0x00, 0x64, 0xf4, 0x13, 0xb7, 0x00, 0x64, | ||
| 2548 | 0xf5, 0x54, 0xa6, 0x00, 0x64, 0xf6, 0x13, 0xb6, | ||
| 2549 | 0x00, 0x64, 0xf7, 0x38, 0xff, 0x00, 0x64, 0xfa, | ||
| 2550 | 0x13, 0xb9, 0x00, 0x64, 0xfb, 0x39, 0x00, 0x00, | ||
| 2551 | 0x64, 0xfd, 0x13, 0xbb, 0x00, 0x64, 0xfe, 0x09, | ||
| 2552 | 0xd9, 0x00, 0x64, 0xff, 0x45, 0x30, 0x00, 0x65, | ||
| 2553 | 0x00, 0x13, 0xba, 0x00, 0x65, 0x01, 0x54, 0xa7, | ||
| 2554 | 0x00, 0x65, 0x04, 0x39, 0x01, 0x00, 0x65, 0x05, | ||
| 2555 | 0x13, 0xbe, 0x00, 0x65, 0x08, 0x54, 0xa8, 0x00, | ||
| 2556 | 0x65, 0x09, 0x54, 0xa9, 0x00, 0x65, 0x0a, 0x54, | ||
| 2557 | 0xaa, 0x00, 0x65, 0x0f, 0x45, 0x32, 0x00, 0x65, | ||
| 2558 | 0x13, 0x54, 0xab, 0x00, 0x65, 0x14, 0x45, 0x33, | ||
| 2559 | 0x00, 0x65, 0x16, 0x39, 0x02, 0x00, 0x65, 0x18, | ||
| 2560 | 0x13, 0xbc, 0x00, 0x65, 0x19, 0x39, 0x03, 0x00, | ||
| 2561 | 0x65, 0x1b, 0x4b, 0xdf, 0x00, 0x65, 0x1c, 0x13, | ||
| 2562 | 0xbd, 0x00, 0x65, 0x1d, 0x13, 0x97, 0x00, 0x65, | ||
| 2563 | 0x1e, 0x45, 0x35, 0x00, 0x65, 0x1f, 0x4b, 0xe0, | ||
| 2564 | 0x00, 0x65, 0x22, 0x1e, 0x97, 0x00, 0x65, 0x23, | ||
| 2565 | 0x13, 0xc0, 0x00, 0x65, 0x24, 0x13, 0xbf, 0x00, | ||
| 2566 | 0x65, 0x26, 0x54, 0xac, 0x00, 0x65, 0x29, 0x41, | ||
| 2567 | 0xf0, 0x00, 0x65, 0x2a, 0x13, 0x9f, 0x00, 0x65, | ||
| 2568 | 0x2b, 0x13, 0xc1, 0x00, 0x65, 0x2c, 0x13, 0xb5, | ||
| 2569 | 0x00, 0x65, 0x2e, 0x4b, 0xe1, 0x00, 0x65, 0x2f, | ||
| 2570 | 0x08, 0xa7, 0x00, 0x65, 0x31, 0x54, 0xad, 0x00, | ||
| 2571 | 0x65, 0x32, 0x45, 0x36, 0x00, 0x65, 0x34, 0x13, | ||
| 2572 | 0xc2, 0x00, 0x65, 0x35, 0x13, 0xc3, 0x00, 0x65, | ||
| 2573 | 0x36, 0x13, 0xc5, 0x00, 0x65, 0x37, 0x13, 0xc4, | ||
| 2574 | 0x00, 0x65, 0x38, 0x13, 0xc6, 0x00, 0x65, 0x39, | ||
| 2575 | 0x05, 0x7e, 0x00, 0x65, 0x3a, 0x54, 0xae, 0x00, | ||
| 2576 | 0x65, 0x3b, 0x07, 0xc8, 0x00, 0x65, 0x3c, 0x54, | ||
| 2577 | 0xaf, 0x00, 0x65, 0x3d, 0x54, 0xb0, 0x00, 0x65, | ||
| 2578 | 0x3e, 0x0e, 0x4c, 0x00, 0x65, 0x3f, 0x0a, 0x53, | ||
| 2579 | 0x00, 0x65, 0x43, 0x54, 0xb1, 0x00, 0x65, 0x44, | ||
| 2580 | 0x45, 0x37, 0x00, 0x65, 0x45, 0x07, 0x82, 0x00, | ||
| 2581 | 0x65, 0x47, 0x39, 0x04, 0x00, 0x65, 0x48, 0x13, | ||
| 2582 | 0xc8, 0x00, 0x65, 0x49, 0x4b, 0xe2, 0x00, 0x65, | ||
| 2583 | 0x4d, 0x13, 0xcb, 0x00, 0x65, 0x4e, 0x21, 0x17, | ||
| 2584 | 0x00, 0x65, 0x4f, 0x34, 0x45, 0x00, 0x65, 0x50, | ||
| 2585 | 0x54, 0xb2, 0x00, 0x65, 0x51, 0x06, 0x79, 0x00, | ||
| 2586 | 0x65, 0x52, 0x54, 0xb3, 0x00, 0x65, 0x54, 0x45, | ||
| 2587 | 0x38, 0x00, 0x65, 0x55, 0x13, 0xca, 0x00, 0x65, | ||
| 2588 | 0x56, 0x13, 0xc9, 0x00, 0x65, 0x57, 0x0d, 0x0a, | ||
| 2589 | 0x00, 0x65, 0x58, 0x13, 0xcc, 0x00, 0x65, 0x59, | ||
| 2590 | 0x06, 0xad, 0x00, 0x65, 0x5d, 0x13, 0xce, 0x00, | ||
| 2591 | 0x65, 0x5e, 0x13, 0xcd, 0x00, 0x65, 0x5f, 0x54, | ||
| 2592 | 0xb4, 0x00, 0x65, 0x60, 0x4b, 0xe3, 0x00, 0x65, | ||
| 2593 | 0x62, 0x05, 0xf6, 0x00, 0x65, 0x63, 0x08, 0x84, | ||
| 2594 | 0x00, 0x65, 0x66, 0x0c, 0xb0, 0x00, 0x65, 0x67, | ||
| 2595 | 0x39, 0x05, 0x00, 0x65, 0x6b, 0x45, 0x39, 0x00, | ||
| 2596 | 0x65, 0x6c, 0x07, 0x1f, 0x00, 0x65, 0x70, 0x0a, | ||
| 2597 | 0x3a, 0x00, 0x65, 0x72, 0x13, 0xcf, 0x00, 0x65, | ||
| 2598 | 0x74, 0x0a, 0x54, 0x00, 0x65, 0x75, 0x0c, 0x22, | ||
| 2599 | 0x00, 0x65, 0x77, 0x0d, 0xd1, 0x00, 0x65, 0x78, | ||
| 2600 | 0x13, 0xd0, 0x00, 0x65, 0x7a, 0x45, 0x3a, 0x00, | ||
| 2601 | 0x65, 0x7d, 0x54, 0xb5, 0x00, 0x65, 0x81, 0x39, | ||
| 2602 | 0x06, 0x00, 0x65, 0x82, 0x13, 0xd1, 0x00, 0x65, | ||
| 2603 | 0x83, 0x13, 0xd2, 0x00, 0x65, 0x84, 0x45, 0x3b, | ||
| 2604 | 0x00, 0x65, 0x85, 0x39, 0x07, 0x00, 0x65, 0x87, | ||
| 2605 | 0x0e, 0x08, 0x00, 0x65, 0x88, 0x12, 0x0c, 0x00, | ||
| 2606 | 0x65, 0x89, 0x0a, 0x6a, 0x00, 0x65, 0x8a, 0x45, | ||
| 2607 | 0x3c, 0x00, 0x65, 0x8c, 0x0d, 0xbe, 0x00, 0x65, | ||
| 2608 | 0x8e, 0x08, 0x48, 0x00, 0x65, 0x90, 0x0d, 0x79, | ||
| 2609 | 0x00, 0x65, 0x91, 0x0d, 0x57, 0x00, 0x65, 0x92, | ||
| 2610 | 0x4b, 0xe4, 0x00, 0x65, 0x95, 0x4b, 0xe5, 0x00, | ||
| 2611 | 0x65, 0x97, 0x0c, 0x47, 0x00, 0x65, 0x98, 0x54, | ||
| 2612 | 0xb6, 0x00, 0x65, 0x99, 0x0f, 0x89, 0x00, 0x65, | ||
| 2613 | 0x9b, 0x13, 0xd4, 0x00, 0x65, 0x9c, 0x08, 0xfc, | ||
| 2614 | 0x00, 0x65, 0x9d, 0x41, 0xf1, 0x00, 0x65, 0x9f, | ||
| 2615 | 0x13, 0xd5, 0x00, 0x65, 0xa0, 0x54, 0xb7, 0x00, | ||
| 2616 | 0x65, 0xa1, 0x04, 0x7a, 0x00, 0x65, 0xa3, 0x54, | ||
| 2617 | 0xb8, 0x00, 0x65, 0xa4, 0x06, 0xcc, 0x00, 0x65, | ||
| 2618 | 0xa5, 0x0a, 0x71, 0x00, 0x65, 0xa6, 0x54, 0xb9, | ||
| 2619 | 0x00, 0x65, 0xa7, 0x0d, 0xd2, 0x00, 0x65, 0xab, | ||
| 2620 | 0x13, 0xd6, 0x00, 0x65, 0xac, 0x08, 0x90, 0x00, | ||
| 2621 | 0x65, 0xad, 0x0b, 0x85, 0x00, 0x65, 0xae, 0x54, | ||
| 2622 | 0xba, 0x00, 0x65, 0xaf, 0x08, 0xa9, 0x00, 0x65, | ||
| 2623 | 0xb0, 0x09, 0xfd, 0x00, 0x65, 0xb2, 0x45, 0x3d, | ||
| 2624 | 0x00, 0x65, 0xb3, 0x54, 0xbb, 0x00, 0x65, 0xb4, | ||
| 2625 | 0x4b, 0xe6, 0x00, 0x65, 0xb5, 0x45, 0x3e, 0x00, | ||
| 2626 | 0x65, 0xb7, 0x13, 0xd7, 0x00, 0x65, 0xb8, 0x45, | ||
| 2627 | 0x3f, 0x00, 0x65, 0xb9, 0x0e, 0x4d, 0x00, 0x65, | ||
| 2628 | 0xbc, 0x05, 0x19, 0x00, 0x65, 0xbd, 0x08, 0xaa, | ||
| 2629 | 0x00, 0x65, 0xbe, 0x4b, 0xe7, 0x00, 0x65, 0xbf, | ||
| 2630 | 0x45, 0x40, 0x00, 0x65, 0xc1, 0x13, 0xda, 0x00, | ||
| 2631 | 0x65, 0xc2, 0x39, 0x08, 0x00, 0x65, 0xc3, 0x13, | ||
| 2632 | 0xd8, 0x00, 0x65, 0xc4, 0x13, 0xdb, 0x00, 0x65, | ||
| 2633 | 0xc5, 0x0f, 0x81, 0x00, 0x65, 0xc6, 0x13, 0xd9, | ||
| 2634 | 0x00, 0x65, 0xc8, 0x4b, 0xe8, 0x00, 0x65, 0xc9, | ||
| 2635 | 0x45, 0x41, 0x00, 0x65, 0xcb, 0x0a, 0x9f, 0x00, | ||
| 2636 | 0x65, 0xcc, 0x13, 0xdc, 0x00, 0x65, 0xce, 0x4b, | ||
| 2637 | 0xe9, 0x00, 0x65, 0xcf, 0x0b, 0x12, 0x00, 0x65, | ||
| 2638 | 0xd0, 0x4b, 0xea, 0x00, 0x65, 0xd2, 0x13, 0xdd, | ||
| 2639 | 0x00, 0x65, 0xd4, 0x45, 0x42, 0x00, 0x65, 0xd6, | ||
| 2640 | 0x54, 0xbc, 0x00, 0x65, 0xd7, 0x06, 0x36, 0x00, | ||
| 2641 | 0x65, 0xd8, 0x54, 0xbd, 0x00, 0x65, 0xd9, 0x13, | ||
| 2642 | 0xdf, 0x00, 0x65, 0xdb, 0x13, 0xde, 0x00, 0x65, | ||
| 2643 | 0xdf, 0x4b, 0xeb, 0x00, 0x65, 0xe0, 0x13, 0xe0, | ||
| 2644 | 0x00, 0x65, 0xe1, 0x13, 0xe1, 0x00, 0x65, 0xe2, | ||
| 2645 | 0x34, 0x16, 0x00, 0x65, 0xe3, 0x35, 0x85, 0x00, | ||
| 2646 | 0x65, 0xe5, 0x0c, 0xd4, 0x00, 0x65, 0xe6, 0x0b, | ||
| 2647 | 0x74, 0x00, 0x65, 0xe7, 0x06, 0x86, 0x00, 0x65, | ||
| 2648 | 0xe8, 0x08, 0xab, 0x00, 0x65, 0xe9, 0x0a, 0xe3, | ||
| 2649 | 0x00, 0x65, 0xec, 0x09, 0x66, 0x00, 0x65, 0xed, | ||
| 2650 | 0x04, 0x74, 0x00, 0x65, 0xf0, 0x39, 0x09, 0x00, | ||
| 2651 | 0x65, 0xf1, 0x13, 0xe2, 0x00, 0x65, 0xf2, 0x39, | ||
| 2652 | 0x0a, 0x00, 0x65, 0xf4, 0x54, 0xbf, 0x00, 0x65, | ||
| 2653 | 0xf5, 0x54, 0xc0, 0x00, 0x65, 0xf9, 0x45, 0x44, | ||
| 2654 | 0x00, 0x65, 0xfa, 0x05, 0x22, 0x00, 0x65, 0xfb, | ||
| 2655 | 0x13, 0xe6, 0x00, 0x65, 0xfc, 0x45, 0x45, 0x00, | ||
| 2656 | 0x65, 0xfe, 0x54, 0xc1, 0x00, 0x65, 0xff, 0x54, | ||
| 2657 | 0xc2, 0x00, 0x66, 0x00, 0x21, 0x18, 0x00, 0x66, | ||
| 2658 | 0x02, 0x07, 0xc9, 0x00, 0x66, 0x03, 0x13, 0xe5, | ||
| 2659 | 0x00, 0x66, 0x04, 0x45, 0x46, 0x00, 0x66, 0x06, | ||
| 2660 | 0x08, 0x1b, 0x00, 0x66, 0x07, 0x09, 0xa2, 0x00, | ||
| 2661 | 0x66, 0x08, 0x45, 0x47, 0x00, 0x66, 0x09, 0x21, | ||
| 2662 | 0x1a, 0x00, 0x66, 0x0a, 0x13, 0xe4, 0x00, 0x66, | ||
| 2663 | 0x0c, 0x09, 0xa3, 0x00, 0x66, 0x0d, 0x54, 0xc3, | ||
| 2664 | 0x00, 0x66, 0x0e, 0x0e, 0xcc, 0x00, 0x66, 0x0f, | ||
| 2665 | 0x08, 0x1a, 0x00, 0x66, 0x11, 0x54, 0xc4, 0x00, | ||
| 2666 | 0x66, 0x12, 0x54, 0xc5, 0x00, 0x66, 0x13, 0x04, | ||
| 2667 | 0x9b, 0x00, 0x66, 0x14, 0x0a, 0x72, 0x00, 0x66, | ||
| 2668 | 0x15, 0x21, 0x19, 0x00, 0x66, 0x16, 0x54, 0xc6, | ||
| 2669 | 0x00, 0x66, 0x1c, 0x13, 0xeb, 0x00, 0x66, 0x1d, | ||
| 2670 | 0x54, 0xc7, 0x00, 0x66, 0x1e, 0x4f, 0x50, 0x00, | ||
| 2671 | 0x66, 0x1f, 0x0a, 0x55, 0x00, 0x66, 0x20, 0x04, | ||
| 2672 | 0xe9, 0x00, 0x66, 0x21, 0x45, 0x48, 0x00, 0x66, | ||
| 2673 | 0x22, 0x41, 0xf3, 0x00, 0x66, 0x23, 0x54, 0xc8, | ||
| 2674 | 0x00, 0x66, 0x24, 0x21, 0x1d, 0x00, 0x66, 0x25, | ||
| 2675 | 0x09, 0x5f, 0x00, 0x66, 0x26, 0x54, 0xc9, 0x00, | ||
| 2676 | 0x66, 0x27, 0x0e, 0x94, 0x00, 0x66, 0x28, 0x08, | ||
| 2677 | 0x62, 0x00, 0x66, 0x29, 0x54, 0xca, 0x00, 0x66, | ||
| 2678 | 0x2a, 0x45, 0x49, 0x00, 0x66, 0x2b, 0x41, 0xf4, | ||
| 2679 | 0x00, 0x66, 0x2c, 0x39, 0x0b, 0x00, 0x66, 0x2d, | ||
| 2680 | 0x09, 0xa4, 0x00, 0x66, 0x2e, 0x21, 0x1b, 0x00, | ||
| 2681 | 0x66, 0x2f, 0x0a, 0x4b, 0x00, 0x66, 0x30, 0x41, | ||
| 2682 | 0xf5, 0x00, 0x66, 0x31, 0x20, 0xae, 0x00, 0x66, | ||
| 2683 | 0x33, 0x41, 0xf6, 0x00, 0x66, 0x34, 0x13, 0xea, | ||
| 2684 | 0x00, 0x66, 0x35, 0x13, 0xe8, 0x00, 0x66, 0x36, | ||
| 2685 | 0x13, 0xe9, 0x00, 0x66, 0x37, 0x54, 0xcc, 0x00, | ||
| 2686 | 0x66, 0x39, 0x54, 0xcb, 0x00, 0x66, 0x3a, 0x41, | ||
| 2687 | 0xf2, 0x00, 0x66, 0x3b, 0x1e, 0x00, 0x00, 0x66, | ||
| 2688 | 0x3c, 0x0b, 0xa9, 0x00, 0x66, 0x3f, 0x14, 0x09, | ||
| 2689 | 0x00, 0x66, 0x40, 0x54, 0xcd, 0x00, 0x66, 0x41, | ||
| 2690 | 0x13, 0xef, 0x00, 0x66, 0x42, 0x08, 0xcc, 0x00, | ||
| 2691 | 0x66, 0x43, 0x07, 0xca, 0x00, 0x66, 0x44, 0x13, | ||
| 2692 | 0xed, 0x00, 0x66, 0x45, 0x45, 0x4a, 0x00, 0x66, | ||
| 2693 | 0x46, 0x54, 0xce, 0x00, 0x66, 0x48, 0x41, 0xf7, | ||
| 2694 | 0x00, 0x66, 0x49, 0x13, 0xee, 0x00, 0x66, 0x4a, | ||
| 2695 | 0x54, 0xcf, 0x00, 0x66, 0x4b, 0x09, 0xfe, 0x00, | ||
| 2696 | 0x66, 0x4c, 0x39, 0x0c, 0x00, 0x66, 0x4e, 0x45, | ||
| 2697 | 0x4c, 0x00, 0x66, 0x4f, 0x13, 0xec, 0x00, 0x66, | ||
| 2698 | 0x51, 0x45, 0x4b, 0x00, 0x66, 0x52, 0x08, 0x7d, | ||
| 2699 | 0x00, 0x66, 0x57, 0x21, 0x1f, 0x00, 0x66, 0x58, | ||
| 2700 | 0x54, 0xd0, 0x00, 0x66, 0x59, 0x21, 0x20, 0x00, | ||
| 2701 | 0x66, 0x5a, 0x34, 0x41, 0x00, 0x66, 0x5b, 0x39, | ||
| 2702 | 0x0d, 0x00, 0x66, 0x5c, 0x39, 0x0e, 0x00, 0x66, | ||
| 2703 | 0x5d, 0x13, 0xf1, 0x00, 0x66, 0x5e, 0x13, 0xf0, | ||
| 2704 | 0x00, 0x66, 0x5f, 0x13, 0xf5, 0x00, 0x66, 0x60, | ||
| 2705 | 0x54, 0xd1, 0x00, 0x66, 0x61, 0x39, 0x0f, 0x00, | ||
| 2706 | 0x66, 0x62, 0x13, 0xf6, 0x00, 0x66, 0x63, 0x37, | ||
| 2707 | 0x3a, 0x00, 0x66, 0x64, 0x13, 0xf2, 0x00, 0x66, | ||
| 2708 | 0x65, 0x21, 0x1e, 0x00, 0x66, 0x66, 0x05, 0x80, | ||
| 2709 | 0x00, 0x66, 0x67, 0x13, 0xf3, 0x00, 0x66, 0x68, | ||
| 2710 | 0x13, 0xf4, 0x00, 0x66, 0x69, 0x0d, 0x69, 0x00, | ||
| 2711 | 0x66, 0x6a, 0x45, 0x51, 0x00, 0x66, 0x6b, 0x39, | ||
| 2712 | 0x10, 0x00, 0x66, 0x6c, 0x45, 0x52, 0x00, 0x66, | ||
| 2713 | 0x6d, 0x45, 0x53, 0x00, 0x66, 0x6e, 0x0d, 0xd3, | ||
| 2714 | 0x00, 0x66, 0x6f, 0x07, 0x20, 0x00, 0x66, 0x70, | ||
| 2715 | 0x13, 0xf7, 0x00, 0x66, 0x73, 0x21, 0x22, 0x00, | ||
| 2716 | 0x66, 0x74, 0x21, 0x21, 0x00, 0x66, 0x75, 0x54, | ||
| 2717 | 0xd2, 0x00, 0x66, 0x76, 0x09, 0xa5, 0x00, 0x66, | ||
| 2718 | 0x77, 0x41, 0xf9, 0x00, 0x66, 0x78, 0x41, 0xfa, | ||
| 2719 | 0x00, 0x66, 0x79, 0x54, 0xd4, 0x00, 0x66, 0x7a, | ||
| 2720 | 0x0b, 0x90, 0x00, 0x66, 0x7b, 0x45, 0x54, 0x00, | ||
| 2721 | 0x66, 0x7c, 0x54, 0xd5, 0x00, 0x66, 0x7e, 0x4b, | ||
| 2722 | 0xec, 0x00, 0x66, 0x7f, 0x54, 0xd3, 0x00, 0x66, | ||
| 2723 | 0x80, 0x45, 0x55, 0x00, 0x66, 0x81, 0x06, 0xbf, | ||
| 2724 | 0x00, 0x66, 0x83, 0x13, 0xf8, 0x00, 0x66, 0x84, | ||
| 2725 | 0x13, 0xfc, 0x00, 0x66, 0x87, 0x05, 0x4b, 0x00, | ||
| 2726 | 0x66, 0x88, 0x13, 0xf9, 0x00, 0x66, 0x89, 0x13, | ||
| 2727 | 0xfb, 0x00, 0x66, 0x8b, 0x4b, 0xed, 0x00, 0x66, | ||
| 2728 | 0x8c, 0x4b, 0xee, 0x00, 0x66, 0x8d, 0x41, 0xfb, | ||
| 2729 | 0x00, 0x66, 0x8e, 0x13, 0xfa, 0x00, 0x66, 0x90, | ||
| 2730 | 0x45, 0x56, 0x00, 0x66, 0x91, 0x09, 0x75, 0x00, | ||
| 2731 | 0x66, 0x92, 0x45, 0x57, 0x00, 0x66, 0x96, 0x0b, | ||
| 2732 | 0x86, 0x00, 0x66, 0x97, 0x04, 0x89, 0x00, 0x66, | ||
| 2733 | 0x98, 0x13, 0xfd, 0x00, 0x66, 0x99, 0x21, 0x23, | ||
| 2734 | 0x00, 0x66, 0x9a, 0x54, 0xd6, 0x00, 0x66, 0x9b, | ||
| 2735 | 0x54, 0xd7, 0x00, 0x66, 0x9c, 0x54, 0xd8, 0x00, | ||
| 2736 | 0x66, 0x9d, 0x13, 0xfe, 0x00, 0x66, 0x9f, 0x54, | ||
| 2737 | 0xd9, 0x00, 0x66, 0xa0, 0x21, 0x24, 0x00, 0x66, | ||
| 2738 | 0xa2, 0x0b, 0xc6, 0x00, 0x66, 0xa4, 0x39, 0x12, | ||
| 2739 | 0x00, 0x66, 0xa6, 0x0f, 0xb9, 0x00, 0x66, 0xab, | ||
| 2740 | 0x08, 0x91, 0x00, 0x66, 0xad, 0x45, 0x59, 0x00, | ||
| 2741 | 0x66, 0xae, 0x0e, 0x3b, 0x00, 0x66, 0xb1, 0x45, | ||
| 2742 | 0x5a, 0x00, 0x66, 0xb2, 0x21, 0x25, 0x00, 0x66, | ||
| 2743 | 0xb3, 0x4b, 0xef, 0x00, 0x66, 0xb4, 0x0e, 0x6b, | ||
| 2744 | 0x00, 0x66, 0xb5, 0x45, 0x5b, 0x00, 0x66, 0xb8, | ||
| 2745 | 0x14, 0x05, 0x00, 0x66, 0xb9, 0x14, 0x00, 0x00, | ||
| 2746 | 0x66, 0xbb, 0x41, 0xfc, 0x00, 0x66, 0xbc, 0x14, | ||
| 2747 | 0x03, 0x00, 0x66, 0xbe, 0x14, 0x02, 0x00, 0x66, | ||
| 2748 | 0xbf, 0x21, 0x26, 0x00, 0x66, 0xc0, 0x4b, 0xf0, | ||
| 2749 | 0x00, 0x66, 0xc1, 0x13, 0xff, 0x00, 0x66, 0xc2, | ||
| 2750 | 0x54, 0xdb, 0x00, 0x66, 0xc3, 0x54, 0xdc, 0x00, | ||
| 2751 | 0x66, 0xc4, 0x14, 0x04, 0x00, 0x66, 0xc6, 0x34, | ||
| 2752 | 0x55, 0x00, 0x66, 0xc7, 0x0c, 0xb6, 0x00, 0x66, | ||
| 2753 | 0xc8, 0x39, 0x13, 0x00, 0x66, 0xc9, 0x14, 0x01, | ||
| 2754 | 0x00, 0x66, 0xcc, 0x54, 0xdd, 0x00, 0x66, 0xce, | ||
| 2755 | 0x54, 0xde, 0x00, 0x66, 0xcf, 0x4b, 0xf1, 0x00, | ||
| 2756 | 0x66, 0xd4, 0x54, 0xdf, 0x00, 0x66, 0xd6, 0x14, | ||
| 2757 | 0x06, 0x00, 0x66, 0xd9, 0x09, 0x76, 0x00, 0x66, | ||
| 2758 | 0xda, 0x14, 0x07, 0x00, 0x66, 0xdb, 0x41, 0xfd, | ||
| 2759 | 0x00, 0x66, 0xdc, 0x0f, 0x35, 0x00, 0x66, 0xdd, | ||
| 2760 | 0x0d, 0x2e, 0x00, 0x66, 0xdf, 0x54, 0xe0, 0x00, | ||
| 2761 | 0x66, 0xe0, 0x14, 0x08, 0x00, 0x66, 0xe6, 0x14, | ||
| 2762 | 0x0a, 0x00, 0x66, 0xe8, 0x41, 0xfe, 0x00, 0x66, | ||
| 2763 | 0xe9, 0x14, 0x0b, 0x00, 0x66, 0xeb, 0x54, 0xe1, | ||
| 2764 | 0x00, 0x66, 0xec, 0x39, 0x14, 0x00, 0x66, 0xee, | ||
| 2765 | 0x54, 0xe2, 0x00, 0x66, 0xf0, 0x14, 0x0c, 0x00, | ||
| 2766 | 0x66, 0xf2, 0x06, 0xc2, 0x00, 0x66, 0xf3, 0x04, | ||
| 2767 | 0xea, 0x00, 0x66, 0xf4, 0x07, 0xcb, 0x00, 0x66, | ||
| 2768 | 0xf5, 0x14, 0x0d, 0x00, 0x66, 0xf7, 0x14, 0x0e, | ||
| 2769 | 0x00, 0x66, 0xf8, 0x09, 0x7b, 0x00, 0x66, 0xf9, | ||
| 2770 | 0x0a, 0xe4, 0x00, 0x66, 0xfa, 0x21, 0x27, 0x00, | ||
| 2771 | 0x66, 0xfb, 0x20, 0xb1, 0x00, 0x66, 0xfc, 0x10, | ||
| 2772 | 0xed, 0x00, 0x66, 0xfd, 0x0a, 0xc0, 0x00, 0x66, | ||
| 2773 | 0xfe, 0x0a, 0xbf, 0x00, 0x66, 0xff, 0x0b, 0x38, | ||
| 2774 | 0x00, 0x67, 0x00, 0x08, 0x37, 0x00, 0x67, 0x01, | ||
| 2775 | 0x45, 0x5f, 0x00, 0x67, 0x03, 0x10, 0x4b, 0x00, | ||
| 2776 | 0x67, 0x05, 0x39, 0x15, 0x00, 0x67, 0x07, 0x54, | ||
| 2777 | 0xe3, 0x00, 0x67, 0x08, 0x07, 0x44, 0x00, 0x67, | ||
| 2778 | 0x09, 0x0f, 0x17, 0x00, 0x67, 0x0b, 0x0e, 0x4e, | ||
| 2779 | 0x00, 0x67, 0x0d, 0x0d, 0xf0, 0x00, 0x67, 0x0e, | ||
| 2780 | 0x21, 0x28, 0x00, 0x67, 0x0f, 0x14, 0x0f, 0x00, | ||
| 2781 | 0x67, 0x12, 0x45, 0x60, 0x00, 0x67, 0x13, 0x39, | ||
| 2782 | 0x16, 0x00, 0x67, 0x14, 0x08, 0x63, 0x00, 0x67, | ||
| 2783 | 0x15, 0x0b, 0xdb, 0x00, 0x67, 0x16, 0x14, 0x10, | ||
| 2784 | 0x00, 0x67, 0x17, 0x4f, 0x51, 0x00, 0x67, 0x19, | ||
| 2785 | 0x45, 0x62, 0x00, 0x67, 0x1b, 0x0e, 0x6c, 0x00, | ||
| 2786 | 0x67, 0x1c, 0x54, 0xe4, 0x00, 0x67, 0x1d, 0x0b, | ||
| 2787 | 0xc7, 0x00, 0x67, 0x1e, 0x14, 0x11, 0x00, 0x67, | ||
| 2788 | 0x1f, 0x06, 0x38, 0x00, 0x67, 0x20, 0x54, 0xe5, | ||
| 2789 | 0x00, 0x67, 0x22, 0x54, 0xe6, 0x00, 0x67, 0x25, | ||
| 2790 | 0x4b, 0xf2, 0x00, 0x67, 0x26, 0x14, 0x12, 0x00, | ||
| 2791 | 0x67, 0x27, 0x14, 0x13, 0x00, 0x67, 0x28, 0x0e, | ||
| 2792 | 0xe6, 0x00, 0x67, 0x2a, 0x0e, 0xb0, 0x00, 0x67, | ||
| 2793 | 0x2b, 0x0e, 0xa4, 0x00, 0x67, 0x2c, 0x0e, 0x8a, | ||
| 2794 | 0x00, 0x67, 0x2d, 0x08, 0x73, 0x00, 0x67, 0x2e, | ||
| 2795 | 0x14, 0x15, 0x00, 0x67, 0x31, 0x09, 0x17, 0x00, | ||
| 2796 | 0x67, 0x33, 0x39, 0x17, 0x00, 0x67, 0x34, 0x0e, | ||
| 2797 | 0x7f, 0x00, 0x67, 0x35, 0x4b, 0xf3, 0x00, 0x67, | ||
| 2798 | 0x36, 0x14, 0x17, 0x00, 0x67, 0x37, 0x14, 0x1a, | ||
| 2799 | 0x00, 0x67, 0x38, 0x14, 0x19, 0x00, 0x67, 0x3a, | ||
| 2800 | 0x06, 0x35, 0x00, 0x67, 0x3d, 0x06, 0x7a, 0x00, | ||
| 2801 | 0x67, 0x3e, 0x54, 0xe7, 0x00, 0x67, 0x3f, 0x14, | ||
| 2802 | 0x16, 0x00, 0x67, 0x41, 0x14, 0x18, 0x00, 0x67, | ||
| 2803 | 0x43, 0x35, 0xb7, 0x00, 0x67, 0x45, 0x54, 0xe8, | ||
| 2804 | 0x00, 0x67, 0x46, 0x14, 0x1b, 0x00, 0x67, 0x47, | ||
| 2805 | 0x41, 0xff, 0x00, 0x67, 0x48, 0x39, 0x18, 0x00, | ||
| 2806 | 0x67, 0x49, 0x0a, 0x3f, 0x00, 0x67, 0x4c, 0x39, | ||
| 2807 | 0x19, 0x00, 0x67, 0x4d, 0x45, 0x65, 0x00, 0x67, | ||
| 2808 | 0x4e, 0x0f, 0x65, 0x00, 0x67, 0x4f, 0x04, 0x8d, | ||
| 2809 | 0x00, 0x67, 0x50, 0x08, 0x50, 0x00, 0x67, 0x51, | ||
| 2810 | 0x0b, 0x1c, 0x00, 0x67, 0x53, 0x09, 0x09, 0x00, | ||
| 2811 | 0x67, 0x54, 0x45, 0x66, 0x00, 0x67, 0x55, 0x4b, | ||
| 2812 | 0xf4, 0x00, 0x67, 0x56, 0x09, 0xdb, 0x00, 0x67, | ||
| 2813 | 0x59, 0x14, 0x1e, 0x00, 0x67, 0x5c, 0x0c, 0x48, | ||
| 2814 | 0x00, 0x67, 0x5d, 0x45, 0x67, 0x00, 0x67, 0x5e, | ||
| 2815 | 0x14, 0x1c, 0x00, 0x67, 0x5f, 0x0b, 0x0b, 0x00, | ||
| 2816 | 0x67, 0x60, 0x14, 0x1d, 0x00, 0x67, 0x61, 0x09, | ||
| 2817 | 0xda, 0x00, 0x67, 0x62, 0x0e, 0xe9, 0x00, 0x67, | ||
| 2818 | 0x63, 0x14, 0x1f, 0x00, 0x67, 0x64, 0x14, 0x20, | ||
| 2819 | 0x00, 0x67, 0x65, 0x0f, 0x52, 0x00, 0x67, 0x66, | ||
| 2820 | 0x21, 0x2a, 0x00, 0x67, 0x6a, 0x14, 0x25, 0x00, | ||
| 2821 | 0x67, 0x6c, 0x54, 0xe9, 0x00, 0x67, 0x6d, 0x07, | ||
| 2822 | 0xcc, 0x00, 0x67, 0x6e, 0x35, 0x71, 0x00, 0x67, | ||
| 2823 | 0x6f, 0x0d, 0x0b, 0x00, 0x67, 0x70, 0x14, 0x22, | ||
| 2824 | 0x00, 0x67, 0x71, 0x0c, 0x66, 0x00, 0x67, 0x72, | ||
| 2825 | 0x13, 0xe3, 0x00, 0x67, 0x73, 0x13, 0xe7, 0x00, | ||
| 2826 | 0x67, 0x74, 0x45, 0x6b, 0x00, 0x67, 0x75, 0x06, | ||
| 2827 | 0x69, 0x00, 0x67, 0x76, 0x39, 0x1a, 0x00, 0x67, | ||
| 2828 | 0x77, 0x0c, 0xfd, 0x00, 0x67, 0x7b, 0x39, 0x1b, | ||
| 2829 | 0x00, 0x67, 0x7c, 0x14, 0x24, 0x00, 0x67, 0x7e, | ||
| 2830 | 0x09, 0xa6, 0x00, 0x67, 0x7f, 0x0d, 0x58, 0x00, | ||
| 2831 | 0x67, 0x80, 0x4b, 0xf5, 0x00, 0x67, 0x81, 0x42, | ||
| 2832 | 0x00, 0x00, 0x67, 0x84, 0x54, 0xea, 0x00, 0x67, | ||
| 2833 | 0x85, 0x14, 0x2a, 0x00, 0x67, 0x87, 0x0d, 0x8e, | ||
| 2834 | 0x00, 0x67, 0x89, 0x14, 0x21, 0x00, 0x67, 0x8b, | ||
| 2835 | 0x14, 0x27, 0x00, 0x67, 0x8c, 0x14, 0x26, 0x00, | ||
| 2836 | 0x67, 0x8e, 0x54, 0xeb, 0x00, 0x67, 0x8f, 0x4b, | ||
| 2837 | 0xf6, 0x00, 0x67, 0x90, 0x0a, 0x73, 0x00, 0x67, | ||
| 2838 | 0x91, 0x4b, 0xf7, 0x00, 0x67, 0x92, 0x45, 0x6d, | ||
| 2839 | 0x00, 0x67, 0x93, 0x42, 0x01, 0x00, 0x67, 0x95, | ||
| 2840 | 0x0e, 0x9b, 0x00, 0x67, 0x96, 0x54, 0xec, 0x00, | ||
| 2841 | 0x67, 0x97, 0x0f, 0x9b, 0x00, 0x67, 0x98, 0x42, | ||
| 2842 | 0x02, 0x00, 0x67, 0x99, 0x54, 0xed, 0x00, 0x67, | ||
| 2843 | 0x9a, 0x0e, 0x95, 0x00, 0x67, 0x9b, 0x42, 0x03, | ||
| 2844 | 0x00, 0x67, 0x9c, 0x05, 0x4c, 0x00, 0x67, 0x9d, | ||
| 2845 | 0x08, 0xac, 0x00, 0x67, 0xa0, 0x0f, 0xee, 0x00, | ||
| 2846 | 0x67, 0xa1, 0x14, 0x29, 0x00, 0x67, 0xa2, 0x0a, | ||
| 2847 | 0x3b, 0x00, 0x67, 0xa4, 0x4b, 0xf8, 0x00, 0x67, | ||
| 2848 | 0xa6, 0x14, 0x28, 0x00, 0x67, 0xa9, 0x14, 0x23, | ||
| 2849 | 0x00, 0x67, 0xaf, 0x07, 0x83, 0x00, 0x67, 0xb0, | ||
| 2850 | 0x39, 0x1c, 0x00, 0x67, 0xb1, 0x4b, 0xf9, 0x00, | ||
| 2851 | 0x67, 0xb2, 0x39, 0x1d, 0x00, 0x67, 0xb3, 0x14, | ||
| 2852 | 0x2f, 0x00, 0x67, 0xb4, 0x14, 0x2d, 0x00, 0x67, | ||
| 2853 | 0xb5, 0x4b, 0xfa, 0x00, 0x67, 0xb6, 0x05, 0x4d, | ||
| 2854 | 0x00, 0x67, 0xb7, 0x14, 0x2b, 0x00, 0x67, 0xb8, | ||
| 2855 | 0x14, 0x31, 0x00, 0x67, 0xb9, 0x14, 0x37, 0x00, | ||
| 2856 | 0x67, 0xbb, 0x21, 0x2b, 0x00, 0x67, 0xbc, 0x54, | ||
| 2857 | 0xee, 0x00, 0x67, 0xbd, 0x54, 0xef, 0x00, 0x67, | ||
| 2858 | 0xbe, 0x4b, 0xfb, 0x00, 0x67, 0xc0, 0x21, 0x2d, | ||
| 2859 | 0x00, 0x67, 0xc1, 0x0b, 0x28, 0x00, 0x67, 0xc2, | ||
| 2860 | 0x54, 0xf0, 0x00, 0x67, 0xc3, 0x45, 0x71, 0x00, | ||
| 2861 | 0x67, 0xc4, 0x0e, 0x11, 0x00, 0x67, 0xc5, 0x54, | ||
| 2862 | 0xf1, 0x00, 0x67, 0xc6, 0x14, 0x39, 0x00, 0x67, | ||
| 2863 | 0xc8, 0x45, 0x72, 0x00, 0x67, 0xc9, 0x54, 0xf2, | ||
| 2864 | 0x00, 0x67, 0xca, 0x0d, 0x94, 0x00, 0x67, 0xce, | ||
| 2865 | 0x14, 0x38, 0x00, 0x67, 0xcf, 0x0d, 0x26, 0x00, | ||
| 2866 | 0x67, 0xd0, 0x0e, 0x6d, 0x00, 0x67, 0xd1, 0x05, | ||
| 2867 | 0xf7, 0x00, 0x67, 0xd2, 0x45, 0x73, 0x00, 0x67, | ||
| 2868 | 0xd3, 0x0a, 0x9b, 0x00, 0x67, 0xd4, 0x09, 0x4a, | ||
| 2869 | 0x00, 0x67, 0xd7, 0x39, 0x1f, 0x00, 0x67, 0xd8, | ||
| 2870 | 0x0b, 0xef, 0x00, 0x67, 0xd9, 0x39, 0x20, 0x00, | ||
| 2871 | 0x67, 0xda, 0x0f, 0x18, 0x00, 0x67, 0xdb, 0x45, | ||
| 2872 | 0x74, 0x00, 0x67, 0xdc, 0x54, 0xf3, 0x00, 0x67, | ||
| 2873 | 0xdd, 0x14, 0x34, 0x00, 0x67, 0xde, 0x14, 0x33, | ||
| 2874 | 0x00, 0x67, 0xe1, 0x54, 0xf4, 0x00, 0x67, 0xe2, | ||
| 2875 | 0x14, 0x35, 0x00, 0x67, 0xe4, 0x14, 0x32, 0x00, | ||
| 2876 | 0x67, 0xe6, 0x54, 0xf5, 0x00, 0x67, 0xe7, 0x14, | ||
| 2877 | 0x3a, 0x00, 0x67, 0xe9, 0x14, 0x30, 0x00, 0x67, | ||
| 2878 | 0xec, 0x14, 0x2e, 0x00, 0x67, 0xee, 0x14, 0x36, | ||
| 2879 | 0x00, 0x67, 0xef, 0x14, 0x2c, 0x00, 0x67, 0xf0, | ||
| 2880 | 0x39, 0x21, 0x00, 0x67, 0xf1, 0x0b, 0xaa, 0x00, | ||
| 2881 | 0x67, 0xf2, 0x54, 0xf6, 0x00, 0x67, 0xf3, 0x0f, | ||
| 2882 | 0x04, 0x00, 0x67, 0xf4, 0x08, 0xf2, 0x00, 0x67, | ||
| 2883 | 0xf5, 0x08, 0x64, 0x00, 0x67, 0xf6, 0x54, 0xf7, | ||
| 2884 | 0x00, 0x67, 0xf7, 0x45, 0x75, 0x00, 0x67, 0xf9, | ||
| 2885 | 0x39, 0x1e, 0x00, 0x67, 0xfa, 0x1e, 0x9a, 0x00, | ||
| 2886 | 0x67, 0xfb, 0x08, 0x2a, 0x00, 0x67, 0xfc, 0x42, | ||
| 2887 | 0x04, 0x00, 0x67, 0xfe, 0x0e, 0x9d, 0x00, 0x67, | ||
| 2888 | 0xff, 0x05, 0x9f, 0x00, 0x68, 0x01, 0x36, 0xf2, | ||
| 2889 | 0x00, 0x68, 0x02, 0x0b, 0xea, 0x00, 0x68, 0x03, | ||
| 2890 | 0x0c, 0xa2, 0x00, 0x68, 0x04, 0x04, 0xeb, 0x00, | ||
| 2891 | 0x68, 0x05, 0x1e, 0x07, 0x00, 0x68, 0x10, 0x45, | ||
| 2892 | 0x70, 0x00, 0x68, 0x13, 0x0a, 0x96, 0x00, 0x68, | ||
| 2893 | 0x14, 0x54, 0xf8, 0x00, 0x68, 0x16, 0x0a, 0x58, | ||
| 2894 | 0x00, 0x68, 0x17, 0x07, 0x00, 0x00, 0x68, 0x18, | ||
| 2895 | 0x45, 0x79, 0x00, 0x68, 0x19, 0x54, 0xf9, 0x00, | ||
| 2896 | 0x68, 0x1d, 0x42, 0x05, 0x00, 0x68, 0x1e, 0x14, | ||
| 2897 | 0x3c, 0x00, 0x68, 0x1f, 0x45, 0x7a, 0x00, 0x68, | ||
| 2898 | 0x21, 0x07, 0xcd, 0x00, 0x68, 0x22, 0x05, 0xda, | ||
| 2899 | 0x00, 0x68, 0x27, 0x54, 0xfa, 0x00, 0x68, 0x28, | ||
| 2900 | 0x4b, 0xfc, 0x00, 0x68, 0x29, 0x14, 0x3e, 0x00, | ||
| 2901 | 0x68, 0x2a, 0x05, 0xd2, 0x00, 0x68, 0x2b, 0x14, | ||
| 2902 | 0x44, 0x00, 0x68, 0x2c, 0x39, 0x22, 0x00, 0x68, | ||
| 2903 | 0x2d, 0x45, 0x7b, 0x00, 0x68, 0x2f, 0x54, 0xfb, | ||
| 2904 | 0x00, 0x68, 0x30, 0x39, 0x23, 0x00, 0x68, 0x31, | ||
| 2905 | 0x39, 0x24, 0x00, 0x68, 0x32, 0x14, 0x41, 0x00, | ||
| 2906 | 0x68, 0x33, 0x45, 0x7d, 0x00, 0x68, 0x34, 0x0a, | ||
| 2907 | 0x97, 0x00, 0x68, 0x38, 0x05, 0xa9, 0x00, 0x68, | ||
| 2908 | 0x39, 0x08, 0x1c, 0x00, 0x68, 0x3b, 0x45, 0x7e, | ||
| 2909 | 0x00, 0x68, 0x3c, 0x05, 0xa8, 0x00, 0x68, 0x3d, | ||
| 2910 | 0x08, 0x3f, 0x00, 0x68, 0x3e, 0x45, 0x7f, 0x00, | ||
| 2911 | 0x68, 0x3f, 0x54, 0xfc, 0x00, 0x68, 0x40, 0x14, | ||
| 2912 | 0x3f, 0x00, 0x68, 0x41, 0x07, 0x3b, 0x00, 0x68, | ||
| 2913 | 0x42, 0x07, 0x21, 0x00, 0x68, 0x43, 0x0c, 0x67, | ||
| 2914 | 0x00, 0x68, 0x44, 0x21, 0x2f, 0x00, 0x68, 0x45, | ||
| 2915 | 0x45, 0x80, 0x00, 0x68, 0x46, 0x14, 0x3d, 0x00, | ||
| 2916 | 0x68, 0x48, 0x04, 0x8a, 0x00, 0x68, 0x49, 0x45, | ||
| 2917 | 0x81, 0x00, 0x68, 0x4a, 0x54, 0xfd, 0x00, 0x68, | ||
| 2918 | 0x4c, 0x45, 0x82, 0x00, 0x68, 0x4d, 0x14, 0x40, | ||
| 2919 | 0x00, 0x68, 0x4e, 0x14, 0x42, 0x00, 0x68, 0x50, | ||
| 2920 | 0x06, 0xc5, 0x00, 0x68, 0x51, 0x07, 0x02, 0x00, | ||
| 2921 | 0x68, 0x52, 0x37, 0xd3, 0x00, 0x68, 0x53, 0x05, | ||
| 2922 | 0xf8, 0x00, 0x68, 0x54, 0x06, 0x65, 0x00, 0x68, | ||
| 2923 | 0x55, 0x45, 0x83, 0x00, 0x68, 0x57, 0x45, 0x84, | ||
| 2924 | 0x00, 0x68, 0x58, 0x54, 0xfe, 0x00, 0x68, 0x59, | ||
| 2925 | 0x14, 0x45, 0x00, 0x68, 0x5b, 0x39, 0x25, 0x00, | ||
| 2926 | 0x68, 0x5c, 0x08, 0x69, 0x00, 0x68, 0x5d, 0x0e, | ||
| 2927 | 0x9f, 0x00, 0x68, 0x5f, 0x08, 0x85, 0x00, 0x68, | ||
| 2928 | 0x63, 0x14, 0x46, 0x00, 0x68, 0x67, 0x0d, 0xa2, | ||
| 2929 | 0x00, 0x68, 0x6b, 0x45, 0x86, 0x00, 0x68, 0x6e, | ||
| 2930 | 0x45, 0x87, 0x00, 0x68, 0x6f, 0x54, 0xff, 0x00, | ||
| 2931 | 0x68, 0x70, 0x55, 0x00, 0x00, 0x68, 0x71, 0x55, | ||
| 2932 | 0x01, 0x00, 0x68, 0x72, 0x39, 0x26, 0x00, 0x68, | ||
| 2933 | 0x74, 0x14, 0x52, 0x00, 0x68, 0x75, 0x39, 0x27, | ||
| 2934 | 0x00, 0x68, 0x76, 0x05, 0x33, 0x00, 0x68, 0x77, | ||
| 2935 | 0x14, 0x47, 0x00, 0x68, 0x79, 0x55, 0x02, 0x00, | ||
| 2936 | 0x68, 0x7a, 0x39, 0x28, 0x00, 0x68, 0x7b, 0x55, | ||
| 2937 | 0x03, 0x00, 0x68, 0x7c, 0x45, 0x88, 0x00, 0x68, | ||
| 2938 | 0x7e, 0x14, 0x58, 0x00, 0x68, 0x7f, 0x14, 0x48, | ||
| 2939 | 0x00, 0x68, 0x81, 0x0f, 0x8a, 0x00, 0x68, 0x82, | ||
| 2940 | 0x45, 0x89, 0x00, 0x68, 0x83, 0x14, 0x4f, 0x00, | ||
| 2941 | 0x68, 0x84, 0x39, 0x29, 0x00, 0x68, 0x85, 0x34, | ||
| 2942 | 0x3f, 0x00, 0x68, 0x86, 0x4b, 0xfd, 0x00, 0x68, | ||
| 2943 | 0x88, 0x55, 0x04, 0x00, 0x68, 0x8d, 0x14, 0x57, | ||
| 2944 | 0x00, 0x68, 0x8e, 0x1e, 0x9c, 0x00, 0x68, 0x8f, | ||
| 2945 | 0x14, 0x4a, 0x00, 0x68, 0x90, 0x45, 0x8a, 0x00, | ||
| 2946 | 0x68, 0x93, 0x04, 0x78, 0x00, 0x68, 0x94, 0x14, | ||
| 2947 | 0x4c, 0x00, 0x68, 0x96, 0x45, 0x8b, 0x00, 0x68, | ||
| 2948 | 0x97, 0x07, 0xce, 0x00, 0x68, 0x98, 0x45, 0x8d, | ||
| 2949 | 0x00, 0x68, 0x99, 0x45, 0x8e, 0x00, 0x68, 0x9a, | ||
| 2950 | 0x45, 0x8f, 0x00, 0x68, 0x9b, 0x14, 0x4e, 0x00, | ||
| 2951 | 0x68, 0x9c, 0x45, 0x90, 0x00, 0x68, 0x9d, 0x14, | ||
| 2952 | 0x4d, 0x00, 0x68, 0x9f, 0x14, 0x49, 0x00, 0x68, | ||
| 2953 | 0xa0, 0x14, 0x54, 0x00, 0x68, 0xa1, 0x55, 0x05, | ||
| 2954 | 0x00, 0x68, 0xa2, 0x09, 0xa7, 0x00, 0x68, 0xa3, | ||
| 2955 | 0x42, 0x06, 0x00, 0x68, 0xa5, 0x39, 0x2a, 0x00, | ||
| 2956 | 0x68, 0xa6, 0x11, 0xbe, 0x00, 0x68, 0xa7, 0x07, | ||
| 2957 | 0x9c, 0x00, 0x68, 0xa8, 0x0f, 0x66, 0x00, 0x68, | ||
| 2958 | 0xa9, 0x55, 0x06, 0x00, 0x68, 0xaa, 0x45, 0x91, | ||
| 2959 | 0x00, 0x68, 0xab, 0x45, 0x92, 0x00, 0x68, 0xad, | ||
| 2960 | 0x14, 0x4b, 0x00, 0x68, 0xae, 0x55, 0x07, 0x00, | ||
| 2961 | 0x68, 0xaf, 0x0c, 0x10, 0x00, 0x68, 0xb0, 0x05, | ||
| 2962 | 0x81, 0x00, 0x68, 0xb1, 0x08, 0x1d, 0x00, 0x68, | ||
| 2963 | 0xb2, 0x39, 0x2b, 0x00, 0x68, 0xb3, 0x14, 0x43, | ||
| 2964 | 0x00, 0x68, 0xb4, 0x45, 0x93, 0x00, 0x68, 0xb5, | ||
| 2965 | 0x14, 0x53, 0x00, 0x68, 0xb6, 0x05, 0xbf, 0x00, | ||
| 2966 | 0x68, 0xb9, 0x14, 0x51, 0x00, 0x68, 0xba, 0x14, | ||
| 2967 | 0x55, 0x00, 0x68, 0xbb, 0x45, 0x94, 0x00, 0x68, | ||
| 2968 | 0xbc, 0x0c, 0x68, 0x00, 0x68, 0xc3, 0x45, 0x98, | ||
| 2969 | 0x00, 0x68, 0xc4, 0x06, 0x3a, 0x00, 0x68, 0xc5, | ||
| 2970 | 0x45, 0x99, 0x00, 0x68, 0xc6, 0x14, 0x73, 0x00, | ||
| 2971 | 0x68, 0xc8, 0x20, 0xaf, 0x00, 0x68, 0xc9, 0x0e, | ||
| 2972 | 0xd5, 0x00, 0x68, 0xca, 0x14, 0x5a, 0x00, 0x68, | ||
| 2973 | 0xcb, 0x06, 0x39, 0x00, 0x68, 0xcc, 0x45, 0x9a, | ||
| 2974 | 0x00, 0x68, 0xcd, 0x14, 0x61, 0x00, 0x68, 0xcf, | ||
| 2975 | 0x21, 0x30, 0x00, 0x68, 0xd0, 0x39, 0x2c, 0x00, | ||
| 2976 | 0x68, 0xd1, 0x55, 0x08, 0x00, 0x68, 0xd2, 0x0e, | ||
| 2977 | 0x6e, 0x00, 0x68, 0xd3, 0x55, 0x09, 0x00, 0x68, | ||
| 2978 | 0xd4, 0x14, 0x62, 0x00, 0x68, 0xd5, 0x14, 0x64, | ||
| 2979 | 0x00, 0x68, 0xd6, 0x39, 0x2d, 0x00, 0x68, 0xd7, | ||
| 2980 | 0x14, 0x68, 0x00, 0x68, 0xd8, 0x14, 0x5c, 0x00, | ||
| 2981 | 0x68, 0xd9, 0x45, 0x9b, 0x00, 0x68, 0xda, 0x0b, | ||
| 2982 | 0x68, 0x00, 0x68, 0xdc, 0x55, 0x0a, 0x00, 0x68, | ||
| 2983 | 0xdd, 0x55, 0x0b, 0x00, 0x68, 0xdf, 0x0c, 0x69, | ||
| 2984 | 0x00, 0x68, 0xe0, 0x14, 0x6c, 0x00, 0x68, 0xe1, | ||
| 2985 | 0x14, 0x5f, 0x00, 0x68, 0xe3, 0x14, 0x69, 0x00, | ||
| 2986 | 0x68, 0xe4, 0x45, 0x9c, 0x00, 0x68, 0xe5, 0x45, | ||
| 2987 | 0x9d, 0x00, 0x68, 0xe7, 0x14, 0x63, 0x00, 0x68, | ||
| 2988 | 0xe8, 0x39, 0x2e, 0x00, 0x68, 0xea, 0x55, 0x0c, | ||
| 2989 | 0x00, 0x68, 0xeb, 0x4b, 0xfe, 0x00, 0x68, 0xec, | ||
| 2990 | 0x45, 0x9e, 0x00, 0x68, 0xed, 0x39, 0x2f, 0x00, | ||
| 2991 | 0x68, 0xee, 0x09, 0xff, 0x00, 0x68, 0xef, 0x14, | ||
| 2992 | 0x6d, 0x00, 0x68, 0xf0, 0x39, 0x30, 0x00, 0x68, | ||
| 2993 | 0xf1, 0x39, 0x31, 0x00, 0x68, 0xf2, 0x0a, 0x57, | ||
| 2994 | 0x00, 0x68, 0xf5, 0x4b, 0xff, 0x00, 0x68, 0xf6, | ||
| 2995 | 0x55, 0x0d, 0x00, 0x68, 0xf7, 0x45, 0x9f, 0x00, | ||
| 2996 | 0x68, 0xf9, 0x14, 0x6b, 0x00, 0x68, 0xfa, 0x05, | ||
| 2997 | 0xf9, 0x00, 0x68, 0xfb, 0x45, 0x95, 0x00, 0x68, | ||
| 2998 | 0xfc, 0x39, 0x32, 0x00, 0x68, 0xfd, 0x55, 0x0e, | ||
| 2999 | 0x00, 0x69, 0x00, 0x0f, 0xf6, 0x00, 0x69, 0x01, | ||
| 3000 | 0x14, 0x59, 0x00, 0x69, 0x03, 0x45, 0xa0, 0x00, | ||
| 3001 | 0x69, 0x04, 0x14, 0x67, 0x00, 0x69, 0x05, 0x04, | ||
| 3002 | 0x9c, 0x00, 0x69, 0x06, 0x55, 0x0f, 0x00, 0x69, | ||
| 3003 | 0x07, 0x45, 0xa1, 0x00, 0x69, 0x08, 0x14, 0x5b, | ||
| 3004 | 0x00, 0x69, 0x09, 0x55, 0x10, 0x00, 0x69, 0x0a, | ||
| 3005 | 0x42, 0x07, 0x00, 0x69, 0x0b, 0x0e, 0xc6, 0x00, | ||
| 3006 | 0x69, 0x0c, 0x14, 0x60, 0x00, 0x69, 0x0d, 0x09, | ||
| 3007 | 0xe8, 0x00, 0x69, 0x0e, 0x0b, 0xe3, 0x00, 0x69, | ||
| 3008 | 0x0f, 0x14, 0x56, 0x00, 0x69, 0x10, 0x55, 0x11, | ||
| 3009 | 0x00, 0x69, 0x11, 0x39, 0x33, 0x00, 0x69, 0x12, | ||
| 3010 | 0x14, 0x66, 0x00, 0x69, 0x13, 0x39, 0x34, 0x00, | ||
| 3011 | 0x69, 0x16, 0x55, 0x12, 0x00, 0x69, 0x17, 0x4c, | ||
| 3012 | 0x00, 0x00, 0x69, 0x19, 0x0a, 0x40, 0x00, 0x69, | ||
| 3013 | 0x1a, 0x14, 0x70, 0x00, 0x69, 0x1b, 0x05, 0xcf, | ||
| 3014 | 0x00, 0x69, 0x1c, 0x07, 0x55, 0x00, 0x69, 0x21, | ||
| 3015 | 0x14, 0x72, 0x00, 0x69, 0x22, 0x14, 0x5d, 0x00, | ||
| 3016 | 0x69, 0x23, 0x14, 0x71, 0x00, 0x69, 0x25, 0x14, | ||
| 3017 | 0x6a, 0x00, 0x69, 0x26, 0x14, 0x5e, 0x00, 0x69, | ||
| 3018 | 0x28, 0x14, 0x6e, 0x00, 0x69, 0x2a, 0x14, 0x6f, | ||
| 3019 | 0x00, 0x69, 0x30, 0x14, 0x80, 0x00, 0x69, 0x31, | ||
| 3020 | 0x55, 0x13, 0x00, 0x69, 0x33, 0x4c, 0x01, 0x00, | ||
| 3021 | 0x69, 0x34, 0x0c, 0xa6, 0x00, 0x69, 0x35, 0x39, | ||
| 3022 | 0x35, 0x00, 0x69, 0x36, 0x14, 0x65, 0x00, 0x69, | ||
| 3023 | 0x38, 0x4c, 0x02, 0x00, 0x69, 0x39, 0x14, 0x7c, | ||
| 3024 | 0x00, 0x69, 0x3b, 0x39, 0x36, 0x00, 0x69, 0x3d, | ||
| 3025 | 0x14, 0x7e, 0x00, 0x69, 0x3f, 0x0b, 0xf4, 0x00, | ||
| 3026 | 0x69, 0x42, 0x42, 0x0a, 0x00, 0x69, 0x45, 0x55, | ||
| 3027 | 0x14, 0x00, 0x69, 0x46, 0x45, 0xa5, 0x00, 0x69, | ||
| 3028 | 0x49, 0x42, 0x08, 0x00, 0x69, 0x4a, 0x0f, 0x36, | ||
| 3029 | 0x00, 0x69, 0x4e, 0x55, 0x15, 0x00, 0x69, 0x53, | ||
| 3030 | 0x0d, 0xe8, 0x00, 0x69, 0x54, 0x14, 0x79, 0x00, | ||
| 3031 | 0x69, 0x55, 0x0b, 0x2a, 0x00, 0x69, 0x57, 0x39, | ||
| 3032 | 0x37, 0x00, 0x69, 0x59, 0x14, 0x7f, 0x00, 0x69, | ||
| 3033 | 0x5a, 0x0a, 0xc1, 0x00, 0x69, 0x5b, 0x4c, 0x03, | ||
| 3034 | 0x00, 0x69, 0x5c, 0x14, 0x76, 0x00, 0x69, 0x5d, | ||
| 3035 | 0x14, 0x83, 0x00, 0x69, 0x5e, 0x14, 0x82, 0x00, | ||
| 3036 | 0x69, 0x60, 0x0c, 0xc7, 0x00, 0x69, 0x61, 0x14, | ||
| 3037 | 0x81, 0x00, 0x69, 0x62, 0x0c, 0xc2, 0x00, 0x69, | ||
| 3038 | 0x63, 0x39, 0x38, 0x00, 0x69, 0x64, 0x42, 0x0b, | ||
| 3039 | 0x00, 0x69, 0x65, 0x4c, 0x04, 0x00, 0x69, 0x66, | ||
| 3040 | 0x55, 0x16, 0x00, 0x69, 0x68, 0x21, 0x32, 0x00, | ||
| 3041 | 0x69, 0x69, 0x45, 0xa6, 0x00, 0x69, 0x6a, 0x14, | ||
| 3042 | 0x85, 0x00, 0x69, 0x6b, 0x14, 0x78, 0x00, 0x69, | ||
| 3043 | 0x6c, 0x45, 0xa7, 0x00, 0x69, 0x6d, 0x06, 0xc0, | ||
| 3044 | 0x00, 0x69, 0x6e, 0x14, 0x7b, 0x00, 0x69, 0x6f, | ||
| 3045 | 0x09, 0x67, 0x00, 0x69, 0x70, 0x55, 0x17, 0x00, | ||
| 3046 | 0x69, 0x71, 0x55, 0x18, 0x00, 0x69, 0x72, 0x39, | ||
| 3047 | 0x39, 0x00, 0x69, 0x73, 0x0d, 0x16, 0x00, 0x69, | ||
| 3048 | 0x74, 0x14, 0x7d, 0x00, 0x69, 0x75, 0x06, 0xc3, | ||
| 3049 | 0x00, 0x69, 0x77, 0x14, 0x75, 0x00, 0x69, 0x78, | ||
| 3050 | 0x14, 0x77, 0x00, 0x69, 0x79, 0x14, 0x74, 0x00, | ||
| 3051 | 0x69, 0x7a, 0x45, 0xa8, 0x00, 0x69, 0x7b, 0x55, | ||
| 3052 | 0x19, 0x00, 0x69, 0x7c, 0x0f, 0xd6, 0x00, 0x69, | ||
| 3053 | 0x7d, 0x05, 0xb8, 0x00, 0x69, 0x7e, 0x14, 0x7a, | ||
| 3054 | 0x00, 0x69, 0x7f, 0x39, 0x3a, 0x00, 0x69, 0x80, | ||
| 3055 | 0x39, 0x3b, 0x00, 0x69, 0x81, 0x14, 0x84, 0x00, | ||
| 3056 | 0x69, 0x82, 0x05, 0x93, 0x00, 0x69, 0x86, 0x37, | ||
| 3057 | 0x40, 0x00, 0x69, 0x8a, 0x08, 0x57, 0x00, 0x69, | ||
| 3058 | 0x8d, 0x55, 0x1a, 0x00, 0x69, 0x8e, 0x04, 0xff, | ||
| 3059 | 0x00, 0x69, 0x91, 0x14, 0x95, 0x00, 0x69, 0x92, | ||
| 3060 | 0x45, 0xa9, 0x00, 0x69, 0x94, 0x0f, 0xd7, 0x00, | ||
| 3061 | 0x69, 0x95, 0x14, 0x98, 0x00, 0x69, 0x96, 0x45, | ||
| 3062 | 0xab, 0x00, 0x69, 0x98, 0x21, 0x34, 0x00, 0x69, | ||
| 3063 | 0x9b, 0x0a, 0x00, 0x00, 0x69, 0x9c, 0x14, 0x97, | ||
| 3064 | 0x00, 0x69, 0xa0, 0x14, 0x96, 0x00, 0x69, 0xa1, | ||
| 3065 | 0x55, 0x1b, 0x00, 0x69, 0xa5, 0x42, 0x0c, 0x00, | ||
| 3066 | 0x69, 0xa6, 0x39, 0x3c, 0x00, 0x69, 0xa7, 0x14, | ||
| 3067 | 0x93, 0x00, 0x69, 0xa8, 0x4c, 0x05, 0x00, 0x69, | ||
| 3068 | 0xab, 0x4c, 0x06, 0x00, 0x69, 0xad, 0x39, 0x3d, | ||
| 3069 | 0x00, 0x69, 0xae, 0x14, 0x87, 0x00, 0x69, 0xaf, | ||
| 3070 | 0x4c, 0x07, 0x00, 0x69, 0xb0, 0x45, 0xac, 0x00, | ||
| 3071 | 0x69, 0xb1, 0x14, 0xa4, 0x00, 0x69, 0xb2, 0x14, | ||
| 3072 | 0x86, 0x00, 0x69, 0xb4, 0x14, 0x99, 0x00, 0x69, | ||
| 3073 | 0xb7, 0x39, 0x3e, 0x00, 0x69, 0xb8, 0x55, 0x1c, | ||
| 3074 | 0x00, 0x69, 0xba, 0x45, 0xad, 0x00, 0x69, 0xbb, | ||
| 3075 | 0x14, 0x91, 0x00, 0x69, 0xbc, 0x45, 0xae, 0x00, | ||
| 3076 | 0x69, 0xbe, 0x14, 0x8c, 0x00, 0x69, 0xbf, 0x14, | ||
| 3077 | 0x89, 0x00, 0x69, 0xc0, 0x45, 0xaf, 0x00, 0x69, | ||
| 3078 | 0xc1, 0x14, 0x8a, 0x00, 0x69, 0xc3, 0x14, 0x92, | ||
| 3079 | 0x00, 0x69, 0xc5, 0x55, 0x1d, 0x00, 0x69, 0xc7, | ||
| 3080 | 0x1d, 0x33, 0x00, 0x69, 0xc8, 0x55, 0x1e, 0x00, | ||
| 3081 | 0x69, 0xca, 0x14, 0x8f, 0x00, 0x69, 0xcb, 0x07, | ||
| 3082 | 0xcf, 0x00, 0x69, 0xcc, 0x0b, 0xe4, 0x00, 0x69, | ||
| 3083 | 0xcd, 0x0a, 0xe6, 0x00, 0x69, 0xce, 0x14, 0x8d, | ||
| 3084 | 0x00, 0x69, 0xcf, 0x42, 0x0d, 0x00, 0x69, 0xd0, | ||
| 3085 | 0x14, 0x88, 0x00, 0x69, 0xd1, 0x45, 0xb0, 0x00, | ||
| 3086 | 0x69, 0xd3, 0x14, 0x8b, 0x00, 0x69, 0xd6, 0x39, | ||
| 3087 | 0x3f, 0x00, 0x69, 0xd7, 0x39, 0x40, 0x00, 0x69, | ||
| 3088 | 0xd8, 0x0f, 0x37, 0x00, 0x69, 0xd9, 0x0e, 0x98, | ||
| 3089 | 0x00, 0x69, 0xdd, 0x14, 0x90, 0x00, 0x69, 0xde, | ||
| 3090 | 0x14, 0x9a, 0x00, 0x69, 0xe2, 0x21, 0x35, 0x00, | ||
| 3091 | 0x69, 0xe3, 0x45, 0xb4, 0x00, 0x69, 0xe5, 0x4c, | ||
| 3092 | 0x08, 0x00, 0x69, 0xe7, 0x14, 0xa2, 0x00, 0x69, | ||
| 3093 | 0xe8, 0x14, 0x9b, 0x00, 0x69, 0xe9, 0x42, 0x10, | ||
| 3094 | 0x00, 0x69, 0xea, 0x34, 0x11, 0x00, 0x69, 0xeb, | ||
| 3095 | 0x14, 0xa8, 0x00, 0x69, 0xed, 0x14, 0xa6, 0x00, | ||
| 3096 | 0x69, 0xee, 0x45, 0xb5, 0x00, 0x69, 0xef, 0x45, | ||
| 3097 | 0xb6, 0x00, 0x69, 0xf1, 0x4c, 0x09, 0x00, 0x69, | ||
| 3098 | 0xf2, 0x14, 0xa1, 0x00, 0x69, 0xf3, 0x45, 0xb7, | ||
| 3099 | 0x00, 0x69, 0xf4, 0x45, 0xb9, 0x00, 0x69, 0xf5, | ||
| 3100 | 0x42, 0x11, 0x00, 0x69, 0xf6, 0x37, 0x3f, 0x00, | ||
| 3101 | 0x69, 0xf9, 0x14, 0xa0, 0x00, 0x69, 0xfb, 0x0b, | ||
| 3102 | 0xec, 0x00, 0x69, 0xfd, 0x0a, 0xe7, 0x00, 0x69, | ||
| 3103 | 0xfe, 0x45, 0xba, 0x00, 0x69, 0xff, 0x14, 0x9e, | ||
| 3104 | 0x00, 0x6a, 0x00, 0x55, 0x20, 0x00, 0x6a, 0x01, | ||
| 3105 | 0x39, 0x41, 0x00, 0x6a, 0x02, 0x14, 0x9c, 0x00, | ||
| 3106 | 0x6a, 0x03, 0x55, 0x21, 0x00, 0x6a, 0x05, 0x14, | ||
| 3107 | 0xa3, 0x00, 0x6a, 0x0a, 0x14, 0xa9, 0x00, 0x6a, | ||
| 3108 | 0x0b, 0x0d, 0x89, 0x00, 0x6a, 0x0c, 0x14, 0xaf, | ||
| 3109 | 0x00, 0x6a, 0x0f, 0x39, 0x42, 0x00, 0x6a, 0x11, | ||
| 3110 | 0x45, 0xbb, 0x00, 0x6a, 0x12, 0x14, 0xaa, 0x00, | ||
| 3111 | 0x6a, 0x13, 0x14, 0xad, 0x00, 0x6a, 0x14, 0x14, | ||
| 3112 | 0xa7, 0x00, 0x6a, 0x15, 0x39, 0x43, 0x00, 0x6a, | ||
| 3113 | 0x17, 0x0b, 0xb2, 0x00, 0x6a, 0x19, 0x0d, 0xaa, | ||
| 3114 | 0x00, 0x6a, 0x1a, 0x45, 0xbc, 0x00, 0x6a, 0x1b, | ||
| 3115 | 0x14, 0x9d, 0x00, 0x6a, 0x1d, 0x45, 0xbd, 0x00, | ||
| 3116 | 0x6a, 0x1e, 0x14, 0xa5, 0x00, 0x6a, 0x1f, 0x09, | ||
| 3117 | 0xa8, 0x00, 0x6a, 0x20, 0x55, 0x22, 0x00, 0x6a, | ||
| 3118 | 0x21, 0x0e, 0xdb, 0x00, 0x6a, 0x22, 0x14, 0xb9, | ||
| 3119 | 0x00, 0x6a, 0x23, 0x14, 0xac, 0x00, 0x6a, 0x24, | ||
| 3120 | 0x55, 0x23, 0x00, 0x6a, 0x28, 0x39, 0x44, 0x00, | ||
| 3121 | 0x6a, 0x29, 0x07, 0x56, 0x00, 0x6a, 0x2a, 0x05, | ||
| 3122 | 0x23, 0x00, 0x6a, 0x2b, 0x05, 0xbd, 0x00, 0x6a, | ||
| 3123 | 0x2e, 0x14, 0x94, 0x00, 0x6a, 0x30, 0x21, 0x36, | ||
| 3124 | 0x00, 0x6a, 0x32, 0x45, 0xbf, 0x00, 0x6a, 0x33, | ||
| 3125 | 0x45, 0xc0, 0x00, 0x6a, 0x34, 0x39, 0x45, 0x00, | ||
| 3126 | 0x6a, 0x35, 0x09, 0xa9, 0x00, 0x6a, 0x36, 0x14, | ||
| 3127 | 0xb1, 0x00, 0x6a, 0x37, 0x55, 0x24, 0x00, 0x6a, | ||
| 3128 | 0x38, 0x14, 0xb8, 0x00, 0x6a, 0x39, 0x09, 0x25, | ||
| 3129 | 0x00, 0x6a, 0x3a, 0x05, 0xd0, 0x00, 0x6a, 0x3b, | ||
| 3130 | 0x42, 0x13, 0x00, 0x6a, 0x3d, 0x0b, 0x6c, 0x00, | ||
| 3131 | 0x6a, 0x3e, 0x39, 0x46, 0x00, 0x6a, 0x3f, 0x45, | ||
| 3132 | 0xc1, 0x00, 0x6a, 0x44, 0x14, 0xae, 0x00, 0x6a, | ||
| 3133 | 0x45, 0x39, 0x47, 0x00, 0x6a, 0x46, 0x21, 0x38, | ||
| 3134 | 0x00, 0x6a, 0x47, 0x14, 0xb3, 0x00, 0x6a, 0x48, | ||
| 3135 | 0x14, 0xb7, 0x00, 0x6a, 0x49, 0x45, 0xc2, 0x00, | ||
| 3136 | 0x6a, 0x4a, 0x4c, 0x0a, 0x00, 0x6a, 0x4b, 0x06, | ||
| 3137 | 0xae, 0x00, 0x6a, 0x4e, 0x45, 0xc4, 0x00, 0x6a, | ||
| 3138 | 0x50, 0x39, 0x48, 0x00, 0x6a, 0x51, 0x39, 0x49, | ||
| 3139 | 0x00, 0x6a, 0x52, 0x45, 0xc5, 0x00, 0x6a, 0x54, | ||
| 3140 | 0x3c, 0x34, 0x00, 0x6a, 0x55, 0x4c, 0x0b, 0x00, | ||
| 3141 | 0x6a, 0x56, 0x39, 0x4a, 0x00, 0x6a, 0x58, 0x06, | ||
| 3142 | 0x66, 0x00, 0x6a, 0x59, 0x14, 0xb5, 0x00, 0x6a, | ||
| 3143 | 0x5b, 0x39, 0x4b, 0x00, 0x6a, 0x5f, 0x06, 0x3b, | ||
| 3144 | 0x00, 0x6a, 0x61, 0x0c, 0xa3, 0x00, 0x6a, 0x62, | ||
| 3145 | 0x14, 0xb4, 0x00, 0x6a, 0x64, 0x45, 0xc6, 0x00, | ||
| 3146 | 0x6a, 0x66, 0x14, 0xb6, 0x00, 0x6a, 0x67, 0x4c, | ||
| 3147 | 0x0c, 0x00, 0x6a, 0x6a, 0x55, 0x26, 0x00, 0x6a, | ||
| 3148 | 0x6b, 0x21, 0x37, 0x00, 0x6a, 0x71, 0x4c, 0x0d, | ||
| 3149 | 0x00, 0x6a, 0x72, 0x14, 0xb0, 0x00, 0x6a, 0x73, | ||
| 3150 | 0x21, 0x39, 0x00, 0x6a, 0x78, 0x14, 0xb2, 0x00, | ||
| 3151 | 0x6a, 0x7a, 0x45, 0xc3, 0x00, 0x6a, 0x7e, 0x21, | ||
| 3152 | 0x3a, 0x00, 0x6a, 0x7f, 0x05, 0xbe, 0x00, 0x6a, | ||
| 3153 | 0x80, 0x0b, 0x87, 0x00, 0x6a, 0x81, 0x55, 0x27, | ||
| 3154 | 0x00, 0x6a, 0x83, 0x39, 0x4c, 0x00, 0x6a, 0x84, | ||
| 3155 | 0x14, 0xbd, 0x00, 0x6a, 0x86, 0x55, 0x28, 0x00, | ||
| 3156 | 0x6a, 0x87, 0x55, 0x29, 0x00, 0x6a, 0x89, 0x39, | ||
| 3157 | 0x4d, 0x00, 0x6a, 0x8b, 0x45, 0xc8, 0x00, 0x6a, | ||
| 3158 | 0x8d, 0x14, 0xbb, 0x00, 0x6a, 0x8e, 0x07, 0x9d, | ||
| 3159 | 0x00, 0x6a, 0x90, 0x14, 0xba, 0x00, 0x6a, 0x91, | ||
| 3160 | 0x39, 0x4e, 0x00, 0x6a, 0x94, 0x42, 0x15, 0x00, | ||
| 3161 | 0x6a, 0x97, 0x14, 0xc0, 0x00, 0x6a, 0x9b, 0x55, | ||
| 3162 | 0x2a, 0x00, 0x6a, 0x9c, 0x14, 0x3b, 0x00, 0x6a, | ||
| 3163 | 0x9d, 0x39, 0x4f, 0x00, 0x6a, 0x9e, 0x39, 0x50, | ||
| 3164 | 0x00, 0x6a, 0x9f, 0x39, 0x51, 0x00, 0x6a, 0xa0, | ||
| 3165 | 0x14, 0xbc, 0x00, 0x6a, 0xa1, 0x45, 0xca, 0x00, | ||
| 3166 | 0x6a, 0xa2, 0x14, 0xbe, 0x00, 0x6a, 0xa3, 0x14, | ||
| 3167 | 0xbf, 0x00, 0x6a, 0xa5, 0x42, 0x16, 0x00, 0x6a, | ||
| 3168 | 0xaa, 0x14, 0xcb, 0x00, 0x6a, 0xab, 0x45, 0xcc, | ||
| 3169 | 0x00, 0x6a, 0xac, 0x14, 0xc7, 0x00, 0x6a, 0xae, | ||
| 3170 | 0x14, 0x50, 0x00, 0x6a, 0xaf, 0x4c, 0x0e, 0x00, | ||
| 3171 | 0x6a, 0xb0, 0x55, 0x2b, 0x00, 0x6a, 0xb1, 0x55, | ||
| 3172 | 0x2c, 0x00, 0x6a, 0xb3, 0x14, 0xc6, 0x00, 0x6a, | ||
| 3173 | 0xb4, 0x55, 0x2d, 0x00, 0x6a, 0xb8, 0x14, 0xc5, | ||
| 3174 | 0x00, 0x6a, 0xbb, 0x14, 0xc2, 0x00, 0x6a, 0xbd, | ||
| 3175 | 0x45, 0xcd, 0x00, 0x6a, 0xbe, 0x55, 0x2e, 0x00, | ||
| 3176 | 0x6a, 0xbf, 0x55, 0x2f, 0x00, 0x6a, 0xc1, 0x14, | ||
| 3177 | 0xab, 0x00, 0x6a, 0xc2, 0x14, 0xc4, 0x00, 0x6a, | ||
| 3178 | 0xc3, 0x14, 0xc3, 0x00, 0x6a, 0xc6, 0x45, 0xce, | ||
| 3179 | 0x00, 0x6a, 0xc8, 0x4c, 0x0f, 0x00, 0x6a, 0xc9, | ||
| 3180 | 0x4c, 0x10, 0x00, 0x6a, 0xcc, 0x55, 0x30, 0x00, | ||
| 3181 | 0x6a, 0xd0, 0x45, 0xd0, 0x00, 0x6a, 0xd1, 0x14, | ||
| 3182 | 0xc9, 0x00, 0x6a, 0xd3, 0x0f, 0xcc, 0x00, 0x6a, | ||
| 3183 | 0xd4, 0x45, 0xcf, 0x00, 0x6a, 0xd5, 0x55, 0x31, | ||
| 3184 | 0x00, 0x6a, 0xd6, 0x55, 0x32, 0x00, 0x6a, 0xda, | ||
| 3185 | 0x14, 0xcc, 0x00, 0x6a, 0xdb, 0x1d, 0xf1, 0x00, | ||
| 3186 | 0x6a, 0xdc, 0x39, 0x52, 0x00, 0x6a, 0xdd, 0x45, | ||
| 3187 | 0xd1, 0x00, 0x6a, 0xde, 0x14, 0xc8, 0x00, 0x6a, | ||
| 3188 | 0xdf, 0x14, 0xca, 0x00, 0x6a, 0xe2, 0x21, 0x3b, | ||
| 3189 | 0x00, 0x6a, 0xe4, 0x21, 0x3c, 0x00, 0x6a, 0xe7, | ||
| 3190 | 0x39, 0x53, 0x00, 0x6a, 0xe8, 0x0d, 0x3b, 0x00, | ||
| 3191 | 0x6a, 0xea, 0x14, 0xcd, 0x00, 0x6a, 0xec, 0x39, | ||
| 3192 | 0x54, 0x00, 0x6a, 0xf0, 0x55, 0x33, 0x00, 0x6a, | ||
| 3193 | 0xf1, 0x45, 0xd4, 0x00, 0x6a, 0xf2, 0x45, 0xd5, | ||
| 3194 | 0x00, 0x6a, 0xf3, 0x45, 0xd6, 0x00, 0x6a, 0xf8, | ||
| 3195 | 0x4e, 0xb8, 0x00, 0x6a, 0xfa, 0x14, 0xd1, 0x00, | ||
| 3196 | 0x6a, 0xfb, 0x14, 0xce, 0x00, 0x6a, 0xfc, 0x55, | ||
| 3197 | 0x34, 0x00, 0x6a, 0xfd, 0x45, 0xd7, 0x00, 0x6b, | ||
| 3198 | 0x02, 0x55, 0x35, 0x00, 0x6b, 0x03, 0x4c, 0x11, | ||
| 3199 | 0x00, 0x6b, 0x04, 0x34, 0x50, 0x00, 0x6b, 0x05, | ||
| 3200 | 0x14, 0xcf, 0x00, 0x6b, 0x06, 0x55, 0x36, 0x00, | ||
| 3201 | 0x6b, 0x07, 0x55, 0x37, 0x00, 0x6b, 0x09, 0x55, | ||
| 3202 | 0x38, 0x00, 0x6b, 0x0a, 0x14, 0x9f, 0x00, 0x6b, | ||
| 3203 | 0x0b, 0x45, 0xd9, 0x00, 0x6b, 0x0f, 0x45, 0xda, | ||
| 3204 | 0x00, 0x6b, 0x10, 0x45, 0xdb, 0x00, 0x6b, 0x11, | ||
| 3205 | 0x45, 0xdc, 0x00, 0x6b, 0x12, 0x14, 0xd2, 0x00, | ||
| 3206 | 0x6b, 0x16, 0x14, 0xd3, 0x00, 0x6b, 0x17, 0x45, | ||
| 3207 | 0xde, 0x00, 0x6b, 0x1b, 0x42, 0x18, 0x00, 0x6b, | ||
| 3208 | 0x1d, 0x04, 0xd7, 0x00, 0x6b, 0x1e, 0x39, 0x55, | ||
| 3209 | 0x00, 0x6b, 0x1f, 0x14, 0xd5, 0x00, 0x6b, 0x20, | ||
| 3210 | 0x07, 0x3d, 0x00, 0x6b, 0x21, 0x08, 0xcd, 0x00, | ||
| 3211 | 0x6b, 0x23, 0x06, 0xcd, 0x00, 0x6b, 0x24, 0x39, | ||
| 3212 | 0x56, 0x00, 0x6b, 0x27, 0x05, 0x24, 0x00, 0x6b, | ||
| 3213 | 0x28, 0x55, 0x39, 0x00, 0x6b, 0x2b, 0x55, 0x3a, | ||
| 3214 | 0x00, 0x6b, 0x2c, 0x42, 0x19, 0x00, 0x6b, 0x2f, | ||
| 3215 | 0x45, 0xe0, 0x00, 0x6b, 0x32, 0x0f, 0x49, 0x00, | ||
| 3216 | 0x6b, 0x35, 0x39, 0x57, 0x00, 0x6b, 0x36, 0x55, | ||
| 3217 | 0x3b, 0x00, 0x6b, 0x37, 0x14, 0xd7, 0x00, 0x6b, | ||
| 3218 | 0x38, 0x14, 0xd6, 0x00, 0x6b, 0x39, 0x14, 0xd9, | ||
| 3219 | 0x00, 0x6b, 0x3a, 0x06, 0x57, 0x00, 0x6b, 0x3b, | ||
| 3220 | 0x4c, 0x12, 0x00, 0x6b, 0x3d, 0x06, 0xce, 0x00, | ||
| 3221 | 0x6b, 0x3e, 0x05, 0xfa, 0x00, 0x6b, 0x3f, 0x4c, | ||
| 3222 | 0x13, 0x00, 0x6b, 0x43, 0x14, 0xdc, 0x00, 0x6b, | ||
| 3223 | 0x46, 0x39, 0x58, 0x00, 0x6b, 0x47, 0x14, 0xdb, | ||
| 3224 | 0x00, 0x6b, 0x49, 0x14, 0xdd, 0x00, 0x6b, 0x4a, | ||
| 3225 | 0x45, 0xe1, 0x00, 0x6b, 0x4c, 0x05, 0x4e, 0x00, | ||
| 3226 | 0x6b, 0x4d, 0x55, 0x3c, 0x00, 0x6b, 0x4e, 0x0b, | ||
| 3227 | 0x75, 0x00, 0x6b, 0x50, 0x14, 0xde, 0x00, 0x6b, | ||
| 3228 | 0x52, 0x55, 0x3d, 0x00, 0x6b, 0x53, 0x05, 0xfb, | ||
| 3229 | 0x00, 0x6b, 0x54, 0x14, 0xe0, 0x00, 0x6b, 0x56, | ||
| 3230 | 0x39, 0x59, 0x00, 0x6b, 0x58, 0x45, 0xe2, 0x00, | ||
| 3231 | 0x6b, 0x59, 0x14, 0xdf, 0x00, 0x6b, 0x5b, 0x14, | ||
| 3232 | 0xe1, 0x00, 0x6b, 0x5d, 0x55, 0x3e, 0x00, 0x6b, | ||
| 3233 | 0x5f, 0x14, 0xe2, 0x00, 0x6b, 0x60, 0x39, 0x5a, | ||
| 3234 | 0x00, 0x6b, 0x61, 0x14, 0xe3, 0x00, 0x6b, 0x62, | ||
| 3235 | 0x08, 0xad, 0x00, 0x6b, 0x63, 0x0a, 0x59, 0x00, | ||
| 3236 | 0x6b, 0x64, 0x08, 0x11, 0x00, 0x6b, 0x65, 0x34, | ||
| 3237 | 0x4a, 0x00, 0x6b, 0x66, 0x0d, 0xe2, 0x00, 0x6b, | ||
| 3238 | 0x67, 0x42, 0x1a, 0x00, 0x6b, 0x69, 0x0e, 0x32, | ||
| 3239 | 0x00, 0x6b, 0x6a, 0x0f, 0xea, 0x00, 0x6b, 0x6b, | ||
| 3240 | 0x55, 0x3f, 0x00, 0x6b, 0x6c, 0x45, 0xe3, 0x00, | ||
| 3241 | 0x6b, 0x6e, 0x55, 0x40, 0x00, 0x6b, 0x6f, 0x08, | ||
| 3242 | 0xc3, 0x00, 0x6b, 0x70, 0x55, 0x41, 0x00, 0x6b, | ||
| 3243 | 0x72, 0x35, 0xd9, 0x00, 0x6b, 0x73, 0x08, 0x40, | ||
| 3244 | 0x00, 0x6b, 0x74, 0x0f, 0xba, 0x00, 0x6b, 0x75, | ||
| 3245 | 0x45, 0xe4, 0x00, 0x6b, 0x77, 0x34, 0x56, 0x00, | ||
| 3246 | 0x6b, 0x78, 0x14, 0xe4, 0x00, 0x6b, 0x79, 0x14, | ||
| 3247 | 0xe5, 0x00, 0x6b, 0x7a, 0x45, 0xe5, 0x00, 0x6b, | ||
| 3248 | 0x7b, 0x08, 0xae, 0x00, 0x6b, 0x7d, 0x4c, 0x14, | ||
| 3249 | 0x00, 0x6b, 0x7e, 0x4c, 0x15, 0x00, 0x6b, 0x7f, | ||
| 3250 | 0x14, 0xe6, 0x00, 0x6b, 0x80, 0x14, 0xe7, 0x00, | ||
| 3251 | 0x6b, 0x81, 0x45, 0xe6, 0x00, 0x6b, 0x82, 0x39, | ||
| 3252 | 0x5b, 0x00, 0x6b, 0x83, 0x14, 0xe9, 0x00, 0x6b, | ||
| 3253 | 0x84, 0x14, 0xe8, 0x00, 0x6b, 0x85, 0x55, 0x42, | ||
| 3254 | 0x00, 0x6b, 0x86, 0x0e, 0x86, 0x00, 0x6b, 0x89, | ||
| 3255 | 0x09, 0x68, 0x00, 0x6b, 0x8a, 0x09, 0x18, 0x00, | ||
| 3256 | 0x6b, 0x8b, 0x08, 0x92, 0x00, 0x6b, 0x8d, 0x14, | ||
| 3257 | 0xea, 0x00, 0x6b, 0x95, 0x14, 0xec, 0x00, 0x6b, | ||
| 3258 | 0x96, 0x09, 0xe9, 0x00, 0x6b, 0x97, 0x55, 0x43, | ||
| 3259 | 0x00, 0x6b, 0x98, 0x14, 0xeb, 0x00, 0x6b, 0x9b, | ||
| 3260 | 0x45, 0xe7, 0x00, 0x6b, 0x9e, 0x14, 0xed, 0x00, | ||
| 3261 | 0x6b, 0x9f, 0x55, 0x44, 0x00, 0x6b, 0xa0, 0x55, | ||
| 3262 | 0x45, 0x00, 0x6b, 0xa2, 0x55, 0x46, 0x00, 0x6b, | ||
| 3263 | 0xa3, 0x55, 0x47, 0x00, 0x6b, 0xa4, 0x14, 0xee, | ||
| 3264 | 0x00, 0x6b, 0xa8, 0x55, 0x48, 0x00, 0x6b, 0xa9, | ||
| 3265 | 0x42, 0x1b, 0x00, 0x6b, 0xaa, 0x14, 0xef, 0x00, | ||
| 3266 | 0x6b, 0xab, 0x14, 0xf0, 0x00, 0x6b, 0xac, 0x55, | ||
| 3267 | 0x49, 0x00, 0x6b, 0xad, 0x42, 0x1c, 0x00, 0x6b, | ||
| 3268 | 0xae, 0x45, 0xe8, 0x00, 0x6b, 0xaf, 0x14, 0xf1, | ||
| 3269 | 0x00, 0x6b, 0xb0, 0x4c, 0x16, 0x00, 0x6b, 0xb1, | ||
| 3270 | 0x14, 0xf3, 0x00, 0x6b, 0xb2, 0x14, 0xf2, 0x00, | ||
| 3271 | 0x6b, 0xb3, 0x14, 0xf4, 0x00, 0x6b, 0xb4, 0x05, | ||
| 3272 | 0x25, 0x00, 0x6b, 0xb5, 0x0b, 0x88, 0x00, 0x6b, | ||
| 3273 | 0xb7, 0x14, 0xf5, 0x00, 0x6b, 0xb8, 0x55, 0x4a, | ||
| 3274 | 0x00, 0x6b, 0xb9, 0x55, 0x4b, 0x00, 0x6b, 0xba, | ||
| 3275 | 0x34, 0x20, 0x00, 0x6b, 0xbb, 0x05, 0xaa, 0x00, | ||
| 3276 | 0x6b, 0xbc, 0x14, 0xf6, 0x00, 0x6b, 0xbd, 0x45, | ||
| 3277 | 0xea, 0x00, 0x6b, 0xbe, 0x39, 0x5c, 0x00, 0x6b, | ||
| 3278 | 0xbf, 0x0c, 0x3c, 0x00, 0x6b, 0xc0, 0x11, 0x9d, | ||
| 3279 | 0x00, 0x6b, 0xc3, 0x55, 0x4c, 0x00, 0x6b, 0xc4, | ||
| 3280 | 0x55, 0x4d, 0x00, 0x6b, 0xc5, 0x06, 0x3d, 0x00, | ||
| 3281 | 0x6b, 0xc6, 0x14, 0xf7, 0x00, 0x6b, 0xc7, 0x45, | ||
| 3282 | 0xeb, 0x00, 0x6b, 0xc8, 0x45, 0xec, 0x00, 0x6b, | ||
| 3283 | 0xc9, 0x45, 0xed, 0x00, 0x6b, 0xcb, 0x14, 0xf8, | ||
| 3284 | 0x00, 0x6b, 0xcc, 0x37, 0x44, 0x00, 0x6b, 0xcd, | ||
| 3285 | 0x0e, 0x3c, 0x00, 0x6b, 0xce, 0x0e, 0x96, 0x00, | ||
| 3286 | 0x6b, 0xcf, 0x34, 0x4c, 0x00, 0x6b, 0xd2, 0x0c, | ||
| 3287 | 0x9f, 0x00, 0x6b, 0xd3, 0x14, 0xf9, 0x00, 0x6b, | ||
| 3288 | 0xd4, 0x0d, 0x7a, 0x00, 0x6b, 0xd6, 0x21, 0x3d, | ||
| 3289 | 0x00, 0x6b, 0xd7, 0x42, 0x1d, 0x00, 0x6b, 0xd8, | ||
| 3290 | 0x0d, 0x8f, 0x00, 0x6b, 0xda, 0x45, 0xee, 0x00, | ||
| 3291 | 0x6b, 0xdb, 0x0e, 0xdf, 0x00, 0x6b, 0xdf, 0x14, | ||
| 3292 | 0xfa, 0x00, 0x6b, 0xe1, 0x39, 0x5d, 0x00, 0x6b, | ||
| 3293 | 0xe3, 0x55, 0x4e, 0x00, 0x6b, 0xe6, 0x45, 0xef, | ||
| 3294 | 0x00, 0x6b, 0xe7, 0x45, 0xf0, 0x00, 0x6b, 0xeb, | ||
| 3295 | 0x14, 0xfc, 0x00, 0x6b, 0xec, 0x14, 0xfb, 0x00, | ||
| 3296 | 0x6b, 0xee, 0x45, 0xf1, 0x00, 0x6b, 0xef, 0x14, | ||
| 3297 | 0xfe, 0x00, 0x6b, 0xf1, 0x39, 0x5e, 0x00, 0x6b, | ||
| 3298 | 0xf3, 0x14, 0xfd, 0x00, 0x6b, 0xf7, 0x4c, 0x17, | ||
| 3299 | 0x00, 0x6b, 0xf9, 0x4c, 0x18, 0x00, 0x6b, 0xff, | ||
| 3300 | 0x42, 0x1e, 0x00, 0x6c, 0x02, 0x45, 0xf2, 0x00, | ||
| 3301 | 0x6c, 0x04, 0x4c, 0x19, 0x00, 0x6c, 0x05, 0x42, | ||
| 3302 | 0x1f, 0x00, 0x6c, 0x08, 0x15, 0x00, 0x00, 0x6c, | ||
| 3303 | 0x09, 0x4c, 0x1a, 0x00, 0x6c, 0x0a, 0x45, 0xf3, | ||
| 3304 | 0x00, 0x6c, 0x0d, 0x4c, 0x1b, 0x00, 0x6c, 0x0e, | ||
| 3305 | 0x45, 0xf4, 0x00, 0x6c, 0x0f, 0x08, 0xaf, 0x00, | ||
| 3306 | 0x6c, 0x10, 0x39, 0x5f, 0x00, 0x6c, 0x11, 0x0e, | ||
| 3307 | 0xbd, 0x00, 0x6c, 0x12, 0x55, 0x4f, 0x00, 0x6c, | ||
| 3308 | 0x13, 0x15, 0x01, 0x00, 0x6c, 0x14, 0x15, 0x02, | ||
| 3309 | 0x00, 0x6c, 0x17, 0x06, 0x3e, 0x00, 0x6c, 0x19, | ||
| 3310 | 0x55, 0x50, 0x00, 0x6c, 0x1b, 0x15, 0x03, 0x00, | ||
| 3311 | 0x6c, 0x1f, 0x55, 0x51, 0x00, 0x6c, 0x23, 0x15, | ||
| 3312 | 0x05, 0x00, 0x6c, 0x24, 0x15, 0x04, 0x00, 0x6c, | ||
| 3313 | 0x26, 0x55, 0x52, 0x00, 0x6c, 0x27, 0x55, 0x53, | ||
| 3314 | 0x00, 0x6c, 0x28, 0x55, 0x54, 0x00, 0x6c, 0x2c, | ||
| 3315 | 0x4c, 0x1c, 0x00, 0x6c, 0x2e, 0x55, 0x55, 0x00, | ||
| 3316 | 0x6c, 0x33, 0x39, 0x60, 0x00, 0x6c, 0x34, 0x0a, | ||
| 3317 | 0x2b, 0x00, 0x6c, 0x35, 0x39, 0x61, 0x00, 0x6c, | ||
| 3318 | 0x36, 0x45, 0xf5, 0x00, 0x6c, 0x37, 0x0d, 0xab, | ||
| 3319 | 0x00, 0x6c, 0x38, 0x04, 0xec, 0x00, 0x6c, 0x3a, | ||
| 3320 | 0x4f, 0x55, 0x00, 0x6c, 0x3b, 0x55, 0x56, 0x00, | ||
| 3321 | 0x6c, 0x3e, 0x0d, 0x59, 0x00, 0x6c, 0x3f, 0x21, | ||
| 3322 | 0x3e, 0x00, 0x6c, 0x40, 0x0c, 0x11, 0x00, 0x6c, | ||
| 3323 | 0x41, 0x09, 0x4b, 0x00, 0x6c, 0x42, 0x06, 0x7b, | ||
| 3324 | 0x00, 0x6c, 0x4a, 0x4c, 0x1d, 0x00, 0x6c, 0x4b, | ||
| 3325 | 0x55, 0x57, 0x00, 0x6c, 0x4d, 0x45, 0xf7, 0x00, | ||
| 3326 | 0x6c, 0x4e, 0x0d, 0x5a, 0x00, 0x6c, 0x4f, 0x55, | ||
| 3327 | 0x58, 0x00, 0x6c, 0x50, 0x08, 0xda, 0x00, 0x6c, | ||
| 3328 | 0x52, 0x4c, 0x1e, 0x00, 0x6c, 0x54, 0x4c, 0x1f, | ||
| 3329 | 0x00, 0x6c, 0x55, 0x15, 0x07, 0x00, 0x6c, 0x57, | ||
| 3330 | 0x05, 0xfc, 0x00, 0x6c, 0x59, 0x39, 0x63, 0x00, | ||
| 3331 | 0x6c, 0x5a, 0x05, 0x1a, 0x00, 0x6c, 0x5b, 0x45, | ||
| 3332 | 0xf8, 0x00, 0x6c, 0x5c, 0x21, 0x3f, 0x00, 0x6c, | ||
| 3333 | 0x5d, 0x0c, 0xca, 0x00, 0x6c, 0x5e, 0x15, 0x06, | ||
| 3334 | 0x00, 0x6c, 0x5f, 0x07, 0xd0, 0x00, 0x6c, 0x60, | ||
| 3335 | 0x0b, 0x91, 0x00, 0x6c, 0x62, 0x15, 0x08, 0x00, | ||
| 3336 | 0x6c, 0x67, 0x46, 0x0a, 0x00, 0x6c, 0x68, 0x15, | ||
| 3337 | 0x10, 0x00, 0x6c, 0x6a, 0x15, 0x09, 0x00, 0x6c, | ||
| 3338 | 0x6b, 0x55, 0x59, 0x00, 0x6c, 0x6d, 0x45, 0xf9, | ||
| 3339 | 0x00, 0x6c, 0x6f, 0x21, 0x41, 0x00, 0x6c, 0x70, | ||
| 3340 | 0x0b, 0x21, 0x00, 0x6c, 0x72, 0x06, 0x7c, 0x00, | ||
| 3341 | 0x6c, 0x73, 0x15, 0x11, 0x00, 0x6c, 0x74, 0x42, | ||
| 3342 | 0x20, 0x00, 0x6c, 0x76, 0x39, 0x64, 0x00, 0x6c, | ||
| 3343 | 0x78, 0x55, 0x5a, 0x00, 0x6c, 0x79, 0x4c, 0x20, | ||
| 3344 | 0x00, 0x6c, 0x7a, 0x07, 0x3e, 0x00, 0x6c, 0x7b, | ||
| 3345 | 0x39, 0x65, 0x00, 0x6c, 0x7d, 0x06, 0x3f, 0x00, | ||
| 3346 | 0x6c, 0x7e, 0x15, 0x0f, 0x00, 0x6c, 0x81, 0x15, | ||
| 3347 | 0x0d, 0x00, 0x6c, 0x82, 0x15, 0x0a, 0x00, 0x6c, | ||
| 3348 | 0x83, 0x0f, 0x4a, 0x00, 0x6c, 0x84, 0x45, 0xfa, | ||
| 3349 | 0x00, 0x6c, 0x85, 0x39, 0x66, 0x00, 0x6c, 0x86, | ||
| 3350 | 0x21, 0x40, 0x00, 0x6c, 0x87, 0x55, 0x5b, 0x00, | ||
| 3351 | 0x6c, 0x88, 0x0b, 0xdc, 0x00, 0x6c, 0x89, 0x45, | ||
| 3352 | 0xfb, 0x00, 0x6c, 0x8c, 0x0c, 0xb1, 0x00, 0x6c, | ||
| 3353 | 0x8d, 0x15, 0x0b, 0x00, 0x6c, 0x90, 0x15, 0x13, | ||
| 3354 | 0x00, 0x6c, 0x92, 0x15, 0x12, 0x00, 0x6c, 0x93, | ||
| 3355 | 0x06, 0xf9, 0x00, 0x6c, 0x94, 0x45, 0xfd, 0x00, | ||
| 3356 | 0x6c, 0x95, 0x39, 0x67, 0x00, 0x6c, 0x96, 0x05, | ||
| 3357 | 0x2d, 0x00, 0x6c, 0x97, 0x45, 0xfe, 0x00, 0x6c, | ||
| 3358 | 0x98, 0x42, 0x21, 0x00, 0x6c, 0x99, 0x08, 0x2b, | ||
| 3359 | 0x00, 0x6c, 0x9a, 0x15, 0x0c, 0x00, 0x6c, 0x9b, | ||
| 3360 | 0x15, 0x0e, 0x00, 0x6c, 0x9c, 0x39, 0x68, 0x00, | ||
| 3361 | 0x6c, 0x9f, 0x55, 0x5c, 0x00, 0x6c, 0xa1, 0x0e, | ||
| 3362 | 0x85, 0x00, 0x6c, 0xa2, 0x0b, 0x54, 0x00, 0x6c, | ||
| 3363 | 0xaa, 0x37, 0x49, 0x00, 0x6c, 0xab, 0x0e, 0xa5, | ||
| 3364 | 0x00, 0x6c, 0xac, 0x4c, 0x21, 0x00, 0x6c, 0xad, | ||
| 3365 | 0x45, 0xff, 0x00, 0x6c, 0xae, 0x15, 0x1b, 0x00, | ||
| 3366 | 0x6c, 0xb0, 0x55, 0x5d, 0x00, 0x6c, 0xb1, 0x15, | ||
| 3367 | 0x1c, 0x00, 0x6c, 0xb2, 0x55, 0x5e, 0x00, 0x6c, | ||
| 3368 | 0xb3, 0x05, 0x4f, 0x00, 0x6c, 0xb4, 0x4c, 0x22, | ||
| 3369 | 0x00, 0x6c, 0xb8, 0x0d, 0xf8, 0x00, 0x6c, 0xb9, | ||
| 3370 | 0x0f, 0x09, 0x00, 0x6c, 0xba, 0x15, 0x1e, 0x00, | ||
| 3371 | 0x6c, 0xbb, 0x08, 0xcf, 0x00, 0x6c, 0xbc, 0x09, | ||
| 3372 | 0xaa, 0x00, 0x6c, 0xbd, 0x15, 0x17, 0x00, 0x6c, | ||
| 3373 | 0xbe, 0x15, 0x1d, 0x00, 0x6c, 0xbf, 0x35, 0x58, | ||
| 3374 | 0x00, 0x6c, 0xc1, 0x06, 0xaf, 0x00, 0x6c, 0xc2, | ||
| 3375 | 0x46, 0x00, 0x00, 0x6c, 0xc4, 0x15, 0x14, 0x00, | ||
| 3376 | 0x6c, 0xc5, 0x15, 0x19, 0x00, 0x6c, 0xc6, 0x42, | ||
| 3377 | 0x23, 0x00, 0x6c, 0xc9, 0x0a, 0x98, 0x00, 0x6c, | ||
| 3378 | 0xca, 0x0d, 0x27, 0x00, 0x6c, 0xcc, 0x0d, 0x7b, | ||
| 3379 | 0x00, 0x6c, 0xcd, 0x55, 0x5f, 0x00, 0x6c, 0xcf, | ||
| 3380 | 0x55, 0x60, 0x00, 0x6c, 0xd0, 0x39, 0x69, 0x00, | ||
| 3381 | 0x6c, 0xd1, 0x55, 0x61, 0x00, 0x6c, 0xd2, 0x4c, | ||
| 3382 | 0x23, 0x00, 0x6c, 0xd3, 0x15, 0x16, 0x00, 0x6c, | ||
| 3383 | 0xd4, 0x39, 0x6a, 0x00, 0x6c, 0xd5, 0x0e, 0x4f, | ||
| 3384 | 0x00, 0x6c, 0xd6, 0x39, 0x6b, 0x00, 0x6c, 0xd7, | ||
| 3385 | 0x15, 0x18, 0x00, 0x6c, 0xd9, 0x15, 0x21, 0x00, | ||
| 3386 | 0x6c, 0xda, 0x21, 0x42, 0x00, 0x6c, 0xdb, 0x15, | ||
| 3387 | 0x1f, 0x00, 0x6c, 0xdc, 0x46, 0x02, 0x00, 0x6c, | ||
| 3388 | 0xdd, 0x15, 0x1a, 0x00, 0x6c, 0xe0, 0x39, 0x6c, | ||
| 3389 | 0x00, 0x6c, 0xe1, 0x0e, 0x50, 0x00, 0x6c, 0xe2, | ||
| 3390 | 0x0c, 0xfe, 0x00, 0x6c, 0xe3, 0x06, 0x7d, 0x00, | ||
| 3391 | 0x6c, 0xe5, 0x0c, 0x1f, 0x00, 0x6c, 0xe7, 0x55, | ||
| 3392 | 0x62, 0x00, 0x6c, 0xe8, 0x0b, 0xab, 0x00, 0x6c, | ||
| 3393 | 0xe9, 0x46, 0x03, 0x00, 0x6c, 0xea, 0x15, 0x22, | ||
| 3394 | 0x00, 0x6c, 0xeb, 0x39, 0x6d, 0x00, 0x6c, 0xec, | ||
| 3395 | 0x39, 0x6e, 0x00, 0x6c, 0xed, 0x46, 0x04, 0x00, | ||
| 3396 | 0x6c, 0xee, 0x39, 0x6f, 0x00, 0x6c, 0xef, 0x15, | ||
| 3397 | 0x20, 0x00, 0x6c, 0xf0, 0x0b, 0x39, 0x00, 0x6c, | ||
| 3398 | 0xf1, 0x15, 0x15, 0x00, 0x6c, 0xf2, 0x55, 0x63, | ||
| 3399 | 0x00, 0x6c, 0xf3, 0x04, 0xed, 0x00, 0x6c, 0xf4, | ||
| 3400 | 0x55, 0x64, 0x00, 0x6c, 0xfb, 0x42, 0x22, 0x00, | ||
| 3401 | 0x6d, 0x00, 0x46, 0x06, 0x00, 0x6d, 0x01, 0x3c, | ||
| 3402 | 0x35, 0x00, 0x6d, 0x04, 0x21, 0x43, 0x00, 0x6d, | ||
| 3403 | 0x07, 0x55, 0x65, 0x00, 0x6d, 0x0a, 0x39, 0x70, | ||
| 3404 | 0x00, 0x6d, 0x0b, 0x0f, 0x38, 0x00, 0x6d, 0x0c, | ||
| 3405 | 0x15, 0x2d, 0x00, 0x6d, 0x0e, 0x39, 0x71, 0x00, | ||
| 3406 | 0x6d, 0x0f, 0x55, 0x66, 0x00, 0x6d, 0x11, 0x39, | ||
| 3407 | 0x72, 0x00, 0x6d, 0x12, 0x15, 0x2c, 0x00, 0x6d, | ||
| 3408 | 0x13, 0x55, 0x67, 0x00, 0x6d, 0x17, 0x0a, 0x9a, | ||
| 3409 | 0x00, 0x6d, 0x19, 0x15, 0x29, 0x00, 0x6d, 0x1a, | ||
| 3410 | 0x55, 0x68, 0x00, 0x6d, 0x1b, 0x0f, 0x56, 0x00, | ||
| 3411 | 0x6d, 0x1e, 0x0c, 0x8e, 0x00, 0x6d, 0x1f, 0x15, | ||
| 3412 | 0x23, 0x00, 0x6d, 0x24, 0x46, 0x07, 0x00, 0x6d, | ||
| 3413 | 0x25, 0x0b, 0xe1, 0x00, 0x6d, 0x26, 0x46, 0x08, | ||
| 3414 | 0x00, 0x6d, 0x27, 0x46, 0x09, 0x00, 0x6d, 0x28, | ||
| 3415 | 0x55, 0x69, 0x00, 0x6d, 0x29, 0x04, 0xee, 0x00, | ||
| 3416 | 0x6d, 0x2a, 0x07, 0xd1, 0x00, 0x6d, 0x2b, 0x15, | ||
| 3417 | 0x26, 0x00, 0x6d, 0x2e, 0x39, 0x73, 0x00, 0x6d, | ||
| 3418 | 0x2f, 0x46, 0x0b, 0x00, 0x6d, 0x31, 0x42, 0x24, | ||
| 3419 | 0x00, 0x6d, 0x32, 0x09, 0x31, 0x00, 0x6d, 0x33, | ||
| 3420 | 0x15, 0x2b, 0x00, 0x6d, 0x34, 0x46, 0x1e, 0x00, | ||
| 3421 | 0x6d, 0x35, 0x15, 0x2a, 0x00, 0x6d, 0x36, 0x15, | ||
| 3422 | 0x25, 0x00, 0x6d, 0x38, 0x15, 0x28, 0x00, 0x6d, | ||
| 3423 | 0x39, 0x42, 0x25, 0x00, 0x6d, 0x3b, 0x05, 0xc6, | ||
| 3424 | 0x00, 0x6d, 0x3c, 0x46, 0x0c, 0x00, 0x6d, 0x3d, | ||
| 3425 | 0x15, 0x27, 0x00, 0x6d, 0x3e, 0x0c, 0xff, 0x00, | ||
| 3426 | 0x6d, 0x3f, 0x42, 0x26, 0x00, 0x6d, 0x41, 0x0f, | ||
| 3427 | 0x76, 0x00, 0x6d, 0x44, 0x09, 0xdc, 0x00, 0x6d, | ||
| 3428 | 0x45, 0x0a, 0x99, 0x00, 0x6d, 0x57, 0x39, 0x74, | ||
| 3429 | 0x00, 0x6d, 0x58, 0x42, 0x27, 0x00, 0x6d, 0x59, | ||
| 3430 | 0x15, 0x33, 0x00, 0x6d, 0x5a, 0x15, 0x31, 0x00, | ||
| 3431 | 0x6d, 0x5b, 0x46, 0x0d, 0x00, 0x6d, 0x5c, 0x0d, | ||
| 3432 | 0xbf, 0x00, 0x6d, 0x5e, 0x39, 0x75, 0x00, 0x6d, | ||
| 3433 | 0x5f, 0x55, 0x6a, 0x00, 0x6d, 0x60, 0x46, 0x0e, | ||
| 3434 | 0x00, 0x6d, 0x61, 0x4c, 0x24, 0x00, 0x6d, 0x63, | ||
| 3435 | 0x15, 0x2e, 0x00, 0x6d, 0x64, 0x15, 0x30, 0x00, | ||
| 3436 | 0x6d, 0x65, 0x39, 0x76, 0x00, 0x6d, 0x66, 0x04, | ||
| 3437 | 0xdc, 0x00, 0x6d, 0x67, 0x55, 0x6b, 0x00, 0x6d, | ||
| 3438 | 0x69, 0x07, 0xd2, 0x00, 0x6d, 0x6a, 0x0f, 0xd8, | ||
| 3439 | 0x00, 0x6d, 0x6c, 0x05, 0x9b, 0x00, 0x6d, 0x6e, | ||
| 3440 | 0x0d, 0xd4, 0x00, 0x6d, 0x6f, 0x21, 0x45, 0x00, | ||
| 3441 | 0x6d, 0x70, 0x46, 0x0f, 0x00, 0x6d, 0x74, 0x0f, | ||
| 3442 | 0x4b, 0x00, 0x6d, 0x77, 0x34, 0x0f, 0x00, 0x6d, | ||
| 3443 | 0x78, 0x0a, 0x01, 0x00, 0x6d, 0x79, 0x15, 0x32, | ||
| 3444 | 0x00, 0x6d, 0x7c, 0x4c, 0x25, 0x00, 0x6d, 0x80, | ||
| 3445 | 0x46, 0x10, 0x00, 0x6d, 0x81, 0x46, 0x11, 0x00, | ||
| 3446 | 0x6d, 0x82, 0x39, 0x77, 0x00, 0x6d, 0x85, 0x15, | ||
| 3447 | 0x37, 0x00, 0x6d, 0x87, 0x21, 0x44, 0x00, 0x6d, | ||
| 3448 | 0x88, 0x09, 0xab, 0x00, 0x6d, 0x89, 0x34, 0x2a, | ||
| 3449 | 0x00, 0x6d, 0x8a, 0x46, 0x12, 0x00, 0x6d, 0x8c, | ||
| 3450 | 0x0f, 0x1a, 0x00, 0x6d, 0x8d, 0x46, 0x13, 0x00, | ||
| 3451 | 0x6d, 0x8e, 0x15, 0x34, 0x00, 0x6d, 0x91, 0x46, | ||
| 3452 | 0x14, 0x00, 0x6d, 0x92, 0x55, 0x6c, 0x00, 0x6d, | ||
| 3453 | 0x93, 0x15, 0x2f, 0x00, 0x6d, 0x94, 0x42, 0x28, | ||
| 3454 | 0x00, 0x6d, 0x95, 0x15, 0x35, 0x00, 0x6d, 0x96, | ||
| 3455 | 0x21, 0x46, 0x00, 0x6d, 0x97, 0x55, 0x6d, 0x00, | ||
| 3456 | 0x6d, 0x98, 0x46, 0x15, 0x00, 0x6d, 0x99, 0x0f, | ||
| 3457 | 0xa6, 0x00, 0x6d, 0x9b, 0x0c, 0x6d, 0x00, 0x6d, | ||
| 3458 | 0x9c, 0x0c, 0x9a, 0x00, 0x6d, 0xaa, 0x42, 0x29, | ||
| 3459 | 0x00, 0x6d, 0xab, 0x46, 0x1a, 0x00, 0x6d, 0xac, | ||
| 3460 | 0x21, 0x47, 0x00, 0x6d, 0xae, 0x46, 0x1b, 0x00, | ||
| 3461 | 0x6d, 0xaf, 0x05, 0x94, 0x00, 0x6d, 0xb2, 0x04, | ||
| 3462 | 0xf7, 0x00, 0x6d, 0xb4, 0x46, 0x1c, 0x00, 0x6d, | ||
| 3463 | 0xb5, 0x15, 0x3b, 0x00, 0x6d, 0xb7, 0x55, 0x6e, | ||
| 3464 | 0x00, 0x6d, 0xb8, 0x15, 0x3e, 0x00, 0x6d, 0xb9, | ||
| 3465 | 0x4c, 0x26, 0x00, 0x6d, 0xbc, 0x0f, 0x8b, 0x00, | ||
| 3466 | 0x6d, 0xbd, 0x55, 0x6f, 0x00, 0x6d, 0xbf, 0x39, | ||
| 3467 | 0x78, 0x00, 0x6d, 0xc0, 0x0f, 0x4e, 0x00, 0x6d, | ||
| 3468 | 0xc2, 0x46, 0x1d, 0x00, 0x6d, 0xc4, 0x39, 0x79, | ||
| 3469 | 0x00, 0x6d, 0xc5, 0x15, 0x45, 0x00, 0x6d, 0xc6, | ||
| 3470 | 0x15, 0x3f, 0x00, 0x6d, 0xc7, 0x15, 0x3c, 0x00, | ||
| 3471 | 0x6d, 0xc8, 0x46, 0x1f, 0x00, 0x6d, 0xca, 0x39, | ||
| 3472 | 0x7a, 0x00, 0x6d, 0xcb, 0x0f, 0x9c, 0x00, 0x6d, | ||
| 3473 | 0xcc, 0x15, 0x42, 0x00, 0x6d, 0xce, 0x46, 0x20, | ||
| 3474 | 0x00, 0x6d, 0xcf, 0x21, 0x48, 0x00, 0x6d, 0xd0, | ||
| 3475 | 0x3c, 0x36, 0x00, 0x6d, 0xd1, 0x09, 0x54, 0x00, | ||
| 3476 | 0x6d, 0xd2, 0x15, 0x44, 0x00, 0x6d, 0xd5, 0x15, | ||
| 3477 | 0x49, 0x00, 0x6d, 0xd6, 0x39, 0x7b, 0x00, 0x6d, | ||
| 3478 | 0xd8, 0x0c, 0x6b, 0x00, 0x6d, 0xd9, 0x15, 0x47, | ||
| 3479 | 0x00, 0x6d, 0xda, 0x34, 0x53, 0x00, 0x6d, 0xdb, | ||
| 3480 | 0x42, 0x2a, 0x00, 0x6d, 0xdd, 0x42, 0x2b, 0x00, | ||
| 3481 | 0x6d, 0xde, 0x15, 0x41, 0x00, 0x6d, 0xdf, 0x46, | ||
| 3482 | 0x21, 0x00, 0x6d, 0xe0, 0x55, 0x70, 0x00, 0x6d, | ||
| 3483 | 0xe1, 0x0b, 0x76, 0x00, 0x6d, 0xe2, 0x55, 0x71, | ||
| 3484 | 0x00, 0x6d, 0xe4, 0x15, 0x48, 0x00, 0x6d, 0xe5, | ||
| 3485 | 0x55, 0x72, 0x00, 0x6d, 0xe6, 0x15, 0x3d, 0x00, | ||
| 3486 | 0x6d, 0xe8, 0x15, 0x43, 0x00, 0x6d, 0xe9, 0x39, | ||
| 3487 | 0x7c, 0x00, 0x6d, 0xea, 0x15, 0x4a, 0x00, 0x6d, | ||
| 3488 | 0xeb, 0x04, 0xc0, 0x00, 0x6d, 0xec, 0x15, 0x40, | ||
| 3489 | 0x00, 0x6d, 0xee, 0x15, 0x4b, 0x00, 0x6d, 0xef, | ||
| 3490 | 0x55, 0x73, 0x00, 0x6d, 0xf0, 0x4c, 0x27, 0x00, | ||
| 3491 | 0x6d, 0xf1, 0x0a, 0x02, 0x00, 0x6d, 0xf2, 0x21, | ||
| 3492 | 0x4a, 0x00, 0x6d, 0xf3, 0x09, 0x69, 0x00, 0x6d, | ||
| 3493 | 0xf4, 0x55, 0x74, 0x00, 0x6d, 0xf5, 0x0d, 0xf5, | ||
| 3494 | 0x00, 0x6d, 0xf6, 0x46, 0x22, 0x00, 0x6d, 0xf7, | ||
| 3495 | 0x08, 0x1e, 0x00, 0x6d, 0xf8, 0x21, 0x49, 0x00, | ||
| 3496 | 0x6d, 0xf9, 0x15, 0x38, 0x00, 0x6d, 0xfa, 0x15, | ||
| 3497 | 0x46, 0x00, 0x6d, 0xfb, 0x0c, 0x34, 0x00, 0x6d, | ||
| 3498 | 0xfc, 0x21, 0x4b, 0x00, 0x6e, 0x00, 0x55, 0x75, | ||
| 3499 | 0x00, 0x6e, 0x04, 0x55, 0x76, 0x00, 0x6e, 0x05, | ||
| 3500 | 0x0a, 0x5a, 0x00, 0x6e, 0x07, 0x05, 0xc7, 0x00, | ||
| 3501 | 0x6e, 0x08, 0x08, 0x41, 0x00, 0x6e, 0x09, 0x09, | ||
| 3502 | 0xac, 0x00, 0x6e, 0x0a, 0x15, 0x3a, 0x00, 0x6e, | ||
| 3503 | 0x0b, 0x09, 0x4c, 0x00, 0x6e, 0x13, 0x07, 0x22, | ||
| 3504 | 0x00, 0x6e, 0x15, 0x15, 0x39, 0x00, 0x6e, 0x17, | ||
| 3505 | 0x37, 0x46, 0x00, 0x6e, 0x19, 0x15, 0x4f, 0x00, | ||
| 3506 | 0x6e, 0x1a, 0x1e, 0x14, 0x00, 0x6e, 0x1b, 0x07, | ||
| 3507 | 0x6e, 0x00, 0x6e, 0x1d, 0x15, 0x5e, 0x00, 0x6e, | ||
| 3508 | 0x1e, 0x46, 0x24, 0x00, 0x6e, 0x1f, 0x15, 0x58, | ||
| 3509 | 0x00, 0x6e, 0x20, 0x06, 0x8e, 0x00, 0x6e, 0x21, | ||
| 3510 | 0x0c, 0x49, 0x00, 0x6e, 0x22, 0x39, 0x7d, 0x00, | ||
| 3511 | 0x6e, 0x23, 0x15, 0x53, 0x00, 0x6e, 0x24, 0x15, | ||
| 3512 | 0x5c, 0x00, 0x6e, 0x25, 0x04, 0x73, 0x00, 0x6e, | ||
| 3513 | 0x26, 0x04, 0xd4, 0x00, 0x6e, 0x27, 0x21, 0x4e, | ||
| 3514 | 0x00, 0x6e, 0x29, 0x05, 0x39, 0x00, 0x6e, 0x2b, | ||
| 3515 | 0x15, 0x55, 0x00, 0x6e, 0x2c, 0x0b, 0x0c, 0x00, | ||
| 3516 | 0x6e, 0x2d, 0x15, 0x4c, 0x00, 0x6e, 0x2e, 0x15, | ||
| 3517 | 0x4e, 0x00, 0x6e, 0x2f, 0x07, 0xd3, 0x00, 0x6e, | ||
| 3518 | 0x32, 0x46, 0x26, 0x00, 0x6e, 0x34, 0x34, 0x12, | ||
| 3519 | 0x00, 0x6e, 0x36, 0x46, 0x23, 0x00, 0x6e, 0x38, | ||
| 3520 | 0x15, 0x5f, 0x00, 0x6e, 0x39, 0x21, 0x4c, 0x00, | ||
| 3521 | 0x6e, 0x3a, 0x15, 0x5a, 0x00, 0x6e, 0x3b, 0x55, | ||
| 3522 | 0x77, 0x00, 0x6e, 0x3c, 0x21, 0x4f, 0x00, 0x6e, | ||
| 3523 | 0x3e, 0x15, 0x52, 0x00, 0x6e, 0x42, 0x3c, 0x37, | ||
| 3524 | 0x00, 0x6e, 0x43, 0x15, 0x59, 0x00, 0x6e, 0x44, | ||
| 3525 | 0x42, 0x2c, 0x00, 0x6e, 0x45, 0x4c, 0x28, 0x00, | ||
| 3526 | 0x6e, 0x48, 0x46, 0x27, 0x00, 0x6e, 0x49, 0x46, | ||
| 3527 | 0x28, 0x00, 0x6e, 0x4a, 0x0e, 0xb7, 0x00, 0x6e, | ||
| 3528 | 0x4b, 0x46, 0x29, 0x00, 0x6e, 0x4c, 0x46, 0x2a, | ||
| 3529 | 0x00, 0x6e, 0x4d, 0x15, 0x57, 0x00, 0x6e, 0x4e, | ||
| 3530 | 0x15, 0x5b, 0x00, 0x6e, 0x4f, 0x46, 0x2b, 0x00, | ||
| 3531 | 0x6e, 0x51, 0x39, 0x7e, 0x00, 0x6e, 0x52, 0x55, | ||
| 3532 | 0x78, 0x00, 0x6e, 0x53, 0x46, 0x2c, 0x00, 0x6e, | ||
| 3533 | 0x54, 0x46, 0x2d, 0x00, 0x6e, 0x56, 0x07, 0x84, | ||
| 3534 | 0x00, 0x6e, 0x57, 0x46, 0x2e, 0x00, 0x6e, 0x58, | ||
| 3535 | 0x09, 0xad, 0x00, 0x6e, 0x5b, 0x0b, 0x77, 0x00, | ||
| 3536 | 0x6e, 0x5c, 0x21, 0x4d, 0x00, 0x6e, 0x5d, 0x55, | ||
| 3537 | 0x79, 0x00, 0x6e, 0x5e, 0x42, 0x2d, 0x00, 0x6e, | ||
| 3538 | 0x5f, 0x15, 0x51, 0x00, 0x6e, 0x62, 0x55, 0x7a, | ||
| 3539 | 0x00, 0x6e, 0x63, 0x46, 0x2f, 0x00, 0x6e, 0x67, | ||
| 3540 | 0x0f, 0x19, 0x00, 0x6e, 0x68, 0x55, 0x7b, 0x00, | ||
| 3541 | 0x6e, 0x6b, 0x15, 0x54, 0x00, 0x6e, 0x6e, 0x15, | ||
| 3542 | 0x4d, 0x00, 0x6e, 0x6f, 0x0c, 0x6c, 0x00, 0x6e, | ||
| 3543 | 0x72, 0x15, 0x50, 0x00, 0x6e, 0x73, 0x4c, 0x29, | ||
| 3544 | 0x00, 0x6e, 0x76, 0x15, 0x56, 0x00, 0x6e, 0x7b, | ||
| 3545 | 0x4c, 0x2a, 0x00, 0x6e, 0x7d, 0x4c, 0x2b, 0x00, | ||
| 3546 | 0x6e, 0x7e, 0x0f, 0xf7, 0x00, 0x6e, 0x7f, 0x08, | ||
| 3547 | 0xea, 0x00, 0x6e, 0x80, 0x0e, 0xac, 0x00, 0x6e, | ||
| 3548 | 0x82, 0x15, 0x60, 0x00, 0x6e, 0x89, 0x4c, 0x2c, | ||
| 3549 | 0x00, 0x6e, 0x8c, 0x0d, 0x42, 0x00, 0x6e, 0x8d, | ||
| 3550 | 0x55, 0x7c, 0x00, 0x6e, 0x8f, 0x15, 0x6c, 0x00, | ||
| 3551 | 0x6e, 0x90, 0x07, 0x6f, 0x00, 0x6e, 0x93, 0x46, | ||
| 3552 | 0x31, 0x00, 0x6e, 0x96, 0x09, 0x6a, 0x00, 0x6e, | ||
| 3553 | 0x98, 0x15, 0x62, 0x00, 0x6e, 0x99, 0x55, 0x7d, | ||
| 3554 | 0x00, 0x6e, 0x9c, 0x0f, 0x77, 0x00, 0x6e, 0x9d, | ||
| 3555 | 0x07, 0xd4, 0x00, 0x6e, 0x9f, 0x15, 0x6f, 0x00, | ||
| 3556 | 0x6e, 0xa0, 0x55, 0x7e, 0x00, 0x6e, 0xa2, 0x04, | ||
| 3557 | 0xb2, 0x00, 0x6e, 0xa5, 0x15, 0x6d, 0x00, 0x6e, | ||
| 3558 | 0xa7, 0x46, 0x32, 0x00, 0x6e, 0xaa, 0x15, 0x61, | ||
| 3559 | 0x00, 0x6e, 0xab, 0x34, 0x0c, 0x00, 0x6e, 0xad, | ||
| 3560 | 0x55, 0x7f, 0x00, 0x6e, 0xae, 0x55, 0x80, 0x00, | ||
| 3561 | 0x6e, 0xaf, 0x15, 0x67, 0x00, 0x6e, 0xb1, 0x42, | ||
| 3562 | 0x2e, 0x00, 0x6e, 0xb2, 0x15, 0x69, 0x00, 0x6e, | ||
| 3563 | 0xb3, 0x55, 0x81, 0x00, 0x6e, 0xb4, 0x46, 0x33, | ||
| 3564 | 0x00, 0x6e, 0xb6, 0x0f, 0x39, 0x00, 0x6e, 0xb7, | ||
| 3565 | 0x15, 0x64, 0x00, 0x6e, 0xba, 0x0c, 0x28, 0x00, | ||
| 3566 | 0x6e, 0xbb, 0x55, 0x82, 0x00, 0x6e, 0xbc, 0x4c, | ||
| 3567 | 0x2d, 0x00, 0x6e, 0xbd, 0x15, 0x66, 0x00, 0x6e, | ||
| 3568 | 0xbf, 0x21, 0x50, 0x00, 0x6e, 0xc0, 0x55, 0x83, | ||
| 3569 | 0x00, 0x6e, 0xc1, 0x42, 0x2f, 0x00, 0x6e, 0xc2, | ||
| 3570 | 0x15, 0x6e, 0x00, 0x6e, 0xc3, 0x46, 0x34, 0x00, | ||
| 3571 | 0x6e, 0xc4, 0x15, 0x68, 0x00, 0x6e, 0xc5, 0x0e, | ||
| 3572 | 0xd3, 0x00, 0x6e, 0xc7, 0x39, 0x7f, 0x00, 0x6e, | ||
| 3573 | 0xc8, 0x55, 0x84, 0x00, 0x6e, 0xc9, 0x15, 0x63, | ||
| 3574 | 0x00, 0x6e, 0xca, 0x39, 0x80, 0x00, 0x6e, 0xcb, | ||
| 3575 | 0x08, 0xce, 0x00, 0x6e, 0xcc, 0x15, 0x7b, 0x00, | ||
| 3576 | 0x6e, 0xcd, 0x55, 0x85, 0x00, 0x6e, 0xce, 0x39, | ||
| 3577 | 0x81, 0x00, 0x6e, 0xcf, 0x55, 0x86, 0x00, 0x6e, | ||
| 3578 | 0xd1, 0x05, 0xc8, 0x00, 0x6e, 0xd3, 0x15, 0x65, | ||
| 3579 | 0x00, 0x6e, 0xd4, 0x15, 0x6a, 0x00, 0x6e, 0xd5, | ||
| 3580 | 0x15, 0x6b, 0x00, 0x6e, 0xd9, 0x3c, 0x38, 0x00, | ||
| 3581 | 0x6e, 0xda, 0x4c, 0x2e, 0x00, 0x6e, 0xdb, 0x4c, | ||
| 3582 | 0x2f, 0x00, 0x6e, 0xdd, 0x0b, 0x4c, 0x00, 0x6e, | ||
| 3583 | 0xde, 0x0b, 0x3a, 0x00, 0x6e, 0xe6, 0x3c, 0x24, | ||
| 3584 | 0x00, 0x6e, 0xeb, 0x46, 0x36, 0x00, 0x6e, 0xec, | ||
| 3585 | 0x15, 0x73, 0x00, 0x6e, 0xed, 0x55, 0x87, 0x00, | ||
| 3586 | 0x6e, 0xee, 0x55, 0x88, 0x00, 0x6e, 0xef, 0x15, | ||
| 3587 | 0x79, 0x00, 0x6e, 0xf2, 0x15, 0x77, 0x00, 0x6e, | ||
| 3588 | 0xf4, 0x0c, 0x23, 0x00, 0x6e, 0xf7, 0x15, 0x7e, | ||
| 3589 | 0x00, 0x6e, 0xf8, 0x15, 0x74, 0x00, 0x6e, 0xf9, | ||
| 3590 | 0x46, 0x37, 0x00, 0x6e, 0xfb, 0x46, 0x38, 0x00, | ||
| 3591 | 0x6e, 0xfd, 0x39, 0x82, 0x00, 0x6e, 0xfe, 0x15, | ||
| 3592 | 0x75, 0x00, 0x6e, 0xff, 0x15, 0x5d, 0x00, 0x6f, | ||
| 3593 | 0x01, 0x06, 0x93, 0x00, 0x6f, 0x02, 0x0d, 0xac, | ||
| 3594 | 0x00, 0x6f, 0x04, 0x55, 0x89, 0x00, 0x6f, 0x06, | ||
| 3595 | 0x08, 0xeb, 0x00, 0x6f, 0x08, 0x55, 0x8a, 0x00, | ||
| 3596 | 0x6f, 0x09, 0x08, 0x09, 0x00, 0x6f, 0x0a, 0x46, | ||
| 3597 | 0x39, 0x00, 0x6f, 0x0c, 0x46, 0x3a, 0x00, 0x6f, | ||
| 3598 | 0x0d, 0x55, 0x8b, 0x00, 0x6f, 0x0f, 0x0f, 0xd9, | ||
| 3599 | 0x00, 0x6f, 0x10, 0x42, 0x30, 0x00, 0x6f, 0x11, | ||
| 3600 | 0x15, 0x71, 0x00, 0x6f, 0x13, 0x15, 0x7d, 0x00, | ||
| 3601 | 0x6f, 0x14, 0x05, 0x0b, 0x00, 0x6f, 0x15, 0x0a, | ||
| 3602 | 0xe8, 0x00, 0x6f, 0x16, 0x55, 0x8c, 0x00, 0x6f, | ||
| 3603 | 0x18, 0x46, 0x3b, 0x00, 0x6f, 0x1a, 0x39, 0x83, | ||
| 3604 | 0x00, 0x6f, 0x1b, 0x55, 0x8d, 0x00, 0x6f, 0x20, | ||
| 3605 | 0x0d, 0x2f, 0x00, 0x6f, 0x22, 0x05, 0xfd, 0x00, | ||
| 3606 | 0x6f, 0x23, 0x1e, 0x81, 0x00, 0x6f, 0x25, 0x46, | ||
| 3607 | 0x3c, 0x00, 0x6f, 0x26, 0x4c, 0x30, 0x00, 0x6f, | ||
| 3608 | 0x29, 0x4c, 0x31, 0x00, 0x6f, 0x2a, 0x39, 0x84, | ||
| 3609 | 0x00, 0x6f, 0x2b, 0x0e, 0xad, 0x00, 0x6f, 0x2c, | ||
| 3610 | 0x0b, 0xee, 0x00, 0x6f, 0x2d, 0x55, 0x8f, 0x00, | ||
| 3611 | 0x6f, 0x2f, 0x39, 0x85, 0x00, 0x6f, 0x30, 0x4c, | ||
| 3612 | 0x32, 0x00, 0x6f, 0x31, 0x15, 0x78, 0x00, 0x6f, | ||
| 3613 | 0x32, 0x15, 0x7a, 0x00, 0x6f, 0x33, 0x39, 0x86, | ||
| 3614 | 0x00, 0x6f, 0x35, 0x46, 0x35, 0x00, 0x6f, 0x36, | ||
| 3615 | 0x46, 0x3d, 0x00, 0x6f, 0x38, 0x0a, 0xb4, 0x00, | ||
| 3616 | 0x6f, 0x3b, 0x55, 0x8e, 0x00, 0x6f, 0x3c, 0x46, | ||
| 3617 | 0x3e, 0x00, 0x6f, 0x3e, 0x15, 0x7c, 0x00, 0x6f, | ||
| 3618 | 0x3f, 0x15, 0x76, 0x00, 0x6f, 0x41, 0x15, 0x70, | ||
| 3619 | 0x00, 0x6f, 0x45, 0x05, 0xff, 0x00, 0x6f, 0x4f, | ||
| 3620 | 0x55, 0x90, 0x00, 0x6f, 0x51, 0x1e, 0x60, 0x00, | ||
| 3621 | 0x6f, 0x52, 0x46, 0x40, 0x00, 0x6f, 0x53, 0x55, | ||
| 3622 | 0x91, 0x00, 0x6f, 0x54, 0x07, 0x3f, 0x00, 0x6f, | ||
| 3623 | 0x57, 0x46, 0x41, 0x00, 0x6f, 0x58, 0x15, 0x8a, | ||
| 3624 | 0x00, 0x6f, 0x59, 0x42, 0x31, 0x00, 0x6f, 0x5a, | ||
| 3625 | 0x39, 0x87, 0x00, 0x6f, 0x5b, 0x15, 0x85, 0x00, | ||
| 3626 | 0x6f, 0x5c, 0x0a, 0x9c, 0x00, 0x6f, 0x5d, 0x55, | ||
| 3627 | 0x92, 0x00, 0x6f, 0x5e, 0x39, 0x88, 0x00, 0x6f, | ||
| 3628 | 0x5f, 0x05, 0xc1, 0x00, 0x6f, 0x60, 0x46, 0x42, | ||
| 3629 | 0x00, 0x6f, 0x61, 0x42, 0x32, 0x00, 0x6f, 0x62, | ||
| 3630 | 0x39, 0x89, 0x00, 0x6f, 0x64, 0x09, 0x6b, 0x00, | ||
| 3631 | 0x6f, 0x66, 0x15, 0x8e, 0x00, 0x6f, 0x68, 0x46, | ||
| 3632 | 0x43, 0x00, 0x6f, 0x6c, 0x55, 0x93, 0x00, 0x6f, | ||
| 3633 | 0x6d, 0x15, 0x87, 0x00, 0x6f, 0x6e, 0x36, 0x6c, | ||
| 3634 | 0x00, 0x6f, 0x6f, 0x15, 0x84, 0x00, 0x6f, 0x70, | ||
| 3635 | 0x0b, 0xf5, 0x00, 0x6f, 0x74, 0x15, 0xa7, 0x00, | ||
| 3636 | 0x6f, 0x78, 0x15, 0x81, 0x00, 0x6f, 0x7a, 0x15, | ||
| 3637 | 0x80, 0x00, 0x6f, 0x7c, 0x15, 0x89, 0x00, 0x6f, | ||
| 3638 | 0x7d, 0x39, 0x8a, 0x00, 0x6f, 0x7e, 0x42, 0x33, | ||
| 3639 | 0x00, 0x6f, 0x80, 0x15, 0x83, 0x00, 0x6f, 0x81, | ||
| 3640 | 0x15, 0x82, 0x00, 0x6f, 0x82, 0x15, 0x88, 0x00, | ||
| 3641 | 0x6f, 0x83, 0x55, 0x94, 0x00, 0x6f, 0x84, 0x0a, | ||
| 3642 | 0x45, 0x00, 0x6f, 0x86, 0x15, 0x7f, 0x00, 0x6f, | ||
| 3643 | 0x87, 0x4c, 0x33, 0x00, 0x6f, 0x88, 0x21, 0x51, | ||
| 3644 | 0x00, 0x6f, 0x8b, 0x39, 0x8b, 0x00, 0x6f, 0x8c, | ||
| 3645 | 0x42, 0x34, 0x00, 0x6f, 0x8d, 0x39, 0x8c, 0x00, | ||
| 3646 | 0x6f, 0x8e, 0x15, 0x8b, 0x00, 0x6f, 0x90, 0x46, | ||
| 3647 | 0x44, 0x00, 0x6f, 0x91, 0x15, 0x8c, 0x00, 0x6f, | ||
| 3648 | 0x92, 0x39, 0x8d, 0x00, 0x6f, 0x93, 0x55, 0x95, | ||
| 3649 | 0x00, 0x6f, 0x94, 0x39, 0x8e, 0x00, 0x6f, 0x96, | ||
| 3650 | 0x46, 0x45, 0x00, 0x6f, 0x97, 0x05, 0xfe, 0x00, | ||
| 3651 | 0x6f, 0x98, 0x36, 0x3c, 0x00, 0x6f, 0x9a, 0x39, | ||
| 3652 | 0x8f, 0x00, 0x6f, 0x9d, 0x4c, 0x34, 0x00, 0x6f, | ||
| 3653 | 0x9f, 0x46, 0x47, 0x00, 0x6f, 0xa0, 0x42, 0x35, | ||
| 3654 | 0x00, 0x6f, 0xa1, 0x15, 0x91, 0x00, 0x6f, 0xa3, | ||
| 3655 | 0x15, 0x90, 0x00, 0x6f, 0xa4, 0x15, 0x92, 0x00, | ||
| 3656 | 0x6f, 0xa5, 0x46, 0x48, 0x00, 0x6f, 0xa6, 0x55, | ||
| 3657 | 0x96, 0x00, 0x6f, 0xa7, 0x39, 0x90, 0x00, 0x6f, | ||
| 3658 | 0xa8, 0x39, 0x91, 0x00, 0x6f, 0xaa, 0x15, 0x95, | ||
| 3659 | 0x00, 0x6f, 0xae, 0x4c, 0x35, 0x00, 0x6f, 0xaf, | ||
| 3660 | 0x46, 0x49, 0x00, 0x6f, 0xb0, 0x55, 0x97, 0x00, | ||
| 3661 | 0x6f, 0xb1, 0x0c, 0x3d, 0x00, 0x6f, 0xb3, 0x15, | ||
| 3662 | 0x8f, 0x00, 0x6f, 0xb5, 0x21, 0x52, 0x00, 0x6f, | ||
| 3663 | 0xb6, 0x39, 0x92, 0x00, 0x6f, 0xb7, 0x4c, 0x36, | ||
| 3664 | 0x00, 0x6f, 0xb9, 0x15, 0x93, 0x00, 0x6f, 0xbc, | ||
| 3665 | 0x42, 0x36, 0x00, 0x6f, 0xbe, 0x46, 0x46, 0x00, | ||
| 3666 | 0x6f, 0xc0, 0x07, 0x39, 0x00, 0x6f, 0xc1, 0x0b, | ||
| 3667 | 0x59, 0x00, 0x6f, 0xc2, 0x15, 0x8d, 0x00, 0x6f, | ||
| 3668 | 0xc3, 0x0c, 0xf1, 0x00, 0x6f, 0xc5, 0x55, 0x98, | ||
| 3669 | 0x00, 0x6f, 0xc6, 0x15, 0x94, 0x00, 0x6f, 0xc7, | ||
| 3670 | 0x42, 0x37, 0x00, 0x6f, 0xc8, 0x46, 0x4b, 0x00, | ||
| 3671 | 0x6f, 0xc9, 0x46, 0x4c, 0x00, 0x6f, 0xca, 0x42, | ||
| 3672 | 0x38, 0x00, 0x6f, 0xd4, 0x15, 0x99, 0x00, 0x6f, | ||
| 3673 | 0xd5, 0x15, 0x97, 0x00, 0x6f, 0xd8, 0x15, 0x9a, | ||
| 3674 | 0x00, 0x6f, 0xda, 0x39, 0x93, 0x00, 0x6f, 0xdb, | ||
| 3675 | 0x15, 0x9d, 0x00, 0x6f, 0xde, 0x39, 0x94, 0x00, | ||
| 3676 | 0x6f, 0xdf, 0x15, 0x96, 0x00, 0x6f, 0xe0, 0x07, | ||
| 3677 | 0xfc, 0x00, 0x6f, 0xe1, 0x0c, 0xde, 0x00, 0x6f, | ||
| 3678 | 0xe4, 0x15, 0x36, 0x00, 0x6f, 0xe8, 0x55, 0x99, | ||
| 3679 | 0x00, 0x6f, 0xe9, 0x46, 0x4d, 0x00, 0x6f, 0xeb, | ||
| 3680 | 0x0f, 0x5e, 0x00, 0x6f, 0xec, 0x15, 0x98, 0x00, | ||
| 3681 | 0x6f, 0xee, 0x15, 0x9c, 0x00, 0x6f, 0xef, 0x0b, | ||
| 3682 | 0x55, 0x00, 0x6f, 0xf0, 0x42, 0x39, 0x00, 0x6f, | ||
| 3683 | 0xf1, 0x15, 0x9b, 0x00, 0x6f, 0xf3, 0x15, 0x86, | ||
| 3684 | 0x00, 0x6f, 0xf5, 0x21, 0x53, 0x00, 0x6f, 0xf6, | ||
| 3685 | 0x1b, 0xa4, 0x00, 0x6f, 0xf9, 0x3c, 0x23, 0x00, | ||
| 3686 | 0x6f, 0xfa, 0x15, 0xa0, 0x00, 0x6f, 0xfc, 0x46, | ||
| 3687 | 0x4f, 0x00, 0x6f, 0xfd, 0x55, 0x9a, 0x00, 0x6f, | ||
| 3688 | 0xfe, 0x15, 0xa4, 0x00, 0x70, 0x00, 0x46, 0x50, | ||
| 3689 | 0x00, 0x70, 0x01, 0x15, 0xa2, 0x00, 0x70, 0x05, | ||
| 3690 | 0x21, 0x54, 0x00, 0x70, 0x06, 0x1e, 0x50, 0x00, | ||
| 3691 | 0x70, 0x07, 0x21, 0x55, 0x00, 0x70, 0x09, 0x15, | ||
| 3692 | 0x9e, 0x00, 0x70, 0x0a, 0x46, 0x51, 0x00, 0x70, | ||
| 3693 | 0x0b, 0x15, 0x9f, 0x00, 0x70, 0x0d, 0x4c, 0x37, | ||
| 3694 | 0x00, 0x70, 0x0f, 0x15, 0xa3, 0x00, 0x70, 0x11, | ||
| 3695 | 0x15, 0xa1, 0x00, 0x70, 0x15, 0x0d, 0xc0, 0x00, | ||
| 3696 | 0x70, 0x17, 0x55, 0x9b, 0x00, 0x70, 0x18, 0x15, | ||
| 3697 | 0xa9, 0x00, 0x70, 0x1a, 0x15, 0xa6, 0x00, 0x70, | ||
| 3698 | 0x1b, 0x15, 0xa5, 0x00, 0x70, 0x1d, 0x15, 0xa8, | ||
| 3699 | 0x00, 0x70, 0x1e, 0x0c, 0xac, 0x00, 0x70, 0x1f, | ||
| 3700 | 0x15, 0xaa, 0x00, 0x70, 0x20, 0x4c, 0x38, 0x00, | ||
| 3701 | 0x70, 0x23, 0x46, 0x52, 0x00, 0x70, 0x26, 0x0b, | ||
| 3702 | 0xb3, 0x00, 0x70, 0x27, 0x0b, 0x4d, 0x00, 0x70, | ||
| 3703 | 0x28, 0x21, 0x56, 0x00, 0x70, 0x2c, 0x0a, 0x49, | ||
| 3704 | 0x00, 0x70, 0x2f, 0x55, 0x9c, 0x00, 0x70, 0x30, | ||
| 3705 | 0x15, 0xab, 0x00, 0x70, 0x32, 0x15, 0xad, 0x00, | ||
| 3706 | 0x70, 0x34, 0x55, 0x9d, 0x00, 0x70, 0x37, 0x55, | ||
| 3707 | 0x9e, 0x00, 0x70, 0x39, 0x39, 0x96, 0x00, 0x70, | ||
| 3708 | 0x3a, 0x46, 0x54, 0x00, 0x70, 0x3c, 0x39, 0x97, | ||
| 3709 | 0x00, 0x70, 0x3e, 0x15, 0xac, 0x00, 0x70, 0x43, | ||
| 3710 | 0x46, 0x55, 0x00, 0x70, 0x44, 0x55, 0x9f, 0x00, | ||
| 3711 | 0x70, 0x47, 0x46, 0x56, 0x00, 0x70, 0x48, 0x55, | ||
| 3712 | 0xa0, 0x00, 0x70, 0x49, 0x4c, 0x39, 0x00, 0x70, | ||
| 3713 | 0x4a, 0x4f, 0x52, 0x00, 0x70, 0x4b, 0x46, 0x57, | ||
| 3714 | 0x00, 0x70, 0x4c, 0x15, 0x72, 0x00, 0x70, 0x4e, | ||
| 3715 | 0x42, 0x3a, 0x00, 0x70, 0x51, 0x15, 0xae, 0x00, | ||
| 3716 | 0x70, 0x54, 0x39, 0x99, 0x00, 0x70, 0x55, 0x55, | ||
| 3717 | 0xa1, 0x00, 0x70, 0x58, 0x0c, 0xbf, 0x00, 0x70, | ||
| 3718 | 0x5d, 0x39, 0x9a, 0x00, 0x70, 0x5e, 0x39, 0x9b, | ||
| 3719 | 0x00, 0x70, 0x63, 0x15, 0xaf, 0x00, 0x70, 0x64, | ||
| 3720 | 0x39, 0x9c, 0x00, 0x70, 0x65, 0x46, 0x59, 0x00, | ||
| 3721 | 0x70, 0x69, 0x46, 0x5a, 0x00, 0x70, 0x6b, 0x05, | ||
| 3722 | 0x50, 0x00, 0x70, 0x6c, 0x39, 0x9d, 0x00, 0x70, | ||
| 3723 | 0x6e, 0x46, 0x5b, 0x00, 0x70, 0x6f, 0x0c, 0x6e, | ||
| 3724 | 0x00, 0x70, 0x70, 0x05, 0x83, 0x00, 0x70, 0x75, | ||
| 3725 | 0x42, 0x3b, 0x00, 0x70, 0x76, 0x46, 0x5c, 0x00, | ||
| 3726 | 0x70, 0x78, 0x06, 0x7e, 0x00, 0x70, 0x7c, 0x09, | ||
| 3727 | 0x0a, 0x00, 0x70, 0x7d, 0x08, 0x42, 0x00, 0x70, | ||
| 3728 | 0x7e, 0x39, 0x9e, 0x00, 0x70, 0x81, 0x39, 0x9f, | ||
| 3729 | 0x00, 0x70, 0x85, 0x21, 0x57, 0x00, 0x70, 0x86, | ||
| 3730 | 0x46, 0x5d, 0x00, 0x70, 0x89, 0x0f, 0xcd, 0x00, | ||
| 3731 | 0x70, 0x8a, 0x0a, 0x2c, 0x00, 0x70, 0x8e, 0x05, | ||
| 3732 | 0x0c, 0x00, 0x70, 0x92, 0x15, 0xb1, 0x00, 0x70, | ||
| 3733 | 0x94, 0x55, 0xa2, 0x00, 0x70, 0x95, 0x39, 0xa0, | ||
| 3734 | 0x00, 0x70, 0x96, 0x55, 0xa3, 0x00, 0x70, 0x97, | ||
| 3735 | 0x46, 0x5e, 0x00, 0x70, 0x98, 0x4c, 0x3a, 0x00, | ||
| 3736 | 0x70, 0x99, 0x15, 0xb0, 0x00, 0x70, 0x9b, 0x55, | ||
| 3737 | 0xa4, 0x00, 0x70, 0x9f, 0x46, 0x60, 0x00, 0x70, | ||
| 3738 | 0xa4, 0x42, 0x3c, 0x00, 0x70, 0xab, 0x21, 0x58, | ||
| 3739 | 0x00, 0x70, 0xac, 0x15, 0xb4, 0x00, 0x70, 0xad, | ||
| 3740 | 0x0b, 0x78, 0x00, 0x70, 0xae, 0x15, 0xb7, 0x00, | ||
| 3741 | 0x70, 0xaf, 0x15, 0xb2, 0x00, 0x70, 0xb0, 0x4c, | ||
| 3742 | 0x3b, 0x00, 0x70, 0xb1, 0x46, 0x61, 0x00, 0x70, | ||
| 3743 | 0xb3, 0x15, 0xb6, 0x00, 0x70, 0xb4, 0x55, 0xa5, | ||
| 3744 | 0x00, 0x70, 0xb7, 0x39, 0xa1, 0x00, 0x70, 0xb8, | ||
| 3745 | 0x15, 0xb5, 0x00, 0x70, 0xb9, 0x0c, 0x3a, 0x00, | ||
| 3746 | 0x70, 0xba, 0x04, 0x9d, 0x00, 0x70, 0xbb, 0x20, | ||
| 3747 | 0xad, 0x00, 0x70, 0xc8, 0x0f, 0xbd, 0x00, 0x70, | ||
| 3748 | 0xca, 0x46, 0x64, 0x00, 0x70, 0xcb, 0x15, 0xb9, | ||
| 3749 | 0x00, 0x70, 0xcf, 0x04, 0xca, 0x00, 0x70, 0xd1, | ||
| 3750 | 0x46, 0x65, 0x00, 0x70, 0xd3, 0x39, 0xa2, 0x00, | ||
| 3751 | 0x70, 0xd4, 0x39, 0xa3, 0x00, 0x70, 0xd5, 0x4c, | ||
| 3752 | 0x3c, 0x00, 0x70, 0xd6, 0x4c, 0x3d, 0x00, 0x70, | ||
| 3753 | 0xd8, 0x39, 0xa4, 0x00, 0x70, 0xd9, 0x15, 0xbb, | ||
| 3754 | 0x00, 0x70, 0xdc, 0x39, 0xa5, 0x00, 0x70, 0xdd, | ||
| 3755 | 0x15, 0xba, 0x00, 0x70, 0xdf, 0x15, 0xb8, 0x00, | ||
| 3756 | 0x70, 0xe4, 0x42, 0x3d, 0x00, 0x70, 0xec, 0x46, | ||
| 3757 | 0x63, 0x00, 0x70, 0xf1, 0x15, 0xb3, 0x00, 0x70, | ||
| 3758 | 0xf9, 0x0e, 0x51, 0x00, 0x70, 0xfa, 0x55, 0xa6, | ||
| 3759 | 0x00, 0x70, 0xfd, 0x15, 0xbd, 0x00, 0x71, 0x03, | ||
| 3760 | 0x46, 0x66, 0x00, 0x71, 0x04, 0x21, 0x5a, 0x00, | ||
| 3761 | 0x71, 0x05, 0x55, 0xa7, 0x00, 0x71, 0x06, 0x46, | ||
| 3762 | 0x67, 0x00, 0x71, 0x07, 0x39, 0xa6, 0x00, 0x71, | ||
| 3763 | 0x08, 0x46, 0x68, 0x00, 0x71, 0x09, 0x15, 0xbc, | ||
| 3764 | 0x00, 0x71, 0x0b, 0x55, 0xa8, 0x00, 0x71, 0x0c, | ||
| 3765 | 0x46, 0x69, 0x00, 0x71, 0x0f, 0x21, 0x59, 0x00, | ||
| 3766 | 0x71, 0x14, 0x05, 0x0d, 0x00, 0x71, 0x19, 0x15, | ||
| 3767 | 0xbf, 0x00, 0x71, 0x1a, 0x0e, 0x02, 0x00, 0x71, | ||
| 3768 | 0x1c, 0x15, 0xbe, 0x00, 0x71, 0x1e, 0x42, 0x3f, | ||
| 3769 | 0x00, 0x71, 0x20, 0x39, 0xa7, 0x00, 0x71, 0x21, | ||
| 3770 | 0x0e, 0xc1, 0x00, 0x71, 0x26, 0x09, 0xaf, 0x00, | ||
| 3771 | 0x71, 0x2b, 0x42, 0x3e, 0x00, 0x71, 0x2d, 0x55, | ||
| 3772 | 0xa9, 0x00, 0x71, 0x2e, 0x42, 0x40, 0x00, 0x71, | ||
| 3773 | 0x2f, 0x46, 0x6b, 0x00, 0x71, 0x30, 0x1d, 0xdc, | ||
| 3774 | 0x00, 0x71, 0x31, 0x39, 0xa8, 0x00, 0x71, 0x36, | ||
| 3775 | 0x0a, 0xb5, 0x00, 0x71, 0x38, 0x55, 0xaa, 0x00, | ||
| 3776 | 0x71, 0x3c, 0x09, 0xae, 0x00, 0x71, 0x41, 0x55, | ||
| 3777 | 0xab, 0x00, 0x71, 0x45, 0x4c, 0x3e, 0x00, 0x71, | ||
| 3778 | 0x46, 0x21, 0x5c, 0x00, 0x71, 0x47, 0x21, 0x5d, | ||
| 3779 | 0x00, 0x71, 0x49, 0x1e, 0x82, 0x00, 0x71, 0x4a, | ||
| 3780 | 0x39, 0xa9, 0x00, 0x71, 0x4b, 0x55, 0xac, 0x00, | ||
| 3781 | 0x71, 0x4c, 0x15, 0xc5, 0x00, 0x71, 0x4e, 0x0a, | ||
| 3782 | 0x9d, 0x00, 0x71, 0x50, 0x46, 0x6c, 0x00, 0x71, | ||
| 3783 | 0x51, 0x42, 0x41, 0x00, 0x71, 0x52, 0x39, 0xaa, | ||
| 3784 | 0x00, 0x71, 0x53, 0x46, 0x6d, 0x00, 0x71, 0x55, | ||
| 3785 | 0x15, 0xc1, 0x00, 0x71, 0x56, 0x15, 0xc6, 0x00, | ||
| 3786 | 0x71, 0x57, 0x55, 0xae, 0x00, 0x71, 0x59, 0x05, | ||
| 3787 | 0x0e, 0x00, 0x71, 0x5a, 0x55, 0xaf, 0x00, 0x71, | ||
| 3788 | 0x5c, 0x21, 0x5b, 0x00, 0x71, 0x5e, 0x46, 0x6e, | ||
| 3789 | 0x00, 0x71, 0x60, 0x39, 0xab, 0x00, 0x71, 0x62, | ||
| 3790 | 0x15, 0xc4, 0x00, 0x71, 0x64, 0x0d, 0x17, 0x00, | ||
| 3791 | 0x71, 0x65, 0x15, 0xc0, 0x00, 0x71, 0x66, 0x15, | ||
| 3792 | 0xc3, 0x00, 0x71, 0x67, 0x09, 0xb0, 0x00, 0x71, | ||
| 3793 | 0x68, 0x42, 0x42, 0x00, 0x71, 0x69, 0x0d, 0x65, | ||
| 3794 | 0x00, 0x71, 0x6c, 0x15, 0xc7, 0x00, 0x71, 0x6e, | ||
| 3795 | 0x34, 0x23, 0x00, 0x71, 0x79, 0x39, 0xac, 0x00, | ||
| 3796 | 0x71, 0x7d, 0x0a, 0x9e, 0x00, 0x71, 0x80, 0x46, | ||
| 3797 | 0x71, 0x00, 0x71, 0x84, 0x15, 0xca, 0x00, 0x71, | ||
| 3798 | 0x85, 0x42, 0x43, 0x00, 0x71, 0x87, 0x42, 0x44, | ||
| 3799 | 0x00, 0x71, 0x88, 0x15, 0xc2, 0x00, 0x71, 0x8a, | ||
| 3800 | 0x06, 0xfd, 0x00, 0x71, 0x8c, 0x55, 0xb0, 0x00, | ||
| 3801 | 0x71, 0x8f, 0x15, 0xc8, 0x00, 0x71, 0x92, 0x39, | ||
| 3802 | 0xad, 0x00, 0x71, 0x94, 0x0f, 0x3a, 0x00, 0x71, | ||
| 3803 | 0x95, 0x15, 0xcb, 0x00, 0x71, 0x96, 0x46, 0x70, | ||
| 3804 | 0x00, 0x71, 0x99, 0x20, 0x5d, 0x00, 0x71, 0x9a, | ||
| 3805 | 0x55, 0xb1, 0x00, 0x71, 0x9b, 0x46, 0x72, 0x00, | ||
| 3806 | 0x71, 0x9f, 0x09, 0x59, 0x00, 0x71, 0xa0, 0x46, | ||
| 3807 | 0x73, 0x00, 0x71, 0xa2, 0x46, 0x74, 0x00, 0x71, | ||
| 3808 | 0xa8, 0x15, 0xcc, 0x00, 0x71, 0xac, 0x15, 0xcd, | ||
| 3809 | 0x00, 0x71, 0xae, 0x46, 0x75, 0x00, 0x71, 0xaf, | ||
| 3810 | 0x46, 0x76, 0x00, 0x71, 0xb0, 0x55, 0xb2, 0x00, | ||
| 3811 | 0x71, 0xb1, 0x0c, 0xe4, 0x00, 0x71, 0xb2, 0x4c, | ||
| 3812 | 0x3f, 0x00, 0x71, 0xb3, 0x3c, 0x25, 0x00, 0x71, | ||
| 3813 | 0xb9, 0x15, 0xcf, 0x00, 0x71, 0xba, 0x42, 0x45, | ||
| 3814 | 0x00, 0x71, 0xbe, 0x15, 0xd0, 0x00, 0x71, 0xbf, | ||
| 3815 | 0x55, 0xb3, 0x00, 0x71, 0xc0, 0x55, 0xb4, 0x00, | ||
| 3816 | 0x71, 0xc1, 0x21, 0x5f, 0x00, 0x71, 0xc3, 0x0c, | ||
| 3817 | 0xe9, 0x00, 0x71, 0xc4, 0x42, 0x46, 0x00, 0x71, | ||
| 3818 | 0xc8, 0x0c, 0x6f, 0x00, 0x71, 0xc9, 0x15, 0xd2, | ||
| 3819 | 0x00, 0x71, 0xcb, 0x39, 0xaf, 0x00, 0x71, 0xcc, | ||
| 3820 | 0x55, 0xb5, 0x00, 0x71, 0xce, 0x15, 0xd4, 0x00, | ||
| 3821 | 0x71, 0xd0, 0x0f, 0x9d, 0x00, 0x71, 0xd2, 0x15, | ||
| 3822 | 0xd1, 0x00, 0x71, 0xd3, 0x39, 0xb0, 0x00, 0x71, | ||
| 3823 | 0xd4, 0x15, 0xd3, 0x00, 0x71, 0xd5, 0x05, 0x0f, | ||
| 3824 | 0x00, 0x71, 0xd6, 0x39, 0xb1, 0x00, 0x71, 0xd7, | ||
| 3825 | 0x15, 0xce, 0x00, 0x71, 0xd9, 0x46, 0x78, 0x00, | ||
| 3826 | 0x71, 0xda, 0x55, 0xb6, 0x00, 0x71, 0xdc, 0x46, | ||
| 3827 | 0x79, 0x00, 0x71, 0xdf, 0x11, 0x4e, 0x00, 0x71, | ||
| 3828 | 0xe0, 0x15, 0xd5, 0x00, 0x71, 0xe5, 0x0a, 0xe9, | ||
| 3829 | 0x00, 0x71, 0xe6, 0x08, 0x86, 0x00, 0x71, 0xe7, | ||
| 3830 | 0x15, 0xd7, 0x00, 0x71, 0xec, 0x15, 0xd6, 0x00, | ||
| 3831 | 0x71, 0xed, 0x09, 0xea, 0x00, 0x71, 0xee, 0x10, | ||
| 3832 | 0xee, 0x00, 0x71, 0xf4, 0x4c, 0x40, 0x00, 0x71, | ||
| 3833 | 0xf5, 0x15, 0xd8, 0x00, 0x71, 0xf8, 0x55, 0xb7, | ||
| 3834 | 0x00, 0x71, 0xf9, 0x15, 0xda, 0x00, 0x71, 0xfb, | ||
| 3835 | 0x15, 0xc9, 0x00, 0x71, 0xfc, 0x15, 0xd9, 0x00, | ||
| 3836 | 0x71, 0xfe, 0x21, 0x60, 0x00, 0x71, 0xff, 0x15, | ||
| 3837 | 0xdb, 0x00, 0x72, 0x00, 0x39, 0xb2, 0x00, 0x72, | ||
| 3838 | 0x06, 0x0d, 0x30, 0x00, 0x72, 0x07, 0x46, 0x7a, | ||
| 3839 | 0x00, 0x72, 0x08, 0x55, 0xb8, 0x00, 0x72, 0x09, | ||
| 3840 | 0x55, 0xb9, 0x00, 0x72, 0x0d, 0x15, 0xdc, 0x00, | ||
| 3841 | 0x72, 0x10, 0x15, 0xdd, 0x00, 0x72, 0x13, 0x55, | ||
| 3842 | 0xba, 0x00, 0x72, 0x15, 0x42, 0x47, 0x00, 0x72, | ||
| 3843 | 0x17, 0x4c, 0x41, 0x00, 0x72, 0x1a, 0x55, 0xbb, | ||
| 3844 | 0x00, 0x72, 0x1b, 0x15, 0xde, 0x00, 0x72, 0x1d, | ||
| 3845 | 0x39, 0xb3, 0x00, 0x72, 0x1f, 0x4c, 0x42, 0x00, | ||
| 3846 | 0x72, 0x24, 0x55, 0xbc, 0x00, 0x72, 0x28, 0x1e, | ||
| 3847 | 0x9f, 0x00, 0x72, 0x2a, 0x0b, 0xfa, 0x00, 0x72, | ||
| 3848 | 0x2b, 0x39, 0xb4, 0x00, 0x72, 0x2c, 0x15, 0xe1, | ||
| 3849 | 0x00, 0x72, 0x2d, 0x15, 0xe0, 0x00, 0x72, 0x2f, | ||
| 3850 | 0x55, 0xbd, 0x00, 0x72, 0x30, 0x15, 0xe2, 0x00, | ||
| 3851 | 0x72, 0x32, 0x15, 0xe3, 0x00, 0x72, 0x34, 0x46, | ||
| 3852 | 0x7c, 0x00, 0x72, 0x35, 0x35, 0xf1, 0x00, 0x72, | ||
| 3853 | 0x36, 0x0d, 0xd5, 0x00, 0x72, 0x38, 0x39, 0xb5, | ||
| 3854 | 0x00, 0x72, 0x39, 0x46, 0x7d, 0x00, 0x72, 0x3a, | ||
| 3855 | 0x0e, 0xf8, 0x00, 0x72, 0x3b, 0x15, 0xe4, 0x00, | ||
| 3856 | 0x72, 0x3c, 0x15, 0xe5, 0x00, 0x72, 0x3d, 0x0a, | ||
| 3857 | 0xd8, 0x00, 0x72, 0x3e, 0x08, 0xd0, 0x00, 0x72, | ||
| 3858 | 0x3f, 0x15, 0xe6, 0x00, 0x72, 0x40, 0x15, 0xe7, | ||
| 3859 | 0x00, 0x72, 0x41, 0x39, 0xb6, 0x00, 0x72, 0x42, | ||
| 3860 | 0x46, 0x7e, 0x00, 0x72, 0x43, 0x4c, 0x43, 0x00, | ||
| 3861 | 0x72, 0x45, 0x55, 0xbe, 0x00, 0x72, 0x46, 0x15, | ||
| 3862 | 0xe8, 0x00, 0x72, 0x47, 0x0e, 0x22, 0x00, 0x72, | ||
| 3863 | 0x48, 0x0d, 0x5b, 0x00, 0x72, 0x4b, 0x15, 0xe9, | ||
| 3864 | 0x00, 0x72, 0x4c, 0x0d, 0x0d, 0x00, 0x72, 0x4e, | ||
| 3865 | 0x55, 0xbf, 0x00, 0x72, 0x4f, 0x4c, 0x44, 0x00, | ||
| 3866 | 0x72, 0x50, 0x4c, 0x45, 0x00, 0x72, 0x52, 0x0b, | ||
| 3867 | 0xc9, 0x00, 0x72, 0x53, 0x39, 0xb7, 0x00, 0x72, | ||
| 3868 | 0x55, 0x39, 0xb8, 0x00, 0x72, 0x56, 0x39, 0xb9, | ||
| 3869 | 0x00, 0x72, 0x57, 0x46, 0x7f, 0x00, 0x72, 0x58, | ||
| 3870 | 0x15, 0xea, 0x00, 0x72, 0x59, 0x05, 0x67, 0x00, | ||
| 3871 | 0x72, 0x5a, 0x4c, 0x46, 0x00, 0x72, 0x5b, 0x06, | ||
| 3872 | 0x87, 0x00, 0x72, 0x5c, 0x39, 0xba, 0x00, 0x72, | ||
| 3873 | 0x5d, 0x0e, 0xd2, 0x00, 0x72, 0x5e, 0x55, 0xc0, | ||
| 3874 | 0x00, 0x72, 0x5f, 0x0e, 0xc2, 0x00, 0x72, 0x60, | ||
| 3875 | 0x4c, 0x47, 0x00, 0x72, 0x61, 0x05, 0x34, 0x00, | ||
| 3876 | 0x72, 0x62, 0x0f, 0xda, 0x00, 0x72, 0x63, 0x46, | ||
| 3877 | 0x80, 0x00, 0x72, 0x67, 0x0e, 0x80, 0x00, 0x72, | ||
| 3878 | 0x68, 0x4c, 0x48, 0x00, 0x72, 0x69, 0x0d, 0xfa, | ||
| 3879 | 0x00, 0x72, 0x6b, 0x55, 0xc1, 0x00, 0x72, 0x6e, | ||
| 3880 | 0x46, 0x82, 0x00, 0x72, 0x6f, 0x46, 0x83, 0x00, | ||
| 3881 | 0x72, 0x71, 0x55, 0xc2, 0x00, 0x72, 0x72, 0x0a, | ||
| 3882 | 0x5b, 0x00, 0x72, 0x74, 0x15, 0xeb, 0x00, 0x72, | ||
| 3883 | 0x77, 0x4c, 0x49, 0x00, 0x72, 0x78, 0x46, 0x84, | ||
| 3884 | 0x00, 0x72, 0x79, 0x0c, 0x9b, 0x00, 0x72, 0x7b, | ||
| 3885 | 0x55, 0xc3, 0x00, 0x72, 0x7c, 0x55, 0xc4, 0x00, | ||
| 3886 | 0x72, 0x7d, 0x07, 0x57, 0x00, 0x72, 0x7e, 0x15, | ||
| 3887 | 0xec, 0x00, 0x72, 0x7f, 0x46, 0x85, 0x00, 0x72, | ||
| 3888 | 0x80, 0x08, 0x44, 0x00, 0x72, 0x81, 0x15, 0xee, | ||
| 3889 | 0x00, 0x72, 0x82, 0x15, 0xed, 0x00, 0x72, 0x84, | ||
| 3890 | 0x4c, 0x4a, 0x00, 0x72, 0x87, 0x15, 0xef, 0x00, | ||
| 3891 | 0x72, 0x89, 0x55, 0xc5, 0x00, 0x72, 0x8d, 0x39, | ||
| 3892 | 0xbb, 0x00, 0x72, 0x8e, 0x46, 0x86, 0x00, 0x72, | ||
| 3893 | 0x92, 0x15, 0xf0, 0x00, 0x72, 0x93, 0x55, 0xc6, | ||
| 3894 | 0x00, 0x72, 0x96, 0x15, 0xf1, 0x00, 0x72, 0x9b, | ||
| 3895 | 0x42, 0x49, 0x00, 0x72, 0xa0, 0x06, 0x58, 0x00, | ||
| 3896 | 0x72, 0xa2, 0x15, 0xf2, 0x00, 0x72, 0xa7, 0x15, | ||
| 3897 | 0xf3, 0x00, 0x72, 0xa8, 0x55, 0xc7, 0x00, 0x72, | ||
| 3898 | 0xac, 0x07, 0x58, 0x00, 0x72, 0xad, 0x39, 0xbc, | ||
| 3899 | 0x00, 0x72, 0xae, 0x46, 0x88, 0x00, 0x72, 0xaf, | ||
| 3900 | 0x0d, 0x5c, 0x00, 0x72, 0xb0, 0x46, 0x89, 0x00, | ||
| 3901 | 0x72, 0xb1, 0x21, 0x61, 0x00, 0x72, 0xb2, 0x15, | ||
| 3902 | 0xf5, 0x00, 0x72, 0xb4, 0x39, 0xbd, 0x00, 0x72, | ||
| 3903 | 0xb6, 0x09, 0xdd, 0x00, 0x72, 0xb9, 0x15, 0xf4, | ||
| 3904 | 0x00, 0x72, 0xbe, 0x21, 0x62, 0x00, 0x72, 0xc0, | ||
| 3905 | 0x34, 0x2b, 0x00, 0x72, 0xc1, 0x46, 0x8a, 0x00, | ||
| 3906 | 0x72, 0xc2, 0x06, 0xb0, 0x00, 0x72, 0xc3, 0x15, | ||
| 3907 | 0xf6, 0x00, 0x72, 0xc4, 0x15, 0xf8, 0x00, 0x72, | ||
| 3908 | 0xc6, 0x15, 0xf7, 0x00, 0x72, 0xc7, 0x39, 0xbe, | ||
| 3909 | 0x00, 0x72, 0xc9, 0x4c, 0x4b, 0x00, 0x72, 0xcc, | ||
| 3910 | 0x46, 0x8c, 0x00, 0x72, 0xce, 0x15, 0xf9, 0x00, | ||
| 3911 | 0x72, 0xd0, 0x07, 0x85, 0x00, 0x72, 0xd2, 0x15, | ||
| 3912 | 0xfa, 0x00, 0x72, 0xd5, 0x55, 0xc8, 0x00, 0x72, | ||
| 3913 | 0xd6, 0x55, 0xc9, 0x00, 0x72, 0xd7, 0x06, 0xe1, | ||
| 3914 | 0x00, 0x72, 0xd8, 0x55, 0xca, 0x00, 0x72, 0xd9, | ||
| 3915 | 0x0a, 0xc2, 0x00, 0x72, 0xdb, 0x08, 0x0f, 0x00, | ||
| 3916 | 0x72, 0xdf, 0x55, 0xcb, 0x00, 0x72, 0xe0, 0x15, | ||
| 3917 | 0xfc, 0x00, 0x72, 0xe1, 0x15, 0xfd, 0x00, 0x72, | ||
| 3918 | 0xe2, 0x15, 0xfb, 0x00, 0x72, 0xe5, 0x4c, 0x4c, | ||
| 3919 | 0x00, 0x72, 0xe9, 0x09, 0x19, 0x00, 0x72, 0xec, | ||
| 3920 | 0x0c, 0xa0, 0x00, 0x72, 0xed, 0x06, 0xb1, 0x00, | ||
| 3921 | 0x72, 0xf3, 0x46, 0x8f, 0x00, 0x72, 0xf4, 0x4c, | ||
| 3922 | 0x4d, 0x00, 0x72, 0xf7, 0x15, 0xff, 0x00, 0x72, | ||
| 3923 | 0xf8, 0x0b, 0x6a, 0x00, 0x72, 0xf9, 0x15, 0xfe, | ||
| 3924 | 0x00, 0x72, 0xfa, 0x46, 0x90, 0x00, 0x72, 0xfb, | ||
| 3925 | 0x39, 0xbf, 0x00, 0x72, 0xfc, 0x0f, 0xdb, 0x00, | ||
| 3926 | 0x72, 0xfd, 0x0d, 0x18, 0x00, 0x72, 0xfe, 0x55, | ||
| 3927 | 0xcc, 0x00, 0x73, 0x02, 0x4c, 0x4e, 0x00, 0x73, | ||
| 3928 | 0x04, 0x39, 0xc0, 0x00, 0x73, 0x05, 0x39, 0xc1, | ||
| 3929 | 0x00, 0x73, 0x07, 0x46, 0x91, 0x00, 0x73, 0x0a, | ||
| 3930 | 0x16, 0x02, 0x00, 0x73, 0x0b, 0x4c, 0x4f, 0x00, | ||
| 3931 | 0x73, 0x0d, 0x55, 0xcd, 0x00, 0x73, 0x12, 0x46, | ||
| 3932 | 0x92, 0x00, 0x73, 0x13, 0x55, 0xce, 0x00, 0x73, | ||
| 3933 | 0x16, 0x16, 0x04, 0x00, 0x73, 0x17, 0x16, 0x01, | ||
| 3934 | 0x00, 0x73, 0x18, 0x46, 0x93, 0x00, 0x73, 0x19, | ||
| 3935 | 0x46, 0x94, 0x00, 0x73, 0x1b, 0x0e, 0xe0, 0x00, | ||
| 3936 | 0x73, 0x1c, 0x16, 0x03, 0x00, 0x73, 0x1d, 0x16, | ||
| 3937 | 0x05, 0x00, 0x73, 0x1e, 0x4c, 0x50, 0x00, 0x73, | ||
| 3938 | 0x1f, 0x0f, 0x8c, 0x00, 0x73, 0x22, 0x4c, 0x51, | ||
| 3939 | 0x00, 0x73, 0x24, 0x21, 0x63, 0x00, 0x73, 0x25, | ||
| 3940 | 0x16, 0x09, 0x00, 0x73, 0x27, 0x42, 0x4b, 0x00, | ||
| 3941 | 0x73, 0x28, 0x39, 0xc2, 0x00, 0x73, 0x29, 0x16, | ||
| 3942 | 0x08, 0x00, 0x73, 0x2a, 0x21, 0x64, 0x00, 0x73, | ||
| 3943 | 0x2b, 0x0c, 0xe3, 0x00, 0x73, 0x2c, 0x46, 0x97, | ||
| 3944 | 0x00, 0x73, 0x2e, 0x07, 0x59, 0x00, 0x73, 0x2f, | ||
| 3945 | 0x16, 0x07, 0x00, 0x73, 0x31, 0x39, 0xc3, 0x00, | ||
| 3946 | 0x73, 0x32, 0x55, 0xcf, 0x00, 0x73, 0x33, 0x46, | ||
| 3947 | 0x98, 0x00, 0x73, 0x34, 0x16, 0x06, 0x00, 0x73, | ||
| 3948 | 0x35, 0x55, 0xd0, 0x00, 0x73, 0x36, 0x0f, 0x1b, | ||
| 3949 | 0x00, 0x73, 0x37, 0x0f, 0x1c, 0x00, 0x73, 0x39, | ||
| 3950 | 0x46, 0x96, 0x00, 0x73, 0x3a, 0x4c, 0x52, 0x00, | ||
| 3951 | 0x73, 0x3b, 0x4c, 0x53, 0x00, 0x73, 0x3d, 0x46, | ||
| 3952 | 0x99, 0x00, 0x73, 0x3e, 0x16, 0x0a, 0x00, 0x73, | ||
| 3953 | 0x3f, 0x05, 0x10, 0x00, 0x73, 0x43, 0x39, 0xc4, | ||
| 3954 | 0x00, 0x73, 0x44, 0x08, 0x08, 0x00, 0x73, 0x45, | ||
| 3955 | 0x08, 0xb0, 0x00, 0x73, 0x4d, 0x4c, 0x54, 0x00, | ||
| 3956 | 0x73, 0x4e, 0x16, 0x0b, 0x00, 0x73, 0x4f, 0x16, | ||
| 3957 | 0x0c, 0x00, 0x73, 0x50, 0x42, 0x4c, 0x00, 0x73, | ||
| 3958 | 0x52, 0x46, 0x9a, 0x00, 0x73, 0x56, 0x55, 0xd1, | ||
| 3959 | 0x00, 0x73, 0x57, 0x16, 0x0e, 0x00, 0x73, 0x58, | ||
| 3960 | 0x4c, 0x55, 0x00, 0x73, 0x5d, 0x55, 0xd2, 0x00, | ||
| 3961 | 0x73, 0x5e, 0x55, 0xd3, 0x00, 0x73, 0x5f, 0x55, | ||
| 3962 | 0xd4, 0x00, 0x73, 0x60, 0x55, 0xd5, 0x00, 0x73, | ||
| 3963 | 0x63, 0x09, 0x4d, 0x00, 0x73, 0x66, 0x42, 0x4d, | ||
| 3964 | 0x00, 0x73, 0x67, 0x4c, 0x56, 0x00, 0x73, 0x68, | ||
| 3965 | 0x16, 0x10, 0x00, 0x73, 0x69, 0x55, 0xd6, 0x00, | ||
| 3966 | 0x73, 0x6a, 0x16, 0x0f, 0x00, 0x73, 0x6b, 0x46, | ||
| 3967 | 0x9c, 0x00, 0x73, 0x6c, 0x39, 0xc5, 0x00, 0x73, | ||
| 3968 | 0x6e, 0x46, 0x9e, 0x00, 0x73, 0x6f, 0x46, 0x9f, | ||
| 3969 | 0x00, 0x73, 0x70, 0x16, 0x11, 0x00, 0x73, 0x71, | ||
| 3970 | 0x46, 0xa0, 0x00, 0x73, 0x72, 0x05, 0xab, 0x00, | ||
| 3971 | 0x73, 0x75, 0x16, 0x13, 0x00, 0x73, 0x77, 0x21, | ||
| 3972 | 0x65, 0x00, 0x73, 0x78, 0x16, 0x12, 0x00, 0x73, | ||
| 3973 | 0x79, 0x55, 0xd7, 0x00, 0x73, 0x7a, 0x16, 0x15, | ||
| 3974 | 0x00, 0x73, 0x7b, 0x16, 0x14, 0x00, 0x73, 0x7c, | ||
| 3975 | 0x39, 0xc6, 0x00, 0x73, 0x80, 0x55, 0xd8, 0x00, | ||
| 3976 | 0x73, 0x81, 0x46, 0xa1, 0x00, 0x73, 0x83, 0x39, | ||
| 3977 | 0xc7, 0x00, 0x73, 0x84, 0x07, 0x70, 0x00, 0x73, | ||
| 3978 | 0x85, 0x39, 0xc8, 0x00, 0x73, 0x86, 0x39, 0xc9, | ||
| 3979 | 0x00, 0x73, 0x87, 0x0f, 0x70, 0x00, 0x73, 0x89, | ||
| 3980 | 0x06, 0xc4, 0x00, 0x73, 0x8a, 0x46, 0xa2, 0x00, | ||
| 3981 | 0x73, 0x8b, 0x05, 0x26, 0x00, 0x73, 0x8e, 0x55, | ||
| 3982 | 0xd9, 0x00, 0x73, 0x90, 0x55, 0xda, 0x00, 0x73, | ||
| 3983 | 0x93, 0x55, 0xdb, 0x00, 0x73, 0x94, 0x46, 0xa3, | ||
| 3984 | 0x00, 0x73, 0x95, 0x39, 0xca, 0x00, 0x73, 0x96, | ||
| 3985 | 0x06, 0xe2, 0x00, 0x73, 0x97, 0x55, 0xdc, 0x00, | ||
| 3986 | 0x73, 0x98, 0x46, 0xa4, 0x00, 0x73, 0x9c, 0x46, | ||
| 3987 | 0xa5, 0x00, 0x73, 0x9e, 0x39, 0xcb, 0x00, 0x73, | ||
| 3988 | 0x9f, 0x39, 0xcc, 0x00, 0x73, 0xa0, 0x39, 0xcd, | ||
| 3989 | 0x00, 0x73, 0xa2, 0x42, 0x4e, 0x00, 0x73, 0xa5, | ||
| 3990 | 0x46, 0xa6, 0x00, 0x73, 0xa6, 0x39, 0xce, 0x00, | ||
| 3991 | 0x73, 0xa8, 0x3c, 0x3f, 0x00, 0x73, 0xa9, 0x06, | ||
| 3992 | 0x1d, 0x00, 0x73, 0xaa, 0x55, 0xdd, 0x00, 0x73, | ||
| 3993 | 0xab, 0x39, 0xcf, 0x00, 0x73, 0xad, 0x55, 0xde, | ||
| 3994 | 0x00, 0x73, 0xb2, 0x0f, 0xb0, 0x00, 0x73, 0xb3, | ||
| 3995 | 0x16, 0x17, 0x00, 0x73, 0xb5, 0x39, 0xd0, 0x00, | ||
| 3996 | 0x73, 0xb7, 0x39, 0xd1, 0x00, 0x73, 0xb9, 0x46, | ||
| 3997 | 0xa7, 0x00, 0x73, 0xba, 0x35, 0xea, 0x00, 0x73, | ||
| 3998 | 0xbb, 0x16, 0x19, 0x00, 0x73, 0xbc, 0x39, 0xd2, | ||
| 3999 | 0x00, 0x73, 0xbd, 0x21, 0x66, 0x00, 0x73, 0xbf, | ||
| 4000 | 0x46, 0xa8, 0x00, 0x73, 0xc0, 0x16, 0x1a, 0x00, | ||
| 4001 | 0x73, 0xc2, 0x05, 0x51, 0x00, 0x73, 0xc5, 0x46, | ||
| 4002 | 0xa9, 0x00, 0x73, 0xc6, 0x55, 0xdf, 0x00, 0x73, | ||
| 4003 | 0xc8, 0x16, 0x16, 0x00, 0x73, 0xc9, 0x21, 0x67, | ||
| 4004 | 0x00, 0x73, 0xca, 0x08, 0x87, 0x00, 0x73, 0xcb, | ||
| 4005 | 0x46, 0xaa, 0x00, 0x73, 0xcc, 0x55, 0xe0, 0x00, | ||
| 4006 | 0x73, 0xcd, 0x0b, 0xdd, 0x00, 0x73, 0xce, 0x16, | ||
| 4007 | 0x18, 0x00, 0x73, 0xcf, 0x39, 0xd3, 0x00, 0x73, | ||
| 4008 | 0xd2, 0x21, 0x6a, 0x00, 0x73, 0xd3, 0x55, 0xe1, | ||
| 4009 | 0x00, 0x73, 0xd6, 0x21, 0x68, 0x00, 0x73, 0xd9, | ||
| 4010 | 0x39, 0xd4, 0x00, 0x73, 0xdd, 0x55, 0xe2, 0x00, | ||
| 4011 | 0x73, 0xde, 0x16, 0x1d, 0x00, 0x73, 0xe0, 0x09, | ||
| 4012 | 0x1a, 0x00, 0x73, 0xe1, 0x46, 0xab, 0x00, 0x73, | ||
| 4013 | 0xe3, 0x21, 0x69, 0x00, 0x73, 0xe4, 0x3c, 0x39, | ||
| 4014 | 0x00, 0x73, 0xe5, 0x16, 0x1b, 0x00, 0x73, 0xe6, | ||
| 4015 | 0x55, 0xe3, 0x00, 0x73, 0xe7, 0x46, 0xac, 0x00, | ||
| 4016 | 0x73, 0xe9, 0x39, 0xd5, 0x00, 0x73, 0xea, 0x07, | ||
| 4017 | 0x14, 0x00, 0x73, 0xed, 0x0d, 0x5d, 0x00, 0x73, | ||
| 4018 | 0xee, 0x16, 0x1c, 0x00, 0x73, 0xf1, 0x16, 0x37, | ||
| 4019 | 0x00, 0x73, 0xf4, 0x39, 0xd6, 0x00, 0x73, 0xf5, | ||
| 4020 | 0x21, 0x6c, 0x00, 0x73, 0xf7, 0x55, 0xe4, 0x00, | ||
| 4021 | 0x73, 0xf8, 0x16, 0x22, 0x00, 0x73, 0xf9, 0x46, | ||
| 4022 | 0xad, 0x00, 0x73, 0xfa, 0x46, 0xaf, 0x00, 0x73, | ||
| 4023 | 0xfb, 0x55, 0xe5, 0x00, 0x73, 0xfd, 0x39, 0xd7, | ||
| 4024 | 0x00, 0x73, 0xfe, 0x07, 0x71, 0x00, 0x73, 0xff, | ||
| 4025 | 0x55, 0xe6, 0x00, 0x74, 0x00, 0x55, 0xe7, 0x00, | ||
| 4026 | 0x74, 0x01, 0x46, 0xb0, 0x00, 0x74, 0x03, 0x06, | ||
| 4027 | 0x7f, 0x00, 0x74, 0x04, 0x39, 0xd8, 0x00, 0x74, | ||
| 4028 | 0x05, 0x16, 0x1f, 0x00, 0x74, 0x06, 0x0f, 0x67, | ||
| 4029 | 0x00, 0x74, 0x07, 0x21, 0x6b, 0x00, 0x74, 0x09, | ||
| 4030 | 0x0f, 0x78, 0x00, 0x74, 0x0a, 0x39, 0xd9, 0x00, | ||
| 4031 | 0x74, 0x11, 0x55, 0xe8, 0x00, 0x74, 0x13, 0x46, | ||
| 4032 | 0xae, 0x00, 0x74, 0x1a, 0x39, 0xda, 0x00, 0x74, | ||
| 4033 | 0x1b, 0x39, 0xdb, 0x00, 0x74, 0x21, 0x3c, 0x3a, | ||
| 4034 | 0x00, 0x74, 0x22, 0x1e, 0x34, 0x00, 0x74, 0x24, | ||
| 4035 | 0x39, 0xdc, 0x00, 0x74, 0x25, 0x16, 0x21, 0x00, | ||
| 4036 | 0x74, 0x26, 0x21, 0x6d, 0x00, 0x74, 0x28, 0x39, | ||
| 4037 | 0xdd, 0x00, 0x74, 0x29, 0x21, 0x6f, 0x00, 0x74, | ||
| 4038 | 0x2a, 0x21, 0x6e, 0x00, 0x74, 0x2b, 0x42, 0x4f, | ||
| 4039 | 0x00, 0x74, 0x2c, 0x39, 0xde, 0x00, 0x74, 0x2d, | ||
| 4040 | 0x55, 0xe9, 0x00, 0x74, 0x2e, 0x21, 0x70, 0x00, | ||
| 4041 | 0x74, 0x2f, 0x39, 0xdf, 0x00, 0x74, 0x30, 0x39, | ||
| 4042 | 0xe0, 0x00, 0x74, 0x31, 0x39, 0xe1, 0x00, 0x74, | ||
| 4043 | 0x32, 0x16, 0x23, 0x00, 0x74, 0x33, 0x0f, 0x9e, | ||
| 4044 | 0x00, 0x74, 0x34, 0x06, 0xcf, 0x00, 0x74, 0x35, | ||
| 4045 | 0x0d, 0x90, 0x00, 0x74, 0x36, 0x0d, 0x00, 0x00, | ||
| 4046 | 0x74, 0x39, 0x39, 0xe2, 0x00, 0x74, 0x3a, 0x16, | ||
| 4047 | 0x24, 0x00, 0x74, 0x3f, 0x16, 0x26, 0x00, 0x74, | ||
| 4048 | 0x40, 0x46, 0xb2, 0x00, 0x74, 0x41, 0x16, 0x29, | ||
| 4049 | 0x00, 0x74, 0x43, 0x46, 0xb3, 0x00, 0x74, 0x44, | ||
| 4050 | 0x39, 0xe3, 0x00, 0x74, 0x46, 0x42, 0x50, 0x00, | ||
| 4051 | 0x74, 0x47, 0x39, 0xe4, 0x00, 0x74, 0x4b, 0x39, | ||
| 4052 | 0xe5, 0x00, 0x74, 0x4d, 0x39, 0xe6, 0x00, 0x74, | ||
| 4053 | 0x51, 0x39, 0xe7, 0x00, 0x74, 0x52, 0x46, 0xb4, | ||
| 4054 | 0x00, 0x74, 0x53, 0x46, 0xb1, 0x00, 0x74, 0x55, | ||
| 4055 | 0x16, 0x25, 0x00, 0x74, 0x57, 0x39, 0xe8, 0x00, | ||
| 4056 | 0x74, 0x59, 0x16, 0x28, 0x00, 0x74, 0x5a, 0x07, | ||
| 4057 | 0x9e, 0x00, 0x74, 0x5b, 0x04, 0xef, 0x00, 0x74, | ||
| 4058 | 0x5c, 0x16, 0x2a, 0x00, 0x74, 0x5d, 0x46, 0xb5, | ||
| 4059 | 0x00, 0x74, 0x5e, 0x0a, 0x36, 0x00, 0x74, 0x5f, | ||
| 4060 | 0x16, 0x27, 0x00, 0x74, 0x60, 0x0f, 0xa4, 0x00, | ||
| 4061 | 0x74, 0x62, 0x42, 0x51, 0x00, 0x74, 0x63, 0x16, | ||
| 4062 | 0x2d, 0x00, 0x74, 0x64, 0x1d, 0x35, 0x00, 0x74, | ||
| 4063 | 0x66, 0x39, 0xe9, 0x00, 0x74, 0x67, 0x55, 0xea, | ||
| 4064 | 0x00, 0x74, 0x68, 0x55, 0xeb, 0x00, 0x74, 0x69, | ||
| 4065 | 0x16, 0x2b, 0x00, 0x74, 0x6a, 0x16, 0x2e, 0x00, | ||
| 4066 | 0x74, 0x6b, 0x39, 0xea, 0x00, 0x74, 0x6d, 0x42, | ||
| 4067 | 0x52, 0x00, 0x74, 0x6e, 0x55, 0xec, 0x00, 0x74, | ||
| 4068 | 0x6f, 0x16, 0x20, 0x00, 0x74, 0x70, 0x16, 0x2c, | ||
| 4069 | 0x00, 0x74, 0x71, 0x39, 0xeb, 0x00, 0x74, 0x72, | ||
| 4070 | 0x4c, 0x57, 0x00, 0x74, 0x73, 0x08, 0x2c, 0x00, | ||
| 4071 | 0x74, 0x76, 0x16, 0x2f, 0x00, 0x74, 0x7e, 0x16, | ||
| 4072 | 0x30, 0x00, 0x74, 0x80, 0x39, 0xec, 0x00, 0x74, | ||
| 4073 | 0x81, 0x46, 0xb6, 0x00, 0x74, 0x83, 0x0f, 0x68, | ||
| 4074 | 0x00, 0x74, 0x85, 0x39, 0xed, 0x00, 0x74, 0x86, | ||
| 4075 | 0x39, 0xee, 0x00, 0x74, 0x87, 0x39, 0xef, 0x00, | ||
| 4076 | 0x74, 0x88, 0x46, 0xb7, 0x00, 0x74, 0x89, 0x21, | ||
| 4077 | 0x72, 0x00, 0x74, 0x8b, 0x16, 0x31, 0x00, 0x74, | ||
| 4078 | 0x8f, 0x55, 0xed, 0x00, 0x74, 0x90, 0x39, 0xf0, | ||
| 4079 | 0x00, 0x74, 0x91, 0x55, 0xee, 0x00, 0x74, 0x92, | ||
| 4080 | 0x46, 0xb9, 0x00, 0x74, 0x97, 0x46, 0xba, 0x00, | ||
| 4081 | 0x74, 0x98, 0x39, 0xf1, 0x00, 0x74, 0x99, 0x46, | ||
| 4082 | 0xbb, 0x00, 0x74, 0x9a, 0x55, 0xef, 0x00, 0x74, | ||
| 4083 | 0x9c, 0x39, 0xf2, 0x00, 0x74, 0x9e, 0x16, 0x32, | ||
| 4084 | 0x00, 0x74, 0x9f, 0x21, 0x73, 0x00, 0x74, 0xa0, | ||
| 4085 | 0x39, 0xf3, 0x00, 0x74, 0xa1, 0x46, 0xbc, 0x00, | ||
| 4086 | 0x74, 0xa2, 0x16, 0x1e, 0x00, 0x74, 0xa3, 0x39, | ||
| 4087 | 0xf4, 0x00, 0x74, 0xa5, 0x46, 0xbd, 0x00, 0x74, | ||
| 4088 | 0xa6, 0x42, 0x53, 0x00, 0x74, 0xa7, 0x16, 0x33, | ||
| 4089 | 0x00, 0x74, 0xa8, 0x39, 0xf5, 0x00, 0x74, 0xa9, | ||
| 4090 | 0x42, 0x54, 0x00, 0x74, 0xaa, 0x46, 0xbe, 0x00, | ||
| 4091 | 0x74, 0xab, 0x39, 0xf6, 0x00, 0x74, 0xae, 0x55, | ||
| 4092 | 0xf0, 0x00, 0x74, 0xaf, 0x4c, 0x58, 0x00, 0x74, | ||
| 4093 | 0xb0, 0x06, 0x00, 0x00, 0x74, 0xb1, 0x55, 0xf1, | ||
| 4094 | 0x00, 0x74, 0xb2, 0x55, 0xf2, 0x00, 0x74, 0xb5, | ||
| 4095 | 0x39, 0xf7, 0x00, 0x74, 0xb9, 0x46, 0xbf, 0x00, | ||
| 4096 | 0x74, 0xba, 0x46, 0xc1, 0x00, 0x74, 0xbb, 0x46, | ||
| 4097 | 0xc0, 0x00, 0x74, 0xbd, 0x08, 0xd1, 0x00, 0x74, | ||
| 4098 | 0xbf, 0x39, 0xf8, 0x00, 0x74, 0xc8, 0x39, 0xf9, | ||
| 4099 | 0x00, 0x74, 0xc9, 0x42, 0x55, 0x00, 0x74, 0xca, | ||
| 4100 | 0x16, 0x34, 0x00, 0x74, 0xcc, 0x55, 0xf3, 0x00, | ||
| 4101 | 0x74, 0xcf, 0x16, 0x35, 0x00, 0x74, 0xd0, 0x55, | ||
| 4102 | 0xf4, 0x00, 0x74, 0xd3, 0x55, 0xf5, 0x00, 0x74, | ||
| 4103 | 0xd4, 0x16, 0x36, 0x00, 0x74, 0xd6, 0x46, 0xc2, | ||
| 4104 | 0x00, 0x74, 0xd8, 0x46, 0xc3, 0x00, 0x74, 0xda, | ||
| 4105 | 0x39, 0xfa, 0x00, 0x74, 0xdb, 0x55, 0xf7, 0x00, | ||
| 4106 | 0x74, 0xdc, 0x04, 0xdd, 0x00, 0x74, 0xde, 0x39, | ||
| 4107 | 0xfb, 0x00, 0x74, 0xdf, 0x4c, 0x59, 0x00, 0x74, | ||
| 4108 | 0xe0, 0x16, 0x38, 0x00, 0x74, 0xe2, 0x0d, 0xad, | ||
| 4109 | 0x00, 0x74, 0xe3, 0x16, 0x39, 0x00, 0x74, 0xe4, | ||
| 4110 | 0x4c, 0x5a, 0x00, 0x74, 0xe6, 0x05, 0xe0, 0x00, | ||
| 4111 | 0x74, 0xe7, 0x16, 0x3a, 0x00, 0x74, 0xe8, 0x55, | ||
| 4112 | 0xf8, 0x00, 0x74, 0xe9, 0x16, 0x3b, 0x00, 0x74, | ||
| 4113 | 0xea, 0x55, 0xf9, 0x00, 0x74, 0xeb, 0x46, 0xc4, | ||
| 4114 | 0x00, 0x74, 0xee, 0x16, 0x3c, 0x00, 0x74, 0xef, | ||
| 4115 | 0x37, 0x50, 0x00, 0x74, 0xf0, 0x16, 0x3e, 0x00, | ||
| 4116 | 0x74, 0xf1, 0x16, 0x3f, 0x00, 0x74, 0xf2, 0x16, | ||
| 4117 | 0x3d, 0x00, 0x74, 0xf4, 0x4c, 0x5b, 0x00, 0x74, | ||
| 4118 | 0xf6, 0x0d, 0xc5, 0x00, 0x74, 0xf7, 0x16, 0x41, | ||
| 4119 | 0x00, 0x74, 0xf8, 0x16, 0x40, 0x00, 0x74, 0xfa, | ||
| 4120 | 0x46, 0xc6, 0x00, 0x74, 0xfb, 0x4c, 0x5c, 0x00, | ||
| 4121 | 0x74, 0xfc, 0x55, 0xfb, 0x00, 0x74, 0xff, 0x42, | ||
| 4122 | 0x56, 0x00, 0x75, 0x01, 0x21, 0x74, 0x00, 0x75, | ||
| 4123 | 0x03, 0x16, 0x43, 0x00, 0x75, 0x04, 0x16, 0x42, | ||
| 4124 | 0x00, 0x75, 0x05, 0x16, 0x44, 0x00, 0x75, 0x06, | ||
| 4125 | 0x55, 0xfc, 0x00, 0x75, 0x0c, 0x16, 0x45, 0x00, | ||
| 4126 | 0x75, 0x0d, 0x16, 0x47, 0x00, 0x75, 0x0e, 0x16, | ||
| 4127 | 0x46, 0x00, 0x75, 0x11, 0x08, 0x0b, 0x00, 0x75, | ||
| 4128 | 0x12, 0x55, 0xfd, 0x00, 0x75, 0x13, 0x16, 0x49, | ||
| 4129 | 0x00, 0x75, 0x15, 0x16, 0x48, 0x00, 0x75, 0x16, | ||
| 4130 | 0x4c, 0x5d, 0x00, 0x75, 0x17, 0x42, 0x57, 0x00, | ||
| 4131 | 0x75, 0x18, 0x06, 0x01, 0x00, 0x75, 0x1a, 0x0a, | ||
| 4132 | 0x19, 0x00, 0x75, 0x1c, 0x0c, 0x36, 0x00, 0x75, | ||
| 4133 | 0x1e, 0x16, 0x4a, 0x00, 0x75, 0x1f, 0x0a, 0x5c, | ||
| 4134 | 0x00, 0x75, 0x20, 0x46, 0xc8, 0x00, 0x75, 0x21, | ||
| 4135 | 0x4c, 0x5e, 0x00, 0x75, 0x22, 0x35, 0xde, 0x00, | ||
| 4136 | 0x75, 0x23, 0x08, 0x88, 0x00, 0x75, 0x24, 0x46, | ||
| 4137 | 0xc9, 0x00, 0x75, 0x25, 0x05, 0x1b, 0x00, 0x75, | ||
| 4138 | 0x26, 0x16, 0x4b, 0x00, 0x75, 0x27, 0x55, 0xfe, | ||
| 4139 | 0x00, 0x75, 0x28, 0x0f, 0x3b, 0x00, 0x75, 0x29, | ||
| 4140 | 0x55, 0xff, 0x00, 0x75, 0x2a, 0x46, 0xca, 0x00, | ||
| 4141 | 0x75, 0x2b, 0x0e, 0x33, 0x00, 0x75, 0x2c, 0x16, | ||
| 4142 | 0x4c, 0x00, 0x75, 0x2f, 0x20, 0xf2, 0x00, 0x75, | ||
| 4143 | 0x30, 0x0c, 0x3e, 0x00, 0x75, 0x31, 0x0f, 0x1d, | ||
| 4144 | 0x00, 0x75, 0x32, 0x07, 0xd5, 0x00, 0x75, 0x33, | ||
| 4145 | 0x0a, 0x03, 0x00, 0x75, 0x36, 0x56, 0x00, 0x00, | ||
| 4146 | 0x75, 0x37, 0x0b, 0x89, 0x00, 0x75, 0x38, 0x10, | ||
| 4147 | 0xc9, 0x00, 0x75, 0x39, 0x56, 0x01, 0x00, 0x75, | ||
| 4148 | 0x3a, 0x0b, 0xca, 0x00, 0x75, 0x3b, 0x05, 0x68, | ||
| 4149 | 0x00, 0x75, 0x3c, 0x16, 0x4d, 0x00, 0x75, 0x3d, | ||
| 4150 | 0x46, 0xcd, 0x00, 0x75, 0x3e, 0x46, 0xce, 0x00, | ||
| 4151 | 0x75, 0x3f, 0x4c, 0x5f, 0x00, 0x75, 0x40, 0x46, | ||
| 4152 | 0xcf, 0x00, 0x75, 0x43, 0x56, 0x02, 0x00, 0x75, | ||
| 4153 | 0x44, 0x16, 0x4e, 0x00, 0x75, 0x46, 0x16, 0x53, | ||
| 4154 | 0x00, 0x75, 0x47, 0x56, 0x03, 0x00, 0x75, 0x48, | ||
| 4155 | 0x46, 0xd0, 0x00, 0x75, 0x49, 0x16, 0x51, 0x00, | ||
| 4156 | 0x75, 0x4a, 0x16, 0x50, 0x00, 0x75, 0x4b, 0x13, | ||
| 4157 | 0xc7, 0x00, 0x75, 0x4c, 0x05, 0x84, 0x00, 0x75, | ||
| 4158 | 0x4d, 0x16, 0x4f, 0x00, 0x75, 0x4e, 0x39, 0xfc, | ||
| 4159 | 0x00, 0x75, 0x4f, 0x04, 0x9e, 0x00, 0x75, 0x50, | ||
| 4160 | 0x46, 0xd1, 0x00, 0x75, 0x51, 0x0d, 0x3e, 0x00, | ||
| 4161 | 0x75, 0x52, 0x46, 0xd2, 0x00, 0x75, 0x54, 0x0d, | ||
| 4162 | 0x5e, 0x00, 0x75, 0x57, 0x56, 0x04, 0x00, 0x75, | ||
| 4163 | 0x59, 0x0f, 0x79, 0x00, 0x75, 0x5a, 0x16, 0x54, | ||
| 4164 | 0x00, 0x75, 0x5b, 0x16, 0x52, 0x00, 0x75, 0x5c, | ||
| 4165 | 0x0b, 0x9a, 0x00, 0x75, 0x5d, 0x0a, 0x4a, 0x00, | ||
| 4166 | 0x75, 0x5e, 0x4c, 0x60, 0x00, 0x75, 0x5f, 0x56, | ||
| 4167 | 0x05, 0x00, 0x75, 0x60, 0x0d, 0x3f, 0x00, 0x75, | ||
| 4168 | 0x61, 0x56, 0x06, 0x00, 0x75, 0x62, 0x0d, 0x9f, | ||
| 4169 | 0x00, 0x75, 0x64, 0x16, 0x56, 0x00, 0x75, 0x65, | ||
| 4170 | 0x0f, 0x74, 0x00, 0x75, 0x66, 0x07, 0x23, 0x00, | ||
| 4171 | 0x75, 0x67, 0x16, 0x57, 0x00, 0x75, 0x69, 0x16, | ||
| 4172 | 0x55, 0x00, 0x75, 0x6a, 0x0d, 0x6a, 0x00, 0x75, | ||
| 4173 | 0x6b, 0x16, 0x58, 0x00, 0x75, 0x6c, 0x3c, 0x3b, | ||
| 4174 | 0x00, 0x75, 0x6d, 0x16, 0x59, 0x00, 0x75, 0x6f, | ||
| 4175 | 0x21, 0x75, 0x00, 0x75, 0x70, 0x04, 0x9f, 0x00, | ||
| 4176 | 0x75, 0x71, 0x46, 0xd4, 0x00, 0x75, 0x72, 0x46, | ||
| 4177 | 0xd3, 0x00, 0x75, 0x73, 0x09, 0xde, 0x00, 0x75, | ||
| 4178 | 0x74, 0x16, 0x5e, 0x00, 0x75, 0x75, 0x37, 0x51, | ||
| 4179 | 0x00, 0x75, 0x76, 0x16, 0x5b, 0x00, 0x75, 0x77, | ||
| 4180 | 0x0c, 0xc5, 0x00, 0x75, 0x78, 0x16, 0x5a, 0x00, | ||
| 4181 | 0x75, 0x79, 0x39, 0xfd, 0x00, 0x75, 0x7a, 0x46, | ||
| 4182 | 0xd5, 0x00, 0x75, 0x7b, 0x56, 0x07, 0x00, 0x75, | ||
| 4183 | 0x7c, 0x56, 0x08, 0x00, 0x75, 0x7d, 0x46, 0xd6, | ||
| 4184 | 0x00, 0x75, 0x7e, 0x46, 0xd7, 0x00, 0x75, 0x7f, | ||
| 4185 | 0x06, 0x40, 0x00, 0x75, 0x81, 0x39, 0xfe, 0x00, | ||
| 4186 | 0x75, 0x82, 0x16, 0x61, 0x00, 0x75, 0x85, 0x56, | ||
| 4187 | 0x09, 0x00, 0x75, 0x86, 0x16, 0x5c, 0x00, 0x75, | ||
| 4188 | 0x87, 0x16, 0x5d, 0x00, 0x75, 0x89, 0x16, 0x60, | ||
| 4189 | 0x00, 0x75, 0x8a, 0x16, 0x5f, 0x00, 0x75, 0x8b, | ||
| 4190 | 0x0d, 0x97, 0x00, 0x75, 0x8c, 0x46, 0xd8, 0x00, | ||
| 4191 | 0x75, 0x8e, 0x0a, 0xc4, 0x00, 0x75, 0x8f, 0x0a, | ||
| 4192 | 0xc3, 0x00, 0x75, 0x90, 0x39, 0xff, 0x00, 0x75, | ||
| 4193 | 0x91, 0x06, 0x59, 0x00, 0x75, 0x92, 0x3a, 0x00, | ||
| 4194 | 0x00, 0x75, 0x93, 0x3a, 0x01, 0x00, 0x75, 0x94, | ||
| 4195 | 0x16, 0x62, 0x00, 0x75, 0x95, 0x56, 0x0a, 0x00, | ||
| 4196 | 0x75, 0x99, 0x4c, 0x61, 0x00, 0x75, 0x9a, 0x16, | ||
| 4197 | 0x63, 0x00, 0x75, 0x9c, 0x56, 0x0b, 0x00, 0x75, | ||
| 4198 | 0x9d, 0x16, 0x64, 0x00, 0x75, 0xa2, 0x46, 0xda, | ||
| 4199 | 0x00, 0x75, 0xa3, 0x16, 0x66, 0x00, 0x75, 0xa4, | ||
| 4200 | 0x4c, 0x62, 0x00, 0x75, 0xa5, 0x16, 0x65, 0x00, | ||
| 4201 | 0x75, 0xab, 0x04, 0xf8, 0x00, 0x75, 0xb0, 0x46, | ||
| 4202 | 0xdc, 0x00, 0x75, 0xb1, 0x16, 0x6e, 0x00, 0x75, | ||
| 4203 | 0xb2, 0x0d, 0x7c, 0x00, 0x75, 0xb3, 0x16, 0x68, | ||
| 4204 | 0x00, 0x75, 0xb4, 0x3a, 0x02, 0x00, 0x75, 0xb5, | ||
| 4205 | 0x16, 0x6a, 0x00, 0x75, 0xb7, 0x46, 0xdd, 0x00, | ||
| 4206 | 0x75, 0xb8, 0x16, 0x6c, 0x00, 0x75, 0xb9, 0x0a, | ||
| 4207 | 0x04, 0x00, 0x75, 0xba, 0x56, 0x0c, 0x00, 0x75, | ||
| 4208 | 0xbc, 0x16, 0x6d, 0x00, 0x75, 0xbd, 0x16, 0x6b, | ||
| 4209 | 0x00, 0x75, 0xbe, 0x08, 0xec, 0x00, 0x75, 0xbf, | ||
| 4210 | 0x46, 0xde, 0x00, 0x75, 0xc0, 0x46, 0xdf, 0x00, | ||
| 4211 | 0x75, 0xc1, 0x4c, 0x63, 0x00, 0x75, 0xc2, 0x16, | ||
| 4212 | 0x67, 0x00, 0x75, 0xc3, 0x16, 0x69, 0x00, 0x75, | ||
| 4213 | 0xc4, 0x4c, 0x64, 0x00, 0x75, 0xc5, 0x0d, 0xb4, | ||
| 4214 | 0x00, 0x75, 0xc6, 0x46, 0xe0, 0x00, 0x75, 0xc7, | ||
| 4215 | 0x09, 0xb1, 0x00, 0x75, 0xca, 0x16, 0x70, 0x00, | ||
| 4216 | 0x75, 0xcc, 0x4c, 0x65, 0x00, 0x75, 0xcd, 0x16, | ||
| 4217 | 0x6f, 0x00, 0x75, 0xce, 0x42, 0x59, 0x00, 0x75, | ||
| 4218 | 0xcf, 0x46, 0xe1, 0x00, 0x75, 0xd2, 0x16, 0x71, | ||
| 4219 | 0x00, 0x75, 0xd3, 0x46, 0xe2, 0x00, 0x75, 0xd4, | ||
| 4220 | 0x08, 0xd2, 0x00, 0x75, 0xd5, 0x08, 0x1f, 0x00, | ||
| 4221 | 0x75, 0xd7, 0x4c, 0x66, 0x00, 0x75, 0xd8, 0x0c, | ||
| 4222 | 0x71, 0x00, 0x75, 0xd9, 0x16, 0x72, 0x00, 0x75, | ||
| 4223 | 0xdb, 0x0b, 0xe7, 0x00, 0x75, 0xdc, 0x4c, 0x67, | ||
| 4224 | 0x00, 0x75, 0xdd, 0x46, 0xe3, 0x00, 0x75, 0xde, | ||
| 4225 | 0x16, 0x74, 0x00, 0x75, 0xdf, 0x46, 0xe4, 0x00, | ||
| 4226 | 0x75, 0xe0, 0x46, 0xe5, 0x00, 0x75, 0xe1, 0x4c, | ||
| 4227 | 0x68, 0x00, 0x75, 0xe2, 0x0f, 0x69, 0x00, 0x75, | ||
| 4228 | 0xe3, 0x16, 0x73, 0x00, 0x75, 0xe4, 0x3a, 0x03, | ||
| 4229 | 0x00, 0x75, 0xe7, 0x46, 0xe6, 0x00, 0x75, 0xe9, | ||
| 4230 | 0x0a, 0xeb, 0x00, 0x75, 0xec, 0x37, 0x52, 0x00, | ||
| 4231 | 0x75, 0xee, 0x46, 0xe7, 0x00, 0x75, 0xef, 0x4c, | ||
| 4232 | 0x69, 0x00, 0x75, 0xf0, 0x16, 0x79, 0x00, 0x75, | ||
| 4233 | 0xf1, 0x46, 0xe8, 0x00, 0x75, 0xf2, 0x16, 0x7b, | ||
| 4234 | 0x00, 0x75, 0xf3, 0x16, 0x7c, 0x00, 0x75, 0xf4, | ||
| 4235 | 0x0b, 0x92, 0x00, 0x75, 0xf9, 0x3a, 0x04, 0x00, | ||
| 4236 | 0x75, 0xfa, 0x16, 0x7a, 0x00, 0x75, 0xfc, 0x16, | ||
| 4237 | 0x77, 0x00, 0x75, 0xfe, 0x16, 0x75, 0x00, 0x75, | ||
| 4238 | 0xff, 0x16, 0x76, 0x00, 0x76, 0x00, 0x3a, 0x05, | ||
| 4239 | 0x00, 0x76, 0x01, 0x16, 0x78, 0x00, 0x76, 0x02, | ||
| 4240 | 0x42, 0x5a, 0x00, 0x76, 0x03, 0x46, 0xe9, 0x00, | ||
| 4241 | 0x76, 0x04, 0x4c, 0x6a, 0x00, 0x76, 0x07, 0x46, | ||
| 4242 | 0xeb, 0x00, 0x76, 0x08, 0x42, 0x5b, 0x00, 0x76, | ||
| 4243 | 0x09, 0x16, 0x7f, 0x00, 0x76, 0x0a, 0x3a, 0x06, | ||
| 4244 | 0x00, 0x76, 0x0b, 0x16, 0x7d, 0x00, 0x76, 0x0c, | ||
| 4245 | 0x4c, 0x6b, 0x00, 0x76, 0x0d, 0x16, 0x7e, 0x00, | ||
| 4246 | 0x76, 0x0f, 0x46, 0xec, 0x00, 0x76, 0x12, 0x56, | ||
| 4247 | 0x0d, 0x00, 0x76, 0x13, 0x46, 0xef, 0x00, 0x76, | ||
| 4248 | 0x15, 0x3a, 0x07, 0x00, 0x76, 0x16, 0x3a, 0x08, | ||
| 4249 | 0x00, 0x76, 0x18, 0x46, 0xea, 0x00, 0x76, 0x19, | ||
| 4250 | 0x3a, 0x09, 0x00, 0x76, 0x1b, 0x46, 0xf0, 0x00, | ||
| 4251 | 0x76, 0x1c, 0x46, 0xf1, 0x00, 0x76, 0x1d, 0x4c, | ||
| 4252 | 0x6c, 0x00, 0x76, 0x1e, 0x3a, 0x0a, 0x00, 0x76, | ||
| 4253 | 0x1f, 0x16, 0x80, 0x00, 0x76, 0x20, 0x16, 0x82, | ||
| 4254 | 0x00, 0x76, 0x21, 0x16, 0x83, 0x00, 0x76, 0x22, | ||
| 4255 | 0x16, 0x84, 0x00, 0x76, 0x23, 0x56, 0x0e, 0x00, | ||
| 4256 | 0x76, 0x24, 0x16, 0x85, 0x00, 0x76, 0x25, 0x46, | ||
| 4257 | 0xf3, 0x00, 0x76, 0x26, 0x36, 0x45, 0x00, 0x76, | ||
| 4258 | 0x27, 0x16, 0x81, 0x00, 0x76, 0x28, 0x46, 0xf4, | ||
| 4259 | 0x00, 0x76, 0x29, 0x56, 0x0f, 0x00, 0x76, 0x2d, | ||
| 4260 | 0x3a, 0x0b, 0x00, 0x76, 0x30, 0x16, 0x87, 0x00, | ||
| 4261 | 0x76, 0x32, 0x4c, 0x6d, 0x00, 0x76, 0x33, 0x46, | ||
| 4262 | 0xf6, 0x00, 0x76, 0x34, 0x16, 0x86, 0x00, 0x76, | ||
| 4263 | 0x35, 0x3a, 0x0c, 0x00, 0x76, 0x38, 0x4c, 0x6e, | ||
| 4264 | 0x00, 0x76, 0x39, 0x56, 0x10, 0x00, 0x76, 0x3a, | ||
| 4265 | 0x56, 0x11, 0x00, 0x76, 0x3b, 0x16, 0x88, 0x00, | ||
| 4266 | 0x76, 0x3c, 0x46, 0xf5, 0x00, 0x76, 0x40, 0x56, | ||
| 4267 | 0x12, 0x00, 0x76, 0x41, 0x46, 0xf9, 0x00, 0x76, | ||
| 4268 | 0x42, 0x0f, 0x8d, 0x00, 0x76, 0x43, 0x3a, 0x0d, | ||
| 4269 | 0x00, 0x76, 0x44, 0x56, 0x13, 0x00, 0x76, 0x45, | ||
| 4270 | 0x4c, 0x6f, 0x00, 0x76, 0x46, 0x16, 0x8b, 0x00, | ||
| 4271 | 0x76, 0x47, 0x16, 0x89, 0x00, 0x76, 0x48, 0x16, | ||
| 4272 | 0x8a, 0x00, 0x76, 0x49, 0x46, 0xfb, 0x00, 0x76, | ||
| 4273 | 0x4a, 0x4c, 0x70, 0x00, 0x76, 0x4b, 0x3a, 0x0e, | ||
| 4274 | 0x00, 0x76, 0x4c, 0x06, 0x1e, 0x00, 0x76, 0x4e, | ||
| 4275 | 0x37, 0x53, 0x00, 0x76, 0x52, 0x0f, 0x0a, 0x00, | ||
| 4276 | 0x76, 0x55, 0x46, 0xfc, 0x00, 0x76, 0x56, 0x0e, | ||
| 4277 | 0x1a, 0x00, 0x76, 0x58, 0x16, 0x8d, 0x00, 0x76, | ||
| 4278 | 0x59, 0x56, 0x14, 0x00, 0x76, 0x5c, 0x16, 0x8c, | ||
| 4279 | 0x00, 0x76, 0x5f, 0x4c, 0x71, 0x00, 0x76, 0x61, | ||
| 4280 | 0x16, 0x8e, 0x00, 0x76, 0x62, 0x16, 0x8f, 0x00, | ||
| 4281 | 0x76, 0x64, 0x42, 0x5c, 0x00, 0x76, 0x65, 0x3a, | ||
| 4282 | 0x0f, 0x00, 0x76, 0x67, 0x16, 0x93, 0x00, 0x76, | ||
| 4283 | 0x68, 0x16, 0x90, 0x00, 0x76, 0x69, 0x16, 0x91, | ||
| 4284 | 0x00, 0x76, 0x6a, 0x16, 0x92, 0x00, 0x76, 0x6c, | ||
| 4285 | 0x16, 0x94, 0x00, 0x76, 0x6d, 0x3a, 0x10, 0x00, | ||
| 4286 | 0x76, 0x6e, 0x46, 0xfe, 0x00, 0x76, 0x6f, 0x3a, | ||
| 4287 | 0x11, 0x00, 0x76, 0x70, 0x16, 0x95, 0x00, 0x76, | ||
| 4288 | 0x71, 0x3a, 0x12, 0x00, 0x76, 0x72, 0x16, 0x96, | ||
| 4289 | 0x00, 0x76, 0x74, 0x3a, 0x13, 0x00, 0x76, 0x76, | ||
| 4290 | 0x16, 0x97, 0x00, 0x76, 0x78, 0x16, 0x98, 0x00, | ||
| 4291 | 0x76, 0x7a, 0x0d, 0x43, 0x00, 0x76, 0x7b, 0x0c, | ||
| 4292 | 0x4a, 0x00, 0x76, 0x7c, 0x16, 0x99, 0x00, 0x76, | ||
| 4293 | 0x7d, 0x0d, 0x28, 0x00, 0x76, 0x7e, 0x0d, 0xa6, | ||
| 4294 | 0x00, 0x76, 0x80, 0x16, 0x9a, 0x00, 0x76, 0x81, | ||
| 4295 | 0x42, 0x5d, 0x00, 0x76, 0x82, 0x21, 0x76, 0x00, | ||
| 4296 | 0x76, 0x83, 0x16, 0x9b, 0x00, 0x76, 0x84, 0x0c, | ||
| 4297 | 0x24, 0x00, 0x76, 0x85, 0x56, 0x15, 0x00, 0x76, | ||
| 4298 | 0x86, 0x05, 0x85, 0x00, 0x76, 0x87, 0x07, 0xd6, | ||
| 4299 | 0x00, 0x76, 0x88, 0x16, 0x9c, 0x00, 0x76, 0x8b, | ||
| 4300 | 0x16, 0x9d, 0x00, 0x76, 0x8c, 0x56, 0x16, 0x00, | ||
| 4301 | 0x76, 0x8d, 0x56, 0x17, 0x00, 0x76, 0x8e, 0x16, | ||
| 4302 | 0x9e, 0x00, 0x76, 0x90, 0x08, 0x77, 0x00, 0x76, | ||
| 4303 | 0x93, 0x16, 0xa0, 0x00, 0x76, 0x95, 0x46, 0xff, | ||
| 4304 | 0x00, 0x76, 0x96, 0x16, 0x9f, 0x00, 0x76, 0x99, | ||
| 4305 | 0x16, 0xa1, 0x00, 0x76, 0x9a, 0x16, 0xa2, 0x00, | ||
| 4306 | 0x76, 0x9b, 0x21, 0x79, 0x00, 0x76, 0x9c, 0x21, | ||
| 4307 | 0x77, 0x00, 0x76, 0x9d, 0x42, 0x5e, 0x00, 0x76, | ||
| 4308 | 0x9e, 0x21, 0x78, 0x00, 0x76, 0x9f, 0x56, 0x18, | ||
| 4309 | 0x00, 0x76, 0xa0, 0x47, 0x01, 0x00, 0x76, 0xa1, | ||
| 4310 | 0x47, 0x00, 0x00, 0x76, 0xa2, 0x56, 0x19, 0x00, | ||
| 4311 | 0x76, 0xa3, 0x56, 0x1a, 0x00, 0x76, 0xa4, 0x3a, | ||
| 4312 | 0x14, 0x00, 0x76, 0xa5, 0x3a, 0x15, 0x00, 0x76, | ||
| 4313 | 0xa6, 0x21, 0x7a, 0x00, 0x76, 0xa7, 0x47, 0x02, | ||
| 4314 | 0x00, 0x76, 0xa8, 0x47, 0x03, 0x00, 0x76, 0xaa, | ||
| 4315 | 0x42, 0x5f, 0x00, 0x76, 0xad, 0x4c, 0x72, 0x00, | ||
| 4316 | 0x76, 0xae, 0x0d, 0x7d, 0x00, 0x76, 0xaf, 0x47, | ||
| 4317 | 0x04, 0x00, 0x76, 0xb0, 0x16, 0xa3, 0x00, 0x76, | ||
| 4318 | 0xb4, 0x16, 0xa4, 0x00, 0x76, 0xb6, 0x42, 0x60, | ||
| 4319 | 0x00, 0x76, 0xb7, 0x1d, 0x1c, 0x00, 0x76, 0xb8, | ||
| 4320 | 0x16, 0xa5, 0x00, 0x76, 0xb9, 0x16, 0xa6, 0x00, | ||
| 4321 | 0x76, 0xba, 0x16, 0xa7, 0x00, 0x76, 0xbd, 0x4c, | ||
| 4322 | 0x73, 0x00, 0x76, 0xbf, 0x08, 0x7c, 0x00, 0x76, | ||
| 4323 | 0xc1, 0x56, 0x1b, 0x00, 0x76, 0xc2, 0x16, 0xa8, | ||
| 4324 | 0x00, 0x76, 0xc3, 0x0d, 0x0c, 0x00, 0x76, 0xc5, | ||
| 4325 | 0x3a, 0x16, 0x00, 0x76, 0xc6, 0x0e, 0x8d, 0x00, | ||
| 4326 | 0x76, 0xc8, 0x04, 0xf0, 0x00, 0x76, 0xc9, 0x47, | ||
| 4327 | 0x06, 0x00, 0x76, 0xca, 0x04, 0xf9, 0x00, 0x76, | ||
| 4328 | 0xcb, 0x56, 0x1c, 0x00, 0x76, 0xcc, 0x3a, 0x17, | ||
| 4329 | 0x00, 0x76, 0xcd, 0x16, 0xa9, 0x00, 0x76, 0xce, | ||
| 4330 | 0x42, 0x61, 0x00, 0x76, 0xd2, 0x16, 0xab, 0x00, | ||
| 4331 | 0x76, 0xd4, 0x42, 0x62, 0x00, 0x76, 0xd6, 0x16, | ||
| 4332 | 0xaa, 0x00, 0x76, 0xd7, 0x0c, 0x6a, 0x00, 0x76, | ||
| 4333 | 0xd9, 0x4c, 0x74, 0x00, 0x76, 0xdb, 0x0a, 0x5d, | ||
| 4334 | 0x00, 0x76, 0xdc, 0x14, 0xd8, 0x00, 0x76, 0xde, | ||
| 4335 | 0x16, 0xac, 0x00, 0x76, 0xdf, 0x0e, 0xcd, 0x00, | ||
| 4336 | 0x76, 0xe0, 0x56, 0x1e, 0x00, 0x76, 0xe1, 0x16, | ||
| 4337 | 0xad, 0x00, 0x76, 0xe3, 0x06, 0x02, 0x00, 0x76, | ||
| 4338 | 0xe4, 0x0d, 0x6b, 0x00, 0x76, 0xe5, 0x16, 0xae, | ||
| 4339 | 0x00, 0x76, 0xe6, 0x42, 0x63, 0x00, 0x76, 0xe7, | ||
| 4340 | 0x16, 0xaf, 0x00, 0x76, 0xe8, 0x47, 0x08, 0x00, | ||
| 4341 | 0x76, 0xea, 0x16, 0xb0, 0x00, 0x76, 0xeb, 0x4c, | ||
| 4342 | 0x75, 0x00, 0x76, 0xec, 0x3a, 0x18, 0x00, 0x76, | ||
| 4343 | 0xee, 0x0e, 0xe8, 0x00, 0x76, 0xf0, 0x4c, 0x76, | ||
| 4344 | 0x00, 0x76, 0xf1, 0x42, 0x64, 0x00, 0x76, 0xf2, | ||
| 4345 | 0x0e, 0xe1, 0x00, 0x76, 0xf4, 0x0b, 0xda, 0x00, | ||
| 4346 | 0x76, 0xf6, 0x56, 0x1f, 0x00, 0x76, 0xf8, 0x0a, | ||
| 4347 | 0xec, 0x00, 0x76, 0xf9, 0x4c, 0x77, 0x00, 0x76, | ||
| 4348 | 0xfb, 0x16, 0xb2, 0x00, 0x76, 0xfc, 0x3a, 0x19, | ||
| 4349 | 0x00, 0x76, 0xfe, 0x09, 0x6c, 0x00, 0x77, 0x00, | ||
| 4350 | 0x4c, 0x78, 0x00, 0x77, 0x01, 0x09, 0xb2, 0x00, | ||
| 4351 | 0x77, 0x04, 0x16, 0xb5, 0x00, 0x77, 0x06, 0x56, | ||
| 4352 | 0x20, 0x00, 0x77, 0x07, 0x16, 0xb4, 0x00, 0x77, | ||
| 4353 | 0x08, 0x16, 0xb3, 0x00, 0x77, 0x09, 0x0d, 0x91, | ||
| 4354 | 0x00, 0x77, 0x0a, 0x42, 0x65, 0x00, 0x77, 0x0b, | ||
| 4355 | 0x06, 0x03, 0x00, 0x77, 0x0c, 0x07, 0x5d, 0x00, | ||
| 4356 | 0x77, 0x0e, 0x4c, 0x79, 0x00, 0x77, 0x12, 0x56, | ||
| 4357 | 0x21, 0x00, 0x77, 0x14, 0x56, 0x22, 0x00, 0x77, | ||
| 4358 | 0x15, 0x56, 0x23, 0x00, 0x77, 0x17, 0x47, 0x0a, | ||
| 4359 | 0x00, 0x77, 0x19, 0x42, 0x66, 0x00, 0x77, 0x1a, | ||
| 4360 | 0x47, 0x0b, 0x00, 0x77, 0x1b, 0x16, 0xbb, 0x00, | ||
| 4361 | 0x77, 0x1c, 0x56, 0x24, 0x00, 0x77, 0x1e, 0x34, | ||
| 4362 | 0x2d, 0x00, 0x77, 0x1f, 0x0a, 0x05, 0x00, 0x77, | ||
| 4363 | 0x20, 0x0e, 0xbe, 0x00, 0x77, 0x22, 0x4c, 0x7a, | ||
| 4364 | 0x00, 0x77, 0x24, 0x16, 0xb7, 0x00, 0x77, 0x25, | ||
| 4365 | 0x16, 0xb9, 0x00, 0x77, 0x26, 0x16, 0xba, 0x00, | ||
| 4366 | 0x77, 0x28, 0x4c, 0x7b, 0x00, 0x77, 0x29, 0x16, | ||
| 4367 | 0xb6, 0x00, 0x77, 0x2d, 0x47, 0x0c, 0x00, 0x77, | ||
| 4368 | 0x2e, 0x56, 0x25, 0x00, 0x77, 0x2f, 0x4c, 0x7c, | ||
| 4369 | 0x00, 0x77, 0x34, 0x3a, 0x1a, 0x00, 0x77, 0x35, | ||
| 4370 | 0x47, 0x0d, 0x00, 0x77, 0x36, 0x3a, 0x1b, 0x00, | ||
| 4371 | 0x77, 0x37, 0x16, 0xbc, 0x00, 0x77, 0x38, 0x16, | ||
| 4372 | 0xbd, 0x00, 0x77, 0x39, 0x4c, 0x7d, 0x00, 0x77, | ||
| 4373 | 0x3a, 0x0b, 0xcb, 0x00, 0x77, 0x3c, 0x06, 0x1f, | ||
| 4374 | 0x00, 0x77, 0x3d, 0x56, 0x26, 0x00, 0x77, 0x3e, | ||
| 4375 | 0x4c, 0x7e, 0x00, 0x77, 0x40, 0x0b, 0xa3, 0x00, | ||
| 4376 | 0x77, 0x42, 0x56, 0x27, 0x00, 0x77, 0x45, 0x4c, | ||
| 4377 | 0x7f, 0x00, 0x77, 0x46, 0x21, 0x7c, 0x00, 0x77, | ||
| 4378 | 0x47, 0x16, 0xbe, 0x00, 0x77, 0x4a, 0x4c, 0x80, | ||
| 4379 | 0x00, 0x77, 0x4d, 0x42, 0x67, 0x00, 0x77, 0x4e, | ||
| 4380 | 0x42, 0x68, 0x00, 0x77, 0x4f, 0x4c, 0x81, 0x00, | ||
| 4381 | 0x77, 0x52, 0x56, 0x28, 0x00, 0x77, 0x56, 0x56, | ||
| 4382 | 0x29, 0x00, 0x77, 0x57, 0x56, 0x2a, 0x00, 0x77, | ||
| 4383 | 0x58, 0x47, 0x12, 0x00, 0x77, 0x5a, 0x16, 0xbf, | ||
| 4384 | 0x00, 0x77, 0x5b, 0x16, 0xc2, 0x00, 0x77, 0x5c, | ||
| 4385 | 0x3a, 0x1c, 0x00, 0x77, 0x5e, 0x4c, 0x82, 0x00, | ||
| 4386 | 0x77, 0x5f, 0x3a, 0x1d, 0x00, 0x77, 0x60, 0x3a, | ||
| 4387 | 0x1e, 0x00, 0x77, 0x61, 0x0a, 0x2d, 0x00, 0x77, | ||
| 4388 | 0x62, 0x1e, 0xc5, 0x00, 0x77, 0x63, 0x0c, 0x9c, | ||
| 4389 | 0x00, 0x77, 0x64, 0x4c, 0x83, 0x00, 0x77, 0x65, | ||
| 4390 | 0x16, 0xc3, 0x00, 0x77, 0x66, 0x0e, 0x81, 0x00, | ||
| 4391 | 0x77, 0x67, 0x4c, 0x84, 0x00, 0x77, 0x68, 0x16, | ||
| 4392 | 0xc0, 0x00, 0x77, 0x6a, 0x37, 0x55, 0x00, 0x77, | ||
| 4393 | 0x6b, 0x16, 0xc1, 0x00, 0x77, 0x6c, 0x4c, 0x85, | ||
| 4394 | 0x00, 0x77, 0x70, 0x56, 0x2b, 0x00, 0x77, 0x72, | ||
| 4395 | 0x3a, 0x1f, 0x00, 0x77, 0x73, 0x56, 0x2c, 0x00, | ||
| 4396 | 0x77, 0x74, 0x56, 0x2d, 0x00, 0x77, 0x79, 0x16, | ||
| 4397 | 0xc6, 0x00, 0x77, 0x7a, 0x42, 0x69, 0x00, 0x77, | ||
| 4398 | 0x7c, 0x47, 0x14, 0x00, 0x77, 0x7d, 0x3a, 0x20, | ||
| 4399 | 0x00, 0x77, 0x7e, 0x16, 0xc5, 0x00, 0x77, 0x7f, | ||
| 4400 | 0x16, 0xc4, 0x00, 0x77, 0x80, 0x42, 0x6a, 0x00, | ||
| 4401 | 0x77, 0x84, 0x4c, 0x86, 0x00, 0x77, 0x8b, 0x16, | ||
| 4402 | 0xc8, 0x00, 0x77, 0x8c, 0x4c, 0x87, 0x00, 0x77, | ||
| 4403 | 0x8d, 0x4c, 0x88, 0x00, 0x77, 0x8e, 0x16, 0xc7, | ||
| 4404 | 0x00, 0x77, 0x91, 0x16, 0xc9, 0x00, 0x77, 0x94, | ||
| 4405 | 0x42, 0x6b, 0x00, 0x77, 0x95, 0x3a, 0x21, 0x00, | ||
| 4406 | 0x77, 0x96, 0x4c, 0x89, 0x00, 0x77, 0x9a, 0x47, | ||
| 4407 | 0x17, 0x00, 0x77, 0x9e, 0x16, 0xcb, 0x00, 0x77, | ||
| 4408 | 0x9f, 0x47, 0x18, 0x00, 0x77, 0xa0, 0x16, 0xca, | ||
| 4409 | 0x00, 0x77, 0xa2, 0x47, 0x19, 0x00, 0x77, 0xa4, | ||
| 4410 | 0x47, 0x1a, 0x00, 0x77, 0xa5, 0x0e, 0x1d, 0x00, | ||
| 4411 | 0x77, 0xa7, 0x4c, 0x8a, 0x00, 0x77, 0xa9, 0x37, | ||
| 4412 | 0x56, 0x00, 0x77, 0xaa, 0x3a, 0x22, 0x00, 0x77, | ||
| 4413 | 0xac, 0x09, 0x60, 0x00, 0x77, 0xad, 0x0f, 0x8e, | ||
| 4414 | 0x00, 0x77, 0xae, 0x56, 0x30, 0x00, 0x77, 0xaf, | ||
| 4415 | 0x4c, 0x8b, 0x00, 0x77, 0xb0, 0x16, 0xcc, 0x00, | ||
| 4416 | 0x77, 0xb1, 0x56, 0x31, 0x00, 0x77, 0xb3, 0x0c, | ||
| 4417 | 0x8f, 0x00, 0x77, 0xb5, 0x56, 0x32, 0x00, 0x77, | ||
| 4418 | 0xb6, 0x16, 0xcd, 0x00, 0x77, 0xb7, 0x4c, 0x8c, | ||
| 4419 | 0x00, 0x77, 0xb9, 0x16, 0xce, 0x00, 0x77, 0xbb, | ||
| 4420 | 0x16, 0xd2, 0x00, 0x77, 0xbc, 0x16, 0xd0, 0x00, | ||
| 4421 | 0x77, 0xbd, 0x16, 0xd1, 0x00, 0x77, 0xbe, 0x4c, | ||
| 4422 | 0x8d, 0x00, 0x77, 0xbf, 0x16, 0xcf, 0x00, 0x77, | ||
| 4423 | 0xc3, 0x56, 0x33, 0x00, 0x77, 0xc7, 0x16, 0xd3, | ||
| 4424 | 0x00, 0x77, 0xc9, 0x4c, 0x8e, 0x00, 0x77, 0xcd, | ||
| 4425 | 0x16, 0xd4, 0x00, 0x77, 0xd1, 0x4c, 0x8f, 0x00, | ||
| 4426 | 0x77, 0xd2, 0x56, 0x34, 0x00, 0x77, 0xd5, 0x56, | ||
| 4427 | 0x35, 0x00, 0x77, 0xd7, 0x16, 0xd5, 0x00, 0x77, | ||
| 4428 | 0xd9, 0x4c, 0x90, 0x00, 0x77, 0xda, 0x16, 0xd6, | ||
| 4429 | 0x00, 0x77, 0xdb, 0x0e, 0xc3, 0x00, 0x77, 0xdc, | ||
| 4430 | 0x16, 0xd7, 0x00, 0x77, 0xde, 0x47, 0x1b, 0x00, | ||
| 4431 | 0x77, 0xdf, 0x47, 0x1c, 0x00, 0x77, 0xe0, 0x42, | ||
| 4432 | 0x6c, 0x00, 0x77, 0xe2, 0x0e, 0xfc, 0x00, 0x77, | ||
| 4433 | 0xe3, 0x16, 0xd8, 0x00, 0x77, 0xe4, 0x47, 0x1d, | ||
| 4434 | 0x00, 0x77, 0xe5, 0x0b, 0x8c, 0x00, 0x77, 0xe6, | ||
| 4435 | 0x3a, 0x23, 0x00, 0x77, 0xe7, 0x0d, 0x20, 0x00, | ||
| 4436 | 0x77, 0xe9, 0x06, 0xe3, 0x00, 0x77, 0xea, 0x47, | ||
| 4437 | 0x1e, 0x00, 0x77, 0xec, 0x47, 0x1f, 0x00, 0x77, | ||
| 4438 | 0xed, 0x0b, 0x79, 0x00, 0x77, 0xee, 0x16, 0xd9, | ||
| 4439 | 0x00, 0x77, 0xef, 0x06, 0xb2, 0x00, 0x77, 0xf0, | ||
| 4440 | 0x3a, 0x24, 0x00, 0x77, 0xf1, 0x4c, 0x91, 0x00, | ||
| 4441 | 0x77, 0xf3, 0x0a, 0x74, 0x00, 0x77, 0xf4, 0x3a, | ||
| 4442 | 0x25, 0x00, 0x77, 0xf8, 0x56, 0x36, 0x00, 0x77, | ||
| 4443 | 0xfb, 0x47, 0x20, 0x00, 0x77, 0xfc, 0x16, 0xda, | ||
| 4444 | 0x00, 0x78, 0x02, 0x08, 0x2d, 0x00, 0x78, 0x05, | ||
| 4445 | 0x47, 0x22, 0x00, 0x78, 0x06, 0x3a, 0x26, 0x00, | ||
| 4446 | 0x78, 0x09, 0x47, 0x23, 0x00, 0x78, 0x0c, 0x16, | ||
| 4447 | 0xdb, 0x00, 0x78, 0x0d, 0x47, 0x24, 0x00, 0x78, | ||
| 4448 | 0x0e, 0x56, 0x37, 0x00, 0x78, 0x11, 0x56, 0x38, | ||
| 4449 | 0x00, 0x78, 0x12, 0x16, 0xdc, 0x00, 0x78, 0x14, | ||
| 4450 | 0x07, 0x5a, 0x00, 0x78, 0x15, 0x08, 0x45, 0x00, | ||
| 4451 | 0x78, 0x19, 0x47, 0x25, 0x00, 0x78, 0x1d, 0x56, | ||
| 4452 | 0x39, 0x00, 0x78, 0x20, 0x16, 0xde, 0x00, 0x78, | ||
| 4453 | 0x21, 0x21, 0x7e, 0x00, 0x78, 0x22, 0x3a, 0x27, | ||
| 4454 | 0x00, 0x78, 0x23, 0x56, 0x3a, 0x00, 0x78, 0x25, | ||
| 4455 | 0x0c, 0x50, 0x00, 0x78, 0x26, 0x08, 0x46, 0x00, | ||
| 4456 | 0x78, 0x27, 0x06, 0x68, 0x00, 0x78, 0x2c, 0x47, | ||
| 4457 | 0x26, 0x00, 0x78, 0x2d, 0x3a, 0x28, 0x00, 0x78, | ||
| 4458 | 0x2e, 0x3a, 0x29, 0x00, 0x78, 0x30, 0x3a, 0x2a, | ||
| 4459 | 0x00, 0x78, 0x32, 0x0e, 0x52, 0x00, 0x78, 0x34, | ||
| 4460 | 0x0d, 0x01, 0x00, 0x78, 0x35, 0x3a, 0x2b, 0x00, | ||
| 4461 | 0x78, 0x37, 0x4c, 0x92, 0x00, 0x78, 0x3a, 0x0c, | ||
| 4462 | 0x51, 0x00, 0x78, 0x3f, 0x07, 0xee, 0x00, 0x78, | ||
| 4463 | 0x43, 0x42, 0x6e, 0x00, 0x78, 0x44, 0x56, 0x3b, | ||
| 4464 | 0x00, 0x78, 0x45, 0x16, 0xe0, 0x00, 0x78, 0x47, | ||
| 4465 | 0x47, 0x27, 0x00, 0x78, 0x48, 0x56, 0x3c, 0x00, | ||
| 4466 | 0x78, 0x4c, 0x56, 0x3d, 0x00, 0x78, 0x4e, 0x21, | ||
| 4467 | 0x7f, 0x00, 0x78, 0x4f, 0x34, 0x1e, 0x00, 0x78, | ||
| 4468 | 0x51, 0x3c, 0x3c, 0x00, 0x78, 0x52, 0x56, 0x3e, | ||
| 4469 | 0x00, 0x78, 0x5c, 0x4c, 0x93, 0x00, 0x78, 0x5d, | ||
| 4470 | 0x09, 0xb3, 0x00, 0x78, 0x5e, 0x56, 0x3f, 0x00, | ||
| 4471 | 0x78, 0x60, 0x56, 0x40, 0x00, 0x78, 0x61, 0x56, | ||
| 4472 | 0x41, 0x00, 0x78, 0x63, 0x56, 0x42, 0x00, 0x78, | ||
| 4473 | 0x64, 0x21, 0x80, 0x00, 0x78, 0x68, 0x3a, 0x2c, | ||
| 4474 | 0x00, 0x78, 0x6a, 0x47, 0x28, 0x00, 0x78, 0x6b, | ||
| 4475 | 0x0f, 0x7a, 0x00, 0x78, 0x6c, 0x07, 0xd7, 0x00, | ||
| 4476 | 0x78, 0x6e, 0x42, 0x6f, 0x00, 0x78, 0x6f, 0x07, | ||
| 4477 | 0x5b, 0x00, 0x78, 0x72, 0x0d, 0x37, 0x00, 0x78, | ||
| 4478 | 0x74, 0x16, 0xe2, 0x00, 0x78, 0x7a, 0x21, 0x81, | ||
| 4479 | 0x00, 0x78, 0x7c, 0x16, 0xe4, 0x00, 0x78, 0x7e, | ||
| 4480 | 0x4c, 0x94, 0x00, 0x78, 0x81, 0x07, 0x9f, 0x00, | ||
| 4481 | 0x78, 0x86, 0x16, 0xe3, 0x00, 0x78, 0x87, 0x0c, | ||
| 4482 | 0x12, 0x00, 0x78, 0x8a, 0x47, 0x2a, 0x00, 0x78, | ||
| 4483 | 0x8c, 0x16, 0xe6, 0x00, 0x78, 0x8d, 0x05, 0x95, | ||
| 4484 | 0x00, 0x78, 0x8e, 0x16, 0xe1, 0x00, 0x78, 0x8f, | ||
| 4485 | 0x56, 0x43, 0x00, 0x78, 0x91, 0x34, 0x43, 0x00, | ||
| 4486 | 0x78, 0x93, 0x04, 0xd2, 0x00, 0x78, 0x94, 0x47, | ||
| 4487 | 0x2b, 0x00, 0x78, 0x95, 0x08, 0x5c, 0x00, 0x78, | ||
| 4488 | 0x97, 0x0f, 0xf8, 0x00, 0x78, 0x98, 0x4c, 0x95, | ||
| 4489 | 0x00, 0x78, 0x9a, 0x16, 0xe5, 0x00, 0x78, 0x9d, | ||
| 4490 | 0x47, 0x2d, 0x00, 0x78, 0x9e, 0x3a, 0x2d, 0x00, | ||
| 4491 | 0x78, 0x9f, 0x47, 0x2e, 0x00, 0x78, 0xa1, 0x4c, | ||
| 4492 | 0x96, 0x00, 0x78, 0xa3, 0x16, 0xe7, 0x00, 0x78, | ||
| 4493 | 0xa4, 0x47, 0x2c, 0x00, 0x78, 0xa7, 0x0e, 0x1b, | ||
| 4494 | 0x00, 0x78, 0xa8, 0x56, 0x44, 0x00, 0x78, 0xa9, | ||
| 4495 | 0x0a, 0x7d, 0x00, 0x78, 0xaa, 0x16, 0xe9, 0x00, | ||
| 4496 | 0x78, 0xac, 0x56, 0x45, 0x00, 0x78, 0xad, 0x42, | ||
| 4497 | 0x72, 0x00, 0x78, 0xaf, 0x16, 0xea, 0x00, 0x78, | ||
| 4498 | 0xb0, 0x42, 0x70, 0x00, 0x78, 0xb1, 0x4c, 0x97, | ||
| 4499 | 0x00, 0x78, 0xb2, 0x56, 0x46, 0x00, 0x78, 0xb3, | ||
| 4500 | 0x4c, 0x98, 0x00, 0x78, 0xb5, 0x16, 0xe8, 0x00, | ||
| 4501 | 0x78, 0xba, 0x05, 0xac, 0x00, 0x78, 0xbb, 0x47, | ||
| 4502 | 0x2f, 0x00, 0x78, 0xbc, 0x16, 0xf0, 0x00, 0x78, | ||
| 4503 | 0xbd, 0x56, 0x47, 0x00, 0x78, 0xbe, 0x16, 0xef, | ||
| 4504 | 0x00, 0x78, 0xbf, 0x56, 0x48, 0x00, 0x78, 0xc1, | ||
| 4505 | 0x08, 0xd3, 0x00, 0x78, 0xc5, 0x16, 0xf1, 0x00, | ||
| 4506 | 0x78, 0xc6, 0x16, 0xec, 0x00, 0x78, 0xc7, 0x56, | ||
| 4507 | 0x49, 0x00, 0x78, 0xc8, 0x3a, 0x2e, 0x00, 0x78, | ||
| 4508 | 0xc9, 0x4c, 0x99, 0x00, 0x78, 0xca, 0x16, 0xf2, | ||
| 4509 | 0x00, 0x78, 0xcb, 0x16, 0xed, 0x00, 0x78, 0xcc, | ||
| 4510 | 0x3a, 0x2f, 0x00, 0x78, 0xce, 0x3a, 0x30, 0x00, | ||
| 4511 | 0x78, 0xd0, 0x0d, 0x6c, 0x00, 0x78, 0xd1, 0x16, | ||
| 4512 | 0xeb, 0x00, 0x78, 0xd2, 0x56, 0x4a, 0x00, 0x78, | ||
| 4513 | 0xd3, 0x4c, 0x9a, 0x00, 0x78, 0xd4, 0x16, 0xee, | ||
| 4514 | 0x00, 0x78, 0xd5, 0x47, 0x30, 0x00, 0x78, 0xd6, | ||
| 4515 | 0x56, 0x4b, 0x00, 0x78, 0xda, 0x16, 0xf5, 0x00, | ||
| 4516 | 0x78, 0xdb, 0x56, 0x4c, 0x00, 0x78, 0xdf, 0x56, | ||
| 4517 | 0x4d, 0x00, 0x78, 0xe0, 0x3a, 0x32, 0x00, 0x78, | ||
| 4518 | 0xe1, 0x3a, 0x33, 0x00, 0x78, 0xe4, 0x3a, 0x31, | ||
| 4519 | 0x00, 0x78, 0xe6, 0x47, 0x31, 0x00, 0x78, 0xe7, | ||
| 4520 | 0x16, 0xf4, 0x00, 0x78, 0xe8, 0x0e, 0x8f, 0x00, | ||
| 4521 | 0x78, 0xea, 0x56, 0x4e, 0x00, 0x78, 0xec, 0x16, | ||
| 4522 | 0xf3, 0x00, 0x78, 0xef, 0x04, 0xaf, 0x00, 0x78, | ||
| 4523 | 0xf2, 0x3a, 0x34, 0x00, 0x78, 0xf3, 0x56, 0x4f, | ||
| 4524 | 0x00, 0x78, 0xf4, 0x16, 0xf7, 0x00, 0x78, 0xf6, | ||
| 4525 | 0x56, 0x50, 0x00, 0x78, 0xf7, 0x3a, 0x35, 0x00, | ||
| 4526 | 0x78, 0xf9, 0x47, 0x32, 0x00, 0x78, 0xfa, 0x47, | ||
| 4527 | 0x33, 0x00, 0x78, 0xfb, 0x3a, 0x36, 0x00, 0x78, | ||
| 4528 | 0xfd, 0x16, 0xf6, 0x00, 0x78, 0xfe, 0x47, 0x34, | ||
| 4529 | 0x00, 0x78, 0xff, 0x56, 0x51, 0x00, 0x79, 0x00, | ||
| 4530 | 0x42, 0x73, 0x00, 0x79, 0x01, 0x09, 0xb4, 0x00, | ||
| 4531 | 0x79, 0x06, 0x56, 0x52, 0x00, 0x79, 0x07, 0x16, | ||
| 4532 | 0xf8, 0x00, 0x79, 0x0c, 0x4c, 0x9b, 0x00, 0x79, | ||
| 4533 | 0x0e, 0x0a, 0xc5, 0x00, 0x79, 0x10, 0x47, 0x36, | ||
| 4534 | 0x00, 0x79, 0x11, 0x16, 0xfa, 0x00, 0x79, 0x12, | ||
| 4535 | 0x16, 0xf9, 0x00, 0x79, 0x19, 0x16, 0xfb, 0x00, | ||
| 4536 | 0x79, 0x1a, 0x56, 0x53, 0x00, 0x79, 0x1b, 0x47, | ||
| 4537 | 0x37, 0x00, 0x79, 0x1c, 0x42, 0x74, 0x00, 0x79, | ||
| 4538 | 0x1e, 0x56, 0x54, 0x00, 0x79, 0x1f, 0x4c, 0x9c, | ||
| 4539 | 0x00, 0x79, 0x20, 0x56, 0x55, 0x00, 0x79, 0x25, | ||
| 4540 | 0x47, 0x38, 0x00, 0x79, 0x26, 0x16, 0xdd, 0x00, | ||
| 4541 | 0x79, 0x27, 0x4c, 0x9d, 0x00, 0x79, 0x28, 0x4c, | ||
| 4542 | 0x9e, 0x00, 0x79, 0x29, 0x56, 0x56, 0x00, 0x79, | ||
| 4543 | 0x2a, 0x16, 0xdf, 0x00, 0x79, 0x2b, 0x16, 0xfd, | ||
| 4544 | 0x00, 0x79, 0x2c, 0x16, 0xfc, 0x00, 0x79, 0x2d, | ||
| 4545 | 0x56, 0x57, 0x00, 0x79, 0x2e, 0x42, 0x75, 0x00, | ||
| 4546 | 0x79, 0x30, 0x21, 0x82, 0x00, 0x79, 0x31, 0x3a, | ||
| 4547 | 0x37, 0x00, 0x79, 0x34, 0x42, 0x76, 0x00, 0x79, | ||
| 4548 | 0x35, 0x56, 0x58, 0x00, 0x79, 0x3a, 0x4a, 0xba, | ||
| 4549 | 0x00, 0x79, 0x3b, 0x3a, 0x39, 0x00, 0x79, 0x3c, | ||
| 4550 | 0x0f, 0xb1, 0x00, 0x79, 0x3d, 0x3a, 0x3a, 0x00, | ||
| 4551 | 0x79, 0x3e, 0x08, 0xfe, 0x00, 0x79, 0x3f, 0x4c, | ||
| 4552 | 0x9f, 0x00, 0x79, 0x40, 0x16, 0xfe, 0x00, 0x79, | ||
| 4553 | 0x41, 0x07, 0x0d, 0x00, 0x79, 0x42, 0x4c, 0xa0, | ||
| 4554 | 0x00, 0x79, 0x44, 0x56, 0x59, 0x00, 0x79, 0x45, | ||
| 4555 | 0x3a, 0x3b, 0x00, 0x79, 0x46, 0x42, 0x77, 0x00, | ||
| 4556 | 0x79, 0x47, 0x06, 0x5a, 0x00, 0x79, 0x48, 0x34, | ||
| 4557 | 0x17, 0x00, 0x79, 0x49, 0x08, 0xb1, 0x00, 0x79, | ||
| 4558 | 0x4a, 0x47, 0x39, 0x00, 0x79, 0x4b, 0x56, 0x5a, | ||
| 4559 | 0x00, 0x79, 0x4f, 0x56, 0x5b, 0x00, 0x79, 0x50, | ||
| 4560 | 0x34, 0x4f, 0x00, 0x79, 0x51, 0x56, 0x5c, 0x00, | ||
| 4561 | 0x79, 0x53, 0x17, 0x04, 0x00, 0x79, 0x54, 0x4c, | ||
| 4562 | 0xa1, 0x00, 0x79, 0x55, 0x17, 0x03, 0x00, 0x79, | ||
| 4563 | 0x56, 0x0a, 0xc6, 0x00, 0x79, 0x57, 0x17, 0x00, | ||
| 4564 | 0x00, 0x79, 0x58, 0x47, 0x3a, 0x00, 0x79, 0x5a, | ||
| 4565 | 0x17, 0x02, 0x00, 0x79, 0x5b, 0x3a, 0x3c, 0x00, | ||
| 4566 | 0x79, 0x5c, 0x3a, 0x3d, 0x00, 0x79, 0x5d, 0x34, | ||
| 4567 | 0x27, 0x00, 0x79, 0x5e, 0x21, 0x84, 0x00, 0x79, | ||
| 4568 | 0x5f, 0x17, 0x01, 0x00, 0x79, 0x60, 0x16, 0xff, | ||
| 4569 | 0x00, 0x79, 0x62, 0x0c, 0xe0, 0x00, 0x79, 0x65, | ||
| 4570 | 0x21, 0x85, 0x00, 0x79, 0x67, 0x47, 0x3c, 0x00, | ||
| 4571 | 0x79, 0x68, 0x0d, 0xae, 0x00, 0x79, 0x69, 0x56, | ||
| 4572 | 0x5d, 0x00, 0x79, 0x6b, 0x4c, 0xa2, 0x00, 0x79, | ||
| 4573 | 0x6d, 0x08, 0x47, 0x00, 0x79, 0x72, 0x47, 0x3d, | ||
| 4574 | 0x00, 0x79, 0x77, 0x0c, 0x72, 0x00, 0x79, 0x79, | ||
| 4575 | 0x42, 0x78, 0x00, 0x79, 0x7a, 0x17, 0x05, 0x00, | ||
| 4576 | 0x79, 0x7b, 0x56, 0x5e, 0x00, 0x79, 0x7c, 0x4c, | ||
| 4577 | 0xa3, 0x00, 0x79, 0x7e, 0x56, 0x5f, 0x00, 0x79, | ||
| 4578 | 0x7f, 0x17, 0x06, 0x00, 0x79, 0x80, 0x17, 0x1c, | ||
| 4579 | 0x00, 0x79, 0x81, 0x06, 0xd0, 0x00, 0x79, 0x84, | ||
| 4580 | 0x0f, 0xe3, 0x00, 0x79, 0x85, 0x0a, 0xb7, 0x00, | ||
| 4581 | 0x79, 0x8a, 0x17, 0x07, 0x00, 0x79, 0x8b, 0x3a, | ||
| 4582 | 0x3e, 0x00, 0x79, 0x8c, 0x56, 0x60, 0x00, 0x79, | ||
| 4583 | 0x8d, 0x34, 0x0d, 0x00, 0x79, 0x8e, 0x0c, 0x13, | ||
| 4584 | 0x00, 0x79, 0x8f, 0x0d, 0xf1, 0x00, 0x79, 0x91, | ||
| 4585 | 0x56, 0x61, 0x00, 0x79, 0x93, 0x56, 0x62, 0x00, | ||
| 4586 | 0x79, 0x94, 0x21, 0x86, 0x00, 0x79, 0x95, 0x47, | ||
| 4587 | 0x3e, 0x00, 0x79, 0x96, 0x3a, 0x3f, 0x00, 0x79, | ||
| 4588 | 0x98, 0x3a, 0x40, 0x00, 0x79, 0x9b, 0x21, 0x88, | ||
| 4589 | 0x00, 0x79, 0x9c, 0x56, 0x63, 0x00, 0x79, 0x9d, | ||
| 4590 | 0x17, 0x08, 0x00, 0x79, 0xa1, 0x47, 0x3f, 0x00, | ||
| 4591 | 0x79, 0xa6, 0x06, 0x94, 0x00, 0x79, 0xa7, 0x17, | ||
| 4592 | 0x09, 0x00, 0x79, 0xa8, 0x56, 0x64, 0x00, 0x79, | ||
| 4593 | 0xa9, 0x47, 0x40, 0x00, 0x79, 0xaa, 0x17, 0x0b, | ||
| 4594 | 0x00, 0x79, 0xab, 0x4c, 0xa4, 0x00, 0x79, 0xae, | ||
| 4595 | 0x17, 0x0c, 0x00, 0x79, 0xaf, 0x56, 0x65, 0x00, | ||
| 4596 | 0x79, 0xb0, 0x0c, 0xdf, 0x00, 0x79, 0xb1, 0x1e, | ||
| 4597 | 0x4e, 0x00, 0x79, 0xb3, 0x17, 0x0d, 0x00, 0x79, | ||
| 4598 | 0xb4, 0x47, 0x41, 0x00, 0x79, 0xb8, 0x3a, 0x41, | ||
| 4599 | 0x00, 0x79, 0xb9, 0x17, 0x0e, 0x00, 0x79, 0xba, | ||
| 4600 | 0x17, 0x0f, 0x00, 0x79, 0xbb, 0x3a, 0x42, 0x00, | ||
| 4601 | 0x79, 0xbd, 0x06, 0xd1, 0x00, 0x79, 0xbe, 0x05, | ||
| 4602 | 0x53, 0x00, 0x79, 0xbf, 0x0c, 0x9d, 0x00, 0x79, | ||
| 4603 | 0xc0, 0x09, 0x32, 0x00, 0x79, 0xc1, 0x08, 0xb2, | ||
| 4604 | 0x00, 0x79, 0xc2, 0x47, 0x42, 0x00, 0x79, 0xc4, | ||
| 4605 | 0x4c, 0xa5, 0x00, 0x79, 0xc7, 0x47, 0x43, 0x00, | ||
| 4606 | 0x79, 0xc8, 0x42, 0x79, 0x00, 0x79, 0xc9, 0x17, | ||
| 4607 | 0x10, 0x00, 0x79, 0xca, 0x3a, 0x43, 0x00, 0x79, | ||
| 4608 | 0xcb, 0x09, 0x33, 0x00, 0x79, 0xcc, 0x47, 0x44, | ||
| 4609 | 0x00, 0x79, 0xcd, 0x47, 0x45, 0x00, 0x79, 0xcf, | ||
| 4610 | 0x56, 0x66, 0x00, 0x79, 0xd1, 0x05, 0x4a, 0x00, | ||
| 4611 | 0x79, 0xd2, 0x0d, 0xb5, 0x00, 0x79, 0xd4, 0x42, | ||
| 4612 | 0x7b, 0x00, 0x79, 0xd5, 0x17, 0x11, 0x00, 0x79, | ||
| 4613 | 0xd6, 0x47, 0x46, 0x00, 0x79, 0xd8, 0x0d, 0x7f, | ||
| 4614 | 0x00, 0x79, 0xda, 0x3a, 0x44, 0x00, 0x79, 0xdd, | ||
| 4615 | 0x56, 0x67, 0x00, 0x79, 0xde, 0x42, 0x7c, 0x00, | ||
| 4616 | 0x79, 0xdf, 0x0a, 0xc7, 0x00, 0x79, 0xe0, 0x56, | ||
| 4617 | 0x68, 0x00, 0x79, 0xe1, 0x17, 0x14, 0x00, 0x79, | ||
| 4618 | 0xe2, 0x56, 0x69, 0x00, 0x79, 0xe3, 0x17, 0x15, | ||
| 4619 | 0x00, 0x79, 0xe4, 0x0d, 0x1f, 0x00, 0x79, 0xe5, | ||
| 4620 | 0x56, 0x6a, 0x00, 0x79, 0xe6, 0x0a, 0x07, 0x00, | ||
| 4621 | 0x79, 0xe7, 0x17, 0x12, 0x00, 0x79, 0xe9, 0x0b, | ||
| 4622 | 0x9f, 0x00, 0x79, 0xea, 0x4c, 0xa6, 0x00, 0x79, | ||
| 4623 | 0xeb, 0x42, 0x7d, 0x00, 0x79, 0xec, 0x17, 0x13, | ||
| 4624 | 0x00, 0x79, 0xed, 0x42, 0x7e, 0x00, 0x79, 0xf0, | ||
| 4625 | 0x09, 0xb6, 0x00, 0x79, 0xf1, 0x56, 0x6b, 0x00, | ||
| 4626 | 0x79, 0xf8, 0x56, 0x6c, 0x00, 0x79, 0xfb, 0x04, | ||
| 4627 | 0xa0, 0x00, 0x79, 0xfc, 0x56, 0x6d, 0x00, 0x7a, | ||
| 4628 | 0x00, 0x06, 0x43, 0x00, 0x7a, 0x02, 0x4c, 0xa7, | ||
| 4629 | 0x00, 0x7a, 0x03, 0x3a, 0x45, 0x00, 0x7a, 0x05, | ||
| 4630 | 0x36, 0x33, 0x00, 0x7a, 0x07, 0x56, 0x6e, 0x00, | ||
| 4631 | 0x7a, 0x08, 0x17, 0x16, 0x00, 0x7a, 0x09, 0x3a, | ||
| 4632 | 0x46, 0x00, 0x7a, 0x0a, 0x47, 0x4b, 0x00, 0x7a, | ||
| 4633 | 0x0b, 0x0c, 0x14, 0x00, 0x7a, 0x0c, 0x4c, 0xa8, | ||
| 4634 | 0x00, 0x7a, 0x0d, 0x17, 0x17, 0x00, 0x7a, 0x0e, | ||
| 4635 | 0x0a, 0x6b, 0x00, 0x7a, 0x11, 0x3a, 0x47, 0x00, | ||
| 4636 | 0x7a, 0x14, 0x0e, 0xb9, 0x00, 0x7a, 0x15, 0x47, | ||
| 4637 | 0x4c, 0x00, 0x7a, 0x17, 0x0d, 0x95, 0x00, 0x7a, | ||
| 4638 | 0x18, 0x17, 0x18, 0x00, 0x7a, 0x19, 0x17, 0x19, | ||
| 4639 | 0x00, 0x7a, 0x1a, 0x0b, 0x93, 0x00, 0x7a, 0x1b, | ||
| 4640 | 0x47, 0x4d, 0x00, 0x7a, 0x1c, 0x0f, 0x8f, 0x00, | ||
| 4641 | 0x7a, 0x1e, 0x3a, 0x48, 0x00, 0x7a, 0x1f, 0x17, | ||
| 4642 | 0x1b, 0x00, 0x7a, 0x20, 0x17, 0x1a, 0x00, 0x7a, | ||
| 4643 | 0x21, 0x56, 0x6f, 0x00, 0x7a, 0x27, 0x56, 0x70, | ||
| 4644 | 0x00, 0x7a, 0x2b, 0x56, 0x71, 0x00, 0x7a, 0x2d, | ||
| 4645 | 0x3a, 0x49, 0x00, 0x7a, 0x2e, 0x09, 0x1b, 0x00, | ||
| 4646 | 0x7a, 0x2f, 0x56, 0x72, 0x00, 0x7a, 0x30, 0x4c, | ||
| 4647 | 0xa9, 0x00, 0x7a, 0x31, 0x17, 0x1d, 0x00, 0x7a, | ||
| 4648 | 0x32, 0x04, 0xb4, 0x00, 0x7a, 0x34, 0x56, 0x73, | ||
| 4649 | 0x00, 0x7a, 0x35, 0x56, 0x74, 0x00, 0x7a, 0x37, | ||
| 4650 | 0x17, 0x20, 0x00, 0x7a, 0x38, 0x47, 0x4f, 0x00, | ||
| 4651 | 0x7a, 0x39, 0x3a, 0x4a, 0x00, 0x7a, 0x3a, 0x4c, | ||
| 4652 | 0xaa, 0x00, 0x7a, 0x3b, 0x17, 0x1e, 0x00, 0x7a, | ||
| 4653 | 0x3c, 0x05, 0x54, 0x00, 0x7a, 0x3d, 0x07, 0x24, | ||
| 4654 | 0x00, 0x7a, 0x3e, 0x17, 0x1f, 0x00, 0x7a, 0x3f, | ||
| 4655 | 0x07, 0xd8, 0x00, 0x7a, 0x40, 0x34, 0x1f, 0x00, | ||
| 4656 | 0x7a, 0x42, 0x0e, 0x36, 0x00, 0x7a, 0x43, 0x17, | ||
| 4657 | 0x21, 0x00, 0x7a, 0x44, 0x4c, 0xab, 0x00, 0x7a, | ||
| 4658 | 0x45, 0x3a, 0x4b, 0x00, 0x7a, 0x46, 0x0e, 0x82, | ||
| 4659 | 0x00, 0x7a, 0x47, 0x47, 0x50, 0x00, 0x7a, 0x48, | ||
| 4660 | 0x56, 0x75, 0x00, 0x7a, 0x49, 0x17, 0x23, 0x00, | ||
| 4661 | 0x7a, 0x4c, 0x3a, 0x4c, 0x00, 0x7a, 0x4d, 0x0a, | ||
| 4662 | 0x75, 0x00, 0x7a, 0x4e, 0x04, 0xf1, 0x00, 0x7a, | ||
| 4663 | 0x4f, 0x05, 0x3a, 0x00, 0x7a, 0x50, 0x04, 0x70, | ||
| 4664 | 0x00, 0x7a, 0x55, 0x56, 0x76, 0x00, 0x7a, 0x56, | ||
| 4665 | 0x47, 0x51, 0x00, 0x7a, 0x57, 0x17, 0x22, 0x00, | ||
| 4666 | 0x7a, 0x59, 0x47, 0x52, 0x00, 0x7a, 0x5c, 0x47, | ||
| 4667 | 0x53, 0x00, 0x7a, 0x5d, 0x3a, 0x4d, 0x00, 0x7a, | ||
| 4668 | 0x5f, 0x47, 0x54, 0x00, 0x7a, 0x60, 0x4f, 0x56, | ||
| 4669 | 0x00, 0x7a, 0x61, 0x17, 0x24, 0x00, 0x7a, 0x62, | ||
| 4670 | 0x17, 0x25, 0x00, 0x7a, 0x63, 0x09, 0xdf, 0x00, | ||
| 4671 | 0x7a, 0x65, 0x56, 0x77, 0x00, 0x7a, 0x67, 0x47, | ||
| 4672 | 0x55, 0x00, 0x7a, 0x69, 0x17, 0x26, 0x00, 0x7a, | ||
| 4673 | 0x6a, 0x47, 0x56, 0x00, 0x7a, 0x6b, 0x05, 0xad, | ||
| 4674 | 0x00, 0x7a, 0x6d, 0x3a, 0x4f, 0x00, 0x7a, 0x70, | ||
| 4675 | 0x17, 0x28, 0x00, 0x7a, 0x74, 0x07, 0x40, 0x00, | ||
| 4676 | 0x7a, 0x75, 0x47, 0x57, 0x00, 0x7a, 0x76, 0x06, | ||
| 4677 | 0x80, 0x00, 0x7a, 0x78, 0x3a, 0x50, 0x00, 0x7a, | ||
| 4678 | 0x79, 0x17, 0x29, 0x00, 0x7a, 0x7a, 0x06, 0xed, | ||
| 4679 | 0x00, 0x7a, 0x7d, 0x17, 0x2a, 0x00, 0x7a, 0x7e, | ||
| 4680 | 0x56, 0x78, 0x00, 0x7a, 0x7f, 0x0a, 0xa0, 0x00, | ||
| 4681 | 0x7a, 0x80, 0x4c, 0xac, 0x00, 0x7a, 0x81, 0x0c, | ||
| 4682 | 0xa5, 0x00, 0x7a, 0x82, 0x47, 0x58, 0x00, 0x7a, | ||
| 4683 | 0x83, 0x0a, 0x84, 0x00, 0x7a, 0x84, 0x08, 0x65, | ||
| 4684 | 0x00, 0x7a, 0x85, 0x42, 0x7f, 0x00, 0x7a, 0x86, | ||
| 4685 | 0x4c, 0xad, 0x00, 0x7a, 0x88, 0x17, 0x2b, 0x00, | ||
| 4686 | 0x7a, 0x8a, 0x47, 0x59, 0x00, 0x7a, 0x8b, 0x56, | ||
| 4687 | 0x79, 0x00, 0x7a, 0x90, 0x47, 0x5a, 0x00, 0x7a, | ||
| 4688 | 0x91, 0x56, 0x7a, 0x00, 0x7a, 0x92, 0x0b, 0xa0, | ||
| 4689 | 0x00, 0x7a, 0x93, 0x0a, 0xed, 0x00, 0x7a, 0x94, | ||
| 4690 | 0x4c, 0xae, 0x00, 0x7a, 0x95, 0x17, 0x2d, 0x00, | ||
| 4691 | 0x7a, 0x96, 0x17, 0x2f, 0x00, 0x7a, 0x97, 0x17, | ||
| 4692 | 0x2c, 0x00, 0x7a, 0x98, 0x17, 0x2e, 0x00, 0x7a, | ||
| 4693 | 0x9e, 0x56, 0x7b, 0x00, 0x7a, 0x9f, 0x06, 0xf8, | ||
| 4694 | 0x00, 0x7a, 0xa0, 0x3a, 0x51, 0x00, 0x7a, 0xa3, | ||
| 4695 | 0x3a, 0x52, 0x00, 0x7a, 0xa9, 0x17, 0x30, 0x00, | ||
| 4696 | 0x7a, 0xaa, 0x06, 0xfc, 0x00, 0x7a, 0xac, 0x47, | ||
| 4697 | 0x5b, 0x00, 0x7a, 0xae, 0x06, 0x81, 0x00, 0x7a, | ||
| 4698 | 0xaf, 0x0f, 0x3c, 0x00, 0x7a, 0xb0, 0x17, 0x32, | ||
| 4699 | 0x00, 0x7a, 0xb3, 0x3a, 0x53, 0x00, 0x7a, 0xb5, | ||
| 4700 | 0x4c, 0xaf, 0x00, 0x7a, 0xb6, 0x17, 0x33, 0x00, | ||
| 4701 | 0x7a, 0xb9, 0x47, 0x5e, 0x00, 0x7a, 0xba, 0x04, | ||
| 4702 | 0xd0, 0x00, 0x7a, 0xbb, 0x3a, 0x54, 0x00, 0x7a, | ||
| 4703 | 0xbc, 0x3a, 0x55, 0x00, 0x7a, 0xbd, 0x4c, 0xb0, | ||
| 4704 | 0x00, 0x7a, 0xbe, 0x47, 0x5f, 0x00, 0x7a, 0xbf, | ||
| 4705 | 0x17, 0x36, 0x00, 0x7a, 0xc3, 0x05, 0xd4, 0x00, | ||
| 4706 | 0x7a, 0xc4, 0x17, 0x35, 0x00, 0x7a, 0xc5, 0x17, | ||
| 4707 | 0x34, 0x00, 0x7a, 0xc6, 0x3a, 0x56, 0x00, 0x7a, | ||
| 4708 | 0xc7, 0x17, 0x38, 0x00, 0x7a, 0xc8, 0x17, 0x31, | ||
| 4709 | 0x00, 0x7a, 0xc9, 0x56, 0x7c, 0x00, 0x7a, 0xca, | ||
| 4710 | 0x17, 0x39, 0x00, 0x7a, 0xcb, 0x0f, 0x71, 0x00, | ||
| 4711 | 0x7a, 0xcc, 0x47, 0x61, 0x00, 0x7a, 0xcd, 0x17, | ||
| 4712 | 0x3a, 0x00, 0x7a, 0xce, 0x42, 0x81, 0x00, 0x7a, | ||
| 4713 | 0xcf, 0x17, 0x3b, 0x00, 0x7a, 0xd1, 0x21, 0x89, | ||
| 4714 | 0x00, 0x7a, 0xd2, 0x11, 0xc5, 0x00, 0x7a, 0xd3, | ||
| 4715 | 0x17, 0x3d, 0x00, 0x7a, 0xd5, 0x17, 0x3c, 0x00, | ||
| 4716 | 0x7a, 0xd9, 0x17, 0x3e, 0x00, 0x7a, 0xda, 0x17, | ||
| 4717 | 0x3f, 0x00, 0x7a, 0xdb, 0x56, 0x7d, 0x00, 0x7a, | ||
| 4718 | 0xdc, 0x0f, 0x7d, 0x00, 0x7a, 0xdd, 0x17, 0x40, | ||
| 4719 | 0x00, 0x7a, 0xdf, 0x1c, 0x08, 0x00, 0x7a, 0xe0, | ||
| 4720 | 0x09, 0xb7, 0x00, 0x7a, 0xe1, 0x17, 0x41, 0x00, | ||
| 4721 | 0x7a, 0xe2, 0x17, 0x42, 0x00, 0x7a, 0xe3, 0x09, | ||
| 4722 | 0x61, 0x00, 0x7a, 0xe5, 0x0c, 0x90, 0x00, 0x7a, | ||
| 4723 | 0xe6, 0x17, 0x43, 0x00, 0x7a, 0xe7, 0x21, 0x8a, | ||
| 4724 | 0x00, 0x7a, 0xe8, 0x47, 0x62, 0x00, 0x7a, 0xe9, | ||
| 4725 | 0x56, 0x7e, 0x00, 0x7a, 0xea, 0x0b, 0x66, 0x00, | ||
| 4726 | 0x7a, 0xeb, 0x21, 0x8c, 0x00, 0x7a, 0xec, 0x56, | ||
| 4727 | 0x7f, 0x00, 0x7a, 0xed, 0x17, 0x44, 0x00, 0x7a, | ||
| 4728 | 0xef, 0x0b, 0x7a, 0x00, 0x7a, 0xf0, 0x17, 0x45, | ||
| 4729 | 0x00, 0x7a, 0xf1, 0x56, 0x80, 0x00, 0x7a, 0xf4, | ||
| 4730 | 0x47, 0x63, 0x00, 0x7a, 0xf6, 0x06, 0x9d, 0x00, | ||
| 4731 | 0x7a, 0xf8, 0x10, 0x76, 0x00, 0x7a, 0xf9, 0x0b, | ||
| 4732 | 0x9b, 0x00, 0x7a, 0xfa, 0x08, 0xdf, 0x00, 0x7a, | ||
| 4733 | 0xfb, 0x56, 0x81, 0x00, 0x7a, 0xfd, 0x42, 0x82, | ||
| 4734 | 0x00, 0x7a, 0xfe, 0x4c, 0xb1, 0x00, 0x7a, 0xff, | ||
| 4735 | 0x06, 0x04, 0x00, 0x7b, 0x02, 0x17, 0x46, 0x00, | ||
| 4736 | 0x7b, 0x04, 0x17, 0x53, 0x00, 0x7b, 0x06, 0x17, | ||
| 4737 | 0x49, 0x00, 0x7b, 0x07, 0x3a, 0x57, 0x00, 0x7b, | ||
| 4738 | 0x08, 0x06, 0x82, 0x00, 0x7b, 0x0a, 0x17, 0x48, | ||
| 4739 | 0x00, 0x7b, 0x0b, 0x17, 0x55, 0x00, 0x7b, 0x0f, | ||
| 4740 | 0x17, 0x47, 0x00, 0x7b, 0x11, 0x09, 0xb8, 0x00, | ||
| 4741 | 0x7b, 0x12, 0x42, 0x83, 0x00, 0x7b, 0x14, 0x3a, | ||
| 4742 | 0x58, 0x00, 0x7b, 0x18, 0x17, 0x4b, 0x00, 0x7b, | ||
| 4743 | 0x19, 0x17, 0x4c, 0x00, 0x7b, 0x1b, 0x0c, 0x25, | ||
| 4744 | 0x00, 0x7b, 0x1e, 0x17, 0x4d, 0x00, 0x7b, 0x1f, | ||
| 4745 | 0x56, 0x82, 0x00, 0x7b, 0x20, 0x05, 0xbc, 0x00, | ||
| 4746 | 0x7b, 0x23, 0x56, 0x83, 0x00, 0x7b, 0x25, 0x0a, | ||
| 4747 | 0x20, 0x00, 0x7b, 0x26, 0x0d, 0xd6, 0x00, 0x7b, | ||
| 4748 | 0x27, 0x3a, 0x59, 0x00, 0x7b, 0x28, 0x17, 0x4f, | ||
| 4749 | 0x00, 0x7b, 0x29, 0x56, 0x84, 0x00, 0x7b, 0x2a, | ||
| 4750 | 0x47, 0x68, 0x00, 0x7b, 0x2b, 0x4c, 0xb2, 0x00, | ||
| 4751 | 0x7b, 0x2c, 0x0b, 0x48, 0x00, 0x7b, 0x2d, 0x42, | ||
| 4752 | 0x84, 0x00, 0x7b, 0x2e, 0x47, 0x69, 0x00, 0x7b, | ||
| 4753 | 0x2f, 0x47, 0x6a, 0x00, 0x7b, 0x30, 0x56, 0x85, | ||
| 4754 | 0x00, 0x7b, 0x31, 0x3a, 0x5a, 0x00, 0x7b, 0x33, | ||
| 4755 | 0x17, 0x4a, 0x00, 0x7b, 0x34, 0x56, 0x86, 0x00, | ||
| 4756 | 0x7b, 0x35, 0x17, 0x4e, 0x00, 0x7b, 0x36, 0x17, | ||
| 4757 | 0x50, 0x00, 0x7b, 0x39, 0x08, 0x6b, 0x00, 0x7b, | ||
| 4758 | 0x3b, 0x42, 0x85, 0x00, 0x7b, 0x3d, 0x47, 0x67, | ||
| 4759 | 0x00, 0x7b, 0x3f, 0x56, 0x87, 0x00, 0x7b, 0x40, | ||
| 4760 | 0x56, 0x88, 0x00, 0x7b, 0x41, 0x47, 0x6e, 0x00, | ||
| 4761 | 0x7b, 0x45, 0x17, 0x57, 0x00, 0x7b, 0x46, 0x0d, | ||
| 4762 | 0xa0, 0x00, 0x7b, 0x47, 0x3a, 0x5b, 0x00, 0x7b, | ||
| 4763 | 0x48, 0x0d, 0x3a, 0x00, 0x7b, 0x49, 0x0c, 0x73, | ||
| 4764 | 0x00, 0x7b, 0x4b, 0x06, 0xd2, 0x00, 0x7b, 0x4c, | ||
| 4765 | 0x17, 0x56, 0x00, 0x7b, 0x4d, 0x17, 0x54, 0x00, | ||
| 4766 | 0x7b, 0x4e, 0x3a, 0x5c, 0x00, 0x7b, 0x4f, 0x0d, | ||
| 4767 | 0x49, 0x00, 0x7b, 0x50, 0x17, 0x51, 0x00, 0x7b, | ||
| 4768 | 0x51, 0x0b, 0x9c, 0x00, 0x7b, 0x52, 0x0c, 0x75, | ||
| 4769 | 0x00, 0x7b, 0x53, 0x37, 0x5d, 0x00, 0x7b, 0x54, | ||
| 4770 | 0x0c, 0x74, 0x00, 0x7b, 0x55, 0x47, 0x70, 0x00, | ||
| 4771 | 0x7b, 0x56, 0x08, 0x66, 0x00, 0x7b, 0x5d, 0x17, | ||
| 4772 | 0x69, 0x00, 0x7b, 0x60, 0x3a, 0x5d, 0x00, 0x7b, | ||
| 4773 | 0x64, 0x47, 0x72, 0x00, 0x7b, 0x65, 0x17, 0x59, | ||
| 4774 | 0x00, 0x7b, 0x66, 0x47, 0x73, 0x00, 0x7b, 0x67, | ||
| 4775 | 0x17, 0x5b, 0x00, 0x7b, 0x69, 0x3a, 0x5e, 0x00, | ||
| 4776 | 0x7b, 0x6a, 0x56, 0x89, 0x00, 0x7b, 0x6c, 0x17, | ||
| 4777 | 0x5e, 0x00, 0x7b, 0x6d, 0x3a, 0x5f, 0x00, 0x7b, | ||
| 4778 | 0x6e, 0x17, 0x5f, 0x00, 0x7b, 0x6f, 0x42, 0x86, | ||
| 4779 | 0x00, 0x7b, 0x70, 0x17, 0x5c, 0x00, 0x7b, 0x71, | ||
| 4780 | 0x17, 0x5d, 0x00, 0x7b, 0x72, 0x3a, 0x60, 0x00, | ||
| 4781 | 0x7b, 0x73, 0x47, 0x74, 0x00, 0x7b, 0x74, 0x17, | ||
| 4782 | 0x5a, 0x00, 0x7b, 0x75, 0x17, 0x58, 0x00, 0x7b, | ||
| 4783 | 0x77, 0x4c, 0xb3, 0x00, 0x7b, 0x79, 0x47, 0x71, | ||
| 4784 | 0x00, 0x7b, 0x7a, 0x17, 0x52, 0x00, 0x7b, 0x7f, | ||
| 4785 | 0x47, 0x6d, 0x00, 0x7b, 0x84, 0x56, 0x8a, 0x00, | ||
| 4786 | 0x7b, 0x86, 0x0e, 0x1f, 0x00, 0x7b, 0x87, 0x05, | ||
| 4787 | 0x55, 0x00, 0x7b, 0x89, 0x56, 0x8b, 0x00, 0x7b, | ||
| 4788 | 0x8b, 0x17, 0x66, 0x00, 0x7b, 0x8d, 0x17, 0x63, | ||
| 4789 | 0x00, 0x7b, 0x8e, 0x56, 0x8c, 0x00, 0x7b, 0x8f, | ||
| 4790 | 0x17, 0x68, 0x00, 0x7b, 0x90, 0x47, 0x77, 0x00, | ||
| 4791 | 0x7b, 0x91, 0x3a, 0x61, 0x00, 0x7b, 0x92, 0x17, | ||
| 4792 | 0x67, 0x00, 0x7b, 0x94, 0x0d, 0x29, 0x00, 0x7b, | ||
| 4793 | 0x95, 0x0e, 0xb3, 0x00, 0x7b, 0x96, 0x56, 0x8d, | ||
| 4794 | 0x00, 0x7b, 0x97, 0x08, 0x89, 0x00, 0x7b, 0x98, | ||
| 4795 | 0x17, 0x61, 0x00, 0x7b, 0x99, 0x17, 0x6a, 0x00, | ||
| 4796 | 0x7b, 0x9a, 0x17, 0x65, 0x00, 0x7b, 0x9b, 0x47, | ||
| 4797 | 0x78, 0x00, 0x7b, 0x9c, 0x17, 0x64, 0x00, 0x7b, | ||
| 4798 | 0x9d, 0x17, 0x60, 0x00, 0x7b, 0x9e, 0x21, 0x8d, | ||
| 4799 | 0x00, 0x7b, 0x9f, 0x17, 0x62, 0x00, 0x7b, 0xa0, | ||
| 4800 | 0x4c, 0xb4, 0x00, 0x7b, 0xa1, 0x06, 0x05, 0x00, | ||
| 4801 | 0x7b, 0xa5, 0x56, 0x8e, 0x00, 0x7b, 0xaa, 0x0b, | ||
| 4802 | 0x7b, 0x00, 0x7b, 0xac, 0x4c, 0xb5, 0x00, 0x7b, | ||
| 4803 | 0xad, 0x0a, 0xa1, 0x00, 0x7b, 0xaf, 0x3a, 0x62, | ||
| 4804 | 0x00, 0x7b, 0xb0, 0x4c, 0xb6, 0x00, 0x7b, 0xb1, | ||
| 4805 | 0x0d, 0x36, 0x00, 0x7b, 0xb2, 0x56, 0x8f, 0x00, | ||
| 4806 | 0x7b, 0xb4, 0x17, 0x6f, 0x00, 0x7b, 0xb5, 0x47, | ||
| 4807 | 0x7a, 0x00, 0x7b, 0xb6, 0x56, 0x90, 0x00, 0x7b, | ||
| 4808 | 0xb8, 0x0d, 0x38, 0x00, 0x7b, 0xba, 0x56, 0x91, | ||
| 4809 | 0x00, 0x7b, 0xbb, 0x56, 0x92, 0x00, 0x7b, 0xbc, | ||
| 4810 | 0x47, 0x7b, 0x00, 0x7b, 0xbd, 0x56, 0x93, 0x00, | ||
| 4811 | 0x7b, 0xc0, 0x0a, 0x85, 0x00, 0x7b, 0xc1, 0x17, | ||
| 4812 | 0x6c, 0x00, 0x7b, 0xc2, 0x56, 0x94, 0x00, 0x7b, | ||
| 4813 | 0xc4, 0x0d, 0x63, 0x00, 0x7b, 0xc5, 0x47, 0x7c, | ||
| 4814 | 0x00, 0x7b, 0xc6, 0x17, 0x70, 0x00, 0x7b, 0xc7, | ||
| 4815 | 0x0e, 0x23, 0x00, 0x7b, 0xc8, 0x56, 0x95, 0x00, | ||
| 4816 | 0x7b, 0xc9, 0x0b, 0x99, 0x00, 0x7b, 0xca, 0x47, | ||
| 4817 | 0x7d, 0x00, 0x7b, 0xcb, 0x17, 0x6b, 0x00, 0x7b, | ||
| 4818 | 0xcc, 0x17, 0x6d, 0x00, 0x7b, 0xcf, 0x17, 0x6e, | ||
| 4819 | 0x00, 0x7b, 0xd4, 0x47, 0x80, 0x00, 0x7b, 0xd6, | ||
| 4820 | 0x47, 0x81, 0x00, 0x7b, 0xd7, 0x3a, 0x63, 0x00, | ||
| 4821 | 0x7b, 0xd9, 0x3a, 0x64, 0x00, 0x7b, 0xda, 0x47, | ||
| 4822 | 0x82, 0x00, 0x7b, 0xdb, 0x56, 0x96, 0x00, 0x7b, | ||
| 4823 | 0xdd, 0x17, 0x71, 0x00, 0x7b, 0xe0, 0x08, 0xf0, | ||
| 4824 | 0x00, 0x7b, 0xe4, 0x0c, 0x9e, 0x00, 0x7b, 0xe5, | ||
| 4825 | 0x17, 0x76, 0x00, 0x7b, 0xe6, 0x17, 0x75, 0x00, | ||
| 4826 | 0x7b, 0xe8, 0x4c, 0xb7, 0x00, 0x7b, 0xe9, 0x17, | ||
| 4827 | 0x72, 0x00, 0x7b, 0xea, 0x47, 0x83, 0x00, 0x7b, | ||
| 4828 | 0xed, 0x0f, 0xdc, 0x00, 0x7b, 0xf0, 0x47, 0x84, | ||
| 4829 | 0x00, 0x7b, 0xf2, 0x4c, 0xb8, 0x00, 0x7b, 0xf3, | ||
| 4830 | 0x17, 0x7b, 0x00, 0x7b, 0xf4, 0x56, 0x97, 0x00, | ||
| 4831 | 0x7b, 0xf5, 0x56, 0x98, 0x00, 0x7b, 0xf6, 0x17, | ||
| 4832 | 0x7f, 0x00, 0x7b, 0xf7, 0x17, 0x7c, 0x00, 0x7b, | ||
| 4833 | 0xf8, 0x4c, 0xb9, 0x00, 0x7b, 0xf9, 0x56, 0x99, | ||
| 4834 | 0x00, 0x7b, 0xfa, 0x56, 0x9a, 0x00, 0x7b, 0xfc, | ||
| 4835 | 0x4c, 0xba, 0x00, 0x7b, 0xfe, 0x4c, 0xbb, 0x00, | ||
| 4836 | 0x7c, 0x00, 0x17, 0x78, 0x00, 0x7c, 0x01, 0x42, | ||
| 4837 | 0x87, 0x00, 0x7c, 0x02, 0x56, 0x9b, 0x00, 0x7c, | ||
| 4838 | 0x03, 0x47, 0x85, 0x00, 0x7c, 0x04, 0x56, 0x9c, | ||
| 4839 | 0x00, 0x7c, 0x06, 0x56, 0x9d, 0x00, 0x7c, 0x07, | ||
| 4840 | 0x17, 0x79, 0x00, 0x7c, 0x09, 0x4c, 0xbc, 0x00, | ||
| 4841 | 0x7c, 0x0b, 0x3a, 0x65, 0x00, 0x7c, 0x0c, 0x56, | ||
| 4842 | 0x9e, 0x00, 0x7c, 0x0d, 0x17, 0x7e, 0x00, 0x7c, | ||
| 4843 | 0x0e, 0x47, 0x86, 0x00, 0x7c, 0x0f, 0x3a, 0x66, | ||
| 4844 | 0x00, 0x7c, 0x11, 0x17, 0x73, 0x00, 0x7c, 0x12, | ||
| 4845 | 0x10, 0xea, 0x00, 0x7c, 0x13, 0x17, 0x7a, 0x00, | ||
| 4846 | 0x7c, 0x14, 0x17, 0x74, 0x00, 0x7c, 0x17, 0x17, | ||
| 4847 | 0x7d, 0x00, 0x7c, 0x19, 0x56, 0x9f, 0x00, 0x7c, | ||
| 4848 | 0x1b, 0x56, 0xa0, 0x00, 0x7c, 0x1e, 0x1e, 0x3b, | ||
| 4849 | 0x00, 0x7c, 0x1f, 0x17, 0x83, 0x00, 0x7c, 0x20, | ||
| 4850 | 0x3a, 0x67, 0x00, 0x7c, 0x21, 0x06, 0x06, 0x00, | ||
| 4851 | 0x7c, 0x23, 0x17, 0x80, 0x00, 0x7c, 0x25, 0x56, | ||
| 4852 | 0xa1, 0x00, 0x7c, 0x26, 0x3a, 0x68, 0x00, 0x7c, | ||
| 4853 | 0x27, 0x17, 0x81, 0x00, 0x7c, 0x28, 0x4c, 0xbd, | ||
| 4854 | 0x00, 0x7c, 0x2a, 0x17, 0x82, 0x00, 0x7c, 0x2b, | ||
| 4855 | 0x17, 0x85, 0x00, 0x7c, 0x2c, 0x56, 0xa2, 0x00, | ||
| 4856 | 0x7c, 0x2f, 0x4c, 0xbe, 0x00, 0x7c, 0x31, 0x3a, | ||
| 4857 | 0x69, 0x00, 0x7c, 0x33, 0x42, 0x88, 0x00, 0x7c, | ||
| 4858 | 0x34, 0x56, 0xa3, 0x00, 0x7c, 0x36, 0x3a, 0x6a, | ||
| 4859 | 0x00, 0x7c, 0x37, 0x17, 0x84, 0x00, 0x7c, 0x38, | ||
| 4860 | 0x0d, 0x8a, 0x00, 0x7c, 0x39, 0x56, 0xa4, 0x00, | ||
| 4861 | 0x7c, 0x3a, 0x56, 0xa5, 0x00, 0x7c, 0x3d, 0x17, | ||
| 4862 | 0x86, 0x00, 0x7c, 0x3e, 0x0f, 0xc4, 0x00, 0x7c, | ||
| 4863 | 0x3f, 0x0e, 0x3d, 0x00, 0x7c, 0x40, 0x17, 0x8b, | ||
| 4864 | 0x00, 0x7c, 0x42, 0x4c, 0xbf, 0x00, 0x7c, 0x43, | ||
| 4865 | 0x17, 0x88, 0x00, 0x7c, 0x45, 0x47, 0x87, 0x00, | ||
| 4866 | 0x7c, 0x46, 0x56, 0xa6, 0x00, 0x7c, 0x4a, 0x47, | ||
| 4867 | 0x88, 0x00, 0x7c, 0x4c, 0x17, 0x87, 0x00, 0x7c, | ||
| 4868 | 0x4d, 0x0a, 0x76, 0x00, 0x7c, 0x4f, 0x17, 0x8a, | ||
| 4869 | 0x00, 0x7c, 0x50, 0x17, 0x8c, 0x00, 0x7c, 0x51, | ||
| 4870 | 0x3a, 0x6b, 0x00, 0x7c, 0x52, 0x4c, 0xc0, 0x00, | ||
| 4871 | 0x7c, 0x53, 0x4c, 0xc1, 0x00, 0x7c, 0x54, 0x17, | ||
| 4872 | 0x89, 0x00, 0x7c, 0x55, 0x56, 0xa7, 0x00, 0x7c, | ||
| 4873 | 0x56, 0x17, 0x90, 0x00, 0x7c, 0x57, 0x47, 0x89, | ||
| 4874 | 0x00, 0x7c, 0x58, 0x17, 0x8d, 0x00, 0x7c, 0x59, | ||
| 4875 | 0x3a, 0x6c, 0x00, 0x7c, 0x5a, 0x56, 0xa8, 0x00, | ||
| 4876 | 0x7c, 0x5b, 0x4c, 0xc2, 0x00, 0x7c, 0x5c, 0x4c, | ||
| 4877 | 0xc3, 0x00, 0x7c, 0x5d, 0x4c, 0xc4, 0x00, 0x7c, | ||
| 4878 | 0x5e, 0x47, 0x8a, 0x00, 0x7c, 0x5f, 0x17, 0x8e, | ||
| 4879 | 0x00, 0x7c, 0x60, 0x17, 0x77, 0x00, 0x7c, 0x61, | ||
| 4880 | 0x47, 0x8b, 0x00, 0x7c, 0x63, 0x56, 0xa9, 0x00, | ||
| 4881 | 0x7c, 0x64, 0x17, 0x8f, 0x00, 0x7c, 0x65, 0x17, | ||
| 4882 | 0x91, 0x00, 0x7c, 0x67, 0x3a, 0x6d, 0x00, 0x7c, | ||
| 4883 | 0x69, 0x47, 0x8c, 0x00, 0x7c, 0x6c, 0x17, 0x92, | ||
| 4884 | 0x00, 0x7c, 0x6d, 0x42, 0x8a, 0x00, 0x7c, 0x6e, | ||
| 4885 | 0x3a, 0x6e, 0x00, 0x7c, 0x6f, 0x47, 0x8d, 0x00, | ||
| 4886 | 0x7c, 0x70, 0x3a, 0x6f, 0x00, 0x7c, 0x72, 0x4c, | ||
| 4887 | 0xc5, 0x00, 0x7c, 0x73, 0x0e, 0x16, 0x00, 0x7c, | ||
| 4888 | 0x75, 0x17, 0x93, 0x00, 0x7c, 0x79, 0x42, 0x8b, | ||
| 4889 | 0x00, 0x7c, 0x7b, 0x37, 0x0e, 0x00, 0x7c, 0x7c, | ||
| 4890 | 0x56, 0xab, 0x00, 0x7c, 0x7d, 0x4c, 0xc6, 0x00, | ||
| 4891 | 0x7c, 0x7e, 0x0e, 0xee, 0x00, 0x7c, 0x81, 0x06, | ||
| 4892 | 0xc6, 0x00, 0x7c, 0x82, 0x06, 0xff, 0x00, 0x7c, | ||
| 4893 | 0x83, 0x17, 0x94, 0x00, 0x7c, 0x86, 0x56, 0xac, | ||
| 4894 | 0x00, 0x7c, 0x87, 0x4c, 0xc7, 0x00, 0x7c, 0x89, | ||
| 4895 | 0x0e, 0x04, 0x00, 0x7c, 0x8b, 0x0a, 0x2e, 0x00, | ||
| 4896 | 0x7c, 0x8d, 0x0e, 0xbc, 0x00, 0x7c, 0x8f, 0x42, | ||
| 4897 | 0x8c, 0x00, 0x7c, 0x90, 0x17, 0x95, 0x00, 0x7c, | ||
| 4898 | 0x92, 0x0f, 0x7b, 0x00, 0x7c, 0x94, 0x42, 0x8d, | ||
| 4899 | 0x00, 0x7c, 0x95, 0x0d, 0x2a, 0x00, 0x7c, 0x97, | ||
| 4900 | 0x0a, 0xc8, 0x00, 0x7c, 0x98, 0x0c, 0xea, 0x00, | ||
| 4901 | 0x7c, 0x9b, 0x09, 0x57, 0x00, 0x7c, 0x9e, 0x4c, | ||
| 4902 | 0xc8, 0x00, 0x7c, 0x9f, 0x04, 0x84, 0x00, 0x7c, | ||
| 4903 | 0xa0, 0x42, 0x8e, 0x00, 0x7c, 0xa1, 0x17, 0x9a, | ||
| 4904 | 0x00, 0x7c, 0xa2, 0x17, 0x98, 0x00, 0x7c, 0xa4, | ||
| 4905 | 0x17, 0x96, 0x00, 0x7c, 0xa5, 0x05, 0xdd, 0x00, | ||
| 4906 | 0x7c, 0xa6, 0x47, 0x91, 0x00, 0x7c, 0xa7, 0x09, | ||
| 4907 | 0xb9, 0x00, 0x7c, 0xa8, 0x17, 0x9b, 0x00, 0x7c, | ||
| 4908 | 0xab, 0x17, 0x99, 0x00, 0x7c, 0xad, 0x17, 0x97, | ||
| 4909 | 0x00, 0x7c, 0xae, 0x17, 0x9f, 0x00, 0x7c, 0xb0, | ||
| 4910 | 0x56, 0xad, 0x00, 0x7c, 0xb1, 0x17, 0x9e, 0x00, | ||
| 4911 | 0x7c, 0xb2, 0x17, 0x9d, 0x00, 0x7c, 0xb3, 0x17, | ||
| 4912 | 0x9c, 0x00, 0x7c, 0xb6, 0x47, 0x93, 0x00, 0x7c, | ||
| 4913 | 0xb7, 0x47, 0x94, 0x00, 0x7c, 0xb9, 0x17, 0xa0, | ||
| 4914 | 0x00, 0x7c, 0xba, 0x4c, 0xc9, 0x00, 0x7c, 0xbb, | ||
| 4915 | 0x56, 0xae, 0x00, 0x7c, 0xbc, 0x3a, 0x70, 0x00, | ||
| 4916 | 0x7c, 0xbd, 0x17, 0xa1, 0x00, 0x7c, 0xbe, 0x21, | ||
| 4917 | 0x8e, 0x00, 0x7c, 0xbf, 0x3a, 0x71, 0x00, 0x7c, | ||
| 4918 | 0xc0, 0x17, 0xa2, 0x00, 0x7c, 0xc2, 0x17, 0xa4, | ||
| 4919 | 0x00, 0x7c, 0xc4, 0x47, 0x96, 0x00, 0x7c, 0xc5, | ||
| 4920 | 0x17, 0xa3, 0x00, 0x7c, 0xc7, 0x4c, 0xca, 0x00, | ||
| 4921 | 0x7c, 0xc8, 0x3a, 0x72, 0x00, 0x7c, 0xc9, 0x3a, | ||
| 4922 | 0x73, 0x00, 0x7c, 0xca, 0x07, 0x86, 0x00, 0x7c, | ||
| 4923 | 0xcd, 0x47, 0x98, 0x00, 0x7c, 0xce, 0x0a, 0xba, | ||
| 4924 | 0x00, 0x7c, 0xcf, 0x56, 0xaf, 0x00, 0x7c, 0xd2, | ||
| 4925 | 0x17, 0xa6, 0x00, 0x7c, 0xd3, 0x4c, 0xcb, 0x00, | ||
| 4926 | 0x7c, 0xd4, 0x56, 0xb0, 0x00, 0x7c, 0xd5, 0x42, | ||
| 4927 | 0x8f, 0x00, 0x7c, 0xd6, 0x36, 0x84, 0x00, 0x7c, | ||
| 4928 | 0xd7, 0x3a, 0x74, 0x00, 0x7c, 0xd8, 0x17, 0xa5, | ||
| 4929 | 0x00, 0x7c, 0xd9, 0x3a, 0x75, 0x00, 0x7c, 0xda, | ||
| 4930 | 0x4c, 0xcc, 0x00, 0x7c, 0xdc, 0x17, 0xa7, 0x00, | ||
| 4931 | 0x7c, 0xdd, 0x3a, 0x76, 0x00, 0x7c, 0xde, 0x0e, | ||
| 4932 | 0x05, 0x00, 0x7c, 0xdf, 0x0a, 0xee, 0x00, 0x7c, | ||
| 4933 | 0xe0, 0x07, 0xd9, 0x00, 0x7c, 0xe2, 0x17, 0xa8, | ||
| 4934 | 0x00, 0x7c, 0xe6, 0x47, 0x9b, 0x00, 0x7c, 0xe7, | ||
| 4935 | 0x0f, 0x90, 0x00, 0x7c, 0xe9, 0x56, 0xb1, 0x00, | ||
| 4936 | 0x7c, 0xeb, 0x3a, 0x77, 0x00, 0x7c, 0xef, 0x17, | ||
| 4937 | 0xaa, 0x00, 0x7c, 0xf2, 0x17, 0xab, 0x00, 0x7c, | ||
| 4938 | 0xf4, 0x17, 0xac, 0x00, 0x7c, 0xf5, 0x47, 0x9d, | ||
| 4939 | 0x00, 0x7c, 0xf6, 0x17, 0xad, 0x00, 0x7c, 0xf8, | ||
| 4940 | 0x08, 0xb3, 0x00, 0x7c, 0xfa, 0x17, 0xae, 0x00, | ||
| 4941 | 0x7c, 0xfb, 0x07, 0x25, 0x00, 0x7c, 0xfe, 0x06, | ||
| 4942 | 0x84, 0x00, 0x7d, 0x00, 0x06, 0x44, 0x00, 0x7d, | ||
| 4943 | 0x02, 0x17, 0xb0, 0x00, 0x7d, 0x03, 0x47, 0x9e, | ||
| 4944 | 0x00, 0x7d, 0x04, 0x0e, 0xff, 0x00, 0x7d, 0x05, | ||
| 4945 | 0x07, 0xda, 0x00, 0x7d, 0x06, 0x17, 0xaf, 0x00, | ||
| 4946 | 0x7d, 0x07, 0x3a, 0x78, 0x00, 0x7d, 0x08, 0x3a, | ||
| 4947 | 0x79, 0x00, 0x7d, 0x09, 0x3a, 0x7a, 0x00, 0x7d, | ||
| 4948 | 0x0a, 0x17, 0xb3, 0x00, 0x7d, 0x0b, 0x0e, 0xf2, | ||
| 4949 | 0x00, 0x7d, 0x0d, 0x0c, 0xf2, 0x00, 0x7d, 0x0f, | ||
| 4950 | 0x56, 0xb2, 0x00, 0x7d, 0x10, 0x0d, 0xa5, 0x00, | ||
| 4951 | 0x7d, 0x11, 0x56, 0xb3, 0x00, 0x7d, 0x12, 0x47, | ||
| 4952 | 0xa0, 0x00, 0x7d, 0x13, 0x3a, 0x7b, 0x00, 0x7d, | ||
| 4953 | 0x14, 0x09, 0x6d, 0x00, 0x7d, 0x15, 0x17, 0xb2, | ||
| 4954 | 0x00, 0x7d, 0x16, 0x56, 0xb4, 0x00, 0x7d, 0x17, | ||
| 4955 | 0x08, 0xff, 0x00, 0x7d, 0x18, 0x07, 0xdb, 0x00, | ||
| 4956 | 0x7d, 0x19, 0x08, 0xb4, 0x00, 0x7d, 0x1a, 0x06, | ||
| 4957 | 0x83, 0x00, 0x7d, 0x1b, 0x0e, 0x06, 0x00, 0x7d, | ||
| 4958 | 0x1c, 0x17, 0xb1, 0x00, 0x7d, 0x1d, 0x3a, 0x7c, | ||
| 4959 | 0x00, 0x7d, 0x1e, 0x47, 0xa1, 0x00, 0x7d, 0x20, | ||
| 4960 | 0x0a, 0xc9, 0x00, 0x7d, 0x21, 0x0e, 0x70, 0x00, | ||
| 4961 | 0x7d, 0x22, 0x08, 0x67, 0x00, 0x7d, 0x23, 0x3a, | ||
| 4962 | 0x7d, 0x00, 0x7d, 0x26, 0x56, 0xb5, 0x00, 0x7d, | ||
| 4963 | 0x2a, 0x56, 0xb6, 0x00, 0x7d, 0x2b, 0x08, 0xb5, | ||
| 4964 | 0x00, 0x7d, 0x2c, 0x0b, 0xf9, 0x00, 0x7d, 0x2d, | ||
| 4965 | 0x56, 0xb7, 0x00, 0x7d, 0x2e, 0x17, 0xb6, 0x00, | ||
| 4966 | 0x7d, 0x2f, 0x0f, 0xa7, 0x00, 0x7d, 0x30, 0x08, | ||
| 4967 | 0x49, 0x00, 0x7d, 0x31, 0x42, 0x90, 0x00, 0x7d, | ||
| 4968 | 0x32, 0x17, 0xb7, 0x00, 0x7d, 0x33, 0x0a, 0x08, | ||
| 4969 | 0x00, 0x7d, 0x35, 0x17, 0xb9, 0x00, 0x7d, 0x39, | ||
| 4970 | 0x09, 0xba, 0x00, 0x7d, 0x3a, 0x08, 0x20, 0x00, | ||
| 4971 | 0x7d, 0x3c, 0x4c, 0xcd, 0x00, 0x7d, 0x3d, 0x47, | ||
| 4972 | 0xa4, 0x00, 0x7d, 0x3e, 0x47, 0xa5, 0x00, 0x7d, | ||
| 4973 | 0x3f, 0x17, 0xb8, 0x00, 0x7d, 0x40, 0x47, 0xa6, | ||
| 4974 | 0x00, 0x7d, 0x41, 0x3a, 0x7e, 0x00, 0x7d, 0x42, | ||
| 4975 | 0x09, 0x34, 0x00, 0x7d, 0x43, 0x07, 0x72, 0x00, | ||
| 4976 | 0x7d, 0x44, 0x0a, 0xca, 0x00, 0x7d, 0x45, 0x17, | ||
| 4977 | 0xb4, 0x00, 0x7d, 0x46, 0x17, 0xba, 0x00, 0x7d, | ||
| 4978 | 0x47, 0x47, 0xa7, 0x00, 0x7d, 0x48, 0x21, 0x8f, | ||
| 4979 | 0x00, 0x7d, 0x4b, 0x17, 0xb5, 0x00, 0x7d, 0x4c, | ||
| 4980 | 0x07, 0x26, 0x00, 0x7d, 0x4d, 0x4c, 0xce, 0x00, | ||
| 4981 | 0x7d, 0x4e, 0x17, 0xbd, 0x00, 0x7d, 0x4f, 0x17, | ||
| 4982 | 0xc1, 0x00, 0x7d, 0x50, 0x07, 0x41, 0x00, 0x7d, | ||
| 4983 | 0x51, 0x56, 0xb8, 0x00, 0x7d, 0x53, 0x3a, 0x7f, | ||
| 4984 | 0x00, 0x7d, 0x55, 0x36, 0x3a, 0x00, 0x7d, 0x56, | ||
| 4985 | 0x17, 0xbc, 0x00, 0x7d, 0x57, 0x56, 0xb9, 0x00, | ||
| 4986 | 0x7d, 0x59, 0x3a, 0x80, 0x00, 0x7d, 0x5a, 0x47, | ||
| 4987 | 0xab, 0x00, 0x7d, 0x5b, 0x17, 0xc5, 0x00, 0x7d, | ||
| 4988 | 0x5c, 0x42, 0x91, 0x00, 0x7d, 0x5d, 0x3a, 0x81, | ||
| 4989 | 0x00, 0x7d, 0x5e, 0x07, 0xdc, 0x00, 0x7d, 0x61, | ||
| 4990 | 0x0f, 0x57, 0x00, 0x7d, 0x62, 0x04, 0x80, 0x00, | ||
| 4991 | 0x7d, 0x63, 0x17, 0xc2, 0x00, 0x7d, 0x65, 0x56, | ||
| 4992 | 0xba, 0x00, 0x7d, 0x66, 0x06, 0x85, 0x00, 0x7d, | ||
| 4993 | 0x67, 0x56, 0xbb, 0x00, 0x7d, 0x68, 0x17, 0xbf, | ||
| 4994 | 0x00, 0x7d, 0x6a, 0x47, 0xac, 0x00, 0x7d, 0x6e, | ||
| 4995 | 0x17, 0xc0, 0x00, 0x7d, 0x70, 0x47, 0xad, 0x00, | ||
| 4996 | 0x7d, 0x71, 0x0c, 0x77, 0x00, 0x7d, 0x72, 0x17, | ||
| 4997 | 0xbe, 0x00, 0x7d, 0x73, 0x17, 0xbb, 0x00, 0x7d, | ||
| 4998 | 0x75, 0x05, 0x86, 0x00, 0x7d, 0x76, 0x0a, 0x88, | ||
| 4999 | 0x00, 0x7d, 0x78, 0x56, 0xbc, 0x00, 0x7d, 0x79, | ||
| 5000 | 0x07, 0x5c, 0x00, 0x7d, 0x7a, 0x3a, 0x82, 0x00, | ||
| 5001 | 0x7d, 0x7b, 0x56, 0xbd, 0x00, 0x7d, 0x7d, 0x17, | ||
| 5002 | 0xc7, 0x00, 0x7d, 0x7f, 0x47, 0xaf, 0x00, 0x7d, | ||
| 5003 | 0x81, 0x56, 0xbe, 0x00, 0x7d, 0x82, 0x4c, 0xcf, | ||
| 5004 | 0x00, 0x7d, 0x83, 0x42, 0x92, 0x00, 0x7d, 0x85, | ||
| 5005 | 0x4c, 0xd0, 0x00, 0x7d, 0x86, 0x3a, 0x83, 0x00, | ||
| 5006 | 0x7d, 0x88, 0x47, 0xb1, 0x00, 0x7d, 0x89, 0x17, | ||
| 5007 | 0xc4, 0x00, 0x7d, 0x8b, 0x3a, 0x84, 0x00, 0x7d, | ||
| 5008 | 0x8c, 0x3a, 0x85, 0x00, 0x7d, 0x8d, 0x4c, 0xd1, | ||
| 5009 | 0x00, 0x7d, 0x8f, 0x17, 0xc6, 0x00, 0x7d, 0x91, | ||
| 5010 | 0x4c, 0xd2, 0x00, 0x7d, 0x93, 0x17, 0xc3, 0x00, | ||
| 5011 | 0x7d, 0x96, 0x56, 0xbf, 0x00, 0x7d, 0x97, 0x47, | ||
| 5012 | 0xb2, 0x00, 0x7d, 0x99, 0x07, 0x27, 0x00, 0x7d, | ||
| 5013 | 0x9a, 0x0b, 0x13, 0x00, 0x7d, 0x9b, 0x17, 0xc8, | ||
| 5014 | 0x00, 0x7d, 0x9c, 0x0a, 0xf0, 0x00, 0x7d, 0x9d, | ||
| 5015 | 0x47, 0xb4, 0x00, 0x7d, 0x9e, 0x4c, 0xd3, 0x00, | ||
| 5016 | 0x7d, 0x9f, 0x17, 0xd5, 0x00, 0x7d, 0xa0, 0x21, | ||
| 5017 | 0x92, 0x00, 0x7d, 0xa2, 0x17, 0xd1, 0x00, 0x7d, | ||
| 5018 | 0xa3, 0x17, 0xcb, 0x00, 0x7d, 0xa6, 0x42, 0x93, | ||
| 5019 | 0x00, 0x7d, 0xa7, 0x47, 0xb5, 0x00, 0x7d, 0xaa, | ||
| 5020 | 0x47, 0xb6, 0x00, 0x7d, 0xab, 0x17, 0xcf, 0x00, | ||
| 5021 | 0x7d, 0xac, 0x09, 0x26, 0x00, 0x7d, 0xad, 0x04, | ||
| 5022 | 0xa1, 0x00, 0x7d, 0xae, 0x17, 0xca, 0x00, 0x7d, | ||
| 5023 | 0xaf, 0x17, 0xd2, 0x00, 0x7d, 0xb0, 0x17, 0xd6, | ||
| 5024 | 0x00, 0x7d, 0xb1, 0x07, 0xdd, 0x00, 0x7d, 0xb2, | ||
| 5025 | 0x0e, 0xe2, 0x00, 0x7d, 0xb3, 0x4c, 0xd4, 0x00, | ||
| 5026 | 0x7d, 0xb4, 0x0b, 0xf2, 0x00, 0x7d, 0xb5, 0x17, | ||
| 5027 | 0xcc, 0x00, 0x7d, 0xb6, 0x47, 0xb7, 0x00, 0x7d, | ||
| 5028 | 0xb7, 0x21, 0x91, 0x00, 0x7d, 0xb8, 0x17, 0xd4, | ||
| 5029 | 0x00, 0x7d, 0xb9, 0x4c, 0xd5, 0x00, 0x7d, 0xba, | ||
| 5030 | 0x17, 0xc9, 0x00, 0x7d, 0xbb, 0x0b, 0x7c, 0x00, | ||
| 5031 | 0x7d, 0xbd, 0x17, 0xce, 0x00, 0x7d, 0xbe, 0x04, | ||
| 5032 | 0x81, 0x00, 0x7d, 0xbf, 0x0e, 0xd6, 0x00, 0x7d, | ||
| 5033 | 0xc0, 0x47, 0xb8, 0x00, 0x7d, 0xc2, 0x42, 0x94, | ||
| 5034 | 0x00, 0x7d, 0xc3, 0x56, 0xc0, 0x00, 0x7d, 0xc4, | ||
| 5035 | 0x56, 0xc1, 0x00, 0x7d, 0xc5, 0x56, 0xc2, 0x00, | ||
| 5036 | 0x7d, 0xc6, 0x56, 0xc3, 0x00, 0x7d, 0xc7, 0x17, | ||
| 5037 | 0xcd, 0x00, 0x7d, 0xca, 0x06, 0xd3, 0x00, 0x7d, | ||
| 5038 | 0xcb, 0x0d, 0x80, 0x00, 0x7d, 0xcc, 0x3a, 0x86, | ||
| 5039 | 0x00, 0x7d, 0xcd, 0x56, 0xc4, 0x00, 0x7d, 0xce, | ||
| 5040 | 0x56, 0xc5, 0x00, 0x7d, 0xcf, 0x0a, 0xef, 0x00, | ||
| 5041 | 0x7d, 0xd0, 0x4c, 0xd6, 0x00, 0x7d, 0xd1, 0x0f, | ||
| 5042 | 0x98, 0x00, 0x7d, 0xd2, 0x09, 0x79, 0x00, 0x7d, | ||
| 5043 | 0xd5, 0x17, 0xfd, 0x00, 0x7d, 0xd6, 0x21, 0x93, | ||
| 5044 | 0x00, 0x7d, 0xd7, 0x47, 0xb9, 0x00, 0x7d, 0xd8, | ||
| 5045 | 0x17, 0xd7, 0x00, 0x7d, 0xd9, 0x47, 0xba, 0x00, | ||
| 5046 | 0x7d, 0xda, 0x0a, 0xa2, 0x00, 0x7d, 0xdc, 0x17, | ||
| 5047 | 0xd3, 0x00, 0x7d, 0xdd, 0x17, 0xd8, 0x00, 0x7d, | ||
| 5048 | 0xde, 0x17, 0xda, 0x00, 0x7d, 0xe0, 0x0c, 0x15, | ||
| 5049 | 0x00, 0x7d, 0xe1, 0x17, 0xdd, 0x00, 0x7d, 0xe2, | ||
| 5050 | 0x56, 0xc7, 0x00, 0x7d, 0xe3, 0x34, 0x0a, 0x00, | ||
| 5051 | 0x7d, 0xe4, 0x17, 0xd9, 0x00, 0x7d, 0xe5, 0x4c, | ||
| 5052 | 0xd7, 0x00, 0x7d, 0xe6, 0x47, 0xbb, 0x00, 0x7d, | ||
| 5053 | 0xe8, 0x0e, 0x24, 0x00, 0x7d, 0xe9, 0x06, 0x07, | ||
| 5054 | 0x00, 0x7d, 0xea, 0x56, 0xc8, 0x00, 0x7d, 0xeb, | ||
| 5055 | 0x3a, 0x87, 0x00, 0x7d, 0xec, 0x0e, 0xd7, 0x00, | ||
| 5056 | 0x7d, 0xed, 0x56, 0xc9, 0x00, 0x7d, 0xef, 0x04, | ||
| 5057 | 0xa2, 0x00, 0x7d, 0xf1, 0x3a, 0x88, 0x00, 0x7d, | ||
| 5058 | 0xf2, 0x17, 0xdc, 0x00, 0x7d, 0xf4, 0x34, 0x57, | ||
| 5059 | 0x00, 0x7d, 0xf5, 0x4c, 0xd8, 0x00, 0x7d, 0xf6, | ||
| 5060 | 0x4c, 0xd9, 0x00, 0x7d, 0xf9, 0x3a, 0x89, 0x00, | ||
| 5061 | 0x7d, 0xfa, 0x56, 0xca, 0x00, 0x7d, 0xfb, 0x17, | ||
| 5062 | 0xdb, 0x00, 0x7e, 0x00, 0x56, 0xc6, 0x00, 0x7e, | ||
| 5063 | 0x01, 0x05, 0x11, 0x00, 0x7e, 0x04, 0x0c, 0xc4, | ||
| 5064 | 0x00, 0x7e, 0x05, 0x17, 0xde, 0x00, 0x7e, 0x08, | ||
| 5065 | 0x3a, 0x8a, 0x00, 0x7e, 0x09, 0x17, 0xe5, 0x00, | ||
| 5066 | 0x7e, 0x0a, 0x17, 0xdf, 0x00, 0x7e, 0x0b, 0x17, | ||
| 5067 | 0xe6, 0x00, 0x7e, 0x10, 0x47, 0xbf, 0x00, 0x7e, | ||
| 5068 | 0x11, 0x3a, 0x8b, 0x00, 0x7e, 0x12, 0x17, 0xe2, | ||
| 5069 | 0x00, 0x7e, 0x15, 0x3a, 0x8c, 0x00, 0x7e, 0x17, | ||
| 5070 | 0x47, 0xc0, 0x00, 0x7e, 0x1b, 0x0d, 0x31, 0x00, | ||
| 5071 | 0x7e, 0x1c, 0x56, 0xcb, 0x00, 0x7e, 0x1d, 0x47, | ||
| 5072 | 0xc1, 0x00, 0x7e, 0x1e, 0x08, 0xf6, 0x00, 0x7e, | ||
| 5073 | 0x1f, 0x17, 0xe4, 0x00, 0x7e, 0x20, 0x3a, 0x8d, | ||
| 5074 | 0x00, 0x7e, 0x21, 0x17, 0xe1, 0x00, 0x7e, 0x22, | ||
| 5075 | 0x17, 0xe7, 0x00, 0x7e, 0x23, 0x17, 0xe0, 0x00, | ||
| 5076 | 0x7e, 0x26, 0x09, 0x4e, 0x00, 0x7e, 0x27, 0x47, | ||
| 5077 | 0xc2, 0x00, 0x7e, 0x28, 0x42, 0x95, 0x00, 0x7e, | ||
| 5078 | 0x2b, 0x0e, 0x53, 0x00, 0x7e, 0x2c, 0x47, 0xc3, | ||
| 5079 | 0x00, 0x7e, 0x2d, 0x56, 0xcc, 0x00, 0x7e, 0x2e, | ||
| 5080 | 0x09, 0x56, 0x00, 0x7e, 0x2f, 0x4c, 0xda, 0x00, | ||
| 5081 | 0x7e, 0x31, 0x17, 0xe3, 0x00, 0x7e, 0x32, 0x17, | ||
| 5082 | 0xef, 0x00, 0x7e, 0x33, 0x56, 0xcd, 0x00, 0x7e, | ||
| 5083 | 0x35, 0x17, 0xeb, 0x00, 0x7e, 0x36, 0x4c, 0xdb, | ||
| 5084 | 0x00, 0x7e, 0x37, 0x17, 0xee, 0x00, 0x7e, 0x39, | ||
| 5085 | 0x17, 0xec, 0x00, 0x7e, 0x3a, 0x17, 0xf0, 0x00, | ||
| 5086 | 0x7e, 0x3b, 0x17, 0xea, 0x00, 0x7e, 0x3d, 0x17, | ||
| 5087 | 0xd0, 0x00, 0x7e, 0x3e, 0x0a, 0x77, 0x00, 0x7e, | ||
| 5088 | 0x3f, 0x56, 0xce, 0x00, 0x7e, 0x41, 0x0d, 0x5f, | ||
| 5089 | 0x00, 0x7e, 0x43, 0x17, 0xed, 0x00, 0x7e, 0x44, | ||
| 5090 | 0x4c, 0xdc, 0x00, 0x7e, 0x45, 0x47, 0xc4, 0x00, | ||
| 5091 | 0x7e, 0x46, 0x17, 0xe8, 0x00, 0x7e, 0x47, 0x3a, | ||
| 5092 | 0x8e, 0x00, 0x7e, 0x48, 0x37, 0x67, 0x00, 0x7e, | ||
| 5093 | 0x4a, 0x0a, 0xa3, 0x00, 0x7e, 0x4b, 0x07, 0x28, | ||
| 5094 | 0x00, 0x7e, 0x4d, 0x09, 0x35, 0x00, 0x7e, 0x4e, | ||
| 5095 | 0x56, 0xcf, 0x00, 0x7e, 0x50, 0x56, 0xd0, 0x00, | ||
| 5096 | 0x7e, 0x52, 0x21, 0x94, 0x00, 0x7e, 0x54, 0x09, | ||
| 5097 | 0xeb, 0x00, 0x7e, 0x55, 0x0a, 0xb8, 0x00, 0x7e, | ||
| 5098 | 0x56, 0x17, 0xf3, 0x00, 0x7e, 0x58, 0x56, 0xd1, | ||
| 5099 | 0x00, 0x7e, 0x59, 0x17, 0xf5, 0x00, 0x7e, 0x5a, | ||
| 5100 | 0x17, 0xf6, 0x00, 0x7e, 0x5d, 0x17, 0xf2, 0x00, | ||
| 5101 | 0x7e, 0x5e, 0x17, 0xf4, 0x00, 0x7e, 0x5f, 0x56, | ||
| 5102 | 0xd2, 0x00, 0x7e, 0x61, 0x1e, 0x11, 0x00, 0x7e, | ||
| 5103 | 0x62, 0x3a, 0x8f, 0x00, 0x7e, 0x65, 0x56, 0xd3, | ||
| 5104 | 0x00, 0x7e, 0x66, 0x17, 0xe9, 0x00, 0x7e, 0x67, | ||
| 5105 | 0x17, 0xf1, 0x00, 0x7e, 0x69, 0x17, 0xf9, 0x00, | ||
| 5106 | 0x7e, 0x6a, 0x17, 0xf8, 0x00, 0x7e, 0x6b, 0x1d, | ||
| 5107 | 0xf7, 0x00, 0x7e, 0x6d, 0x0e, 0xa8, 0x00, 0x7e, | ||
| 5108 | 0x6e, 0x3a, 0x90, 0x00, 0x7e, 0x6f, 0x4c, 0xdd, | ||
| 5109 | 0x00, 0x7e, 0x70, 0x07, 0x01, 0x00, 0x7e, 0x73, | ||
| 5110 | 0x3a, 0x91, 0x00, 0x7e, 0x75, 0x47, 0xc5, 0x00, | ||
| 5111 | 0x7e, 0x78, 0x4c, 0xde, 0x00, 0x7e, 0x79, 0x17, | ||
| 5112 | 0xf7, 0x00, 0x7e, 0x7b, 0x17, 0xfb, 0x00, 0x7e, | ||
| 5113 | 0x7c, 0x17, 0xfa, 0x00, 0x7e, 0x7d, 0x17, 0xfe, | ||
| 5114 | 0x00, 0x7e, 0x7e, 0x47, 0xc6, 0x00, 0x7e, 0x7f, | ||
| 5115 | 0x18, 0x00, 0x00, 0x7e, 0x81, 0x4c, 0xdf, 0x00, | ||
| 5116 | 0x7e, 0x82, 0x08, 0x8a, 0x00, 0x7e, 0x83, 0x17, | ||
| 5117 | 0xfc, 0x00, 0x7e, 0x86, 0x47, 0xc7, 0x00, 0x7e, | ||
| 5118 | 0x87, 0x47, 0xc8, 0x00, 0x7e, 0x88, 0x18, 0x01, | ||
| 5119 | 0x00, 0x7e, 0x89, 0x18, 0x02, 0x00, 0x7e, 0x8a, | ||
| 5120 | 0x20, 0xa7, 0x00, 0x7e, 0x8c, 0x18, 0x03, 0x00, | ||
| 5121 | 0x7e, 0x8d, 0x3a, 0x92, 0x00, 0x7e, 0x8e, 0x18, | ||
| 5122 | 0x09, 0x00, 0x7e, 0x8f, 0x0c, 0x35, 0x00, 0x7e, | ||
| 5123 | 0x90, 0x18, 0x05, 0x00, 0x7e, 0x91, 0x3a, 0x93, | ||
| 5124 | 0x00, 0x7e, 0x92, 0x18, 0x04, 0x00, 0x7e, 0x93, | ||
| 5125 | 0x18, 0x06, 0x00, 0x7e, 0x94, 0x18, 0x07, 0x00, | ||
| 5126 | 0x7e, 0x95, 0x56, 0xd4, 0x00, 0x7e, 0x96, 0x18, | ||
| 5127 | 0x08, 0x00, 0x7e, 0x98, 0x3a, 0x94, 0x00, 0x7e, | ||
| 5128 | 0x9a, 0x47, 0xca, 0x00, 0x7e, 0x9b, 0x18, 0x0a, | ||
| 5129 | 0x00, 0x7e, 0x9c, 0x18, 0x0b, 0x00, 0x7e, 0x9d, | ||
| 5130 | 0x56, 0xd5, 0x00, 0x7e, 0x9e, 0x56, 0xd6, 0x00, | ||
| 5131 | 0x7f, 0x36, 0x06, 0x08, 0x00, 0x7f, 0x38, 0x18, | ||
| 5132 | 0x0c, 0x00, 0x7f, 0x3a, 0x18, 0x0d, 0x00, 0x7f, | ||
| 5133 | 0x3b, 0x47, 0xcd, 0x00, 0x7f, 0x3c, 0x47, 0xcc, | ||
| 5134 | 0x00, 0x7f, 0x3d, 0x4c, 0xe0, 0x00, 0x7f, 0x3e, | ||
| 5135 | 0x47, 0xce, 0x00, 0x7f, 0x3f, 0x56, 0xd7, 0x00, | ||
| 5136 | 0x7f, 0x43, 0x47, 0xcf, 0x00, 0x7f, 0x44, 0x3a, | ||
| 5137 | 0x95, 0x00, 0x7f, 0x45, 0x18, 0x0e, 0x00, 0x7f, | ||
| 5138 | 0x47, 0x21, 0x95, 0x00, 0x7f, 0x4c, 0x18, 0x0f, | ||
| 5139 | 0x00, 0x7f, 0x4d, 0x18, 0x10, 0x00, 0x7f, 0x4e, | ||
| 5140 | 0x18, 0x11, 0x00, 0x7f, 0x4f, 0x3a, 0x96, 0x00, | ||
| 5141 | 0x7f, 0x50, 0x18, 0x12, 0x00, 0x7f, 0x51, 0x18, | ||
| 5142 | 0x13, 0x00, 0x7f, 0x52, 0x3a, 0x97, 0x00, 0x7f, | ||
| 5143 | 0x53, 0x3a, 0x98, 0x00, 0x7f, 0x54, 0x18, 0x15, | ||
| 5144 | 0x00, 0x7f, 0x55, 0x18, 0x14, 0x00, 0x7f, 0x58, | ||
| 5145 | 0x18, 0x16, 0x00, 0x7f, 0x5b, 0x4c, 0xe1, 0x00, | ||
| 5146 | 0x7f, 0x5c, 0x56, 0xd8, 0x00, 0x7f, 0x5d, 0x4c, | ||
| 5147 | 0xe2, 0x00, 0x7f, 0x5f, 0x18, 0x17, 0x00, 0x7f, | ||
| 5148 | 0x60, 0x18, 0x18, 0x00, 0x7f, 0x61, 0x3a, 0x99, | ||
| 5149 | 0x00, 0x7f, 0x63, 0x47, 0xd3, 0x00, 0x7f, 0x64, | ||
| 5150 | 0x47, 0xd4, 0x00, 0x7f, 0x65, 0x4c, 0xe3, 0x00, | ||
| 5151 | 0x7f, 0x66, 0x56, 0xd9, 0x00, 0x7f, 0x67, 0x18, | ||
| 5152 | 0x1b, 0x00, 0x7f, 0x68, 0x18, 0x19, 0x00, 0x7f, | ||
| 5153 | 0x69, 0x18, 0x1a, 0x00, 0x7f, 0x6a, 0x08, 0x51, | ||
| 5154 | 0x00, 0x7f, 0x6b, 0x07, 0x29, 0x00, 0x7f, 0x6d, | ||
| 5155 | 0x47, 0xd5, 0x00, 0x7f, 0x6e, 0x0b, 0x94, 0x00, | ||
| 5156 | 0x7f, 0x70, 0x0d, 0x47, 0x00, 0x7f, 0x71, 0x4c, | ||
| 5157 | 0xe4, 0x00, 0x7f, 0x72, 0x34, 0x29, 0x00, 0x7f, | ||
| 5158 | 0x75, 0x0d, 0x03, 0x00, 0x7f, 0x77, 0x0d, 0x81, | ||
| 5159 | 0x00, 0x7f, 0x78, 0x18, 0x1c, 0x00, 0x7f, 0x79, | ||
| 5160 | 0x13, 0x36, 0x00, 0x7f, 0x7d, 0x47, 0xd6, 0x00, | ||
| 5161 | 0x7f, 0x7e, 0x47, 0xd7, 0x00, 0x7f, 0x7f, 0x4c, | ||
| 5162 | 0xe5, 0x00, 0x7f, 0x80, 0x4c, 0xe6, 0x00, 0x7f, | ||
| 5163 | 0x82, 0x18, 0x1d, 0x00, 0x7f, 0x83, 0x18, 0x1f, | ||
| 5164 | 0x00, 0x7f, 0x85, 0x0f, 0x4f, 0x00, 0x7f, 0x86, | ||
| 5165 | 0x18, 0x1e, 0x00, 0x7f, 0x87, 0x18, 0x21, 0x00, | ||
| 5166 | 0x7f, 0x88, 0x18, 0x20, 0x00, 0x7f, 0x8a, 0x36, | ||
| 5167 | 0xfe, 0x00, 0x7f, 0x8b, 0x4c, 0xe7, 0x00, 0x7f, | ||
| 5168 | 0x8c, 0x18, 0x22, 0x00, 0x7f, 0x8d, 0x56, 0xdb, | ||
| 5169 | 0x00, 0x7f, 0x8e, 0x0d, 0x92, 0x00, 0x7f, 0x8f, | ||
| 5170 | 0x56, 0xdc, 0x00, 0x7f, 0x90, 0x47, 0xd8, 0x00, | ||
| 5171 | 0x7f, 0x91, 0x3a, 0x9a, 0x00, 0x7f, 0x94, 0x18, | ||
| 5172 | 0x23, 0x00, 0x7f, 0x96, 0x47, 0xdb, 0x00, 0x7f, | ||
| 5173 | 0x97, 0x42, 0x96, 0x00, 0x7f, 0x9a, 0x18, 0x26, | ||
| 5174 | 0x00, 0x7f, 0x9c, 0x47, 0xdc, 0x00, 0x7f, 0x9d, | ||
| 5175 | 0x18, 0x25, 0x00, 0x7f, 0x9e, 0x18, 0x24, 0x00, | ||
| 5176 | 0x7f, 0xa1, 0x21, 0x96, 0x00, 0x7f, 0xa2, 0x4c, | ||
| 5177 | 0xe8, 0x00, 0x7f, 0xa3, 0x18, 0x27, 0x00, 0x7f, | ||
| 5178 | 0xa4, 0x07, 0x08, 0x00, 0x7f, 0xa6, 0x56, 0xdd, | ||
| 5179 | 0x00, 0x7f, 0xa8, 0x0a, 0xa4, 0x00, 0x7f, 0xa9, | ||
| 5180 | 0x06, 0x5b, 0x00, 0x7f, 0xaa, 0x56, 0xde, 0x00, | ||
| 5181 | 0x7f, 0xad, 0x47, 0xdd, 0x00, 0x7f, 0xae, 0x18, | ||
| 5182 | 0x2b, 0x00, 0x7f, 0xaf, 0x18, 0x28, 0x00, 0x7f, | ||
| 5183 | 0xb2, 0x18, 0x29, 0x00, 0x7f, 0xb4, 0x56, 0xdf, | ||
| 5184 | 0x00, 0x7f, 0xb6, 0x18, 0x2c, 0x00, 0x7f, 0xb8, | ||
| 5185 | 0x18, 0x2d, 0x00, 0x7f, 0xb9, 0x18, 0x2a, 0x00, | ||
| 5186 | 0x7f, 0xbc, 0x56, 0xe0, 0x00, 0x7f, 0xbd, 0x21, | ||
| 5187 | 0x97, 0x00, 0x7f, 0xbf, 0x3a, 0x9b, 0x00, 0x7f, | ||
| 5188 | 0xc0, 0x56, 0xe1, 0x00, 0x7f, 0xc1, 0x05, 0x27, | ||
| 5189 | 0x00, 0x7f, 0xc3, 0x47, 0xdf, 0x00, 0x7f, 0xc5, | ||
| 5190 | 0x18, 0x2f, 0x00, 0x7f, 0xc6, 0x18, 0x30, 0x00, | ||
| 5191 | 0x7f, 0xc8, 0x56, 0xe2, 0x00, 0x7f, 0xca, 0x18, | ||
| 5192 | 0x31, 0x00, 0x7f, 0xcc, 0x0f, 0x4c, 0x00, 0x7f, | ||
| 5193 | 0xce, 0x3a, 0x9c, 0x00, 0x7f, 0xcf, 0x47, 0xe0, | ||
| 5194 | 0x00, 0x7f, 0xd2, 0x09, 0x36, 0x00, 0x7f, 0xd4, | ||
| 5195 | 0x18, 0x33, 0x00, 0x7f, 0xd5, 0x18, 0x32, 0x00, | ||
| 5196 | 0x7f, 0xdb, 0x42, 0x97, 0x00, 0x7f, 0xdf, 0x3a, | ||
| 5197 | 0x9d, 0x00, 0x7f, 0xe0, 0x0a, 0x2f, 0x00, 0x7f, | ||
| 5198 | 0xe1, 0x18, 0x34, 0x00, 0x7f, 0xe3, 0x47, 0xe1, | ||
| 5199 | 0x00, 0x7f, 0xe5, 0x3a, 0x9e, 0x00, 0x7f, 0xe6, | ||
| 5200 | 0x18, 0x35, 0x00, 0x7f, 0xe8, 0x56, 0xe3, 0x00, | ||
| 5201 | 0x7f, 0xe9, 0x18, 0x36, 0x00, 0x7f, 0xeb, 0x06, | ||
| 5202 | 0x21, 0x00, 0x7f, 0xec, 0x3a, 0x9f, 0x00, 0x7f, | ||
| 5203 | 0xee, 0x3a, 0xa0, 0x00, 0x7f, 0xef, 0x3a, 0xa1, | ||
| 5204 | 0x00, 0x7f, 0xf0, 0x06, 0x09, 0x00, 0x7f, 0xf2, | ||
| 5205 | 0x47, 0xe2, 0x00, 0x7f, 0xf3, 0x18, 0x37, 0x00, | ||
| 5206 | 0x7f, 0xf9, 0x18, 0x38, 0x00, 0x7f, 0xfa, 0x3a, | ||
| 5207 | 0xa2, 0x00, 0x7f, 0xfb, 0x0e, 0x8b, 0x00, 0x7f, | ||
| 5208 | 0xfc, 0x0f, 0x4d, 0x00, 0x7f, 0xfd, 0x4c, 0xe9, | ||
| 5209 | 0x00, 0x7f, 0xfe, 0x4c, 0xea, 0x00, 0x7f, 0xff, | ||
| 5210 | 0x4c, 0xeb, 0x00, 0x80, 0x00, 0x0f, 0x3e, 0x00, | ||
| 5211 | 0x80, 0x01, 0x0f, 0xdd, 0x00, 0x80, 0x02, 0x37, | ||
| 5212 | 0x13, 0x00, 0x80, 0x03, 0x07, 0xdf, 0x00, 0x80, | ||
| 5213 | 0x04, 0x18, 0x3b, 0x00, 0x80, 0x05, 0x09, 0x00, | ||
| 5214 | 0x00, 0x80, 0x06, 0x18, 0x3a, 0x00, 0x80, 0x07, | ||
| 5215 | 0x4c, 0xec, 0x00, 0x80, 0x08, 0x47, 0xe4, 0x00, | ||
| 5216 | 0x80, 0x0a, 0x47, 0xe3, 0x00, 0x80, 0x0b, 0x18, | ||
| 5217 | 0x3c, 0x00, 0x80, 0x0c, 0x08, 0xd5, 0x00, 0x80, | ||
| 5218 | 0x0d, 0x4c, 0xed, 0x00, 0x80, 0x0e, 0x3a, 0xa3, | ||
| 5219 | 0x00, 0x80, 0x0f, 0x56, 0xe4, 0x00, 0x80, 0x10, | ||
| 5220 | 0x0b, 0x31, 0x00, 0x80, 0x11, 0x3a, 0xa4, 0x00, | ||
| 5221 | 0x80, 0x12, 0x18, 0x3d, 0x00, 0x80, 0x13, 0x56, | ||
| 5222 | 0xe5, 0x00, 0x80, 0x14, 0x3a, 0xa5, 0x00, 0x80, | ||
| 5223 | 0x15, 0x07, 0xde, 0x00, 0x80, 0x16, 0x47, 0xe5, | ||
| 5224 | 0x00, 0x80, 0x17, 0x0e, 0xe3, 0x00, 0x80, 0x18, | ||
| 5225 | 0x18, 0x3e, 0x00, 0x80, 0x19, 0x18, 0x3f, 0x00, | ||
| 5226 | 0x80, 0x1c, 0x18, 0x40, 0x00, 0x80, 0x1d, 0x56, | ||
| 5227 | 0xe6, 0x00, 0x80, 0x1e, 0x4c, 0xee, 0x00, 0x80, | ||
| 5228 | 0x1f, 0x56, 0xe7, 0x00, 0x80, 0x20, 0x56, 0xe8, | ||
| 5229 | 0x00, 0x80, 0x21, 0x18, 0x41, 0x00, 0x80, 0x24, | ||
| 5230 | 0x3a, 0xa6, 0x00, 0x80, 0x26, 0x3a, 0xa7, 0x00, | ||
| 5231 | 0x80, 0x28, 0x18, 0x42, 0x00, 0x80, 0x2c, 0x47, | ||
| 5232 | 0xe6, 0x00, 0x80, 0x2e, 0x56, 0xe9, 0x00, 0x80, | ||
| 5233 | 0x30, 0x47, 0xe7, 0x00, 0x80, 0x33, 0x08, 0xd6, | ||
| 5234 | 0x00, 0x80, 0x34, 0x56, 0xea, 0x00, 0x80, 0x35, | ||
| 5235 | 0x42, 0x98, 0x00, 0x80, 0x36, 0x0e, 0xf9, 0x00, | ||
| 5236 | 0x80, 0x37, 0x42, 0x99, 0x00, 0x80, 0x39, 0x4c, | ||
| 5237 | 0xef, 0x00, 0x80, 0x3a, 0x3a, 0xa8, 0x00, 0x80, | ||
| 5238 | 0x3b, 0x18, 0x44, 0x00, 0x80, 0x3c, 0x3a, 0xa9, | ||
| 5239 | 0x00, 0x80, 0x3d, 0x0b, 0x7d, 0x00, 0x80, 0x3e, | ||
| 5240 | 0x56, 0xeb, 0x00, 0x80, 0x3f, 0x18, 0x43, 0x00, | ||
| 5241 | 0x80, 0x40, 0x56, 0xec, 0x00, 0x80, 0x43, 0x47, | ||
| 5242 | 0xe8, 0x00, 0x80, 0x44, 0x56, 0xed, 0x00, 0x80, | ||
| 5243 | 0x46, 0x18, 0x46, 0x00, 0x80, 0x4a, 0x18, 0x45, | ||
| 5244 | 0x00, 0x80, 0x52, 0x18, 0x47, 0x00, 0x80, 0x56, | ||
| 5245 | 0x0a, 0x5f, 0x00, 0x80, 0x58, 0x18, 0x48, 0x00, | ||
| 5246 | 0x80, 0x5a, 0x18, 0x49, 0x00, 0x80, 0x5e, 0x0e, | ||
| 5247 | 0x09, 0x00, 0x80, 0x5f, 0x18, 0x4a, 0x00, 0x80, | ||
| 5248 | 0x60, 0x3a, 0xaa, 0x00, 0x80, 0x61, 0x0a, 0xf1, | ||
| 5249 | 0x00, 0x80, 0x62, 0x18, 0x4b, 0x00, 0x80, 0x64, | ||
| 5250 | 0x56, 0xee, 0x00, 0x80, 0x66, 0x47, 0xe9, 0x00, | ||
| 5251 | 0x80, 0x68, 0x18, 0x4c, 0x00, 0x80, 0x6d, 0x56, | ||
| 5252 | 0xef, 0x00, 0x80, 0x6f, 0x0f, 0xc6, 0x00, 0x80, | ||
| 5253 | 0x70, 0x18, 0x4f, 0x00, 0x80, 0x71, 0x3a, 0xab, | ||
| 5254 | 0x00, 0x80, 0x72, 0x18, 0x4e, 0x00, 0x80, 0x73, | ||
| 5255 | 0x18, 0x4d, 0x00, 0x80, 0x74, 0x0b, 0xcc, 0x00, | ||
| 5256 | 0x80, 0x75, 0x3a, 0xac, 0x00, 0x80, 0x76, 0x18, | ||
| 5257 | 0x50, 0x00, 0x80, 0x77, 0x09, 0xec, 0x00, 0x80, | ||
| 5258 | 0x79, 0x18, 0x51, 0x00, 0x80, 0x7b, 0x47, 0xea, | ||
| 5259 | 0x00, 0x80, 0x7d, 0x18, 0x52, 0x00, 0x80, 0x7e, | ||
| 5260 | 0x0f, 0xde, 0x00, 0x80, 0x7f, 0x18, 0x53, 0x00, | ||
| 5261 | 0x80, 0x81, 0x56, 0xf0, 0x00, 0x80, 0x84, 0x18, | ||
| 5262 | 0x54, 0x00, 0x80, 0x85, 0x18, 0x56, 0x00, 0x80, | ||
| 5263 | 0x86, 0x18, 0x55, 0x00, 0x80, 0x87, 0x0d, 0x39, | ||
| 5264 | 0x00, 0x80, 0x88, 0x4c, 0xf0, 0x00, 0x80, 0x89, | ||
| 5265 | 0x0c, 0xd1, 0x00, 0x80, 0x8b, 0x0f, 0xe4, 0x00, | ||
| 5266 | 0x80, 0x8c, 0x0d, 0x3d, 0x00, 0x80, 0x8e, 0x4c, | ||
| 5267 | 0xf1, 0x00, 0x80, 0x93, 0x18, 0x58, 0x00, 0x80, | ||
| 5268 | 0x96, 0x09, 0xbb, 0x00, 0x80, 0x98, 0x0d, 0x9c, | ||
| 5269 | 0x00, 0x80, 0x99, 0x47, 0xeb, 0x00, 0x80, 0x9a, | ||
| 5270 | 0x18, 0x59, 0x00, 0x80, 0x9b, 0x18, 0x57, 0x00, | ||
| 5271 | 0x80, 0x9c, 0x47, 0xec, 0x00, 0x80, 0x9d, 0x06, | ||
| 5272 | 0x0a, 0x00, 0x80, 0x9e, 0x3a, 0xad, 0x00, 0x80, | ||
| 5273 | 0xa1, 0x07, 0x88, 0x00, 0x80, 0xa2, 0x08, 0xb6, | ||
| 5274 | 0x00, 0x80, 0xa4, 0x47, 0xed, 0x00, 0x80, 0xa5, | ||
| 5275 | 0x0d, 0x82, 0x00, 0x80, 0xa6, 0x3a, 0xae, 0x00, | ||
| 5276 | 0x80, 0xa7, 0x47, 0xee, 0x00, 0x80, 0xa9, 0x07, | ||
| 5277 | 0x5e, 0x00, 0x80, 0xaa, 0x0e, 0x71, 0x00, 0x80, | ||
| 5278 | 0xab, 0x3a, 0xaf, 0x00, 0x80, 0xac, 0x18, 0x5c, | ||
| 5279 | 0x00, 0x80, 0xad, 0x18, 0x5a, 0x00, 0x80, 0xaf, | ||
| 5280 | 0x07, 0xe0, 0x00, 0x80, 0xb1, 0x07, 0xe1, 0x00, | ||
| 5281 | 0x80, 0xb2, 0x04, 0xad, 0x00, 0x80, 0xb4, 0x08, | ||
| 5282 | 0x58, 0x00, 0x80, 0xb8, 0x47, 0xef, 0x00, 0x80, | ||
| 5283 | 0xb9, 0x56, 0xf1, 0x00, 0x80, 0xba, 0x0d, 0x0f, | ||
| 5284 | 0x00, 0x80, 0xc3, 0x04, 0xa3, 0x00, 0x80, 0xc4, | ||
| 5285 | 0x18, 0x61, 0x00, 0x80, 0xc5, 0x47, 0xf1, 0x00, | ||
| 5286 | 0x80, 0xc6, 0x0b, 0x7e, 0x00, 0x80, 0xc8, 0x56, | ||
| 5287 | 0xf2, 0x00, 0x80, 0xca, 0x42, 0x9a, 0x00, 0x80, | ||
| 5288 | 0xcc, 0x0d, 0x0e, 0x00, 0x80, 0xcd, 0x56, 0xf3, | ||
| 5289 | 0x00, 0x80, 0xce, 0x0b, 0x3b, 0x00, 0x80, 0xcf, | ||
| 5290 | 0x4c, 0xf2, 0x00, 0x80, 0xd2, 0x56, 0xf4, 0x00, | ||
| 5291 | 0x80, 0xd4, 0x4c, 0xf3, 0x00, 0x80, 0xd5, 0x47, | ||
| 5292 | 0xf2, 0x00, 0x80, 0xd6, 0x18, 0x63, 0x00, 0x80, | ||
| 5293 | 0xd7, 0x3a, 0xb0, 0x00, 0x80, 0xd8, 0x3a, 0xb1, | ||
| 5294 | 0x00, 0x80, 0xd9, 0x18, 0x5f, 0x00, 0x80, 0xda, | ||
| 5295 | 0x18, 0x62, 0x00, 0x80, 0xdb, 0x18, 0x5d, 0x00, | ||
| 5296 | 0x80, 0xdd, 0x18, 0x60, 0x00, 0x80, 0xde, 0x0e, | ||
| 5297 | 0x54, 0x00, 0x80, 0xe0, 0x42, 0x9b, 0x00, 0x80, | ||
| 5298 | 0xe1, 0x07, 0x89, 0x00, 0x80, 0xe4, 0x04, 0xc1, | ||
| 5299 | 0x00, 0x80, 0xe5, 0x18, 0x5e, 0x00, 0x80, 0xe6, | ||
| 5300 | 0x47, 0xf3, 0x00, 0x80, 0xed, 0x4c, 0xf4, 0x00, | ||
| 5301 | 0x80, 0xee, 0x56, 0xf5, 0x00, 0x80, 0xef, 0x18, | ||
| 5302 | 0x65, 0x00, 0x80, 0xf0, 0x4c, 0xf5, 0x00, 0x80, | ||
| 5303 | 0xf1, 0x18, 0x66, 0x00, 0x80, 0xf2, 0x56, 0xf6, | ||
| 5304 | 0x00, 0x80, 0xf3, 0x42, 0x9c, 0x00, 0x80, 0xf4, | ||
| 5305 | 0x0c, 0x91, 0x00, 0x80, 0xf5, 0x47, 0xf5, 0x00, | ||
| 5306 | 0x80, 0xf6, 0x56, 0xf7, 0x00, 0x80, 0xf7, 0x4c, | ||
| 5307 | 0xf6, 0x00, 0x80, 0xf8, 0x06, 0xb3, 0x00, 0x80, | ||
| 5308 | 0xf9, 0x56, 0xf8, 0x00, 0x80, 0xfa, 0x4c, 0xf7, | ||
| 5309 | 0x00, 0x80, 0xfb, 0x47, 0xf6, 0x00, 0x80, 0xfc, | ||
| 5310 | 0x18, 0x71, 0x00, 0x80, 0xfd, 0x0c, 0xf3, 0x00, | ||
| 5311 | 0x80, 0xfe, 0x4c, 0xf8, 0x00, 0x81, 0x02, 0x08, | ||
| 5312 | 0xb7, 0x00, 0x81, 0x03, 0x4c, 0xf9, 0x00, 0x81, | ||
| 5313 | 0x05, 0x06, 0xb4, 0x00, 0x81, 0x06, 0x0a, 0x6c, | ||
| 5314 | 0x00, 0x81, 0x07, 0x0f, 0xec, 0x00, 0x81, 0x08, | ||
| 5315 | 0x0e, 0xba, 0x00, 0x81, 0x09, 0x18, 0x64, 0x00, | ||
| 5316 | 0x81, 0x0a, 0x0a, 0x78, 0x00, 0x81, 0x0b, 0x56, | ||
| 5317 | 0xf9, 0x00, 0x81, 0x0d, 0x47, 0xf4, 0x00, 0x81, | ||
| 5318 | 0x16, 0x3a, 0xb2, 0x00, 0x81, 0x17, 0x4c, 0xfa, | ||
| 5319 | 0x00, 0x81, 0x18, 0x3a, 0xb3, 0x00, 0x81, 0x1a, | ||
| 5320 | 0x06, 0x6d, 0x00, 0x81, 0x1b, 0x18, 0x67, 0x00, | ||
| 5321 | 0x81, 0x1c, 0x56, 0xfa, 0x00, 0x81, 0x1e, 0x47, | ||
| 5322 | 0xf9, 0x00, 0x81, 0x20, 0x56, 0xfb, 0x00, 0x81, | ||
| 5323 | 0x23, 0x18, 0x69, 0x00, 0x81, 0x24, 0x47, 0xfb, | ||
| 5324 | 0x00, 0x81, 0x27, 0x47, 0xfc, 0x00, 0x81, 0x29, | ||
| 5325 | 0x18, 0x68, 0x00, 0x81, 0x2b, 0x36, 0x59, 0x00, | ||
| 5326 | 0x81, 0x2c, 0x47, 0xfd, 0x00, 0x81, 0x2f, 0x18, | ||
| 5327 | 0x6a, 0x00, 0x81, 0x30, 0x4c, 0xfb, 0x00, 0x81, | ||
| 5328 | 0x31, 0x0b, 0x64, 0x00, 0x81, 0x33, 0x0c, 0xf4, | ||
| 5329 | 0x00, 0x81, 0x35, 0x47, 0xf8, 0x00, 0x81, 0x39, | ||
| 5330 | 0x0b, 0xcd, 0x00, 0x81, 0x3a, 0x3a, 0xb4, 0x00, | ||
| 5331 | 0x81, 0x3c, 0x56, 0xfc, 0x00, 0x81, 0x3d, 0x47, | ||
| 5332 | 0xff, 0x00, 0x81, 0x3e, 0x18, 0x6e, 0x00, 0x81, | ||
| 5333 | 0x41, 0x37, 0x72, 0x00, 0x81, 0x45, 0x56, 0xfd, | ||
| 5334 | 0x00, 0x81, 0x46, 0x18, 0x6d, 0x00, 0x81, 0x47, | ||
| 5335 | 0x56, 0xfe, 0x00, 0x81, 0x4a, 0x3a, 0xb5, 0x00, | ||
| 5336 | 0x81, 0x4b, 0x18, 0x6b, 0x00, 0x81, 0x4c, 0x3a, | ||
| 5337 | 0xb6, 0x00, 0x81, 0x4e, 0x0a, 0x1b, 0x00, 0x81, | ||
| 5338 | 0x50, 0x0d, 0xd7, 0x00, 0x81, 0x51, 0x18, 0x70, | ||
| 5339 | 0x00, 0x81, 0x52, 0x56, 0xff, 0x00, 0x81, 0x53, | ||
| 5340 | 0x18, 0x6f, 0x00, 0x81, 0x54, 0x07, 0xe2, 0x00, | ||
| 5341 | 0x81, 0x55, 0x0f, 0xf9, 0x00, 0x81, 0x57, 0x4c, | ||
| 5342 | 0xfc, 0x00, 0x81, 0x5f, 0x18, 0x80, 0x00, 0x81, | ||
| 5343 | 0x60, 0x42, 0x9d, 0x00, 0x81, 0x61, 0x57, 0x00, | ||
| 5344 | 0x00, 0x81, 0x65, 0x18, 0x74, 0x00, 0x81, 0x66, | ||
| 5345 | 0x18, 0x75, 0x00, 0x81, 0x67, 0x42, 0x9e, 0x00, | ||
| 5346 | 0x81, 0x68, 0x42, 0x9f, 0x00, 0x81, 0x69, 0x48, | ||
| 5347 | 0x01, 0x00, 0x81, 0x6b, 0x09, 0x1c, 0x00, 0x81, | ||
| 5348 | 0x6d, 0x42, 0xa0, 0x00, 0x81, 0x6e, 0x18, 0x73, | ||
| 5349 | 0x00, 0x81, 0x6f, 0x4c, 0xfd, 0x00, 0x81, 0x70, | ||
| 5350 | 0x08, 0x0a, 0x00, 0x81, 0x71, 0x18, 0x72, 0x00, | ||
| 5351 | 0x81, 0x73, 0x4c, 0xfe, 0x00, 0x81, 0x74, 0x18, | ||
| 5352 | 0x76, 0x00, 0x81, 0x77, 0x57, 0x01, 0x00, 0x81, | ||
| 5353 | 0x78, 0x0b, 0xce, 0x00, 0x81, 0x79, 0x0d, 0xf2, | ||
| 5354 | 0x00, 0x81, 0x7a, 0x0a, 0xa5, 0x00, 0x81, 0x7f, | ||
| 5355 | 0x0b, 0x3c, 0x00, 0x81, 0x80, 0x18, 0x7a, 0x00, | ||
| 5356 | 0x81, 0x81, 0x3a, 0xb7, 0x00, 0x81, 0x82, 0x18, | ||
| 5357 | 0x7b, 0x00, 0x81, 0x83, 0x18, 0x77, 0x00, 0x81, | ||
| 5358 | 0x84, 0x3a, 0xb8, 0x00, 0x81, 0x85, 0x48, 0x04, | ||
| 5359 | 0x00, 0x81, 0x86, 0x57, 0x02, 0x00, 0x81, 0x88, | ||
| 5360 | 0x18, 0x78, 0x00, 0x81, 0x8a, 0x18, 0x79, 0x00, | ||
| 5361 | 0x81, 0x8b, 0x4c, 0xff, 0x00, 0x81, 0x8e, 0x57, | ||
| 5362 | 0x03, 0x00, 0x81, 0x8f, 0x07, 0xe3, 0x00, 0x81, | ||
| 5363 | 0x90, 0x4d, 0x00, 0x00, 0x81, 0x93, 0x18, 0x81, | ||
| 5364 | 0x00, 0x81, 0x95, 0x18, 0x7d, 0x00, 0x81, 0x96, | ||
| 5365 | 0x57, 0x04, 0x00, 0x81, 0x98, 0x48, 0x06, 0x00, | ||
| 5366 | 0x81, 0x9a, 0x0d, 0xd8, 0x00, 0x81, 0x9b, 0x4d, | ||
| 5367 | 0x01, 0x00, 0x81, 0x9c, 0x0e, 0x9a, 0x00, 0x81, | ||
| 5368 | 0x9d, 0x0d, 0x9a, 0x00, 0x81, 0x9e, 0x4d, 0x02, | ||
| 5369 | 0x00, 0x81, 0xa0, 0x18, 0x7c, 0x00, 0x81, 0xa2, | ||
| 5370 | 0x57, 0x05, 0x00, 0x81, 0xa3, 0x18, 0x7f, 0x00, | ||
| 5371 | 0x81, 0xa4, 0x18, 0x7e, 0x00, 0x81, 0xa8, 0x0e, | ||
| 5372 | 0x72, 0x00, 0x81, 0xa9, 0x18, 0x82, 0x00, 0x81, | ||
| 5373 | 0xae, 0x57, 0x06, 0x00, 0x81, 0xb0, 0x18, 0x83, | ||
| 5374 | 0x00, 0x81, 0xb2, 0x48, 0x07, 0x00, 0x81, 0xb3, | ||
| 5375 | 0x0a, 0xb9, 0x00, 0x81, 0xb4, 0x3a, 0xb9, 0x00, | ||
| 5376 | 0x81, 0xb5, 0x18, 0x84, 0x00, 0x81, 0xb8, 0x18, | ||
| 5377 | 0x86, 0x00, 0x81, 0xba, 0x18, 0x8a, 0x00, 0x81, | ||
| 5378 | 0xbb, 0x42, 0xa1, 0x00, 0x81, 0xbd, 0x18, 0x87, | ||
| 5379 | 0x00, 0x81, 0xbe, 0x18, 0x85, 0x00, 0x81, 0xbf, | ||
| 5380 | 0x0c, 0xf5, 0x00, 0x81, 0xc0, 0x18, 0x88, 0x00, | ||
| 5381 | 0x81, 0xc1, 0x48, 0x08, 0x00, 0x81, 0xc2, 0x18, | ||
| 5382 | 0x89, 0x00, 0x81, 0xc3, 0x48, 0x09, 0x00, 0x81, | ||
| 5383 | 0xc5, 0x57, 0x07, 0x00, 0x81, 0xc6, 0x05, 0x32, | ||
| 5384 | 0x00, 0x81, 0xc8, 0x18, 0x90, 0x00, 0x81, 0xc9, | ||
| 5385 | 0x18, 0x8b, 0x00, 0x81, 0xca, 0x42, 0xa2, 0x00, | ||
| 5386 | 0x81, 0xcb, 0x4d, 0x03, 0x00, 0x81, 0xcd, 0x18, | ||
| 5387 | 0x8c, 0x00, 0x81, 0xce, 0x57, 0x08, 0x00, 0x81, | ||
| 5388 | 0xcf, 0x3a, 0xba, 0x00, 0x81, 0xd1, 0x18, 0x8d, | ||
| 5389 | 0x00, 0x81, 0xd3, 0x0b, 0x01, 0x00, 0x81, 0xd5, | ||
| 5390 | 0x4d, 0x04, 0x00, 0x81, 0xd6, 0x48, 0x0a, 0x00, | ||
| 5391 | 0x81, 0xd7, 0x42, 0xa3, 0x00, 0x81, 0xd8, 0x18, | ||
| 5392 | 0x8f, 0x00, 0x81, 0xd9, 0x18, 0x8e, 0x00, 0x81, | ||
| 5393 | 0xda, 0x18, 0x91, 0x00, 0x81, 0xdb, 0x48, 0x0b, | ||
| 5394 | 0x00, 0x81, 0xdd, 0x4d, 0x05, 0x00, 0x81, 0xde, | ||
| 5395 | 0x4d, 0x06, 0x00, 0x81, 0xdf, 0x18, 0x92, 0x00, | ||
| 5396 | 0x81, 0xe0, 0x18, 0x93, 0x00, 0x81, 0xe1, 0x4d, | ||
| 5397 | 0x07, 0x00, 0x81, 0xe3, 0x0a, 0x09, 0x00, 0x81, | ||
| 5398 | 0xe4, 0x48, 0x0d, 0x00, 0x81, 0xe5, 0x05, 0x69, | ||
| 5399 | 0x00, 0x81, 0xe7, 0x18, 0x94, 0x00, 0x81, 0xe8, | ||
| 5400 | 0x0f, 0x9f, 0x00, 0x81, 0xea, 0x08, 0xd7, 0x00, | ||
| 5401 | 0x81, 0xeb, 0x57, 0x09, 0x00, 0x81, 0xec, 0x48, | ||
| 5402 | 0x0f, 0x00, 0x81, 0xed, 0x09, 0x37, 0x00, 0x81, | ||
| 5403 | 0xef, 0x4d, 0x08, 0x00, 0x81, 0xf0, 0x57, 0x0a, | ||
| 5404 | 0x00, 0x81, 0xf1, 0x57, 0x0b, 0x00, 0x81, 0xf2, | ||
| 5405 | 0x57, 0x0c, 0x00, 0x81, 0xf3, 0x08, 0xb8, 0x00, | ||
| 5406 | 0x81, 0xf4, 0x0b, 0x95, 0x00, 0x81, 0xf5, 0x57, | ||
| 5407 | 0x0d, 0x00, 0x81, 0xf6, 0x4d, 0x09, 0x00, 0x81, | ||
| 5408 | 0xf8, 0x57, 0x0e, 0x00, 0x81, 0xf9, 0x3a, 0xbb, | ||
| 5409 | 0x00, 0x81, 0xfa, 0x18, 0x95, 0x00, 0x81, 0xfb, | ||
| 5410 | 0x18, 0x96, 0x00, 0x81, 0xfc, 0x04, 0xd3, 0x00, | ||
| 5411 | 0x81, 0xfd, 0x48, 0x10, 0x00, 0x81, 0xfe, 0x18, | ||
| 5412 | 0x97, 0x00, 0x81, 0xff, 0x48, 0x11, 0x00, 0x82, | ||
| 5413 | 0x00, 0x4d, 0x0a, 0x00, 0x82, 0x01, 0x18, 0x98, | ||
| 5414 | 0x00, 0x82, 0x02, 0x18, 0x99, 0x00, 0x82, 0x03, | ||
| 5415 | 0x3a, 0xbc, 0x00, 0x82, 0x04, 0x48, 0x13, 0x00, | ||
| 5416 | 0x82, 0x05, 0x18, 0x9a, 0x00, 0x82, 0x07, 0x18, | ||
| 5417 | 0x9b, 0x00, 0x82, 0x08, 0x06, 0xb5, 0x00, 0x82, | ||
| 5418 | 0x09, 0x13, 0xaf, 0x00, 0x82, 0x0a, 0x18, 0x9c, | ||
| 5419 | 0x00, 0x82, 0x0b, 0x4d, 0x0b, 0x00, 0x82, 0x0c, | ||
| 5420 | 0x0a, 0x89, 0x00, 0x82, 0x0d, 0x18, 0x9d, 0x00, | ||
| 5421 | 0x82, 0x0e, 0x08, 0xf7, 0x00, 0x82, 0x0f, 0x57, | ||
| 5422 | 0x10, 0x00, 0x82, 0x10, 0x18, 0x9e, 0x00, 0x82, | ||
| 5423 | 0x12, 0x10, 0x09, 0x00, 0x82, 0x13, 0x4d, 0x0c, | ||
| 5424 | 0x00, 0x82, 0x14, 0x4d, 0x0d, 0x00, 0x82, 0x16, | ||
| 5425 | 0x18, 0x9f, 0x00, 0x82, 0x17, 0x0e, 0x2e, 0x00, | ||
| 5426 | 0x82, 0x18, 0x06, 0x18, 0x00, 0x82, 0x19, 0x48, | ||
| 5427 | 0x15, 0x00, 0x82, 0x1a, 0x4d, 0x0e, 0x00, 0x82, | ||
| 5428 | 0x1b, 0x0a, 0xa6, 0x00, 0x82, 0x1c, 0x09, 0x62, | ||
| 5429 | 0x00, 0x82, 0x1d, 0x57, 0x11, 0x00, 0x82, 0x1e, | ||
| 5430 | 0x0d, 0xe3, 0x00, 0x82, 0x1f, 0x09, 0x38, 0x00, | ||
| 5431 | 0x82, 0x21, 0x3a, 0xbd, 0x00, 0x82, 0x22, 0x48, | ||
| 5432 | 0x16, 0x00, 0x82, 0x28, 0x57, 0x12, 0x00, 0x82, | ||
| 5433 | 0x29, 0x18, 0xa0, 0x00, 0x82, 0x2a, 0x07, 0xe4, | ||
| 5434 | 0x00, 0x82, 0x2b, 0x18, 0xa1, 0x00, 0x82, 0x2c, | ||
| 5435 | 0x0d, 0x60, 0x00, 0x82, 0x2e, 0x18, 0xaf, 0x00, | ||
| 5436 | 0x82, 0x32, 0x3a, 0xbe, 0x00, 0x82, 0x33, 0x18, | ||
| 5437 | 0xa3, 0x00, 0x82, 0x34, 0x3a, 0xbf, 0x00, 0x82, | ||
| 5438 | 0x35, 0x0b, 0x29, 0x00, 0x82, 0x36, 0x0d, 0x2b, | ||
| 5439 | 0x00, 0x82, 0x37, 0x07, 0x73, 0x00, 0x82, 0x38, | ||
| 5440 | 0x18, 0xa2, 0x00, 0x82, 0x39, 0x0a, 0xa7, 0x00, | ||
| 5441 | 0x82, 0x3a, 0x4d, 0x0f, 0x00, 0x82, 0x3c, 0x48, | ||
| 5442 | 0x18, 0x00, 0x82, 0x40, 0x18, 0xa4, 0x00, 0x82, | ||
| 5443 | 0x43, 0x57, 0x13, 0x00, 0x82, 0x44, 0x4d, 0x10, | ||
| 5444 | 0x00, 0x82, 0x45, 0x48, 0x1a, 0x00, 0x82, 0x46, | ||
| 5445 | 0x3a, 0xc0, 0x00, 0x82, 0x47, 0x0c, 0x16, 0x00, | ||
| 5446 | 0x82, 0x49, 0x48, 0x19, 0x00, 0x82, 0x4b, 0x3a, | ||
| 5447 | 0xc1, 0x00, 0x82, 0x4e, 0x57, 0x14, 0x00, 0x82, | ||
| 5448 | 0x4f, 0x3a, 0xc2, 0x00, 0x82, 0x51, 0x57, 0x15, | ||
| 5449 | 0x00, 0x82, 0x56, 0x57, 0x16, 0x00, 0x82, 0x57, | ||
| 5450 | 0x48, 0x1e, 0x00, 0x82, 0x58, 0x18, 0xa6, 0x00, | ||
| 5451 | 0x82, 0x59, 0x18, 0xa5, 0x00, 0x82, 0x5a, 0x18, | ||
| 5452 | 0xa8, 0x00, 0x82, 0x5c, 0x48, 0x20, 0x00, 0x82, | ||
| 5453 | 0x5d, 0x18, 0xa7, 0x00, 0x82, 0x5f, 0x18, 0xa9, | ||
| 5454 | 0x00, 0x82, 0x60, 0x42, 0xa5, 0x00, 0x82, 0x62, | ||
| 5455 | 0x18, 0xab, 0x00, 0x82, 0x63, 0x48, 0x21, 0x00, | ||
| 5456 | 0x82, 0x64, 0x18, 0xaa, 0x00, 0x82, 0x66, 0x06, | ||
| 5457 | 0x0b, 0x00, 0x82, 0x67, 0x57, 0x17, 0x00, 0x82, | ||
| 5458 | 0x68, 0x18, 0xac, 0x00, 0x82, 0x6a, 0x18, 0xad, | ||
| 5459 | 0x00, 0x82, 0x6b, 0x18, 0xae, 0x00, 0x82, 0x6d, | ||
| 5460 | 0x4d, 0x11, 0x00, 0x82, 0x6e, 0x08, 0x21, 0x00, | ||
| 5461 | 0x82, 0x6f, 0x0f, 0x91, 0x00, 0x82, 0x71, 0x18, | ||
| 5462 | 0xb0, 0x00, 0x82, 0x72, 0x09, 0xed, 0x00, 0x82, | ||
| 5463 | 0x74, 0x42, 0xa6, 0x00, 0x82, 0x76, 0x05, 0x12, | ||
| 5464 | 0x00, 0x82, 0x77, 0x18, 0xb1, 0x00, 0x82, 0x78, | ||
| 5465 | 0x18, 0xb2, 0x00, 0x82, 0x79, 0x37, 0x75, 0x00, | ||
| 5466 | 0x82, 0x7b, 0x57, 0x18, 0x00, 0x82, 0x7d, 0x48, | ||
| 5467 | 0x24, 0x00, 0x82, 0x7e, 0x18, 0xb3, 0x00, 0x82, | ||
| 5468 | 0x7f, 0x48, 0x25, 0x00, 0x82, 0x80, 0x57, 0x19, | ||
| 5469 | 0x00, 0x82, 0x81, 0x57, 0x1a, 0x00, 0x82, 0x83, | ||
| 5470 | 0x48, 0x26, 0x00, 0x82, 0x84, 0x4d, 0x12, 0x00, | ||
| 5471 | 0x82, 0x87, 0x57, 0x1b, 0x00, 0x82, 0x89, 0x4d, | ||
| 5472 | 0x13, 0x00, 0x82, 0x8a, 0x48, 0x27, 0x00, 0x82, | ||
| 5473 | 0x8b, 0x04, 0xb6, 0x00, 0x82, 0x8d, 0x18, 0xb4, | ||
| 5474 | 0x00, 0x82, 0x8e, 0x3a, 0xc3, 0x00, 0x82, 0x91, | ||
| 5475 | 0x4d, 0x14, 0x00, 0x82, 0x92, 0x18, 0xb5, 0x00, | ||
| 5476 | 0x82, 0x93, 0x48, 0x28, 0x00, 0x82, 0x94, 0x57, | ||
| 5477 | 0x1c, 0x00, 0x82, 0x96, 0x57, 0x1d, 0x00, 0x82, | ||
| 5478 | 0x98, 0x57, 0x1e, 0x00, 0x82, 0x99, 0x0d, 0xd9, | ||
| 5479 | 0x00, 0x82, 0x9a, 0x57, 0x1f, 0x00, 0x82, 0x9b, | ||
| 5480 | 0x57, 0x20, 0x00, 0x82, 0x9d, 0x08, 0xf3, 0x00, | ||
| 5481 | 0x82, 0x9f, 0x18, 0xb7, 0x00, 0x82, 0xa0, 0x57, | ||
| 5482 | 0x21, 0x00, 0x82, 0xa1, 0x42, 0xa8, 0x00, 0x82, | ||
| 5483 | 0xa3, 0x42, 0xa9, 0x00, 0x82, 0xa4, 0x42, 0xaa, | ||
| 5484 | 0x00, 0x82, 0xa5, 0x05, 0x87, 0x00, 0x82, 0xa6, | ||
| 5485 | 0x04, 0x76, 0x00, 0x82, 0xa7, 0x48, 0x29, 0x00, | ||
| 5486 | 0x82, 0xa8, 0x48, 0x2a, 0x00, 0x82, 0xa9, 0x42, | ||
| 5487 | 0xab, 0x00, 0x82, 0xaa, 0x4d, 0x15, 0x00, 0x82, | ||
| 5488 | 0xab, 0x18, 0xb6, 0x00, 0x82, 0xac, 0x18, 0xb9, | ||
| 5489 | 0x00, 0x82, 0xad, 0x0d, 0x04, 0x00, 0x82, 0xae, | ||
| 5490 | 0x3a, 0xc4, 0x00, 0x82, 0xaf, 0x0a, 0x0a, 0x00, | ||
| 5491 | 0x82, 0xb0, 0x4d, 0x16, 0x00, 0x82, 0xb1, 0x05, | ||
| 5492 | 0x56, 0x00, 0x82, 0xb2, 0x48, 0x2b, 0x00, 0x82, | ||
| 5493 | 0xb3, 0x0e, 0x55, 0x00, 0x82, 0xb4, 0x48, 0x2c, | ||
| 5494 | 0x00, 0x82, 0xb7, 0x3a, 0xc5, 0x00, 0x82, 0xb8, | ||
| 5495 | 0x07, 0x33, 0x00, 0x82, 0xb9, 0x06, 0xd4, 0x00, | ||
| 5496 | 0x82, 0xba, 0x48, 0x2d, 0x00, 0x82, 0xbb, 0x18, | ||
| 5497 | 0xb8, 0x00, 0x82, 0xbc, 0x48, 0x2e, 0x00, 0x82, | ||
| 5498 | 0xbd, 0x35, 0x66, 0x00, 0x82, 0xbe, 0x3a, 0xc6, | ||
| 5499 | 0x00, 0x82, 0xbf, 0x42, 0xac, 0x00, 0x82, 0xc5, | ||
| 5500 | 0x05, 0xdf, 0x00, 0x82, 0xc6, 0x3a, 0xc7, 0x00, | ||
| 5501 | 0x82, 0xd0, 0x4d, 0x17, 0x00, 0x82, 0xd1, 0x05, | ||
| 5502 | 0x13, 0x00, 0x82, 0xd2, 0x18, 0xbd, 0x00, 0x82, | ||
| 5503 | 0xd3, 0x0f, 0xb2, 0x00, 0x82, 0xd4, 0x0b, 0x3d, | ||
| 5504 | 0x00, 0x82, 0xd5, 0x42, 0xad, 0x00, 0x82, 0xd7, | ||
| 5505 | 0x0d, 0xb6, 0x00, 0x82, 0xd9, 0x18, 0xc9, 0x00, | ||
| 5506 | 0x82, 0xda, 0x57, 0x22, 0x00, 0x82, 0xdb, 0x05, | ||
| 5507 | 0x57, 0x00, 0x82, 0xdc, 0x18, 0xc7, 0x00, 0x82, | ||
| 5508 | 0xde, 0x18, 0xc5, 0x00, 0x82, 0xdf, 0x18, 0xbc, | ||
| 5509 | 0x00, 0x82, 0xe0, 0x57, 0x23, 0x00, 0x82, 0xe1, | ||
| 5510 | 0x18, 0xba, 0x00, 0x82, 0xe2, 0x48, 0x2f, 0x00, | ||
| 5511 | 0x82, 0xe3, 0x18, 0xbb, 0x00, 0x82, 0xe4, 0x57, | ||
| 5512 | 0x24, 0x00, 0x82, 0xe5, 0x09, 0x0f, 0x00, 0x82, | ||
| 5513 | 0xe6, 0x06, 0xe4, 0x00, 0x82, 0xe7, 0x0b, 0xb5, | ||
| 5514 | 0x00, 0x82, 0xe8, 0x48, 0x30, 0x00, 0x82, 0xea, | ||
| 5515 | 0x4d, 0x18, 0x00, 0x82, 0xeb, 0x0c, 0xa9, 0x00, | ||
| 5516 | 0x82, 0xed, 0x57, 0x25, 0x00, 0x82, 0xef, 0x4d, | ||
| 5517 | 0x19, 0x00, 0x82, 0xf1, 0x04, 0xf3, 0x00, 0x82, | ||
| 5518 | 0xf3, 0x18, 0xbf, 0x00, 0x82, 0xf4, 0x18, 0xbe, | ||
| 5519 | 0x00, 0x82, 0xf6, 0x4d, 0x1a, 0x00, 0x82, 0xf7, | ||
| 5520 | 0x48, 0x31, 0x00, 0x82, 0xf9, 0x18, 0xc4, 0x00, | ||
| 5521 | 0x82, 0xfa, 0x18, 0xc0, 0x00, 0x82, 0xfb, 0x18, | ||
| 5522 | 0xc3, 0x00, 0x82, 0xfd, 0x42, 0xae, 0x00, 0x82, | ||
| 5523 | 0xfe, 0x3a, 0xc8, 0x00, 0x83, 0x00, 0x42, 0xaf, | ||
| 5524 | 0x00, 0x83, 0x01, 0x21, 0x98, 0x00, 0x83, 0x02, | ||
| 5525 | 0x0e, 0xdc, 0x00, 0x83, 0x03, 0x18, 0xc2, 0x00, | ||
| 5526 | 0x83, 0x04, 0x05, 0x58, 0x00, 0x83, 0x05, 0x05, | ||
| 5527 | 0xdb, 0x00, 0x83, 0x06, 0x18, 0xc6, 0x00, 0x83, | ||
| 5528 | 0x07, 0x48, 0x32, 0x00, 0x83, 0x08, 0x48, 0x33, | ||
| 5529 | 0x00, 0x83, 0x09, 0x18, 0xc8, 0x00, 0x83, 0x0a, | ||
| 5530 | 0x57, 0x26, 0x00, 0x83, 0x0b, 0x57, 0x27, 0x00, | ||
| 5531 | 0x83, 0x0c, 0x48, 0x34, 0x00, 0x83, 0x0e, 0x07, | ||
| 5532 | 0x2a, 0x00, 0x83, 0x16, 0x18, 0xcc, 0x00, 0x83, | ||
| 5533 | 0x17, 0x18, 0xd5, 0x00, 0x83, 0x18, 0x18, 0xd6, | ||
| 5534 | 0x00, 0x83, 0x1b, 0x48, 0x36, 0x00, 0x83, 0x1c, | ||
| 5535 | 0x04, 0x6f, 0x00, 0x83, 0x1d, 0x48, 0x37, 0x00, | ||
| 5536 | 0x83, 0x1e, 0x57, 0x28, 0x00, 0x83, 0x1f, 0x57, | ||
| 5537 | 0x29, 0x00, 0x83, 0x21, 0x57, 0x2a, 0x00, 0x83, | ||
| 5538 | 0x22, 0x42, 0xb0, 0x00, 0x83, 0x23, 0x18, 0xdd, | ||
| 5539 | 0x00, 0x83, 0x28, 0x04, 0xb5, 0x00, 0x83, 0x2b, | ||
| 5540 | 0x18, 0xd4, 0x00, 0x83, 0x2c, 0x57, 0x2b, 0x00, | ||
| 5541 | 0x83, 0x2d, 0x42, 0xb1, 0x00, 0x83, 0x2e, 0x57, | ||
| 5542 | 0x2c, 0x00, 0x83, 0x2f, 0x18, 0xd3, 0x00, 0x83, | ||
| 5543 | 0x30, 0x48, 0x38, 0x00, 0x83, 0x31, 0x18, 0xce, | ||
| 5544 | 0x00, 0x83, 0x32, 0x18, 0xcd, 0x00, 0x83, 0x33, | ||
| 5545 | 0x57, 0x2d, 0x00, 0x83, 0x34, 0x18, 0xcb, 0x00, | ||
| 5546 | 0x83, 0x35, 0x18, 0xca, 0x00, 0x83, 0x36, 0x0b, | ||
| 5547 | 0xa1, 0x00, 0x83, 0x37, 0x57, 0x2e, 0x00, 0x83, | ||
| 5548 | 0x38, 0x0b, 0x5b, 0x00, 0x83, 0x39, 0x18, 0xd0, | ||
| 5549 | 0x00, 0x83, 0x3a, 0x42, 0xb2, 0x00, 0x83, 0x3c, | ||
| 5550 | 0x48, 0x39, 0x00, 0x83, 0x3d, 0x57, 0x2f, 0x00, | ||
| 5551 | 0x83, 0x40, 0x18, 0xcf, 0x00, 0x83, 0x42, 0x57, | ||
| 5552 | 0x30, 0x00, 0x83, 0x43, 0x3a, 0xc9, 0x00, 0x83, | ||
| 5553 | 0x44, 0x48, 0x3a, 0x00, 0x83, 0x45, 0x18, 0xd2, | ||
| 5554 | 0x00, 0x83, 0x46, 0x1d, 0xf8, 0x00, 0x83, 0x47, | ||
| 5555 | 0x42, 0xb3, 0x00, 0x83, 0x49, 0x0a, 0xf2, 0x00, | ||
| 5556 | 0x83, 0x4a, 0x07, 0x2b, 0x00, 0x83, 0x4d, 0x57, | ||
| 5557 | 0x31, 0x00, 0x83, 0x4e, 0x57, 0x32, 0x00, 0x83, | ||
| 5558 | 0x4f, 0x04, 0xe3, 0x00, 0x83, 0x50, 0x18, 0xd1, | ||
| 5559 | 0x00, 0x83, 0x51, 0x3a, 0xca, 0x00, 0x83, 0x52, | ||
| 5560 | 0x07, 0xe5, 0x00, 0x83, 0x53, 0x57, 0x3c, 0x00, | ||
| 5561 | 0x83, 0x54, 0x48, 0x35, 0x00, 0x83, 0x55, 0x3a, | ||
| 5562 | 0xcb, 0x00, 0x83, 0x56, 0x4d, 0x1b, 0x00, 0x83, | ||
| 5563 | 0x57, 0x48, 0x3b, 0x00, 0x83, 0x58, 0x0a, 0xf3, | ||
| 5564 | 0x00, 0x83, 0x5a, 0x37, 0x7a, 0x00, 0x83, 0x62, | ||
| 5565 | 0x21, 0x99, 0x00, 0x83, 0x63, 0x45, 0x6f, 0x00, | ||
| 5566 | 0x83, 0x70, 0x57, 0x33, 0x00, 0x83, 0x73, 0x18, | ||
| 5567 | 0xe3, 0x00, 0x83, 0x75, 0x18, 0xe4, 0x00, 0x83, | ||
| 5568 | 0x77, 0x05, 0x59, 0x00, 0x83, 0x78, 0x4d, 0x1c, | ||
| 5569 | 0x00, 0x83, 0x7b, 0x05, 0x2e, 0x00, 0x83, 0x7c, | ||
| 5570 | 0x18, 0xe1, 0x00, 0x83, 0x7d, 0x42, 0xb4, 0x00, | ||
| 5571 | 0x83, 0x7f, 0x21, 0x9a, 0x00, 0x83, 0x80, 0x57, | ||
| 5572 | 0x34, 0x00, 0x83, 0x82, 0x57, 0x35, 0x00, 0x83, | ||
| 5573 | 0x84, 0x57, 0x36, 0x00, 0x83, 0x85, 0x18, 0xd7, | ||
| 5574 | 0x00, 0x83, 0x86, 0x3a, 0xcc, 0x00, 0x83, 0x87, | ||
| 5575 | 0x18, 0xdf, 0x00, 0x83, 0x89, 0x18, 0xe6, 0x00, | ||
| 5576 | 0x83, 0x8a, 0x18, 0xe0, 0x00, 0x83, 0x8d, 0x3a, | ||
| 5577 | 0xcd, 0x00, 0x83, 0x8e, 0x18, 0xde, 0x00, 0x83, | ||
| 5578 | 0x92, 0x3a, 0xce, 0x00, 0x83, 0x93, 0x18, 0xc1, | ||
| 5579 | 0x00, 0x83, 0x94, 0x48, 0x3f, 0x00, 0x83, 0x95, | ||
| 5580 | 0x48, 0x40, 0x00, 0x83, 0x96, 0x18, 0xdc, 0x00, | ||
| 5581 | 0x83, 0x98, 0x3a, 0xcf, 0x00, 0x83, 0x99, 0x57, | ||
| 5582 | 0x37, 0x00, 0x83, 0x9a, 0x18, 0xd8, 0x00, 0x83, | ||
| 5583 | 0x9b, 0x48, 0x41, 0x00, 0x83, 0x9c, 0x57, 0x38, | ||
| 5584 | 0x00, 0x83, 0x9d, 0x48, 0x42, 0x00, 0x83, 0x9e, | ||
| 5585 | 0x06, 0x0c, 0x00, 0x83, 0x9f, 0x18, 0xda, 0x00, | ||
| 5586 | 0x83, 0xa0, 0x18, 0xe5, 0x00, 0x83, 0xa2, 0x18, | ||
| 5587 | 0xdb, 0x00, 0x83, 0xa6, 0x57, 0x39, 0x00, 0x83, | ||
| 5588 | 0xa7, 0x42, 0xb5, 0x00, 0x83, 0xa8, 0x18, 0xe7, | ||
| 5589 | 0x00, 0x83, 0xa9, 0x3a, 0xd0, 0x00, 0x83, 0xaa, | ||
| 5590 | 0x18, 0xd9, 0x00, 0x83, 0xab, 0x0d, 0x32, 0x00, | ||
| 5591 | 0x83, 0xac, 0x57, 0x3a, 0x00, 0x83, 0xad, 0x57, | ||
| 5592 | 0x3f, 0x00, 0x83, 0xb1, 0x0f, 0x53, 0x00, 0x83, | ||
| 5593 | 0xb5, 0x18, 0xe2, 0x00, 0x83, 0xbd, 0x18, 0xf8, | ||
| 5594 | 0x00, 0x83, 0xbe, 0x57, 0x3b, 0x00, 0x83, 0xbf, | ||
| 5595 | 0x3a, 0xd1, 0x00, 0x83, 0xc0, 0x3a, 0xd2, 0x00, | ||
| 5596 | 0x83, 0xc1, 0x18, 0xf0, 0x00, 0x83, 0xc5, 0x0a, | ||
| 5597 | 0x41, 0x00, 0x83, 0xc7, 0x21, 0x9b, 0x00, 0x83, | ||
| 5598 | 0xc9, 0x48, 0x43, 0x00, 0x83, 0xca, 0x06, 0x60, | ||
| 5599 | 0x00, 0x83, 0xcc, 0x06, 0xd5, 0x00, 0x83, 0xce, | ||
| 5600 | 0x18, 0xeb, 0x00, 0x83, 0xcf, 0x42, 0xb6, 0x00, | ||
| 5601 | 0x83, 0xd0, 0x48, 0x44, 0x00, 0x83, 0xd1, 0x42, | ||
| 5602 | 0xb7, 0x00, 0x83, 0xd3, 0x05, 0x5b, 0x00, 0x83, | ||
| 5603 | 0xd4, 0x48, 0x45, 0x00, 0x83, 0xd6, 0x09, 0xbc, | ||
| 5604 | 0x00, 0x83, 0xd8, 0x18, 0xee, 0x00, 0x83, 0xdc, | ||
| 5605 | 0x08, 0x4a, 0x00, 0x83, 0xdd, 0x48, 0x46, 0x00, | ||
| 5606 | 0x83, 0xdf, 0x0c, 0x4b, 0x00, 0x83, 0xe0, 0x18, | ||
| 5607 | 0xf3, 0x00, 0x83, 0xe1, 0x42, 0xb8, 0x00, 0x83, | ||
| 5608 | 0xe5, 0x48, 0x47, 0x00, 0x83, 0xe8, 0x57, 0x3d, | ||
| 5609 | 0x00, 0x83, 0xe9, 0x0e, 0x3e, 0x00, 0x83, 0xea, | ||
| 5610 | 0x3a, 0xd3, 0x00, 0x83, 0xeb, 0x18, 0xea, 0x00, | ||
| 5611 | 0x83, 0xef, 0x05, 0x5a, 0x00, 0x83, 0xf0, 0x07, | ||
| 5612 | 0x8a, 0x00, 0x83, 0xf1, 0x0d, 0x9b, 0x00, 0x83, | ||
| 5613 | 0xf2, 0x18, 0xf4, 0x00, 0x83, 0xf4, 0x18, 0xe8, | ||
| 5614 | 0x00, 0x83, 0xf6, 0x21, 0x9c, 0x00, 0x83, 0xf7, | ||
| 5615 | 0x18, 0xf1, 0x00, 0x83, 0xf8, 0x4d, 0x1d, 0x00, | ||
| 5616 | 0x83, 0xf9, 0x48, 0x48, 0x00, 0x83, 0xfb, 0x18, | ||
| 5617 | 0xfb, 0x00, 0x83, 0xfc, 0x4d, 0x1e, 0x00, 0x83, | ||
| 5618 | 0xfd, 0x18, 0xec, 0x00, 0x84, 0x01, 0x42, 0xb9, | ||
| 5619 | 0x00, 0x84, 0x03, 0x18, 0xed, 0x00, 0x84, 0x04, | ||
| 5620 | 0x0c, 0x92, 0x00, 0x84, 0x06, 0x42, 0xba, 0x00, | ||
| 5621 | 0x84, 0x07, 0x18, 0xf2, 0x00, 0x84, 0x0a, 0x1e, | ||
| 5622 | 0x7f, 0x00, 0x84, 0x0b, 0x18, 0xef, 0x00, 0x84, | ||
| 5623 | 0x0c, 0x0e, 0x56, 0x00, 0x84, 0x0d, 0x18, 0xf5, | ||
| 5624 | 0x00, 0x84, 0x0e, 0x04, 0xa4, 0x00, 0x84, 0x0f, | ||
| 5625 | 0x3a, 0xd4, 0x00, 0x84, 0x11, 0x3a, 0xd5, 0x00, | ||
| 5626 | 0x84, 0x13, 0x18, 0xe9, 0x00, 0x84, 0x15, 0x48, | ||
| 5627 | 0x49, 0x00, 0x84, 0x17, 0x48, 0x4b, 0x00, 0x84, | ||
| 5628 | 0x19, 0x57, 0x3e, 0x00, 0x84, 0x20, 0x18, 0xf7, | ||
| 5629 | 0x00, 0x84, 0x22, 0x18, 0xf6, 0x00, 0x84, 0x29, | ||
| 5630 | 0x0d, 0x21, 0x00, 0x84, 0x2a, 0x18, 0xfd, 0x00, | ||
| 5631 | 0x84, 0x2c, 0x19, 0x08, 0x00, 0x84, 0x2f, 0x57, | ||
| 5632 | 0x40, 0x00, 0x84, 0x31, 0x05, 0xdc, 0x00, 0x84, | ||
| 5633 | 0x35, 0x19, 0x0b, 0x00, 0x84, 0x38, 0x18, 0xf9, | ||
| 5634 | 0x00, 0x84, 0x39, 0x48, 0x4c, 0x00, 0x84, 0x3c, | ||
| 5635 | 0x18, 0xfe, 0x00, 0x84, 0x3d, 0x0f, 0x58, 0x00, | ||
| 5636 | 0x84, 0x45, 0x57, 0x41, 0x00, 0x84, 0x46, 0x19, | ||
| 5637 | 0x07, 0x00, 0x84, 0x47, 0x57, 0x42, 0x00, 0x84, | ||
| 5638 | 0x48, 0x21, 0x9d, 0x00, 0x84, 0x49, 0x0f, 0x3f, | ||
| 5639 | 0x00, 0x84, 0x4a, 0x3a, 0xd6, 0x00, 0x84, 0x4d, | ||
| 5640 | 0x57, 0x43, 0x00, 0x84, 0x4e, 0x0f, 0x72, 0x00, | ||
| 5641 | 0x84, 0x4f, 0x48, 0x4d, 0x00, 0x84, 0x51, 0x48, | ||
| 5642 | 0x4e, 0x00, 0x84, 0x52, 0x48, 0x4f, 0x00, 0x84, | ||
| 5643 | 0x56, 0x57, 0x44, 0x00, 0x84, 0x57, 0x0b, 0xb6, | ||
| 5644 | 0x00, 0x84, 0x58, 0x4d, 0x1f, 0x00, 0x84, 0x59, | ||
| 5645 | 0x48, 0x50, 0x00, 0x84, 0x5a, 0x48, 0x51, 0x00, | ||
| 5646 | 0x84, 0x5b, 0x05, 0xc9, 0x00, 0x84, 0x5c, 0x48, | ||
| 5647 | 0x52, 0x00, 0x84, 0x5f, 0x42, 0xbb, 0x00, 0x84, | ||
| 5648 | 0x60, 0x57, 0x46, 0x00, 0x84, 0x61, 0x0d, 0xe4, | ||
| 5649 | 0x00, 0x84, 0x62, 0x19, 0x0d, 0x00, 0x84, 0x63, | ||
| 5650 | 0x0c, 0x79, 0x00, 0x84, 0x64, 0x57, 0x47, 0x00, | ||
| 5651 | 0x84, 0x65, 0x48, 0x54, 0x00, 0x84, 0x66, 0x04, | ||
| 5652 | 0x75, 0x00, 0x84, 0x67, 0x57, 0x48, 0x00, 0x84, | ||
| 5653 | 0x69, 0x19, 0x06, 0x00, 0x84, 0x6a, 0x57, 0x49, | ||
| 5654 | 0x00, 0x84, 0x6b, 0x19, 0x02, 0x00, 0x84, 0x6c, | ||
| 5655 | 0x0a, 0xf4, 0x00, 0x84, 0x6d, 0x18, 0xfc, 0x00, | ||
| 5656 | 0x84, 0x6e, 0x19, 0x04, 0x00, 0x84, 0x6f, 0x19, | ||
| 5657 | 0x09, 0x00, 0x84, 0x70, 0x42, 0xbc, 0x00, 0x84, | ||
| 5658 | 0x71, 0x0c, 0xe2, 0x00, 0x84, 0x73, 0x42, 0xbd, | ||
| 5659 | 0x00, 0x84, 0x74, 0x57, 0x4a, 0x00, 0x84, 0x75, | ||
| 5660 | 0x04, 0x6e, 0x00, 0x84, 0x76, 0x3a, 0xd7, 0x00, | ||
| 5661 | 0x84, 0x77, 0x19, 0x01, 0x00, 0x84, 0x78, 0x48, | ||
| 5662 | 0x55, 0x00, 0x84, 0x79, 0x19, 0x0a, 0x00, 0x84, | ||
| 5663 | 0x7a, 0x0d, 0xea, 0x00, 0x84, 0x7c, 0x48, 0x56, | ||
| 5664 | 0x00, 0x84, 0x7d, 0x57, 0x4b, 0x00, 0x84, 0x81, | ||
| 5665 | 0x48, 0x57, 0x00, 0x84, 0x82, 0x19, 0x05, 0x00, | ||
| 5666 | 0x84, 0x84, 0x19, 0x00, 0x00, 0x84, 0x85, 0x42, | ||
| 5667 | 0xbe, 0x00, 0x84, 0x8b, 0x09, 0xbd, 0x00, 0x84, | ||
| 5668 | 0x90, 0x09, 0x39, 0x00, 0x84, 0x92, 0x57, 0x4c, | ||
| 5669 | 0x00, 0x84, 0x93, 0x4d, 0x20, 0x00, 0x84, 0x94, | ||
| 5670 | 0x08, 0xd8, 0x00, 0x84, 0x95, 0x57, 0x4d, 0x00, | ||
| 5671 | 0x84, 0x97, 0x48, 0x59, 0x00, 0x84, 0x99, 0x0e, | ||
| 5672 | 0xe4, 0x00, 0x84, 0x9c, 0x0d, 0xb9, 0x00, 0x84, | ||
| 5673 | 0x9e, 0x42, 0xbf, 0x00, 0x84, 0x9f, 0x19, 0x10, | ||
| 5674 | 0x00, 0x84, 0xa1, 0x19, 0x19, 0x00, 0x84, 0xa6, | ||
| 5675 | 0x48, 0x5a, 0x00, 0x84, 0xa8, 0x3a, 0xd8, 0x00, | ||
| 5676 | 0x84, 0xa9, 0x57, 0x4e, 0x00, 0x84, 0xaa, 0x57, | ||
| 5677 | 0x4f, 0x00, 0x84, 0xad, 0x19, 0x03, 0x00, 0x84, | ||
| 5678 | 0xaf, 0x3a, 0xd9, 0x00, 0x84, 0xb1, 0x4d, 0x21, | ||
| 5679 | 0x00, 0x84, 0xb2, 0x05, 0xd5, 0x00, 0x84, 0xb4, | ||
| 5680 | 0x21, 0x9e, 0x00, 0x84, 0xb8, 0x09, 0xe0, 0x00, | ||
| 5681 | 0x84, 0xb9, 0x19, 0x0e, 0x00, 0x84, 0xba, 0x42, | ||
| 5682 | 0xc0, 0x00, 0x84, 0xbb, 0x19, 0x13, 0x00, 0x84, | ||
| 5683 | 0xbc, 0x0a, 0xf5, 0x00, 0x84, 0xbd, 0x4d, 0x22, | ||
| 5684 | 0x00, 0x84, 0xbe, 0x48, 0x5b, 0x00, 0x84, 0xbf, | ||
| 5685 | 0x19, 0x0f, 0x00, 0x84, 0xc0, 0x3a, 0xda, 0x00, | ||
| 5686 | 0x84, 0xc1, 0x19, 0x16, 0x00, 0x84, 0xc2, 0x3a, | ||
| 5687 | 0xdb, 0x00, 0x84, 0xc4, 0x0b, 0x9d, 0x00, 0x84, | ||
| 5688 | 0xc6, 0x19, 0x17, 0x00, 0x84, 0xc7, 0x57, 0x50, | ||
| 5689 | 0x00, 0x84, 0xc8, 0x57, 0x51, 0x00, 0x84, 0xc9, | ||
| 5690 | 0x0f, 0x40, 0x00, 0x84, 0xca, 0x19, 0x0c, 0x00, | ||
| 5691 | 0x84, 0xcb, 0x05, 0x96, 0x00, 0x84, 0xcc, 0x57, | ||
| 5692 | 0x52, 0x00, 0x84, 0xcd, 0x19, 0x12, 0x00, 0x84, | ||
| 5693 | 0xce, 0x48, 0x5d, 0x00, 0x84, 0xcf, 0x48, 0x5e, | ||
| 5694 | 0x00, 0x84, 0xd0, 0x19, 0x15, 0x00, 0x84, 0xd1, | ||
| 5695 | 0x0e, 0xb8, 0x00, 0x84, 0xd3, 0x48, 0x5f, 0x00, | ||
| 5696 | 0x84, 0xd6, 0x19, 0x18, 0x00, 0x84, 0xd9, 0x19, | ||
| 5697 | 0x11, 0x00, 0x84, 0xda, 0x19, 0x14, 0x00, 0x84, | ||
| 5698 | 0xdc, 0x20, 0xab, 0x00, 0x84, 0xe7, 0x48, 0x61, | ||
| 5699 | 0x00, 0x84, 0xea, 0x48, 0x62, 0x00, 0x84, 0xec, | ||
| 5700 | 0x0e, 0x57, 0x00, 0x84, 0xee, 0x1e, 0x83, 0x00, | ||
| 5701 | 0x84, 0xef, 0x48, 0x63, 0x00, 0x84, 0xf0, 0x3a, | ||
| 5702 | 0xdc, 0x00, 0x84, 0xf1, 0x48, 0x64, 0x00, 0x84, | ||
| 5703 | 0xf2, 0x57, 0x53, 0x00, 0x84, 0xf4, 0x19, 0x1c, | ||
| 5704 | 0x00, 0x84, 0xf7, 0x57, 0x54, 0x00, 0x84, 0xfa, | ||
| 5705 | 0x48, 0x65, 0x00, 0x84, 0xfb, 0x4d, 0x23, 0x00, | ||
| 5706 | 0x84, 0xfc, 0x19, 0x23, 0x00, 0x84, 0xfd, 0x3a, | ||
| 5707 | 0xdd, 0x00, 0x84, 0xff, 0x19, 0x1b, 0x00, 0x85, | ||
| 5708 | 0x00, 0x08, 0xef, 0x00, 0x85, 0x02, 0x57, 0x55, | ||
| 5709 | 0x00, 0x85, 0x03, 0x57, 0x56, 0x00, 0x85, 0x06, | ||
| 5710 | 0x18, 0xfa, 0x00, 0x85, 0x07, 0x57, 0x57, 0x00, | ||
| 5711 | 0x85, 0x0c, 0x3a, 0xde, 0x00, 0x85, 0x0e, 0x57, | ||
| 5712 | 0x58, 0x00, 0x85, 0x10, 0x57, 0x59, 0x00, 0x85, | ||
| 5713 | 0x11, 0x0e, 0x1e, 0x00, 0x85, 0x13, 0x0e, 0xae, | ||
| 5714 | 0x00, 0x85, 0x14, 0x19, 0x22, 0x00, 0x85, 0x15, | ||
| 5715 | 0x19, 0x21, 0x00, 0x85, 0x17, 0x19, 0x1d, 0x00, | ||
| 5716 | 0x85, 0x18, 0x19, 0x1e, 0x00, 0x85, 0x1a, 0x04, | ||
| 5717 | 0xd8, 0x00, 0x85, 0x1b, 0x48, 0x66, 0x00, 0x85, | ||
| 5718 | 0x1c, 0x57, 0x5a, 0x00, 0x85, 0x1e, 0x42, 0xc3, | ||
| 5719 | 0x00, 0x85, 0x1f, 0x19, 0x20, 0x00, 0x85, 0x21, | ||
| 5720 | 0x19, 0x1a, 0x00, 0x85, 0x22, 0x57, 0x5b, 0x00, | ||
| 5721 | 0x85, 0x23, 0x1e, 0x1a, 0x00, 0x85, 0x24, 0x48, | ||
| 5722 | 0x67, 0x00, 0x85, 0x25, 0x48, 0x68, 0x00, 0x85, | ||
| 5723 | 0x26, 0x0b, 0xf1, 0x00, 0x85, 0x27, 0x57, 0x5c, | ||
| 5724 | 0x00, 0x85, 0x2a, 0x57, 0x5d, 0x00, 0x85, 0x2b, | ||
| 5725 | 0x48, 0x69, 0x00, 0x85, 0x2c, 0x19, 0x1f, 0x00, | ||
| 5726 | 0x85, 0x2d, 0x04, 0xc2, 0x00, 0x85, 0x2f, 0x42, | ||
| 5727 | 0xc4, 0x00, 0x85, 0x32, 0x42, 0xc2, 0x00, 0x85, | ||
| 5728 | 0x33, 0x57, 0x5e, 0x00, 0x85, 0x34, 0x3a, 0xdf, | ||
| 5729 | 0x00, 0x85, 0x35, 0x0b, 0x02, 0x00, 0x85, 0x36, | ||
| 5730 | 0x57, 0x5f, 0x00, 0x85, 0x3d, 0x0e, 0x13, 0x00, | ||
| 5731 | 0x85, 0x3e, 0x1e, 0xb5, 0x00, 0x85, 0x3f, 0x57, | ||
| 5732 | 0x60, 0x00, 0x85, 0x40, 0x19, 0x24, 0x00, 0x85, | ||
| 5733 | 0x41, 0x19, 0x28, 0x00, 0x85, 0x43, 0x0d, 0x6d, | ||
| 5734 | 0x00, 0x85, 0x46, 0x4d, 0x24, 0x00, 0x85, 0x48, | ||
| 5735 | 0x19, 0x27, 0x00, 0x85, 0x49, 0x09, 0xbe, 0x00, | ||
| 5736 | 0x85, 0x4a, 0x08, 0xf5, 0x00, 0x85, 0x4b, 0x19, | ||
| 5737 | 0x2a, 0x00, 0x85, 0x4e, 0x06, 0xb6, 0x00, 0x85, | ||
| 5738 | 0x4f, 0x48, 0x6a, 0x00, 0x85, 0x50, 0x57, 0x61, | ||
| 5739 | 0x00, 0x85, 0x51, 0x48, 0x6d, 0x00, 0x85, 0x52, | ||
| 5740 | 0x57, 0x62, 0x00, 0x85, 0x53, 0x21, 0x9f, 0x00, | ||
| 5741 | 0x85, 0x55, 0x19, 0x2b, 0x00, 0x85, 0x56, 0x4d, | ||
| 5742 | 0x25, 0x00, 0x85, 0x57, 0x0d, 0xeb, 0x00, 0x85, | ||
| 5743 | 0x58, 0x19, 0x26, 0x00, 0x85, 0x59, 0x21, 0xa0, | ||
| 5744 | 0x00, 0x85, 0x5a, 0x18, 0xff, 0x00, 0x85, 0x5c, | ||
| 5745 | 0x57, 0x63, 0x00, 0x85, 0x5d, 0x4d, 0x26, 0x00, | ||
| 5746 | 0x85, 0x5e, 0x3a, 0xe0, 0x00, 0x85, 0x5f, 0x57, | ||
| 5747 | 0x65, 0x00, 0x85, 0x60, 0x57, 0x66, 0x00, 0x85, | ||
| 5748 | 0x61, 0x48, 0x6e, 0x00, 0x85, 0x62, 0x48, 0x6f, | ||
| 5749 | 0x00, 0x85, 0x63, 0x19, 0x25, 0x00, 0x85, 0x64, | ||
| 5750 | 0x42, 0xc5, 0x00, 0x85, 0x68, 0x0f, 0xf5, 0x00, | ||
| 5751 | 0x85, 0x69, 0x0c, 0x7a, 0x00, 0x85, 0x6a, 0x0d, | ||
| 5752 | 0xe5, 0x00, 0x85, 0x6b, 0x21, 0xa1, 0x00, 0x85, | ||
| 5753 | 0x6d, 0x19, 0x32, 0x00, 0x85, 0x6f, 0x48, 0x6b, | ||
| 5754 | 0x00, 0x85, 0x77, 0x19, 0x38, 0x00, 0x85, 0x79, | ||
| 5755 | 0x57, 0x67, 0x00, 0x85, 0x7a, 0x42, 0xc6, 0x00, | ||
| 5756 | 0x85, 0x7b, 0x48, 0x71, 0x00, 0x85, 0x7d, 0x48, | ||
| 5757 | 0x72, 0x00, 0x85, 0x7e, 0x19, 0x39, 0x00, 0x85, | ||
| 5758 | 0x7f, 0x48, 0x73, 0x00, 0x85, 0x80, 0x19, 0x2c, | ||
| 5759 | 0x00, 0x85, 0x81, 0x48, 0x74, 0x00, 0x85, 0x84, | ||
| 5760 | 0x0d, 0x2c, 0x00, 0x85, 0x85, 0x4d, 0x27, 0x00, | ||
| 5761 | 0x85, 0x86, 0x48, 0x75, 0x00, 0x85, 0x87, 0x19, | ||
| 5762 | 0x36, 0x00, 0x85, 0x88, 0x19, 0x2e, 0x00, 0x85, | ||
| 5763 | 0x89, 0x57, 0x68, 0x00, 0x85, 0x8a, 0x19, 0x30, | ||
| 5764 | 0x00, 0x85, 0x8b, 0x57, 0x69, 0x00, 0x85, 0x8c, | ||
| 5765 | 0x42, 0xc7, 0x00, 0x85, 0x8f, 0x3a, 0xe1, 0x00, | ||
| 5766 | 0x85, 0x90, 0x19, 0x3a, 0x00, 0x85, 0x91, 0x19, | ||
| 5767 | 0x2f, 0x00, 0x85, 0x93, 0x48, 0x76, 0x00, 0x85, | ||
| 5768 | 0x94, 0x19, 0x33, 0x00, 0x85, 0x97, 0x05, 0x14, | ||
| 5769 | 0x00, 0x85, 0x98, 0x4d, 0x28, 0x00, 0x85, 0x99, | ||
| 5770 | 0x0c, 0xbd, 0x00, 0x85, 0x9b, 0x19, 0x34, 0x00, | ||
| 5771 | 0x85, 0x9c, 0x19, 0x37, 0x00, 0x85, 0x9d, 0x48, | ||
| 5772 | 0x77, 0x00, 0x85, 0x9f, 0x48, 0x78, 0x00, 0x85, | ||
| 5773 | 0xa0, 0x57, 0x6a, 0x00, 0x85, 0xa2, 0x42, 0xc8, | ||
| 5774 | 0x00, 0x85, 0xa4, 0x19, 0x2d, 0x00, 0x85, 0xa5, | ||
| 5775 | 0x57, 0x6b, 0x00, 0x85, 0xa6, 0x0a, 0xa8, 0x00, | ||
| 5776 | 0x85, 0xa7, 0x57, 0x6c, 0x00, 0x85, 0xa8, 0x19, | ||
| 5777 | 0x31, 0x00, 0x85, 0xa9, 0x08, 0x75, 0x00, 0x85, | ||
| 5778 | 0xaa, 0x0a, 0x0b, 0x00, 0x85, 0xab, 0x07, 0x06, | ||
| 5779 | 0x00, 0x85, 0xac, 0x0f, 0x00, 0x00, 0x85, 0xad, | ||
| 5780 | 0x3a, 0xe4, 0x00, 0x85, 0xae, 0x0f, 0x05, 0x00, | ||
| 5781 | 0x85, 0xaf, 0x09, 0x7c, 0x00, 0x85, 0xb0, 0x21, | ||
| 5782 | 0xa3, 0x00, 0x85, 0xb4, 0x57, 0x6d, 0x00, 0x85, | ||
| 5783 | 0xb6, 0x57, 0x6e, 0x00, 0x85, 0xb7, 0x3a, 0xe2, | ||
| 5784 | 0x00, 0x85, 0xb8, 0x57, 0x6f, 0x00, 0x85, 0xb9, | ||
| 5785 | 0x19, 0x3e, 0x00, 0x85, 0xba, 0x19, 0x3c, 0x00, | ||
| 5786 | 0x85, 0xbc, 0x48, 0x7c, 0x00, 0x85, 0xbd, 0x57, | ||
| 5787 | 0x70, 0x00, 0x85, 0xbe, 0x57, 0x71, 0x00, 0x85, | ||
| 5788 | 0xbf, 0x57, 0x72, 0x00, 0x85, 0xc1, 0x0f, 0xf4, | ||
| 5789 | 0x00, 0x85, 0xc2, 0x57, 0x73, 0x00, 0x85, 0xc7, | ||
| 5790 | 0x48, 0x7d, 0x00, 0x85, 0xc9, 0x19, 0x3b, 0x00, | ||
| 5791 | 0x85, 0xca, 0x48, 0x7e, 0x00, 0x85, 0xcb, 0x42, | ||
| 5792 | 0xc9, 0x00, 0x85, 0xcd, 0x0f, 0x5f, 0x00, 0x85, | ||
| 5793 | 0xce, 0x3a, 0xe3, 0x00, 0x85, 0xcf, 0x19, 0x3d, | ||
| 5794 | 0x00, 0x85, 0xd0, 0x19, 0x3f, 0x00, 0x85, 0xd5, | ||
| 5795 | 0x19, 0x40, 0x00, 0x85, 0xd8, 0x48, 0x7f, 0x00, | ||
| 5796 | 0x85, 0xd9, 0x48, 0x80, 0x00, 0x85, 0xda, 0x57, | ||
| 5797 | 0x74, 0x00, 0x85, 0xdc, 0x19, 0x43, 0x00, 0x85, | ||
| 5798 | 0xdd, 0x19, 0x41, 0x00, 0x85, 0xdf, 0x48, 0x81, | ||
| 5799 | 0x00, 0x85, 0xe0, 0x57, 0x75, 0x00, 0x85, 0xe1, | ||
| 5800 | 0x48, 0x82, 0x00, 0x85, 0xe4, 0x0c, 0x7b, 0x00, | ||
| 5801 | 0x85, 0xe5, 0x19, 0x42, 0x00, 0x85, 0xe6, 0x48, | ||
| 5802 | 0x83, 0x00, 0x85, 0xe8, 0x57, 0x76, 0x00, 0x85, | ||
| 5803 | 0xe9, 0x0d, 0x61, 0x00, 0x85, 0xea, 0x19, 0x35, | ||
| 5804 | 0x00, 0x85, 0xed, 0x42, 0xca, 0x00, 0x85, 0xf3, | ||
| 5805 | 0x57, 0x77, 0x00, 0x85, 0xf4, 0x37, 0x80, 0x00, | ||
| 5806 | 0x85, 0xf6, 0x48, 0x84, 0x00, 0x85, 0xf7, 0x09, | ||
| 5807 | 0x7d, 0x00, 0x85, 0xf9, 0x19, 0x44, 0x00, 0x85, | ||
| 5808 | 0xfa, 0x19, 0x49, 0x00, 0x85, 0xfb, 0x0a, 0xf6, | ||
| 5809 | 0x00, 0x85, 0xfc, 0x57, 0x78, 0x00, 0x85, 0xfe, | ||
| 5810 | 0x19, 0x48, 0x00, 0x85, 0xff, 0x42, 0xcb, 0x00, | ||
| 5811 | 0x86, 0x00, 0x48, 0x85, 0x00, 0x86, 0x02, 0x19, | ||
| 5812 | 0x29, 0x00, 0x86, 0x04, 0x42, 0xcc, 0x00, 0x86, | ||
| 5813 | 0x05, 0x42, 0xcd, 0x00, 0x86, 0x06, 0x19, 0x4a, | ||
| 5814 | 0x00, 0x86, 0x07, 0x0a, 0xcb, 0x00, 0x86, 0x0a, | ||
| 5815 | 0x19, 0x45, 0x00, 0x86, 0x0b, 0x19, 0x47, 0x00, | ||
| 5816 | 0x86, 0x0d, 0x57, 0x79, 0x00, 0x86, 0x0e, 0x57, | ||
| 5817 | 0x7a, 0x00, 0x86, 0x10, 0x42, 0xce, 0x00, 0x86, | ||
| 5818 | 0x11, 0x48, 0x86, 0x00, 0x86, 0x12, 0x3a, 0xe5, | ||
| 5819 | 0x00, 0x86, 0x13, 0x19, 0x46, 0x00, 0x86, 0x16, | ||
| 5820 | 0x14, 0xd0, 0x00, 0x86, 0x17, 0x14, 0xc1, 0x00, | ||
| 5821 | 0x86, 0x18, 0x42, 0xd0, 0x00, 0x86, 0x19, 0x57, | ||
| 5822 | 0x7b, 0x00, 0x86, 0x1a, 0x19, 0x4c, 0x00, 0x86, | ||
| 5823 | 0x1b, 0x57, 0x7c, 0x00, 0x86, 0x1e, 0x48, 0x87, | ||
| 5824 | 0x00, 0x86, 0x21, 0x48, 0x88, 0x00, 0x86, 0x22, | ||
| 5825 | 0x19, 0x4b, 0x00, 0x86, 0x24, 0x48, 0x89, 0x00, | ||
| 5826 | 0x86, 0x27, 0x48, 0x8a, 0x00, 0x86, 0x29, 0x3a, | ||
| 5827 | 0xe6, 0x00, 0x86, 0x2d, 0x0f, 0x60, 0x00, 0x86, | ||
| 5828 | 0x2f, 0x16, 0xb1, 0x00, 0x86, 0x30, 0x19, 0x4d, | ||
| 5829 | 0x00, 0x86, 0x36, 0x57, 0x7d, 0x00, 0x86, 0x38, | ||
| 5830 | 0x42, 0xd1, 0x00, 0x86, 0x39, 0x48, 0x8c, 0x00, | ||
| 5831 | 0x86, 0x3a, 0x57, 0x7e, 0x00, 0x86, 0x3c, 0x48, | ||
| 5832 | 0x8d, 0x00, 0x86, 0x3d, 0x57, 0x7f, 0x00, 0x86, | ||
| 5833 | 0x3f, 0x19, 0x4e, 0x00, 0x86, 0x40, 0x48, 0x8f, | ||
| 5834 | 0x00, 0x86, 0x41, 0x41, 0xb8, 0x00, 0x86, 0x42, | ||
| 5835 | 0x4d, 0x29, 0x00, 0x86, 0x46, 0x4d, 0x2a, 0x00, | ||
| 5836 | 0x86, 0x4d, 0x19, 0x4f, 0x00, 0x86, 0x4e, 0x07, | ||
| 5837 | 0x8b, 0x00, 0x86, 0x50, 0x06, 0x6e, 0x00, 0x86, | ||
| 5838 | 0x52, 0x3a, 0xe7, 0x00, 0x86, 0x53, 0x48, 0x90, | ||
| 5839 | 0x00, 0x86, 0x54, 0x19, 0x51, 0x00, 0x86, 0x55, | ||
| 5840 | 0x10, 0x94, 0x00, 0x86, 0x56, 0x48, 0x91, 0x00, | ||
| 5841 | 0x86, 0x57, 0x42, 0xd2, 0x00, 0x86, 0x58, 0x57, | ||
| 5842 | 0x80, 0x00, 0x86, 0x59, 0x57, 0x81, 0x00, 0x86, | ||
| 5843 | 0x5a, 0x06, 0x8f, 0x00, 0x86, 0x5b, 0x34, 0x18, | ||
| 5844 | 0x00, 0x86, 0x5c, 0x34, 0x52, 0x00, 0x86, 0x5d, | ||
| 5845 | 0x57, 0x82, 0x00, 0x86, 0x5e, 0x06, 0xeb, 0x00, | ||
| 5846 | 0x86, 0x5f, 0x19, 0x52, 0x00, 0x86, 0x60, 0x57, | ||
| 5847 | 0x83, 0x00, 0x86, 0x61, 0x57, 0x84, 0x00, 0x86, | ||
| 5848 | 0x62, 0x42, 0xd3, 0x00, 0x86, 0x63, 0x3a, 0xe8, | ||
| 5849 | 0x00, 0x86, 0x64, 0x57, 0x85, 0x00, 0x86, 0x67, | ||
| 5850 | 0x19, 0x53, 0x00, 0x86, 0x69, 0x57, 0x86, 0x00, | ||
| 5851 | 0x86, 0x6b, 0x0b, 0xac, 0x00, 0x86, 0x6c, 0x3a, | ||
| 5852 | 0xe9, 0x00, 0x86, 0x6f, 0x3a, 0xea, 0x00, 0x86, | ||
| 5853 | 0x71, 0x19, 0x54, 0x00, 0x86, 0x75, 0x42, 0xd5, | ||
| 5854 | 0x00, 0x86, 0x76, 0x57, 0x87, 0x00, 0x86, 0x77, | ||
| 5855 | 0x48, 0x92, 0x00, 0x86, 0x79, 0x0c, 0xd2, 0x00, | ||
| 5856 | 0x86, 0x7a, 0x3a, 0xeb, 0x00, 0x86, 0x7b, 0x04, | ||
| 5857 | 0x7e, 0x00, 0x86, 0x7d, 0x37, 0x86, 0x00, 0x86, | ||
| 5858 | 0x87, 0x48, 0x93, 0x00, 0x86, 0x88, 0x57, 0x99, | ||
| 5859 | 0x00, 0x86, 0x89, 0x48, 0x94, 0x00, 0x86, 0x8a, | ||
| 5860 | 0x05, 0x63, 0x00, 0x86, 0x8b, 0x19, 0x59, 0x00, | ||
| 5861 | 0x86, 0x8c, 0x19, 0x5a, 0x00, 0x86, 0x8d, 0x3a, | ||
| 5862 | 0xec, 0x00, 0x86, 0x91, 0x3a, 0xed, 0x00, 0x86, | ||
| 5863 | 0x93, 0x19, 0x55, 0x00, 0x86, 0x95, 0x08, 0x8b, | ||
| 5864 | 0x00, 0x86, 0x96, 0x57, 0x88, 0x00, 0x86, 0x98, | ||
| 5865 | 0x3a, 0xee, 0x00, 0x86, 0x9a, 0x57, 0x89, 0x00, | ||
| 5866 | 0x86, 0x9c, 0x48, 0x95, 0x00, 0x86, 0x9d, 0x48, | ||
| 5867 | 0x96, 0x00, 0x86, 0xa1, 0x57, 0x8a, 0x00, 0x86, | ||
| 5868 | 0xa3, 0x19, 0x56, 0x00, 0x86, 0xa4, 0x0c, 0xf8, | ||
| 5869 | 0x00, 0x86, 0xa6, 0x57, 0x8b, 0x00, 0x86, 0xa7, | ||
| 5870 | 0x3a, 0xef, 0x00, 0x86, 0xa8, 0x3a, 0xf0, 0x00, | ||
| 5871 | 0x86, 0xa9, 0x19, 0x57, 0x00, 0x86, 0xaa, 0x19, | ||
| 5872 | 0x58, 0x00, 0x86, 0xab, 0x19, 0x62, 0x00, 0x86, | ||
| 5873 | 0xad, 0x57, 0x8c, 0x00, 0x86, 0xaf, 0x19, 0x5c, | ||
| 5874 | 0x00, 0x86, 0xb0, 0x19, 0x5f, 0x00, 0x86, 0xb1, | ||
| 5875 | 0x48, 0x97, 0x00, 0x86, 0xb3, 0x48, 0x98, 0x00, | ||
| 5876 | 0x86, 0xb4, 0x57, 0x8d, 0x00, 0x86, 0xb5, 0x57, | ||
| 5877 | 0x8e, 0x00, 0x86, 0xb6, 0x19, 0x5b, 0x00, 0x86, | ||
| 5878 | 0xb7, 0x57, 0x8f, 0x00, 0x86, 0xb8, 0x42, 0xd6, | ||
| 5879 | 0x00, 0x86, 0xb9, 0x57, 0x90, 0x00, 0x86, 0xbf, | ||
| 5880 | 0x57, 0x91, 0x00, 0x86, 0xc0, 0x4d, 0x2b, 0x00, | ||
| 5881 | 0x86, 0xc1, 0x48, 0x99, 0x00, 0x86, 0xc3, 0x48, | ||
| 5882 | 0x9a, 0x00, 0x86, 0xc4, 0x19, 0x5d, 0x00, 0x86, | ||
| 5883 | 0xc5, 0x57, 0x92, 0x00, 0x86, 0xc6, 0x19, 0x5e, | ||
| 5884 | 0x00, 0x86, 0xc7, 0x09, 0x04, 0x00, 0x86, 0xc9, | ||
| 5885 | 0x19, 0x60, 0x00, 0x86, 0xcb, 0x0b, 0x7f, 0x00, | ||
| 5886 | 0x86, 0xcd, 0x07, 0x2c, 0x00, 0x86, 0xce, 0x05, | ||
| 5887 | 0xa0, 0x00, 0x86, 0xd1, 0x48, 0x9b, 0x00, 0x86, | ||
| 5888 | 0xd2, 0x57, 0x93, 0x00, 0x86, 0xd4, 0x19, 0x63, | ||
| 5889 | 0x00, 0x86, 0xd5, 0x48, 0x9c, 0x00, 0x86, 0xd7, | ||
| 5890 | 0x48, 0x9d, 0x00, 0x86, 0xd9, 0x05, 0x9d, 0x00, | ||
| 5891 | 0x86, 0xda, 0x57, 0x94, 0x00, 0x86, 0xdb, 0x19, | ||
| 5892 | 0x68, 0x00, 0x86, 0xdc, 0x57, 0x95, 0x00, 0x86, | ||
| 5893 | 0xde, 0x19, 0x64, 0x00, 0x86, 0xdf, 0x19, 0x67, | ||
| 5894 | 0x00, 0x86, 0xe0, 0x57, 0x96, 0x00, 0x86, 0xe3, | ||
| 5895 | 0x48, 0x9e, 0x00, 0x86, 0xe4, 0x0d, 0x4e, 0x00, | ||
| 5896 | 0x86, 0xe5, 0x57, 0x97, 0x00, 0x86, 0xe6, 0x48, | ||
| 5897 | 0x9f, 0x00, 0x86, 0xe7, 0x57, 0x98, 0x00, 0x86, | ||
| 5898 | 0xe9, 0x19, 0x65, 0x00, 0x86, 0xec, 0x19, 0x66, | ||
| 5899 | 0x00, 0x86, 0xed, 0x0d, 0xba, 0x00, 0x86, 0xee, | ||
| 5900 | 0x0d, 0x6e, 0x00, 0x86, 0xef, 0x19, 0x69, 0x00, | ||
| 5901 | 0x86, 0xf8, 0x0b, 0x5d, 0x00, 0x86, 0xf9, 0x19, | ||
| 5902 | 0x73, 0x00, 0x86, 0xfa, 0x3a, 0xf1, 0x00, 0x86, | ||
| 5903 | 0xfb, 0x19, 0x6f, 0x00, 0x86, 0xfc, 0x42, 0xd7, | ||
| 5904 | 0x00, 0x86, 0xfd, 0x3a, 0xf2, 0x00, 0x86, 0xfe, | ||
| 5905 | 0x05, 0x6b, 0x00, 0x87, 0x00, 0x19, 0x6d, 0x00, | ||
| 5906 | 0x87, 0x02, 0x0e, 0x58, 0x00, 0x87, 0x03, 0x19, | ||
| 5907 | 0x6e, 0x00, 0x87, 0x04, 0x57, 0x9a, 0x00, 0x87, | ||
| 5908 | 0x05, 0x48, 0xa1, 0x00, 0x87, 0x06, 0x19, 0x6b, | ||
| 5909 | 0x00, 0x87, 0x07, 0x48, 0xa2, 0x00, 0x87, 0x08, | ||
| 5910 | 0x19, 0x6c, 0x00, 0x87, 0x09, 0x19, 0x71, 0x00, | ||
| 5911 | 0x87, 0x0a, 0x19, 0x74, 0x00, 0x87, 0x0b, 0x3a, | ||
| 5912 | 0xf3, 0x00, 0x87, 0x0d, 0x19, 0x72, 0x00, 0x87, | ||
| 5913 | 0x0e, 0x48, 0xa3, 0x00, 0x87, 0x0f, 0x57, 0x9b, | ||
| 5914 | 0x00, 0x87, 0x10, 0x48, 0xa4, 0x00, 0x87, 0x11, | ||
| 5915 | 0x19, 0x70, 0x00, 0x87, 0x12, 0x19, 0x6a, 0x00, | ||
| 5916 | 0x87, 0x13, 0x3a, 0xf4, 0x00, 0x87, 0x14, 0x4d, | ||
| 5917 | 0x2c, 0x00, 0x87, 0x18, 0x0b, 0x96, 0x00, 0x87, | ||
| 5918 | 0x19, 0x3a, 0xf5, 0x00, 0x87, 0x1a, 0x19, 0x7b, | ||
| 5919 | 0x00, 0x87, 0x1c, 0x0e, 0xb6, 0x00, 0x87, 0x1e, | ||
| 5920 | 0x3a, 0xf6, 0x00, 0x87, 0x1f, 0x48, 0xa5, 0x00, | ||
| 5921 | 0x87, 0x21, 0x48, 0xa6, 0x00, 0x87, 0x22, 0x4d, | ||
| 5922 | 0x2d, 0x00, 0x87, 0x23, 0x48, 0xa7, 0x00, 0x87, | ||
| 5923 | 0x25, 0x19, 0x79, 0x00, 0x87, 0x28, 0x3a, 0xf7, | ||
| 5924 | 0x00, 0x87, 0x29, 0x19, 0x7a, 0x00, 0x87, 0x2e, | ||
| 5925 | 0x4d, 0x2e, 0x00, 0x87, 0x2f, 0x57, 0x9c, 0x00, | ||
| 5926 | 0x87, 0x31, 0x48, 0xa8, 0x00, 0x87, 0x32, 0x57, | ||
| 5927 | 0x9d, 0x00, 0x87, 0x34, 0x19, 0x75, 0x00, 0x87, | ||
| 5928 | 0x37, 0x19, 0x77, 0x00, 0x87, 0x39, 0x4d, 0x2f, | ||
| 5929 | 0x00, 0x87, 0x3a, 0x48, 0xa9, 0x00, 0x87, 0x3b, | ||
| 5930 | 0x19, 0x78, 0x00, 0x87, 0x3c, 0x57, 0x9e, 0x00, | ||
| 5931 | 0x87, 0x3d, 0x57, 0x9f, 0x00, 0x87, 0x3e, 0x3a, | ||
| 5932 | 0xf8, 0x00, 0x87, 0x3f, 0x19, 0x76, 0x00, 0x87, | ||
| 5933 | 0x40, 0x48, 0xaa, 0x00, 0x87, 0x43, 0x48, 0xab, | ||
| 5934 | 0x00, 0x87, 0x45, 0x57, 0xa0, 0x00, 0x87, 0x49, | ||
| 5935 | 0x0a, 0x8a, 0x00, 0x87, 0x4b, 0x0f, 0xdf, 0x00, | ||
| 5936 | 0x87, 0x4c, 0x19, 0x7f, 0x00, 0x87, 0x4d, 0x57, | ||
| 5937 | 0xa1, 0x00, 0x87, 0x4e, 0x19, 0x80, 0x00, 0x87, | ||
| 5938 | 0x51, 0x48, 0xac, 0x00, 0x87, 0x53, 0x19, 0x86, | ||
| 5939 | 0x00, 0x87, 0x55, 0x09, 0xf0, 0x00, 0x87, 0x57, | ||
| 5940 | 0x19, 0x82, 0x00, 0x87, 0x58, 0x48, 0xad, 0x00, | ||
| 5941 | 0x87, 0x59, 0x19, 0x85, 0x00, 0x87, 0x5d, 0x4d, | ||
| 5942 | 0x30, 0x00, 0x87, 0x5f, 0x19, 0x7d, 0x00, 0x87, | ||
| 5943 | 0x60, 0x19, 0x7c, 0x00, 0x87, 0x61, 0x57, 0xa2, | ||
| 5944 | 0x00, 0x87, 0x63, 0x19, 0x87, 0x00, 0x87, 0x64, | ||
| 5945 | 0x48, 0xae, 0x00, 0x87, 0x65, 0x48, 0xaf, 0x00, | ||
| 5946 | 0x87, 0x66, 0x05, 0x5c, 0x00, 0x87, 0x68, 0x19, | ||
| 5947 | 0x83, 0x00, 0x87, 0x6a, 0x19, 0x88, 0x00, 0x87, | ||
| 5948 | 0x6e, 0x19, 0x84, 0x00, 0x87, 0x6f, 0x57, 0xa3, | ||
| 5949 | 0x00, 0x87, 0x71, 0x3a, 0xf9, 0x00, 0x87, 0x72, | ||
| 5950 | 0x48, 0xb0, 0x00, 0x87, 0x74, 0x19, 0x81, 0x00, | ||
| 5951 | 0x87, 0x76, 0x0b, 0xcf, 0x00, 0x87, 0x78, 0x19, | ||
| 5952 | 0x7e, 0x00, 0x87, 0x7b, 0x4d, 0x31, 0x00, 0x87, | ||
| 5953 | 0x7c, 0x48, 0xb1, 0x00, 0x87, 0x7f, 0x0d, 0x1e, | ||
| 5954 | 0x00, 0x87, 0x82, 0x19, 0x8c, 0x00, 0x87, 0x83, | ||
| 5955 | 0x57, 0xa4, 0x00, 0x87, 0x84, 0x57, 0xa5, 0x00, | ||
| 5956 | 0x87, 0x85, 0x57, 0xa6, 0x00, 0x87, 0x86, 0x57, | ||
| 5957 | 0xa7, 0x00, 0x87, 0x87, 0x42, 0xd8, 0x00, 0x87, | ||
| 5958 | 0x88, 0x3a, 0xfa, 0x00, 0x87, 0x89, 0x48, 0xb5, | ||
| 5959 | 0x00, 0x87, 0x8b, 0x48, 0xb6, 0x00, 0x87, 0x8c, | ||
| 5960 | 0x4d, 0x32, 0x00, 0x87, 0x8d, 0x0f, 0x25, 0x00, | ||
| 5961 | 0x87, 0x8e, 0x4d, 0x33, 0x00, 0x87, 0x90, 0x57, | ||
| 5962 | 0xa8, 0x00, 0x87, 0x93, 0x48, 0xb7, 0x00, 0x87, | ||
| 5963 | 0x95, 0x57, 0xa9, 0x00, 0x87, 0x97, 0x4d, 0x34, | ||
| 5964 | 0x00, 0x87, 0x98, 0x4d, 0x35, 0x00, 0x87, 0x99, | ||
| 5965 | 0x3a, 0xfb, 0x00, 0x87, 0x9e, 0x4d, 0x36, 0x00, | ||
| 5966 | 0x87, 0x9f, 0x19, 0x8b, 0x00, 0x87, 0xa0, 0x48, | ||
| 5967 | 0xb8, 0x00, 0x87, 0xa2, 0x19, 0x8a, 0x00, 0x87, | ||
| 5968 | 0xa3, 0x4d, 0x37, 0x00, 0x87, 0xa7, 0x48, 0xb4, | ||
| 5969 | 0x00, 0x87, 0xab, 0x19, 0x93, 0x00, 0x87, 0xac, | ||
| 5970 | 0x3a, 0xfc, 0x00, 0x87, 0xad, 0x3a, 0xfd, 0x00, | ||
| 5971 | 0x87, 0xae, 0x4d, 0x38, 0x00, 0x87, 0xaf, 0x19, | ||
| 5972 | 0x8d, 0x00, 0x87, 0xb1, 0x57, 0xab, 0x00, 0x87, | ||
| 5973 | 0xb3, 0x19, 0x95, 0x00, 0x87, 0xb5, 0x3a, 0xfe, | ||
| 5974 | 0x00, 0x87, 0xba, 0x0f, 0x50, 0x00, 0x87, 0xbb, | ||
| 5975 | 0x19, 0x98, 0x00, 0x87, 0xbd, 0x19, 0x8f, 0x00, | ||
| 5976 | 0x87, 0xbe, 0x48, 0xbb, 0x00, 0x87, 0xbf, 0x4d, | ||
| 5977 | 0x39, 0x00, 0x87, 0xc0, 0x19, 0x90, 0x00, 0x87, | ||
| 5978 | 0xc1, 0x48, 0xbd, 0x00, 0x87, 0xc4, 0x19, 0x94, | ||
| 5979 | 0x00, 0x87, 0xc6, 0x19, 0x97, 0x00, 0x87, 0xc7, | ||
| 5980 | 0x19, 0x96, 0x00, 0x87, 0xc8, 0x57, 0xac, 0x00, | ||
| 5981 | 0x87, 0xc9, 0x4d, 0x3a, 0x00, 0x87, 0xca, 0x57, | ||
| 5982 | 0xad, 0x00, 0x87, 0xcb, 0x19, 0x8e, 0x00, 0x87, | ||
| 5983 | 0xce, 0x48, 0xbe, 0x00, 0x87, 0xd0, 0x19, 0x91, | ||
| 5984 | 0x00, 0x87, 0xd2, 0x19, 0xa2, 0x00, 0x87, 0xd5, | ||
| 5985 | 0x57, 0xae, 0x00, 0x87, 0xd6, 0x3a, 0xff, 0x00, | ||
| 5986 | 0x87, 0xd9, 0x57, 0xaf, 0x00, 0x87, 0xda, 0x4d, | ||
| 5987 | 0x3b, 0x00, 0x87, 0xdc, 0x57, 0xb0, 0x00, 0x87, | ||
| 5988 | 0xdf, 0x48, 0xbf, 0x00, 0x87, 0xe0, 0x19, 0x9b, | ||
| 5989 | 0x00, 0x87, 0xe2, 0x57, 0xb1, 0x00, 0x87, 0xe3, | ||
| 5990 | 0x48, 0xc1, 0x00, 0x87, 0xe4, 0x57, 0xb2, 0x00, | ||
| 5991 | 0x87, 0xe5, 0x48, 0xc2, 0x00, 0x87, 0xe6, 0x48, | ||
| 5992 | 0xc3, 0x00, 0x87, 0xea, 0x48, 0xc4, 0x00, 0x87, | ||
| 5993 | 0xeb, 0x3b, 0x00, 0x00, 0x87, 0xec, 0x1e, 0x23, | ||
| 5994 | 0x00, 0x87, 0xed, 0x3b, 0x01, 0x00, 0x87, 0xef, | ||
| 5995 | 0x19, 0x99, 0x00, 0x87, 0xf1, 0x57, 0xb3, 0x00, | ||
| 5996 | 0x87, 0xf2, 0x19, 0x9a, 0x00, 0x87, 0xf3, 0x57, | ||
| 5997 | 0xb4, 0x00, 0x87, 0xf5, 0x3c, 0x3d, 0x00, 0x87, | ||
| 5998 | 0xf6, 0x19, 0x9f, 0x00, 0x87, 0xf7, 0x19, 0xa0, | ||
| 5999 | 0x00, 0x87, 0xf8, 0x57, 0xb5, 0x00, 0x87, 0xf9, | ||
| 6000 | 0x05, 0x88, 0x00, 0x87, 0xfa, 0x57, 0xb6, 0x00, | ||
| 6001 | 0x87, 0xfb, 0x06, 0x5c, 0x00, 0x87, 0xfe, 0x19, | ||
| 6002 | 0x9e, 0x00, 0x87, 0xff, 0x57, 0xb7, 0x00, 0x88, | ||
| 6003 | 0x01, 0x3b, 0x02, 0x00, 0x88, 0x03, 0x4f, 0x58, | ||
| 6004 | 0x00, 0x88, 0x05, 0x19, 0x89, 0x00, 0x88, 0x06, | ||
| 6005 | 0x3b, 0x04, 0x00, 0x88, 0x07, 0x21, 0xa6, 0x00, | ||
| 6006 | 0x88, 0x09, 0x57, 0xb8, 0x00, 0x88, 0x0a, 0x42, | ||
| 6007 | 0xda, 0x00, 0x88, 0x0b, 0x3b, 0x05, 0x00, 0x88, | ||
| 6008 | 0x0d, 0x19, 0x9d, 0x00, 0x88, 0x0e, 0x19, 0xa1, | ||
| 6009 | 0x00, 0x88, 0x0f, 0x19, 0x9c, 0x00, 0x88, 0x10, | ||
| 6010 | 0x42, 0xdb, 0x00, 0x88, 0x11, 0x19, 0xa3, 0x00, | ||
| 6011 | 0x88, 0x12, 0x57, 0xba, 0x00, 0x88, 0x13, 0x48, | ||
| 6012 | 0xc5, 0x00, 0x88, 0x14, 0x3b, 0x06, 0x00, 0x88, | ||
| 6013 | 0x15, 0x19, 0xa5, 0x00, 0x88, 0x16, 0x19, 0xa4, | ||
| 6014 | 0x00, 0x88, 0x18, 0x4d, 0x3c, 0x00, 0x88, 0x19, | ||
| 6015 | 0x57, 0xb9, 0x00, 0x88, 0x1a, 0x57, 0xbb, 0x00, | ||
| 6016 | 0x88, 0x1b, 0x4d, 0x3d, 0x00, 0x88, 0x1c, 0x3b, | ||
| 6017 | 0x07, 0x00, 0x88, 0x1e, 0x57, 0xbc, 0x00, 0x88, | ||
| 6018 | 0x1f, 0x1e, 0x85, 0x00, 0x88, 0x21, 0x19, 0xa7, | ||
| 6019 | 0x00, 0x88, 0x22, 0x19, 0xa6, 0x00, 0x88, 0x23, | ||
| 6020 | 0x19, 0x61, 0x00, 0x88, 0x27, 0x19, 0xab, 0x00, | ||
| 6021 | 0x88, 0x28, 0x48, 0xc6, 0x00, 0x88, 0x2d, 0x4d, | ||
| 6022 | 0x3e, 0x00, 0x88, 0x2e, 0x48, 0xc7, 0x00, 0x88, | ||
| 6023 | 0x30, 0x57, 0xbd, 0x00, 0x88, 0x31, 0x19, 0xa8, | ||
| 6024 | 0x00, 0x88, 0x32, 0x48, 0xc8, 0x00, 0x88, 0x35, | ||
| 6025 | 0x57, 0xbe, 0x00, 0x88, 0x36, 0x19, 0xa9, 0x00, | ||
| 6026 | 0x88, 0x39, 0x19, 0xaa, 0x00, 0x88, 0x3a, 0x4d, | ||
| 6027 | 0x3f, 0x00, 0x88, 0x3b, 0x19, 0xac, 0x00, 0x88, | ||
| 6028 | 0x3c, 0x48, 0xc9, 0x00, 0x88, 0x40, 0x07, 0x42, | ||
| 6029 | 0x00, 0x88, 0x41, 0x57, 0xbf, 0x00, 0x88, 0x42, | ||
| 6030 | 0x19, 0xae, 0x00, 0x88, 0x43, 0x57, 0xc0, 0x00, | ||
| 6031 | 0x88, 0x44, 0x19, 0xad, 0x00, 0x88, 0x45, 0x4d, | ||
| 6032 | 0x40, 0x00, 0x88, 0x46, 0x09, 0x3a, 0x00, 0x88, | ||
| 6033 | 0x48, 0x57, 0xc1, 0x00, 0x88, 0x49, 0x57, 0xc2, | ||
| 6034 | 0x00, 0x88, 0x4a, 0x48, 0xcb, 0x00, 0x88, 0x4b, | ||
| 6035 | 0x4d, 0x41, 0x00, 0x88, 0x4c, 0x07, 0xe6, 0x00, | ||
| 6036 | 0x88, 0x4d, 0x15, 0x24, 0x00, 0x88, 0x4e, 0x4d, | ||
| 6037 | 0x42, 0x00, 0x88, 0x51, 0x57, 0xc4, 0x00, 0x88, | ||
| 6038 | 0x52, 0x19, 0xaf, 0x00, 0x88, 0x53, 0x09, 0x5b, | ||
| 6039 | 0x00, 0x88, 0x55, 0x4d, 0x43, 0x00, 0x88, 0x56, | ||
| 6040 | 0x3b, 0x08, 0x00, 0x88, 0x57, 0x05, 0x97, 0x00, | ||
| 6041 | 0x88, 0x58, 0x48, 0xcc, 0x00, 0x88, 0x59, 0x19, | ||
| 6042 | 0xb0, 0x00, 0x88, 0x5a, 0x4d, 0x44, 0x00, 0x88, | ||
| 6043 | 0x5b, 0x04, 0xf4, 0x00, 0x88, 0x5c, 0x57, 0xc5, | ||
| 6044 | 0x00, 0x88, 0x5d, 0x09, 0xbf, 0x00, 0x88, 0x5e, | ||
| 6045 | 0x19, 0xb1, 0x00, 0x88, 0x5f, 0x3b, 0x09, 0x00, | ||
| 6046 | 0x88, 0x60, 0x57, 0xc6, 0x00, 0x88, 0x61, 0x07, | ||
| 6047 | 0xe7, 0x00, 0x88, 0x62, 0x19, 0xb2, 0x00, 0x88, | ||
| 6048 | 0x63, 0x04, 0xa5, 0x00, 0x88, 0x64, 0x3b, 0x0a, | ||
| 6049 | 0x00, 0x88, 0x68, 0x0d, 0xaf, 0x00, 0x88, 0x69, | ||
| 6050 | 0x48, 0xcf, 0x00, 0x88, 0x6b, 0x19, 0xb3, 0x00, | ||
| 6051 | 0x88, 0x6e, 0x4d, 0x45, 0x00, 0x88, 0x6f, 0x48, | ||
| 6052 | 0xd1, 0x00, 0x88, 0x70, 0x0a, 0x30, 0x00, 0x88, | ||
| 6053 | 0x71, 0x57, 0xc7, 0x00, 0x88, 0x72, 0x19, 0xba, | ||
| 6054 | 0x00, 0x88, 0x75, 0x19, 0xb7, 0x00, 0x88, 0x77, | ||
| 6055 | 0x0b, 0xad, 0x00, 0x88, 0x79, 0x57, 0xc8, 0x00, | ||
| 6056 | 0x88, 0x7b, 0x57, 0xc9, 0x00, 0x88, 0x7d, 0x19, | ||
| 6057 | 0xb8, 0x00, 0x88, 0x7e, 0x19, 0xb5, 0x00, 0x88, | ||
| 6058 | 0x7f, 0x06, 0xd6, 0x00, 0x88, 0x80, 0x57, 0xca, | ||
| 6059 | 0x00, 0x88, 0x81, 0x19, 0xb4, 0x00, 0x88, 0x82, | ||
| 6060 | 0x19, 0xbb, 0x00, 0x88, 0x88, 0x07, 0x0c, 0x00, | ||
| 6061 | 0x88, 0x8b, 0x0b, 0x3e, 0x00, 0x88, 0x8d, 0x19, | ||
| 6062 | 0xc1, 0x00, 0x88, 0x92, 0x19, 0xbd, 0x00, 0x88, | ||
| 6063 | 0x96, 0x0b, 0x15, 0x00, 0x88, 0x97, 0x19, 0xbc, | ||
| 6064 | 0x00, 0x88, 0x98, 0x3b, 0x0b, 0x00, 0x88, 0x99, | ||
| 6065 | 0x19, 0xbf, 0x00, 0x88, 0x9a, 0x4d, 0x46, 0x00, | ||
| 6066 | 0x88, 0x9b, 0x4d, 0x47, 0x00, 0x88, 0x9c, 0x4d, | ||
| 6067 | 0x48, 0x00, 0x88, 0x9e, 0x19, 0xb6, 0x00, 0x88, | ||
| 6068 | 0x9f, 0x57, 0xcb, 0x00, 0x88, 0xa0, 0x48, 0xd2, | ||
| 6069 | 0x00, 0x88, 0xa2, 0x19, 0xc0, 0x00, 0x88, 0xa4, | ||
| 6070 | 0x19, 0xc2, 0x00, 0x88, 0xa8, 0x57, 0xcc, 0x00, | ||
| 6071 | 0x88, 0xaa, 0x3b, 0x0c, 0x00, 0x88, 0xab, 0x0d, | ||
| 6072 | 0x83, 0x00, 0x88, 0xae, 0x19, 0xbe, 0x00, 0x88, | ||
| 6073 | 0xb0, 0x19, 0xc3, 0x00, 0x88, 0xb1, 0x19, 0xc5, | ||
| 6074 | 0x00, 0x88, 0xb4, 0x07, 0x87, 0x00, 0x88, 0xb5, | ||
| 6075 | 0x19, 0xb9, 0x00, 0x88, 0xb7, 0x04, 0x85, 0x00, | ||
| 6076 | 0x88, 0xba, 0x57, 0xcd, 0x00, 0x88, 0xbc, 0x48, | ||
| 6077 | 0xd3, 0x00, 0x88, 0xbd, 0x3b, 0x0d, 0x00, 0x88, | ||
| 6078 | 0xbe, 0x3b, 0x0e, 0x00, 0x88, 0xbf, 0x19, 0xc4, | ||
| 6079 | 0x00, 0x88, 0xc0, 0x48, 0xd4, 0x00, 0x88, 0xc1, | ||
| 6080 | 0x08, 0x4b, 0x00, 0x88, 0xc2, 0x0f, 0xbe, 0x00, | ||
| 6081 | 0x88, 0xc3, 0x19, 0xc6, 0x00, 0x88, 0xc4, 0x19, | ||
| 6082 | 0xc7, 0x00, 0x88, 0xc5, 0x0a, 0xf7, 0x00, 0x88, | ||
| 6083 | 0xc6, 0x37, 0x89, 0x00, 0x88, 0xca, 0x3b, 0x0f, | ||
| 6084 | 0x00, 0x88, 0xcb, 0x57, 0xce, 0x00, 0x88, 0xcc, | ||
| 6085 | 0x57, 0xcf, 0x00, 0x88, 0xcd, 0x4d, 0x49, 0x00, | ||
| 6086 | 0x88, 0xce, 0x42, 0xdc, 0x00, 0x88, 0xcf, 0x0f, | ||
| 6087 | 0x6a, 0x00, 0x88, 0xd1, 0x48, 0xd6, 0x00, 0x88, | ||
| 6088 | 0xd2, 0x3b, 0x10, 0x00, 0x88, 0xd3, 0x48, 0xd7, | ||
| 6089 | 0x00, 0x88, 0xd4, 0x19, 0xc8, 0x00, 0x88, 0xd5, | ||
| 6090 | 0x0f, 0x1f, 0x00, 0x88, 0xd8, 0x19, 0xc9, 0x00, | ||
| 6091 | 0x88, 0xd9, 0x19, 0xca, 0x00, 0x88, 0xdb, 0x3b, | ||
| 6092 | 0x11, 0x00, 0x88, 0xdc, 0x0e, 0x34, 0x00, 0x88, | ||
| 6093 | 0xdd, 0x19, 0xcb, 0x00, 0x88, 0xde, 0x57, 0xd0, | ||
| 6094 | 0x00, 0x88, 0xdf, 0x08, 0x30, 0x00, 0x88, 0xe0, | ||
| 6095 | 0x4d, 0x4a, 0x00, 0x88, 0xe1, 0x0f, 0x6b, 0x00, | ||
| 6096 | 0x88, 0xe7, 0x57, 0xd1, 0x00, 0x88, 0xe8, 0x19, | ||
| 6097 | 0xd0, 0x00, 0x88, 0xef, 0x4d, 0x4b, 0x00, 0x88, | ||
| 6098 | 0xf0, 0x3b, 0x12, 0x00, 0x88, 0xf1, 0x3b, 0x13, | ||
| 6099 | 0x00, 0x88, 0xf2, 0x19, 0xd1, 0x00, 0x88, 0xf3, | ||
| 6100 | 0x09, 0xc0, 0x00, 0x88, 0xf4, 0x19, 0xcf, 0x00, | ||
| 6101 | 0x88, 0xf5, 0x21, 0xa7, 0x00, 0x88, 0xf7, 0x57, | ||
| 6102 | 0xd2, 0x00, 0x88, 0xf8, 0x0f, 0x51, 0x00, 0x88, | ||
| 6103 | 0xf9, 0x19, 0xcc, 0x00, 0x88, 0xfc, 0x19, 0xce, | ||
| 6104 | 0x00, 0x88, 0xfd, 0x0a, 0x61, 0x00, 0x88, 0xfe, | ||
| 6105 | 0x0a, 0x44, 0x00, 0x89, 0x01, 0x48, 0xd9, 0x00, | ||
| 6106 | 0x89, 0x02, 0x19, 0xcd, 0x00, 0x89, 0x04, 0x19, | ||
| 6107 | 0xd2, 0x00, 0x89, 0x06, 0x3b, 0x14, 0x00, 0x89, | ||
| 6108 | 0x07, 0x0d, 0xf3, 0x00, 0x89, 0x0a, 0x19, 0xd4, | ||
| 6109 | 0x00, 0x89, 0x0c, 0x19, 0xd3, 0x00, 0x89, 0x0d, | ||
| 6110 | 0x57, 0xd3, 0x00, 0x89, 0x0e, 0x4d, 0x4c, 0x00, | ||
| 6111 | 0x89, 0x0f, 0x4d, 0x4d, 0x00, 0x89, 0x10, 0x05, | ||
| 6112 | 0xca, 0x00, 0x89, 0x12, 0x0e, 0x59, 0x00, 0x89, | ||
| 6113 | 0x13, 0x19, 0xd5, 0x00, 0x89, 0x15, 0x57, 0xd4, | ||
| 6114 | 0x00, 0x89, 0x16, 0x57, 0xd5, 0x00, 0x89, 0x18, | ||
| 6115 | 0x3b, 0x15, 0x00, 0x89, 0x19, 0x3b, 0x16, 0x00, | ||
| 6116 | 0x89, 0x1a, 0x3b, 0x17, 0x00, 0x89, 0x1c, 0x20, | ||
| 6117 | 0xa8, 0x00, 0x89, 0x1d, 0x19, 0xe1, 0x00, 0x89, | ||
| 6118 | 0x1e, 0x19, 0xd7, 0x00, 0x89, 0x20, 0x57, 0xd6, | ||
| 6119 | 0x00, 0x89, 0x25, 0x19, 0xd8, 0x00, 0x89, 0x26, | ||
| 6120 | 0x4d, 0x4e, 0x00, 0x89, 0x27, 0x3b, 0x18, 0x00, | ||
| 6121 | 0x89, 0x28, 0x57, 0xd7, 0x00, 0x89, 0x2a, 0x19, | ||
| 6122 | 0xd9, 0x00, 0x89, 0x2b, 0x19, 0xda, 0x00, 0x89, | ||
| 6123 | 0x30, 0x3b, 0x19, 0x00, 0x89, 0x31, 0x57, 0xd8, | ||
| 6124 | 0x00, 0x89, 0x32, 0x42, 0xde, 0x00, 0x89, 0x35, | ||
| 6125 | 0x4d, 0x4f, 0x00, 0x89, 0x36, 0x19, 0xde, 0x00, | ||
| 6126 | 0x89, 0x37, 0x48, 0xdb, 0x00, 0x89, 0x38, 0x19, | ||
| 6127 | 0xdf, 0x00, 0x89, 0x39, 0x42, 0xdf, 0x00, 0x89, | ||
| 6128 | 0x3a, 0x57, 0xd9, 0x00, 0x89, 0x3b, 0x19, 0xdd, | ||
| 6129 | 0x00, 0x89, 0x3e, 0x3b, 0x1a, 0x00, 0x89, 0x40, | ||
| 6130 | 0x42, 0xe0, 0x00, 0x89, 0x41, 0x19, 0xdb, 0x00, | ||
| 6131 | 0x89, 0x42, 0x48, 0xdd, 0x00, 0x89, 0x43, 0x19, | ||
| 6132 | 0xd6, 0x00, 0x89, 0x44, 0x19, 0xdc, 0x00, 0x89, | ||
| 6133 | 0x45, 0x48, 0xde, 0x00, 0x89, 0x46, 0x57, 0xda, | ||
| 6134 | 0x00, 0x89, 0x49, 0x48, 0xdf, 0x00, 0x89, 0x4c, | ||
| 6135 | 0x19, 0xe0, 0x00, 0x89, 0x4d, 0x1b, 0xd0, 0x00, | ||
| 6136 | 0x89, 0x4f, 0x57, 0xdb, 0x00, 0x89, 0x52, 0x57, | ||
| 6137 | 0xdc, 0x00, 0x89, 0x56, 0x05, 0x28, 0x00, 0x89, | ||
| 6138 | 0x57, 0x57, 0xdd, 0x00, 0x89, 0x5a, 0x4d, 0x50, | ||
| 6139 | 0x00, 0x89, 0x5b, 0x57, 0xde, 0x00, 0x89, 0x5c, | ||
| 6140 | 0x4d, 0x51, 0x00, 0x89, 0x5e, 0x19, 0xe3, 0x00, | ||
| 6141 | 0x89, 0x5f, 0x06, 0xd7, 0x00, 0x89, 0x60, 0x19, | ||
| 6142 | 0xe2, 0x00, 0x89, 0x61, 0x57, 0xdf, 0x00, 0x89, | ||
| 6143 | 0x62, 0x48, 0xe1, 0x00, 0x89, 0x63, 0x57, 0xe0, | ||
| 6144 | 0x00, 0x89, 0x64, 0x19, 0xe5, 0x00, 0x89, 0x66, | ||
| 6145 | 0x19, 0xe4, 0x00, 0x89, 0x6a, 0x19, 0xe7, 0x00, | ||
| 6146 | 0x89, 0x6b, 0x4d, 0x52, 0x00, 0x89, 0x6d, 0x19, | ||
| 6147 | 0xe6, 0x00, 0x89, 0x6e, 0x57, 0xe1, 0x00, 0x89, | ||
| 6148 | 0x6f, 0x19, 0xe8, 0x00, 0x89, 0x70, 0x4d, 0x53, | ||
| 6149 | 0x00, 0x89, 0x72, 0x09, 0x3b, 0x00, 0x89, 0x73, | ||
| 6150 | 0x57, 0xe2, 0x00, 0x89, 0x74, 0x19, 0xe9, 0x00, | ||
| 6151 | 0x89, 0x75, 0x57, 0xe3, 0x00, 0x89, 0x77, 0x19, | ||
| 6152 | 0xea, 0x00, 0x89, 0x7a, 0x57, 0xe4, 0x00, 0x89, | ||
| 6153 | 0x7b, 0x3b, 0x1b, 0x00, 0x89, 0x7c, 0x4d, 0x54, | ||
| 6154 | 0x00, 0x89, 0x7d, 0x57, 0xe5, 0x00, 0x89, 0x7e, | ||
| 6155 | 0x19, 0xeb, 0x00, 0x89, 0x7f, 0x0a, 0x62, 0x00, | ||
| 6156 | 0x89, 0x80, 0x36, 0x2e, 0x00, 0x89, 0x81, 0x0f, | ||
| 6157 | 0x41, 0x00, 0x89, 0x83, 0x19, 0xec, 0x00, 0x89, | ||
| 6158 | 0x86, 0x0d, 0xf4, 0x00, 0x89, 0x87, 0x0c, 0xfc, | ||
| 6159 | 0x00, 0x89, 0x88, 0x19, 0xed, 0x00, 0x89, 0x89, | ||
| 6160 | 0x48, 0xe2, 0x00, 0x89, 0x8a, 0x19, 0xee, 0x00, | ||
| 6161 | 0x89, 0x8b, 0x07, 0x5f, 0x00, 0x89, 0x8d, 0x57, | ||
| 6162 | 0xe6, 0x00, 0x89, 0x8f, 0x06, 0x46, 0x00, 0x89, | ||
| 6163 | 0x90, 0x48, 0xe3, 0x00, 0x89, 0x93, 0x19, 0xef, | ||
| 6164 | 0x00, 0x89, 0x94, 0x42, 0xe1, 0x00, 0x89, 0x95, | ||
| 6165 | 0x57, 0xe7, 0x00, 0x89, 0x96, 0x08, 0xb9, 0x00, | ||
| 6166 | 0x89, 0x97, 0x0c, 0xf7, 0x00, 0x89, 0x98, 0x19, | ||
| 6167 | 0xf0, 0x00, 0x89, 0x9a, 0x05, 0xae, 0x00, 0x89, | ||
| 6168 | 0x9b, 0x57, 0xe8, 0x00, 0x89, 0x9c, 0x57, 0xe9, | ||
| 6169 | 0x00, 0x89, 0x9f, 0x48, 0xe4, 0x00, 0x89, 0xa0, | ||
| 6170 | 0x57, 0xea, 0x00, 0x89, 0xa1, 0x19, 0xf1, 0x00, | ||
| 6171 | 0x89, 0xa5, 0x4d, 0x55, 0x00, 0x89, 0xa6, 0x19, | ||
| 6172 | 0xf3, 0x00, 0x89, 0xa7, 0x0f, 0x61, 0x00, 0x89, | ||
| 6173 | 0xa9, 0x19, 0xf2, 0x00, 0x89, 0xaa, 0x0a, 0x0c, | ||
| 6174 | 0x00, 0x89, 0xac, 0x19, 0xf4, 0x00, 0x89, 0xaf, | ||
| 6175 | 0x19, 0xf5, 0x00, 0x89, 0xb0, 0x48, 0xe5, 0x00, | ||
| 6176 | 0x89, 0xb2, 0x19, 0xf6, 0x00, 0x89, 0xb3, 0x06, | ||
| 6177 | 0x0d, 0x00, 0x89, 0xb4, 0x57, 0xeb, 0x00, 0x89, | ||
| 6178 | 0xb5, 0x4d, 0x56, 0x00, 0x89, 0xb6, 0x57, 0xec, | ||
| 6179 | 0x00, 0x89, 0xb7, 0x48, 0xe6, 0x00, 0x89, 0xba, | ||
| 6180 | 0x19, 0xf7, 0x00, 0x89, 0xbc, 0x4d, 0x57, 0x00, | ||
| 6181 | 0x89, 0xbd, 0x19, 0xf8, 0x00, 0x89, 0xbf, 0x19, | ||
| 6182 | 0xf9, 0x00, 0x89, 0xc0, 0x19, 0xfa, 0x00, 0x89, | ||
| 6183 | 0xd2, 0x35, 0x72, 0x00, 0x89, 0xd4, 0x3b, 0x1c, | ||
| 6184 | 0x00, 0x89, 0xd5, 0x4d, 0x58, 0x00, 0x89, 0xd6, | ||
| 6185 | 0x3b, 0x1d, 0x00, 0x89, 0xd7, 0x57, 0xed, 0x00, | ||
| 6186 | 0x89, 0xd8, 0x48, 0xe7, 0x00, 0x89, 0xda, 0x19, | ||
| 6187 | 0xfb, 0x00, 0x89, 0xdc, 0x19, 0xfc, 0x00, 0x89, | ||
| 6188 | 0xdd, 0x19, 0xfd, 0x00, 0x89, 0xe3, 0x05, 0x72, | ||
| 6189 | 0x00, 0x89, 0xe5, 0x3b, 0x1e, 0x00, 0x89, 0xe6, | ||
| 6190 | 0x09, 0xee, 0x00, 0x89, 0xe7, 0x19, 0xfe, 0x00, | ||
| 6191 | 0x89, 0xe9, 0x57, 0xee, 0x00, 0x89, 0xeb, 0x48, | ||
| 6192 | 0xe8, 0x00, 0x89, 0xed, 0x57, 0xef, 0x00, 0x89, | ||
| 6193 | 0xf1, 0x3b, 0x1f, 0x00, 0x89, 0xf3, 0x48, 0xea, | ||
| 6194 | 0x00, 0x89, 0xf4, 0x19, 0xff, 0x00, 0x89, 0xf6, | ||
| 6195 | 0x42, 0xe2, 0x00, 0x89, 0xf8, 0x1a, 0x00, 0x00, | ||
| 6196 | 0x89, 0xf9, 0x57, 0xf0, 0x00, 0x89, 0xfd, 0x48, | ||
| 6197 | 0xeb, 0x00, 0x89, 0xff, 0x48, 0xec, 0x00, 0x8a, | ||
| 6198 | 0x00, 0x07, 0x74, 0x00, 0x8a, 0x01, 0x35, 0xbc, | ||
| 6199 | 0x00, 0x8a, 0x02, 0x0c, 0x17, 0x00, 0x8a, 0x03, | ||
| 6200 | 0x1a, 0x01, 0x00, 0x8a, 0x04, 0x57, 0xf1, 0x00, | ||
| 6201 | 0x8a, 0x05, 0x57, 0xf2, 0x00, 0x8a, 0x07, 0x3b, | ||
| 6202 | 0x20, 0x00, 0x8a, 0x08, 0x07, 0x2d, 0x00, 0x8a, | ||
| 6203 | 0x0a, 0x0a, 0x1c, 0x00, 0x8a, 0x0c, 0x1a, 0x04, | ||
| 6204 | 0x00, 0x8a, 0x0e, 0x0c, 0x7c, 0x00, 0x8a, 0x0f, | ||
| 6205 | 0x3b, 0x21, 0x00, 0x8a, 0x10, 0x1a, 0x03, 0x00, | ||
| 6206 | 0x8a, 0x11, 0x48, 0xee, 0x00, 0x8a, 0x12, 0x21, | ||
| 6207 | 0xa8, 0x00, 0x8a, 0x13, 0x07, 0x07, 0x00, 0x8a, | ||
| 6208 | 0x14, 0x48, 0xef, 0x00, 0x8a, 0x15, 0x3b, 0x22, | ||
| 6209 | 0x00, 0x8a, 0x16, 0x1a, 0x02, 0x00, 0x8a, 0x17, | ||
| 6210 | 0x0b, 0x57, 0x00, 0x8a, 0x18, 0x06, 0x47, 0x00, | ||
| 6211 | 0x8a, 0x1b, 0x1a, 0x05, 0x00, 0x8a, 0x1d, 0x1a, | ||
| 6212 | 0x06, 0x00, 0x8a, 0x1e, 0x57, 0xf3, 0x00, 0x8a, | ||
| 6213 | 0x1f, 0x09, 0xc1, 0x00, 0x8a, 0x20, 0x57, 0xf4, | ||
| 6214 | 0x00, 0x8a, 0x21, 0x48, 0xf1, 0x00, 0x8a, 0x22, | ||
| 6215 | 0x3b, 0x23, 0x00, 0x8a, 0x23, 0x07, 0x43, 0x00, | ||
| 6216 | 0x8a, 0x24, 0x57, 0xf5, 0x00, 0x8a, 0x25, 0x1a, | ||
| 6217 | 0x07, 0x00, 0x8a, 0x26, 0x57, 0xf6, 0x00, 0x8a, | ||
| 6218 | 0x2a, 0x0e, 0x5a, 0x00, 0x8a, 0x2b, 0x57, 0xf7, | ||
| 6219 | 0x00, 0x8a, 0x2c, 0x57, 0xf8, 0x00, 0x8a, 0x2d, | ||
| 6220 | 0x0a, 0x83, 0x00, 0x8a, 0x2f, 0x57, 0xf9, 0x00, | ||
| 6221 | 0x8a, 0x31, 0x06, 0x90, 0x00, 0x8a, 0x33, 0x0f, | ||
| 6222 | 0x01, 0x00, 0x8a, 0x34, 0x0a, 0xcc, 0x00, 0x8a, | ||
| 6223 | 0x35, 0x48, 0xf2, 0x00, 0x8a, 0x36, 0x1a, 0x08, | ||
| 6224 | 0x00, 0x8a, 0x37, 0x21, 0xa9, 0x00, 0x8a, 0x3a, | ||
| 6225 | 0x0a, 0x0d, 0x00, 0x8a, 0x3b, 0x0b, 0xae, 0x00, | ||
| 6226 | 0x8a, 0x3c, 0x09, 0xc2, 0x00, 0x8a, 0x3d, 0x57, | ||
| 6227 | 0xfa, 0x00, 0x8a, 0x3e, 0x48, 0xf3, 0x00, 0x8a, | ||
| 6228 | 0x40, 0x57, 0xfb, 0x00, 0x8a, 0x41, 0x1a, 0x09, | ||
| 6229 | 0x00, 0x8a, 0x43, 0x57, 0xfc, 0x00, 0x8a, 0x45, | ||
| 6230 | 0x48, 0xf4, 0x00, 0x8a, 0x46, 0x1a, 0x0c, 0x00, | ||
| 6231 | 0x8a, 0x47, 0x42, 0xe3, 0x00, 0x8a, 0x48, 0x1a, | ||
| 6232 | 0x0d, 0x00, 0x8a, 0x49, 0x4d, 0x59, 0x00, 0x8a, | ||
| 6233 | 0x4d, 0x48, 0xf5, 0x00, 0x8a, 0x4e, 0x3b, 0x24, | ||
| 6234 | 0x00, 0x8a, 0x50, 0x08, 0x2e, 0x00, 0x8a, 0x51, | ||
| 6235 | 0x0b, 0x22, 0x00, 0x8a, 0x52, 0x1a, 0x0b, 0x00, | ||
| 6236 | 0x8a, 0x53, 0x57, 0xfd, 0x00, 0x8a, 0x54, 0x09, | ||
| 6237 | 0xc3, 0x00, 0x8a, 0x55, 0x0d, 0xb0, 0x00, 0x8a, | ||
| 6238 | 0x56, 0x57, 0xfe, 0x00, 0x8a, 0x57, 0x4d, 0x5a, | ||
| 6239 | 0x00, 0x8a, 0x58, 0x48, 0xf6, 0x00, 0x8a, 0x5b, | ||
| 6240 | 0x1a, 0x0a, 0x00, 0x8a, 0x5c, 0x57, 0xff, 0x00, | ||
| 6241 | 0x8a, 0x5d, 0x42, 0xe4, 0x00, 0x8a, 0x5e, 0x08, | ||
| 6242 | 0xba, 0x00, 0x8a, 0x60, 0x04, 0xf5, 0x00, 0x8a, | ||
| 6243 | 0x61, 0x42, 0xe5, 0x00, 0x8a, 0x62, 0x1a, 0x11, | ||
| 6244 | 0x00, 0x8a, 0x63, 0x07, 0x2e, 0x00, 0x8a, 0x65, | ||
| 6245 | 0x58, 0x00, 0x00, 0x8a, 0x66, 0x08, 0xbc, 0x00, | ||
| 6246 | 0x8a, 0x67, 0x4d, 0x5b, 0x00, 0x8a, 0x69, 0x08, | ||
| 6247 | 0xbb, 0x00, 0x8a, 0x6b, 0x0f, 0xf3, 0x00, 0x8a, | ||
| 6248 | 0x6c, 0x1a, 0x10, 0x00, 0x8a, 0x6d, 0x1a, 0x0f, | ||
| 6249 | 0x00, 0x8a, 0x6e, 0x0a, 0xa9, 0x00, 0x8a, 0x70, | ||
| 6250 | 0x06, 0x67, 0x00, 0x8a, 0x71, 0x0f, 0xe9, 0x00, | ||
| 6251 | 0x8a, 0x72, 0x05, 0x98, 0x00, 0x8a, 0x73, 0x09, | ||
| 6252 | 0xc4, 0x00, 0x8a, 0x75, 0x42, 0xe6, 0x00, 0x8a, | ||
| 6253 | 0x76, 0x58, 0x01, 0x00, 0x8a, 0x77, 0x58, 0x02, | ||
| 6254 | 0x00, 0x8a, 0x79, 0x21, 0xaa, 0x00, 0x8a, 0x7a, | ||
| 6255 | 0x58, 0x03, 0x00, 0x8a, 0x7b, 0x58, 0x04, 0x00, | ||
| 6256 | 0x8a, 0x7c, 0x1a, 0x0e, 0x00, 0x8a, 0x7e, 0x4d, | ||
| 6257 | 0x5c, 0x00, 0x8a, 0x7f, 0x3b, 0x25, 0x00, 0x8a, | ||
| 6258 | 0x80, 0x58, 0x05, 0x00, 0x8a, 0x82, 0x1a, 0x13, | ||
| 6259 | 0x00, 0x8a, 0x83, 0x58, 0x06, 0x00, 0x8a, 0x84, | ||
| 6260 | 0x1a, 0x14, 0x00, 0x8a, 0x85, 0x1a, 0x12, 0x00, | ||
| 6261 | 0x8a, 0x86, 0x4d, 0x5d, 0x00, 0x8a, 0x87, 0x07, | ||
| 6262 | 0x8c, 0x00, 0x8a, 0x89, 0x0f, 0x2a, 0x00, 0x8a, | ||
| 6263 | 0x8b, 0x58, 0x07, 0x00, 0x8a, 0x8c, 0x08, 0xbd, | ||
| 6264 | 0x00, 0x8a, 0x8d, 0x0c, 0xdd, 0x00, 0x8a, 0x8f, | ||
| 6265 | 0x58, 0x08, 0x00, 0x8a, 0x90, 0x48, 0xf8, 0x00, | ||
| 6266 | 0x8a, 0x91, 0x1a, 0x17, 0x00, 0x8a, 0x92, 0x58, | ||
| 6267 | 0x09, 0x00, 0x8a, 0x93, 0x0a, 0x64, 0x00, 0x8a, | ||
| 6268 | 0x95, 0x0b, 0x80, 0x00, 0x8a, 0x96, 0x4d, 0x5e, | ||
| 6269 | 0x00, 0x8a, 0x97, 0x58, 0x0a, 0x00, 0x8a, 0x98, | ||
| 6270 | 0x0f, 0x20, 0x00, 0x8a, 0x99, 0x58, 0x0b, 0x00, | ||
| 6271 | 0x8a, 0x9a, 0x1a, 0x1a, 0x00, 0x8a, 0x9e, 0x07, | ||
| 6272 | 0xa0, 0x00, 0x8a, 0x9f, 0x58, 0x0c, 0x00, 0x8a, | ||
| 6273 | 0xa0, 0x0a, 0x63, 0x00, 0x8a, 0xa1, 0x1a, 0x16, | ||
| 6274 | 0x00, 0x8a, 0xa3, 0x1a, 0x1b, 0x00, 0x8a, 0xa4, | ||
| 6275 | 0x07, 0xa1, 0x00, 0x8a, 0xa5, 0x1a, 0x18, 0x00, | ||
| 6276 | 0x8a, 0xa6, 0x1a, 0x19, 0x00, 0x8a, 0xa7, 0x21, | ||
| 6277 | 0xab, 0x00, 0x8a, 0xa8, 0x1a, 0x15, 0x00, 0x8a, | ||
| 6278 | 0xa9, 0x58, 0x0d, 0x00, 0x8a, 0xaa, 0x36, 0x38, | ||
| 6279 | 0x00, 0x8a, 0xac, 0x0a, 0x86, 0x00, 0x8a, 0xad, | ||
| 6280 | 0x0c, 0xa1, 0x00, 0x8a, 0xae, 0x48, 0xf7, 0x00, | ||
| 6281 | 0x8a, 0xaf, 0x58, 0x0e, 0x00, 0x8a, 0xb0, 0x0b, | ||
| 6282 | 0x6d, 0x00, 0x8a, 0xb2, 0x05, 0x5d, 0x00, 0x8a, | ||
| 6283 | 0xb3, 0x58, 0x0f, 0x00, 0x8a, 0xb6, 0x4d, 0x5f, | ||
| 6284 | 0x00, 0x8a, 0xb7, 0x48, 0xf9, 0x00, 0x8a, 0xb9, | ||
| 6285 | 0x0d, 0x84, 0x00, 0x8a, 0xbb, 0x58, 0x10, 0x00, | ||
| 6286 | 0x8a, 0xbc, 0x06, 0x5d, 0x00, 0x8a, 0xbe, 0x21, | ||
| 6287 | 0xac, 0x00, 0x8a, 0xbf, 0x0b, 0xd0, 0x00, 0x8a, | ||
| 6288 | 0xc2, 0x1a, 0x1e, 0x00, 0x8a, 0xc3, 0x58, 0x11, | ||
| 6289 | 0x00, 0x8a, 0xc4, 0x1a, 0x1c, 0x00, 0x8a, 0xc6, | ||
| 6290 | 0x58, 0x12, 0x00, 0x8a, 0xc7, 0x0b, 0x8a, 0x00, | ||
| 6291 | 0x8a, 0xc8, 0x58, 0x13, 0x00, 0x8a, 0xc9, 0x4d, | ||
| 6292 | 0x60, 0x00, 0x8a, 0xca, 0x58, 0x14, 0x00, 0x8a, | ||
| 6293 | 0xcb, 0x0a, 0x65, 0x00, 0x8a, 0xcc, 0x06, 0x0e, | ||
| 6294 | 0x00, 0x8a, 0xcd, 0x1a, 0x1d, 0x00, 0x8a, 0xcf, | ||
| 6295 | 0x0a, 0x21, 0x00, 0x8a, 0xd0, 0x42, 0xe7, 0x00, | ||
| 6296 | 0x8a, 0xd1, 0x4d, 0x61, 0x00, 0x8a, 0xd2, 0x0f, | ||
| 6297 | 0x92, 0x00, 0x8a, 0xd3, 0x58, 0x15, 0x00, 0x8a, | ||
| 6298 | 0xd4, 0x58, 0x16, 0x00, 0x8a, 0xd5, 0x58, 0x17, | ||
| 6299 | 0x00, 0x8a, 0xd6, 0x0f, 0xe6, 0x00, 0x8a, 0xd7, | ||
| 6300 | 0x48, 0xfa, 0x00, 0x8a, 0xda, 0x1a, 0x1f, 0x00, | ||
| 6301 | 0x8a, 0xdb, 0x1a, 0x2a, 0x00, 0x8a, 0xdc, 0x0b, | ||
| 6302 | 0xd1, 0x00, 0x8a, 0xdd, 0x4d, 0x62, 0x00, 0x8a, | ||
| 6303 | 0xde, 0x1a, 0x29, 0x00, 0x8a, 0xdf, 0x21, 0xad, | ||
| 6304 | 0x00, 0x8a, 0xe0, 0x1a, 0x26, 0x00, 0x8a, 0xe1, | ||
| 6305 | 0x1a, 0x2e, 0x00, 0x8a, 0xe2, 0x1a, 0x27, 0x00, | ||
| 6306 | 0x8a, 0xe4, 0x1a, 0x23, 0x00, 0x8a, 0xe6, 0x0c, | ||
| 6307 | 0x18, 0x00, 0x8a, 0xe7, 0x1a, 0x22, 0x00, 0x8a, | ||
| 6308 | 0xeb, 0x1a, 0x20, 0x00, 0x8a, 0xec, 0x4d, 0x63, | ||
| 6309 | 0x00, 0x8a, 0xed, 0x36, 0xf4, 0x00, 0x8a, 0xee, | ||
| 6310 | 0x08, 0xbe, 0x00, 0x8a, 0xf0, 0x58, 0x18, 0x00, | ||
| 6311 | 0x8a, 0xf1, 0x1a, 0x24, 0x00, 0x8a, 0xf3, 0x1a, | ||
| 6312 | 0x21, 0x00, 0x8a, 0xf4, 0x3b, 0x26, 0x00, 0x8a, | ||
| 6313 | 0xf5, 0x4d, 0x64, 0x00, 0x8a, 0xf6, 0x21, 0xaf, | ||
| 6314 | 0x00, 0x8a, 0xf7, 0x1a, 0x28, 0x00, 0x8a, 0xf8, | ||
| 6315 | 0x21, 0xae, 0x00, 0x8a, 0xfa, 0x07, 0x75, 0x00, | ||
| 6316 | 0x8a, 0xfc, 0x48, 0xfb, 0x00, 0x8a, 0xfe, 0x0b, | ||
| 6317 | 0x5a, 0x00, 0x8a, 0xff, 0x58, 0x19, 0x00, 0x8b, | ||
| 6318 | 0x00, 0x0e, 0x73, 0x00, 0x8b, 0x01, 0x34, 0x09, | ||
| 6319 | 0x00, 0x8b, 0x02, 0x04, 0xa6, 0x00, 0x8b, 0x04, | ||
| 6320 | 0x0c, 0x7d, 0x00, 0x8b, 0x05, 0x48, 0xfe, 0x00, | ||
| 6321 | 0x8b, 0x06, 0x4d, 0x65, 0x00, 0x8b, 0x07, 0x1a, | ||
| 6322 | 0x2c, 0x00, 0x8b, 0x0a, 0x48, 0xfd, 0x00, 0x8b, | ||
| 6323 | 0x0b, 0x58, 0x1a, 0x00, 0x8b, 0x0c, 0x1a, 0x2b, | ||
| 6324 | 0x00, 0x8b, 0x0d, 0x48, 0xff, 0x00, 0x8b, 0x0e, | ||
| 6325 | 0x0c, 0xbe, 0x00, 0x8b, 0x0f, 0x4d, 0x66, 0x00, | ||
| 6326 | 0x8b, 0x10, 0x1a, 0x30, 0x00, 0x8b, 0x11, 0x4d, | ||
| 6327 | 0x67, 0x00, 0x8b, 0x14, 0x1a, 0x25, 0x00, 0x8b, | ||
| 6328 | 0x16, 0x1a, 0x2f, 0x00, 0x8b, 0x17, 0x1a, 0x31, | ||
| 6329 | 0x00, 0x8b, 0x19, 0x07, 0x60, 0x00, 0x8b, 0x1a, | ||
| 6330 | 0x1a, 0x2d, 0x00, 0x8b, 0x1b, 0x07, 0xe8, 0x00, | ||
| 6331 | 0x8b, 0x1c, 0x49, 0x00, 0x00, 0x8b, 0x1d, 0x09, | ||
| 6332 | 0x01, 0x00, 0x8b, 0x1e, 0x58, 0x1b, 0x00, 0x8b, | ||
| 6333 | 0x1f, 0x3b, 0x27, 0x00, 0x8b, 0x20, 0x1a, 0x32, | ||
| 6334 | 0x00, 0x8b, 0x21, 0x0f, 0x42, 0x00, 0x8b, 0x26, | ||
| 6335 | 0x1a, 0x35, 0x00, 0x8b, 0x28, 0x1a, 0x38, 0x00, | ||
| 6336 | 0x8b, 0x2b, 0x1a, 0x36, 0x00, 0x8b, 0x2c, 0x0d, | ||
| 6337 | 0xa7, 0x00, 0x8b, 0x2d, 0x49, 0x01, 0x00, 0x8b, | ||
| 6338 | 0x30, 0x58, 0x1c, 0x00, 0x8b, 0x33, 0x1a, 0x33, | ||
| 6339 | 0x00, 0x8b, 0x37, 0x3b, 0x28, 0x00, 0x8b, 0x39, | ||
| 6340 | 0x34, 0x1b, 0x00, 0x8b, 0x3c, 0x58, 0x1d, 0x00, | ||
| 6341 | 0x8b, 0x3e, 0x1a, 0x37, 0x00, 0x8b, 0x41, 0x1a, | ||
| 6342 | 0x39, 0x00, 0x8b, 0x42, 0x58, 0x1e, 0x00, 0x8b, | ||
| 6343 | 0x43, 0x3b, 0x29, 0x00, 0x8b, 0x44, 0x3b, 0x2a, | ||
| 6344 | 0x00, 0x8b, 0x45, 0x4d, 0x68, 0x00, 0x8b, 0x46, | ||
| 6345 | 0x42, 0xe8, 0x00, 0x8b, 0x48, 0x58, 0x1f, 0x00, | ||
| 6346 | 0x8b, 0x49, 0x1a, 0x3d, 0x00, 0x8b, 0x4c, 0x1a, | ||
| 6347 | 0x3a, 0x00, 0x8b, 0x4d, 0x58, 0x20, 0x00, 0x8b, | ||
| 6348 | 0x4e, 0x1a, 0x3c, 0x00, 0x8b, 0x4f, 0x1a, 0x3b, | ||
| 6349 | 0x00, 0x8b, 0x51, 0x49, 0x03, 0x00, 0x8b, 0x52, | ||
| 6350 | 0x4d, 0x69, 0x00, 0x8b, 0x53, 0x21, 0xb0, 0x00, | ||
| 6351 | 0x8b, 0x54, 0x3b, 0x2b, 0x00, 0x8b, 0x56, 0x1a, | ||
| 6352 | 0x3e, 0x00, 0x8b, 0x58, 0x08, 0xdd, 0x00, 0x8b, | ||
| 6353 | 0x59, 0x42, 0xe9, 0x00, 0x8b, 0x5a, 0x1a, 0x40, | ||
| 6354 | 0x00, 0x8b, 0x5b, 0x1a, 0x3f, 0x00, 0x8b, 0x5c, | ||
| 6355 | 0x0d, 0xda, 0x00, 0x8b, 0x5e, 0x49, 0x04, 0x00, | ||
| 6356 | 0x8b, 0x5f, 0x1a, 0x42, 0x00, 0x8b, 0x63, 0x58, | ||
| 6357 | 0x21, 0x00, 0x8b, 0x66, 0x07, 0x2f, 0x00, 0x8b, | ||
| 6358 | 0x69, 0x42, 0xea, 0x00, 0x8b, 0x6b, 0x1a, 0x41, | ||
| 6359 | 0x00, 0x8b, 0x6c, 0x1a, 0x43, 0x00, 0x8b, 0x6d, | ||
| 6360 | 0x4d, 0x6a, 0x00, 0x8b, 0x6f, 0x1a, 0x44, 0x00, | ||
| 6361 | 0x8b, 0x70, 0x06, 0x5e, 0x00, 0x8b, 0x71, 0x18, | ||
| 6362 | 0x2e, 0x00, 0x8b, 0x72, 0x09, 0xe1, 0x00, 0x8b, | ||
| 6363 | 0x74, 0x1a, 0x45, 0x00, 0x8b, 0x76, 0x49, 0x05, | ||
| 6364 | 0x00, 0x8b, 0x77, 0x07, 0xa2, 0x00, 0x8b, 0x78, | ||
| 6365 | 0x4d, 0x6b, 0x00, 0x8b, 0x79, 0x58, 0x22, 0x00, | ||
| 6366 | 0x8b, 0x7c, 0x4d, 0x6c, 0x00, 0x8b, 0x7d, 0x1a, | ||
| 6367 | 0x46, 0x00, 0x8b, 0x7e, 0x4d, 0x6d, 0x00, 0x8b, | ||
| 6368 | 0x7f, 0x21, 0xb1, 0x00, 0x8b, 0x80, 0x1a, 0x47, | ||
| 6369 | 0x00, 0x8b, 0x81, 0x49, 0x06, 0x00, 0x8b, 0x83, | ||
| 6370 | 0x08, 0x8c, 0x00, 0x8b, 0x84, 0x58, 0x23, 0x00, | ||
| 6371 | 0x8b, 0x85, 0x4d, 0x6e, 0x00, 0x8b, 0x8a, 0x13, | ||
| 6372 | 0xd3, 0x00, 0x8b, 0x8b, 0x49, 0x07, 0x00, 0x8b, | ||
| 6373 | 0x8c, 0x1a, 0x48, 0x00, 0x8b, 0x8d, 0x58, 0x24, | ||
| 6374 | 0x00, 0x8b, 0x8e, 0x1a, 0x49, 0x00, 0x8b, 0x8f, | ||
| 6375 | 0x58, 0x25, 0x00, 0x8b, 0x90, 0x09, 0x3c, 0x00, | ||
| 6376 | 0x8b, 0x92, 0x1a, 0x4a, 0x00, 0x8b, 0x93, 0x1a, | ||
| 6377 | 0x4b, 0x00, 0x8b, 0x94, 0x49, 0x08, 0x00, 0x8b, | ||
| 6378 | 0x95, 0x49, 0x09, 0x00, 0x8b, 0x96, 0x1a, 0x4c, | ||
| 6379 | 0x00, 0x8b, 0x99, 0x1a, 0x4d, 0x00, 0x8b, 0x9a, | ||
| 6380 | 0x1a, 0x4e, 0x00, 0x8b, 0x9c, 0x3b, 0x2c, 0x00, | ||
| 6381 | 0x8b, 0x9d, 0x42, 0xeb, 0x00, 0x8b, 0x9e, 0x3b, | ||
| 6382 | 0x2d, 0x00, 0x8b, 0x9f, 0x4d, 0x6f, 0x00, 0x8c, | ||
| 6383 | 0x37, 0x0b, 0x69, 0x00, 0x8c, 0x38, 0x58, 0x26, | ||
| 6384 | 0x00, 0x8c, 0x39, 0x49, 0x0a, 0x00, 0x8c, 0x3a, | ||
| 6385 | 0x1a, 0x4f, 0x00, 0x8c, 0x3d, 0x49, 0x0c, 0x00, | ||
| 6386 | 0x8c, 0x3e, 0x58, 0x27, 0x00, 0x8c, 0x3f, 0x1a, | ||
| 6387 | 0x51, 0x00, 0x8c, 0x41, 0x1a, 0x50, 0x00, 0x8c, | ||
| 6388 | 0x45, 0x49, 0x0f, 0x00, 0x8c, 0x46, 0x0c, 0x7e, | ||
| 6389 | 0x00, 0x8c, 0x47, 0x3b, 0x2e, 0x00, 0x8c, 0x48, | ||
| 6390 | 0x1a, 0x52, 0x00, 0x8c, 0x49, 0x42, 0xec, 0x00, | ||
| 6391 | 0x8c, 0x4a, 0x0e, 0x5b, 0x00, 0x8c, 0x4b, 0x4d, | ||
| 6392 | 0x70, 0x00, 0x8c, 0x4c, 0x1a, 0x53, 0x00, 0x8c, | ||
| 6393 | 0x4e, 0x1a, 0x54, 0x00, 0x8c, 0x4f, 0x49, 0x10, | ||
| 6394 | 0x00, 0x8c, 0x50, 0x1a, 0x55, 0x00, 0x8c, 0x51, | ||
| 6395 | 0x58, 0x28, 0x00, 0x8c, 0x53, 0x4d, 0x71, 0x00, | ||
| 6396 | 0x8c, 0x54, 0x3b, 0x2f, 0x00, 0x8c, 0x55, 0x1a, | ||
| 6397 | 0x56, 0x00, 0x8c, 0x57, 0x49, 0x11, 0x00, 0x8c, | ||
| 6398 | 0x58, 0x58, 0x29, 0x00, 0x8c, 0x59, 0x58, 0x2c, | ||
| 6399 | 0x00, 0x8c, 0x5a, 0x0c, 0xb2, 0x00, 0x8c, 0x5b, | ||
| 6400 | 0x58, 0x2a, 0x00, 0x8c, 0x5d, 0x58, 0x2b, 0x00, | ||
| 6401 | 0x8c, 0x61, 0x09, 0xc5, 0x00, 0x8c, 0x62, 0x1a, | ||
| 6402 | 0x57, 0x00, 0x8c, 0x63, 0x58, 0x2d, 0x00, 0x8c, | ||
| 6403 | 0x64, 0x58, 0x2e, 0x00, 0x8c, 0x66, 0x58, 0x2f, | ||
| 6404 | 0x00, 0x8c, 0x68, 0x42, 0xed, 0x00, 0x8c, 0x69, | ||
| 6405 | 0x49, 0x12, 0x00, 0x8c, 0x6a, 0x07, 0xfd, 0x00, | ||
| 6406 | 0x8c, 0x6b, 0x10, 0x07, 0x00, 0x8c, 0x6c, 0x1a, | ||
| 6407 | 0x58, 0x00, 0x8c, 0x6d, 0x49, 0x13, 0x00, 0x8c, | ||
| 6408 | 0x73, 0x3b, 0x30, 0x00, 0x8c, 0x75, 0x58, 0x30, | ||
| 6409 | 0x00, 0x8c, 0x76, 0x58, 0x31, 0x00, 0x8c, 0x78, | ||
| 6410 | 0x1a, 0x59, 0x00, 0x8c, 0x79, 0x0d, 0xb1, 0x00, | ||
| 6411 | 0x8c, 0x7a, 0x1a, 0x5a, 0x00, 0x8c, 0x7b, 0x4d, | ||
| 6412 | 0x72, 0x00, 0x8c, 0x7c, 0x1a, 0x62, 0x00, 0x8c, | ||
| 6413 | 0x7e, 0x58, 0x32, 0x00, 0x8c, 0x82, 0x1a, 0x5b, | ||
| 6414 | 0x00, 0x8c, 0x85, 0x1a, 0x5d, 0x00, 0x8c, 0x86, | ||
| 6415 | 0x58, 0x33, 0x00, 0x8c, 0x87, 0x58, 0x34, 0x00, | ||
| 6416 | 0x8c, 0x89, 0x1a, 0x5c, 0x00, 0x8c, 0x8a, 0x1a, | ||
| 6417 | 0x5e, 0x00, 0x8c, 0x8b, 0x58, 0x35, 0x00, 0x8c, | ||
| 6418 | 0x8c, 0x0e, 0x74, 0x00, 0x8c, 0x8d, 0x1a, 0x5f, | ||
| 6419 | 0x00, 0x8c, 0x8e, 0x1a, 0x60, 0x00, 0x8c, 0x90, | ||
| 6420 | 0x58, 0x36, 0x00, 0x8c, 0x92, 0x49, 0x16, 0x00, | ||
| 6421 | 0x8c, 0x93, 0x49, 0x15, 0x00, 0x8c, 0x94, 0x1a, | ||
| 6422 | 0x61, 0x00, 0x8c, 0x98, 0x1a, 0x63, 0x00, 0x8c, | ||
| 6423 | 0x99, 0x49, 0x17, 0x00, 0x8c, 0x9b, 0x49, 0x19, | ||
| 6424 | 0x00, 0x8c, 0x9c, 0x58, 0x38, 0x00, 0x8c, 0x9d, | ||
| 6425 | 0x05, 0x8b, 0x00, 0x8c, 0x9e, 0x0c, 0x03, 0x00, | ||
| 6426 | 0x8c, 0x9f, 0x35, 0x4c, 0x00, 0x8c, 0xa0, 0x0d, | ||
| 6427 | 0xdb, 0x00, 0x8c, 0xa1, 0x08, 0x52, 0x00, 0x8c, | ||
| 6428 | 0xa2, 0x07, 0xe9, 0x00, 0x8c, 0xa4, 0x3b, 0x31, | ||
| 6429 | 0x00, 0x8c, 0xa7, 0x0d, 0xc1, 0x00, 0x8c, 0xa8, | ||
| 6430 | 0x05, 0x5f, 0x00, 0x8c, 0xa9, 0x0d, 0x62, 0x00, | ||
| 6431 | 0x8c, 0xaa, 0x1a, 0x66, 0x00, 0x8c, 0xab, 0x06, | ||
| 6432 | 0x0f, 0x00, 0x8c, 0xac, 0x0a, 0x79, 0x00, 0x8c, | ||
| 6433 | 0xad, 0x1a, 0x65, 0x00, 0x8c, 0xae, 0x1a, 0x6a, | ||
| 6434 | 0x00, 0x8c, 0xaf, 0x0b, 0xb7, 0x00, 0x8c, 0xb0, | ||
| 6435 | 0x0e, 0xef, 0x00, 0x8c, 0xb2, 0x1a, 0x68, 0x00, | ||
| 6436 | 0x8c, 0xb3, 0x1a, 0x69, 0x00, 0x8c, 0xb4, 0x06, | ||
| 6437 | 0x48, 0x00, 0x8c, 0xb6, 0x1a, 0x6b, 0x00, 0x8c, | ||
| 6438 | 0xb7, 0x0d, 0x19, 0x00, 0x8c, 0xb8, 0x0b, 0x3f, | ||
| 6439 | 0x00, 0x8c, 0xb9, 0x58, 0x39, 0x00, 0x8c, 0xba, | ||
| 6440 | 0x4d, 0x73, 0x00, 0x8c, 0xbb, 0x0d, 0x85, 0x00, | ||
| 6441 | 0x8c, 0xbc, 0x0c, 0x37, 0x00, 0x8c, 0xbd, 0x1a, | ||
| 6442 | 0x67, 0x00, 0x8c, 0xbf, 0x0e, 0x75, 0x00, 0x8c, | ||
| 6443 | 0xc0, 0x05, 0x6c, 0x00, 0x8c, 0xc1, 0x1a, 0x6d, | ||
| 6444 | 0x00, 0x8c, 0xc2, 0x0f, 0xce, 0x00, 0x8c, 0xc3, | ||
| 6445 | 0x0b, 0xde, 0x00, 0x8c, 0xc4, 0x0f, 0xeb, 0x00, | ||
| 6446 | 0x8c, 0xc5, 0x4d, 0x74, 0x00, 0x8c, 0xc6, 0x58, | ||
| 6447 | 0x3a, 0x00, 0x8c, 0xc7, 0x08, 0xbf, 0x00, 0x8c, | ||
| 6448 | 0xc8, 0x1a, 0x6c, 0x00, 0x8c, 0xc9, 0x4d, 0x75, | ||
| 6449 | 0x00, 0x8c, 0xca, 0x0b, 0x11, 0x00, 0x8c, 0xcb, | ||
| 6450 | 0x58, 0x3b, 0x00, 0x8c, 0xcd, 0x1a, 0x7d, 0x00, | ||
| 6451 | 0x8c, 0xce, 0x0a, 0xaa, 0x00, 0x8c, 0xcf, 0x58, | ||
| 6452 | 0x3c, 0x00, 0x8c, 0xd1, 0x0c, 0xd0, 0x00, 0x8c, | ||
| 6453 | 0xd2, 0x4d, 0x76, 0x00, 0x8c, 0xd3, 0x34, 0x44, | ||
| 6454 | 0x00, 0x8c, 0xd5, 0x49, 0x1b, 0x00, 0x8c, 0xd6, | ||
| 6455 | 0x49, 0x1a, 0x00, 0x8c, 0xd9, 0x3b, 0x32, 0x00, | ||
| 6456 | 0x8c, 0xda, 0x1a, 0x70, 0x00, 0x8c, 0xdb, 0x08, | ||
| 6457 | 0x8d, 0x00, 0x8c, 0xdc, 0x08, 0xc0, 0x00, 0x8c, | ||
| 6458 | 0xdd, 0x58, 0x3d, 0x00, 0x8c, 0xde, 0x09, 0xc6, | ||
| 6459 | 0x00, 0x8c, 0xe0, 0x0d, 0x1b, 0x00, 0x8c, 0xe1, | ||
| 6460 | 0x3b, 0x33, 0x00, 0x8c, 0xe2, 0x07, 0x61, 0x00, | ||
| 6461 | 0x8c, 0xe3, 0x1a, 0x6f, 0x00, 0x8c, 0xe4, 0x1a, | ||
| 6462 | 0x6e, 0x00, 0x8c, 0xe6, 0x0d, 0xdc, 0x00, 0x8c, | ||
| 6463 | 0xe8, 0x58, 0x3e, 0x00, 0x8c, 0xea, 0x08, 0xed, | ||
| 6464 | 0x00, 0x8c, 0xec, 0x4d, 0x77, 0x00, 0x8c, 0xed, | ||
| 6465 | 0x0c, 0x4c, 0x00, 0x8c, 0xef, 0x58, 0x3f, 0x00, | ||
| 6466 | 0x8c, 0xf0, 0x21, 0xb2, 0x00, 0x8c, 0xf1, 0x49, | ||
| 6467 | 0x1d, 0x00, 0x8c, 0xf2, 0x58, 0x40, 0x00, 0x8c, | ||
| 6468 | 0xf4, 0x21, 0xb3, 0x00, 0x8c, 0xf5, 0x4d, 0x78, | ||
| 6469 | 0x00, 0x8c, 0xf7, 0x4d, 0x79, 0x00, 0x8c, 0xf8, | ||
| 6470 | 0x3b, 0x34, 0x00, 0x8c, 0xfa, 0x1a, 0x72, 0x00, | ||
| 6471 | 0x8c, 0xfb, 0x1a, 0x73, 0x00, 0x8c, 0xfc, 0x07, | ||
| 6472 | 0xea, 0x00, 0x8c, 0xfd, 0x1a, 0x71, 0x00, 0x8c, | ||
| 6473 | 0xfe, 0x3b, 0x35, 0x00, 0x8c, 0xff, 0x58, 0x41, | ||
| 6474 | 0x00, 0x8d, 0x01, 0x4d, 0x7a, 0x00, 0x8d, 0x03, | ||
| 6475 | 0x4d, 0x7b, 0x00, 0x8d, 0x04, 0x1a, 0x74, 0x00, | ||
| 6476 | 0x8d, 0x05, 0x1a, 0x75, 0x00, 0x8d, 0x07, 0x1a, | ||
| 6477 | 0x77, 0x00, 0x8d, 0x08, 0x0b, 0x03, 0x00, 0x8d, | ||
| 6478 | 0x09, 0x49, 0x1f, 0x00, 0x8d, 0x0a, 0x1a, 0x76, | ||
| 6479 | 0x00, 0x8d, 0x0b, 0x06, 0x22, 0x00, 0x8d, 0x0d, | ||
| 6480 | 0x1a, 0x79, 0x00, 0x8d, 0x0e, 0x49, 0x20, 0x00, | ||
| 6481 | 0x8d, 0x0f, 0x1a, 0x78, 0x00, 0x8d, 0x10, 0x1a, | ||
| 6482 | 0x7a, 0x00, 0x8d, 0x12, 0x21, 0xb4, 0x00, 0x8d, | ||
| 6483 | 0x13, 0x1a, 0x7c, 0x00, 0x8d, 0x14, 0x1a, 0x7e, | ||
| 6484 | 0x00, 0x8d, 0x16, 0x1a, 0x7f, 0x00, 0x8d, 0x17, | ||
| 6485 | 0x4d, 0x7c, 0x00, 0x8d, 0x1b, 0x3b, 0x36, 0x00, | ||
| 6486 | 0x8d, 0x1c, 0x4d, 0x7d, 0x00, 0x8d, 0x64, 0x0a, | ||
| 6487 | 0x7a, 0x00, 0x8d, 0x65, 0x58, 0x42, 0x00, 0x8d, | ||
| 6488 | 0x66, 0x08, 0xfb, 0x00, 0x8d, 0x67, 0x1a, 0x80, | ||
| 6489 | 0x00, 0x8d, 0x69, 0x3b, 0x37, 0x00, 0x8d, 0x6b, | ||
| 6490 | 0x05, 0xb0, 0x00, 0x8d, 0x6c, 0x3b, 0x38, 0x00, | ||
| 6491 | 0x8d, 0x6d, 0x1a, 0x81, 0x00, 0x8d, 0x6e, 0x4d, | ||
| 6492 | 0x7e, 0x00, 0x8d, 0x70, 0x0a, 0xf8, 0x00, 0x8d, | ||
| 6493 | 0x71, 0x1a, 0x82, 0x00, 0x8d, 0x73, 0x1a, 0x83, | ||
| 6494 | 0x00, 0x8d, 0x74, 0x0d, 0xdd, 0x00, 0x8d, 0x76, | ||
| 6495 | 0x21, 0xb5, 0x00, 0x8d, 0x77, 0x06, 0x49, 0x00, | ||
| 6496 | 0x8d, 0x7f, 0x58, 0x43, 0x00, 0x8d, 0x81, 0x1a, | ||
| 6497 | 0x84, 0x00, 0x8d, 0x82, 0x58, 0x44, 0x00, 0x8d, | ||
| 6498 | 0x84, 0x3b, 0x39, 0x00, 0x8d, 0x85, 0x0b, 0xd2, | ||
| 6499 | 0x00, 0x8d, 0x88, 0x58, 0x45, 0x00, 0x8d, 0x8a, | ||
| 6500 | 0x04, 0xfd, 0x00, 0x8d, 0x8d, 0x3b, 0x3a, 0x00, | ||
| 6501 | 0x8d, 0x90, 0x58, 0x46, 0x00, 0x8d, 0x91, 0x4d, | ||
| 6502 | 0x7f, 0x00, 0x8d, 0x95, 0x3b, 0x3b, 0x00, 0x8d, | ||
| 6503 | 0x99, 0x1a, 0x85, 0x00, 0x8d, 0x9e, 0x58, 0x47, | ||
| 6504 | 0x00, 0x8d, 0x9f, 0x4d, 0x80, 0x00, 0x8d, 0xa0, | ||
| 6505 | 0x58, 0x48, 0x00, 0x8d, 0xa3, 0x09, 0x1d, 0x00, | ||
| 6506 | 0x8d, 0xa6, 0x3b, 0x3c, 0x00, 0x8d, 0xa8, 0x0a, | ||
| 6507 | 0x3c, 0x00, 0x8d, 0xab, 0x4d, 0x81, 0x00, 0x8d, | ||
| 6508 | 0xac, 0x58, 0x49, 0x00, 0x8d, 0xaf, 0x42, 0xee, | ||
| 6509 | 0x00, 0x8d, 0xb2, 0x4d, 0x82, 0x00, 0x8d, 0xb3, | ||
| 6510 | 0x0b, 0x0d, 0x00, 0x8d, 0xb5, 0x58, 0x4a, 0x00, | ||
| 6511 | 0x8d, 0xb7, 0x58, 0x4b, 0x00, 0x8d, 0xb9, 0x58, | ||
| 6512 | 0x4c, 0x00, 0x8d, 0xba, 0x1a, 0x88, 0x00, 0x8d, | ||
| 6513 | 0xbb, 0x58, 0x4d, 0x00, 0x8d, 0xbc, 0x58, 0x55, | ||
| 6514 | 0x00, 0x8d, 0xbe, 0x1a, 0x87, 0x00, 0x8d, 0xc0, | ||
| 6515 | 0x58, 0x4e, 0x00, 0x8d, 0xc2, 0x1a, 0x86, 0x00, | ||
| 6516 | 0x8d, 0xc5, 0x58, 0x4f, 0x00, 0x8d, 0xc6, 0x3b, | ||
| 6517 | 0x3d, 0x00, 0x8d, 0xc7, 0x58, 0x50, 0x00, 0x8d, | ||
| 6518 | 0xc8, 0x49, 0x21, 0x00, 0x8d, 0xca, 0x58, 0x51, | ||
| 6519 | 0x00, 0x8d, 0xcb, 0x1a, 0x8e, 0x00, 0x8d, 0xcc, | ||
| 6520 | 0x1a, 0x8c, 0x00, 0x8d, 0xce, 0x3b, 0x3e, 0x00, | ||
| 6521 | 0x8d, 0xcf, 0x1a, 0x89, 0x00, 0x8d, 0xd1, 0x42, | ||
| 6522 | 0xef, 0x00, 0x8d, 0xd4, 0x58, 0x52, 0x00, 0x8d, | ||
| 6523 | 0xd5, 0x4d, 0x83, 0x00, 0x8d, 0xd6, 0x1a, 0x8b, | ||
| 6524 | 0x00, 0x8d, 0xd7, 0x42, 0xf0, 0x00, 0x8d, 0xd9, | ||
| 6525 | 0x49, 0x22, 0x00, 0x8d, 0xda, 0x1a, 0x8a, 0x00, | ||
| 6526 | 0x8d, 0xdb, 0x1a, 0x8d, 0x00, 0x8d, 0xdd, 0x06, | ||
| 6527 | 0x91, 0x00, 0x8d, 0xdf, 0x1a, 0x91, 0x00, 0x8d, | ||
| 6528 | 0xe1, 0x0a, 0x7b, 0x00, 0x8d, 0xe3, 0x1a, 0x92, | ||
| 6529 | 0x00, 0x8d, 0xe4, 0x3b, 0x3f, 0x00, 0x8d, 0xe5, | ||
| 6530 | 0x58, 0x53, 0x00, 0x8d, 0xe7, 0x4d, 0x84, 0x00, | ||
| 6531 | 0x8d, 0xe8, 0x07, 0x8d, 0x00, 0x8d, 0xea, 0x1a, | ||
| 6532 | 0x8f, 0x00, 0x8d, 0xeb, 0x1a, 0x90, 0x00, 0x8d, | ||
| 6533 | 0xec, 0x3b, 0x40, 0x00, 0x8d, 0xef, 0x0f, 0xcf, | ||
| 6534 | 0x00, 0x8d, 0xf0, 0x58, 0x54, 0x00, 0x8d, 0xf1, | ||
| 6535 | 0x4d, 0x85, 0x00, 0x8d, 0xf2, 0x4d, 0x86, 0x00, | ||
| 6536 | 0x8d, 0xf3, 0x0b, 0xd3, 0x00, 0x8d, 0xf4, 0x4d, | ||
| 6537 | 0x87, 0x00, 0x8d, 0xf5, 0x0a, 0xab, 0x00, 0x8d, | ||
| 6538 | 0xfc, 0x1a, 0x93, 0x00, 0x8d, 0xfd, 0x49, 0x25, | ||
| 6539 | 0x00, 0x8d, 0xff, 0x1a, 0x96, 0x00, 0x8e, 0x01, | ||
| 6540 | 0x4d, 0x88, 0x00, 0x8e, 0x04, 0x58, 0x56, 0x00, | ||
| 6541 | 0x8e, 0x05, 0x58, 0x57, 0x00, 0x8e, 0x06, 0x49, | ||
| 6542 | 0x26, 0x00, 0x8e, 0x08, 0x1a, 0x94, 0x00, 0x8e, | ||
| 6543 | 0x09, 0x1a, 0x95, 0x00, 0x8e, 0x0a, 0x0f, 0x43, | ||
| 6544 | 0x00, 0x8e, 0x0b, 0x4d, 0x89, 0x00, 0x8e, 0x0c, | ||
| 6545 | 0x49, 0x23, 0x00, 0x8e, 0x0f, 0x0c, 0x7f, 0x00, | ||
| 6546 | 0x8e, 0x10, 0x1a, 0x99, 0x00, 0x8e, 0x11, 0x58, | ||
| 6547 | 0x58, 0x00, 0x8e, 0x14, 0x49, 0x28, 0x00, 0x8e, | ||
| 6548 | 0x16, 0x49, 0x29, 0x00, 0x8e, 0x1d, 0x1a, 0x97, | ||
| 6549 | 0x00, 0x8e, 0x1e, 0x1a, 0x98, 0x00, 0x8e, 0x1f, | ||
| 6550 | 0x1a, 0x9a, 0x00, 0x8e, 0x20, 0x3b, 0x41, 0x00, | ||
| 6551 | 0x8e, 0x21, 0x49, 0x2a, 0x00, 0x8e, 0x22, 0x49, | ||
| 6552 | 0x2b, 0x00, 0x8e, 0x23, 0x42, 0xf1, 0x00, 0x8e, | ||
| 6553 | 0x26, 0x4d, 0x8a, 0x00, 0x8e, 0x27, 0x49, 0x2c, | ||
| 6554 | 0x00, 0x8e, 0x2a, 0x1a, 0xa8, 0x00, 0x8e, 0x30, | ||
| 6555 | 0x1a, 0x9d, 0x00, 0x8e, 0x31, 0x4d, 0x8b, 0x00, | ||
| 6556 | 0x8e, 0x33, 0x58, 0x59, 0x00, 0x8e, 0x34, 0x1a, | ||
| 6557 | 0x9e, 0x00, 0x8e, 0x35, 0x1a, 0x9c, 0x00, 0x8e, | ||
| 6558 | 0x36, 0x49, 0x2f, 0x00, 0x8e, 0x37, 0x58, 0x5a, | ||
| 6559 | 0x00, 0x8e, 0x38, 0x58, 0x5b, 0x00, 0x8e, 0x39, | ||
| 6560 | 0x49, 0x30, 0x00, 0x8e, 0x3d, 0x42, 0xf2, 0x00, | ||
| 6561 | 0x8e, 0x40, 0x4d, 0x8c, 0x00, 0x8e, 0x41, 0x4d, | ||
| 6562 | 0x8d, 0x00, 0x8e, 0x42, 0x1a, 0x9b, 0x00, 0x8e, | ||
| 6563 | 0x44, 0x0c, 0x19, 0x00, 0x8e, 0x47, 0x1a, 0xa0, | ||
| 6564 | 0x00, 0x8e, 0x48, 0x1a, 0xa4, 0x00, 0x8e, 0x49, | ||
| 6565 | 0x1a, 0xa1, 0x00, 0x8e, 0x4a, 0x1a, 0x9f, 0x00, | ||
| 6566 | 0x8e, 0x4b, 0x3b, 0x42, 0x00, 0x8e, 0x4c, 0x1a, | ||
| 6567 | 0xa2, 0x00, 0x8e, 0x4d, 0x4d, 0x8e, 0x00, 0x8e, | ||
| 6568 | 0x4e, 0x58, 0x5c, 0x00, 0x8e, 0x4f, 0x4d, 0x8f, | ||
| 6569 | 0x00, 0x8e, 0x50, 0x1a, 0xa3, 0x00, 0x8e, 0x54, | ||
| 6570 | 0x49, 0x31, 0x00, 0x8e, 0x55, 0x1a, 0xaa, 0x00, | ||
| 6571 | 0x8e, 0x59, 0x1a, 0xa5, 0x00, 0x8e, 0x5b, 0x58, | ||
| 6572 | 0x5d, 0x00, 0x8e, 0x5c, 0x4d, 0x90, 0x00, 0x8e, | ||
| 6573 | 0x5d, 0x58, 0x5e, 0x00, 0x8e, 0x5e, 0x58, 0x5f, | ||
| 6574 | 0x00, 0x8e, 0x5f, 0x0a, 0x7c, 0x00, 0x8e, 0x60, | ||
| 6575 | 0x1a, 0xa7, 0x00, 0x8e, 0x61, 0x4d, 0x91, 0x00, | ||
| 6576 | 0x8e, 0x62, 0x49, 0x32, 0x00, 0x8e, 0x63, 0x1a, | ||
| 6577 | 0xa9, 0x00, 0x8e, 0x64, 0x1a, 0xa6, 0x00, 0x8e, | ||
| 6578 | 0x69, 0x4d, 0x92, 0x00, 0x8e, 0x6c, 0x3b, 0x43, | ||
| 6579 | 0x00, 0x8e, 0x6d, 0x49, 0x33, 0x00, 0x8e, 0x6f, | ||
| 6580 | 0x49, 0x34, 0x00, 0x8e, 0x70, 0x3b, 0x44, 0x00, | ||
| 6581 | 0x8e, 0x71, 0x4d, 0x93, 0x00, 0x8e, 0x72, 0x1a, | ||
| 6582 | 0xac, 0x00, 0x8e, 0x74, 0x09, 0x3d, 0x00, 0x8e, | ||
| 6583 | 0x75, 0x4d, 0x94, 0x00, 0x8e, 0x76, 0x1a, 0xab, | ||
| 6584 | 0x00, 0x8e, 0x77, 0x4d, 0x95, 0x00, 0x8e, 0x79, | ||
| 6585 | 0x58, 0x60, 0x00, 0x8e, 0x7a, 0x3b, 0x45, 0x00, | ||
| 6586 | 0x8e, 0x7b, 0x42, 0xf3, 0x00, 0x8e, 0x7c, 0x1a, | ||
| 6587 | 0xad, 0x00, 0x8e, 0x81, 0x1a, 0xae, 0x00, 0x8e, | ||
| 6588 | 0x82, 0x58, 0x61, 0x00, 0x8e, 0x83, 0x58, 0x62, | ||
| 6589 | 0x00, 0x8e, 0x84, 0x1a, 0xb1, 0x00, 0x8e, 0x85, | ||
| 6590 | 0x1a, 0xb0, 0x00, 0x8e, 0x87, 0x1a, 0xaf, 0x00, | ||
| 6591 | 0x8e, 0x89, 0x4d, 0x96, 0x00, 0x8e, 0x8a, 0x1a, | ||
| 6592 | 0xb3, 0x00, 0x8e, 0x8b, 0x1a, 0xb2, 0x00, 0x8e, | ||
| 6593 | 0x8d, 0x0f, 0x02, 0x00, 0x8e, 0x90, 0x4d, 0x97, | ||
| 6594 | 0x00, 0x8e, 0x91, 0x1a, 0xb5, 0x00, 0x8e, 0x92, | ||
| 6595 | 0x3b, 0x46, 0x00, 0x8e, 0x93, 0x1a, 0xb4, 0x00, | ||
| 6596 | 0x8e, 0x94, 0x1a, 0xb6, 0x00, 0x8e, 0x95, 0x4d, | ||
| 6597 | 0x98, 0x00, 0x8e, 0x98, 0x49, 0x35, 0x00, 0x8e, | ||
| 6598 | 0x99, 0x1a, 0xb7, 0x00, 0x8e, 0x9a, 0x4d, 0x99, | ||
| 6599 | 0x00, 0x8e, 0x9b, 0x58, 0x63, 0x00, 0x8e, 0x9d, | ||
| 6600 | 0x58, 0x64, 0x00, 0x8e, 0x9e, 0x49, 0x36, 0x00, | ||
| 6601 | 0x8e, 0xa1, 0x1a, 0xb9, 0x00, 0x8e, 0xa2, 0x58, | ||
| 6602 | 0x65, 0x00, 0x8e, 0xa7, 0x4d, 0x9a, 0x00, 0x8e, | ||
| 6603 | 0xa9, 0x4d, 0x9b, 0x00, 0x8e, 0xaa, 0x1a, 0xb8, | ||
| 6604 | 0x00, 0x8e, 0xab, 0x0a, 0x0e, 0x00, 0x8e, 0xac, | ||
| 6605 | 0x1a, 0xba, 0x00, 0x8e, 0xad, 0x4d, 0x9c, 0x00, | ||
| 6606 | 0x8e, 0xae, 0x3b, 0x47, 0x00, 0x8e, 0xaf, 0x06, | ||
| 6607 | 0xe5, 0x00, 0x8e, 0xb0, 0x1a, 0xbb, 0x00, 0x8e, | ||
| 6608 | 0xb1, 0x1a, 0xbd, 0x00, 0x8e, 0xb3, 0x3b, 0x48, | ||
| 6609 | 0x00, 0x8e, 0xb5, 0x49, 0x37, 0x00, 0x8e, 0xb6, | ||
| 6610 | 0x37, 0x03, 0x00, 0x8e, 0xba, 0x58, 0x66, 0x00, | ||
| 6611 | 0x8e, 0xbb, 0x49, 0x38, 0x00, 0x8e, 0xbe, 0x1a, | ||
| 6612 | 0xbe, 0x00, 0x8e, 0xc0, 0x1d, 0xef, 0x00, 0x8e, | ||
| 6613 | 0xc1, 0x58, 0x67, 0x00, 0x8e, 0xc3, 0x58, 0x68, | ||
| 6614 | 0x00, 0x8e, 0xc4, 0x58, 0x69, 0x00, 0x8e, 0xc5, | ||
| 6615 | 0x1a, 0xbf, 0x00, 0x8e, 0xc6, 0x1a, 0xbc, 0x00, | ||
| 6616 | 0x8e, 0xc7, 0x58, 0x6a, 0x00, 0x8e, 0xc8, 0x1a, | ||
| 6617 | 0xc0, 0x00, 0x8e, 0xca, 0x09, 0x02, 0x00, 0x8e, | ||
| 6618 | 0xcb, 0x1a, 0xc1, 0x00, 0x8e, 0xcc, 0x06, 0x4a, | ||
| 6619 | 0x00, 0x8e, 0xcd, 0x07, 0x09, 0x00, 0x8e, 0xcf, | ||
| 6620 | 0x21, 0xb7, 0x00, 0x8e, 0xd1, 0x3b, 0x49, 0x00, | ||
| 6621 | 0x8e, 0xd2, 0x07, 0x62, 0x00, 0x8e, 0xd4, 0x4e, | ||
| 6622 | 0x62, 0x00, 0x8e, 0xdb, 0x1a, 0xc2, 0x00, 0x8e, | ||
| 6623 | 0xdc, 0x58, 0x6b, 0x00, 0x8e, 0xdf, 0x0c, 0xc8, | ||
| 6624 | 0x00, 0x8e, 0xe2, 0x0c, 0x38, 0x00, 0x8e, 0xe3, | ||
| 6625 | 0x1a, 0xc3, 0x00, 0x8e, 0xe8, 0x4d, 0x9d, 0x00, | ||
| 6626 | 0x8e, 0xeb, 0x1a, 0xc6, 0x00, 0x8e, 0xed, 0x58, | ||
| 6627 | 0x6f, 0x00, 0x8e, 0xee, 0x58, 0x6c, 0x00, 0x8e, | ||
| 6628 | 0xf0, 0x4d, 0x9e, 0x00, 0x8e, 0xf1, 0x58, 0x6d, | ||
| 6629 | 0x00, 0x8e, 0xf7, 0x58, 0x6e, 0x00, 0x8e, 0xf8, | ||
| 6630 | 0x08, 0xe0, 0x00, 0x8e, 0xf9, 0x3b, 0x4b, 0x00, | ||
| 6631 | 0x8e, 0xfa, 0x42, 0xf6, 0x00, 0x8e, 0xfb, 0x1a, | ||
| 6632 | 0xc5, 0x00, 0x8e, 0xfc, 0x1a, 0xc4, 0x00, 0x8e, | ||
| 6633 | 0xfd, 0x07, 0x30, 0x00, 0x8e, 0xfe, 0x1a, 0xc7, | ||
| 6634 | 0x00, 0x8f, 0x00, 0x49, 0x3c, 0x00, 0x8f, 0x02, | ||
| 6635 | 0x58, 0x70, 0x00, 0x8f, 0x03, 0x05, 0xb1, 0x00, | ||
| 6636 | 0x8f, 0x05, 0x1a, 0xc9, 0x00, 0x8f, 0x07, 0x4d, | ||
| 6637 | 0x9f, 0x00, 0x8f, 0x08, 0x49, 0x3d, 0x00, 0x8f, | ||
| 6638 | 0x09, 0x08, 0x4c, 0x00, 0x8f, 0x0a, 0x1a, 0xc8, | ||
| 6639 | 0x00, 0x8f, 0x0c, 0x1a, 0xd1, 0x00, 0x8f, 0x0f, | ||
| 6640 | 0x58, 0x71, 0x00, 0x8f, 0x10, 0x58, 0x72, 0x00, | ||
| 6641 | 0x8f, 0x12, 0x1a, 0xcb, 0x00, 0x8f, 0x13, 0x1a, | ||
| 6642 | 0xcd, 0x00, 0x8f, 0x14, 0x0e, 0x35, 0x00, 0x8f, | ||
| 6643 | 0x15, 0x1a, 0xca, 0x00, 0x8f, 0x16, 0x58, 0x73, | ||
| 6644 | 0x00, 0x8f, 0x17, 0x3b, 0x4c, 0x00, 0x8f, 0x18, | ||
| 6645 | 0x4d, 0xa0, 0x00, 0x8f, 0x19, 0x1a, 0xcc, 0x00, | ||
| 6646 | 0x8f, 0x1b, 0x1a, 0xd0, 0x00, 0x8f, 0x1c, 0x1a, | ||
| 6647 | 0xce, 0x00, 0x8f, 0x1d, 0x06, 0x4b, 0x00, 0x8f, | ||
| 6648 | 0x1e, 0x42, 0xf7, 0x00, 0x8f, 0x1f, 0x1a, 0xcf, | ||
| 6649 | 0x00, 0x8f, 0x20, 0x58, 0x74, 0x00, 0x8f, 0x21, | ||
| 6650 | 0x58, 0x75, 0x00, 0x8f, 0x23, 0x58, 0x76, 0x00, | ||
| 6651 | 0x8f, 0x25, 0x4d, 0xa1, 0x00, 0x8f, 0x26, 0x1a, | ||
| 6652 | 0xd2, 0x00, 0x8f, 0x27, 0x4d, 0xa2, 0x00, 0x8f, | ||
| 6653 | 0x28, 0x58, 0x77, 0x00, 0x8f, 0x29, 0x0d, 0x10, | ||
| 6654 | 0x00, 0x8f, 0x2a, 0x0f, 0xa0, 0x00, 0x8f, 0x2b, | ||
| 6655 | 0x49, 0x3e, 0x00, 0x8f, 0x2c, 0x4d, 0xa3, 0x00, | ||
| 6656 | 0x8f, 0x2d, 0x42, 0xf8, 0x00, 0x8f, 0x2e, 0x58, | ||
| 6657 | 0x78, 0x00, 0x8f, 0x2f, 0x09, 0x3e, 0x00, 0x8f, | ||
| 6658 | 0x33, 0x1a, 0xd3, 0x00, 0x8f, 0x34, 0x58, 0x79, | ||
| 6659 | 0x00, 0x8f, 0x35, 0x4d, 0xa4, 0x00, 0x8f, 0x36, | ||
| 6660 | 0x3b, 0x4d, 0x00, 0x8f, 0x37, 0x58, 0x7a, 0x00, | ||
| 6661 | 0x8f, 0x38, 0x0f, 0x0c, 0x00, 0x8f, 0x39, 0x1a, | ||
| 6662 | 0xd5, 0x00, 0x8f, 0x3a, 0x4d, 0xa5, 0x00, 0x8f, | ||
| 6663 | 0x3b, 0x1a, 0xd4, 0x00, 0x8f, 0x3e, 0x1a, 0xd8, | ||
| 6664 | 0x00, 0x8f, 0x3f, 0x0f, 0x2b, 0x00, 0x8f, 0x40, | ||
| 6665 | 0x49, 0x3f, 0x00, 0x8f, 0x41, 0x58, 0x7b, 0x00, | ||
| 6666 | 0x8f, 0x42, 0x1a, 0xd7, 0x00, 0x8f, 0x43, 0x4d, | ||
| 6667 | 0xa6, 0x00, 0x8f, 0x44, 0x05, 0xcb, 0x00, 0x8f, | ||
| 6668 | 0x45, 0x1a, 0xd6, 0x00, 0x8f, 0x46, 0x1a, 0xdb, | ||
| 6669 | 0x00, 0x8f, 0x47, 0x4d, 0xa7, 0x00, 0x8f, 0x49, | ||
| 6670 | 0x1a, 0xda, 0x00, 0x8f, 0x4a, 0x49, 0x40, 0x00, | ||
| 6671 | 0x8f, 0x4c, 0x1a, 0xd9, 0x00, 0x8f, 0x4d, 0x0c, | ||
| 6672 | 0x2c, 0x00, 0x8f, 0x4e, 0x1a, 0xdc, 0x00, 0x8f, | ||
| 6673 | 0x4f, 0x58, 0x7c, 0x00, 0x8f, 0x51, 0x4d, 0xa8, | ||
| 6674 | 0x00, 0x8f, 0x52, 0x58, 0x7d, 0x00, 0x8f, 0x53, | ||
| 6675 | 0x58, 0x7e, 0x00, 0x8f, 0x54, 0x42, 0xf9, 0x00, | ||
| 6676 | 0x8f, 0x55, 0x4d, 0xa9, 0x00, 0x8f, 0x57, 0x1a, | ||
| 6677 | 0xdd, 0x00, 0x8f, 0x58, 0x49, 0x41, 0x00, 0x8f, | ||
| 6678 | 0x5c, 0x1a, 0xde, 0x00, 0x8f, 0x5d, 0x58, 0x7f, | ||
| 6679 | 0x00, 0x8f, 0x5e, 0x58, 0x80, 0x00, 0x8f, 0x5f, | ||
| 6680 | 0x07, 0xfe, 0x00, 0x8f, 0x61, 0x06, 0xfb, 0x00, | ||
| 6681 | 0x8f, 0x62, 0x1a, 0xdf, 0x00, 0x8f, 0x63, 0x1a, | ||
| 6682 | 0xe0, 0x00, 0x8f, 0x64, 0x1a, 0xe1, 0x00, 0x8f, | ||
| 6683 | 0x65, 0x58, 0x81, 0x00, 0x8f, 0x9b, 0x0a, 0x0f, | ||
| 6684 | 0x00, 0x8f, 0x9c, 0x1a, 0xe2, 0x00, 0x8f, 0x9d, | ||
| 6685 | 0x58, 0x82, 0x00, 0x8f, 0x9e, 0x08, 0xd9, 0x00, | ||
| 6686 | 0x8f, 0x9f, 0x1a, 0xe3, 0x00, 0x8f, 0xa0, 0x4d, | ||
| 6687 | 0xaa, 0x00, 0x8f, 0xa1, 0x4d, 0xab, 0x00, 0x8f, | ||
| 6688 | 0xa2, 0x4d, 0xac, 0x00, 0x8f, 0xa3, 0x1a, 0xe4, | ||
| 6689 | 0x00, 0x8f, 0xa4, 0x49, 0x43, 0x00, 0x8f, 0xa5, | ||
| 6690 | 0x4d, 0xad, 0x00, 0x8f, 0xa6, 0x3b, 0x4e, 0x00, | ||
| 6691 | 0x8f, 0xa7, 0x10, 0xb6, 0x00, 0x8f, 0xa8, 0x10, | ||
| 6692 | 0xb5, 0x00, 0x8f, 0xad, 0x1a, 0xe5, 0x00, 0x8f, | ||
| 6693 | 0xae, 0x17, 0xff, 0x00, 0x8f, 0xaf, 0x1a, 0xe6, | ||
| 6694 | 0x00, 0x8f, 0xb0, 0x0b, 0x62, 0x00, 0x8f, 0xb1, | ||
| 6695 | 0x09, 0xf1, 0x00, 0x8f, 0xb2, 0x0c, 0xf6, 0x00, | ||
| 6696 | 0x8f, 0xb4, 0x49, 0x44, 0x00, 0x8f, 0xb5, 0x3b, | ||
| 6697 | 0x4f, 0x00, 0x8f, 0xb6, 0x3b, 0x50, 0x00, 0x8f, | ||
| 6698 | 0xb7, 0x1a, 0xe7, 0x00, 0x8f, 0xb8, 0x58, 0x83, | ||
| 6699 | 0x00, 0x8f, 0xba, 0x0e, 0x25, 0x00, 0x8f, 0xbb, | ||
| 6700 | 0x0b, 0xf0, 0x00, 0x8f, 0xbc, 0x08, 0x10, 0x00, | ||
| 6701 | 0x8f, 0xbe, 0x58, 0x84, 0x00, 0x8f, 0xbf, 0x0b, | ||
| 6702 | 0x67, 0x00, 0x8f, 0xc0, 0x58, 0x85, 0x00, 0x8f, | ||
| 6703 | 0xc1, 0x49, 0x46, 0x00, 0x8f, 0xc2, 0x04, 0xcc, | ||
| 6704 | 0x00, 0x8f, 0xc4, 0x0e, 0xa6, 0x00, 0x8f, 0xc5, | ||
| 6705 | 0x0a, 0x1d, 0x00, 0x8f, 0xc6, 0x49, 0x47, 0x00, | ||
| 6706 | 0x8f, 0xc8, 0x37, 0x99, 0x00, 0x8f, 0xca, 0x49, | ||
| 6707 | 0x49, 0x00, 0x8f, 0xcb, 0x58, 0x86, 0x00, 0x8f, | ||
| 6708 | 0xcd, 0x49, 0x4a, 0x00, 0x8f, 0xce, 0x07, 0x34, | ||
| 6709 | 0x00, 0x8f, 0xd0, 0x58, 0x87, 0x00, 0x8f, 0xd1, | ||
| 6710 | 0x06, 0xd9, 0x00, 0x8f, 0xd2, 0x58, 0x88, 0x00, | ||
| 6711 | 0x8f, 0xd3, 0x49, 0x4b, 0x00, 0x8f, 0xd4, 0x0e, | ||
| 6712 | 0x26, 0x00, 0x8f, 0xd5, 0x49, 0x4c, 0x00, 0x8f, | ||
| 6713 | 0xda, 0x1a, 0xe8, 0x00, 0x8f, 0xe0, 0x3b, 0x52, | ||
| 6714 | 0x00, 0x8f, 0xe2, 0x1a, 0xea, 0x00, 0x8f, 0xe3, | ||
| 6715 | 0x58, 0x89, 0x00, 0x8f, 0xe4, 0x3b, 0x53, 0x00, | ||
| 6716 | 0x8f, 0xe5, 0x1a, 0xe9, 0x00, 0x8f, 0xe6, 0x05, | ||
| 6717 | 0x60, 0x00, 0x8f, 0xe8, 0x42, 0xfb, 0x00, 0x8f, | ||
| 6718 | 0xe9, 0x0c, 0xce, 0x00, 0x8f, 0xea, 0x1a, 0xeb, | ||
| 6719 | 0x00, 0x8f, 0xeb, 0x0d, 0x2d, 0x00, 0x8f, 0xed, | ||
| 6720 | 0x0c, 0x2d, 0x00, 0x8f, 0xee, 0x42, 0xfc, 0x00, | ||
| 6721 | 0x8f, 0xef, 0x1a, 0xec, 0x00, 0x8f, 0xf0, 0x09, | ||
| 6722 | 0x5c, 0x00, 0x8f, 0xf1, 0x49, 0x4d, 0x00, 0x8f, | ||
| 6723 | 0xf4, 0x1a, 0xee, 0x00, 0x8f, 0xf5, 0x49, 0x4e, | ||
| 6724 | 0x00, 0x8f, 0xf6, 0x3b, 0x54, 0x00, 0x8f, 0xf7, | ||
| 6725 | 0x0e, 0xce, 0x00, 0x8f, 0xf8, 0x1a, 0xfd, 0x00, | ||
| 6726 | 0x8f, 0xf9, 0x1a, 0xf0, 0x00, 0x8f, 0xfa, 0x1a, | ||
| 6727 | 0xf1, 0x00, 0x8f, 0xfb, 0x49, 0x4f, 0x00, 0x8f, | ||
| 6728 | 0xfd, 0x0b, 0xe5, 0x00, 0x8f, 0xfe, 0x58, 0x8a, | ||
| 6729 | 0x00, 0x90, 0x00, 0x0b, 0x40, 0x00, 0x90, 0x01, | ||
| 6730 | 0x0a, 0xf9, 0x00, 0x90, 0x02, 0x3b, 0x55, 0x00, | ||
| 6731 | 0x90, 0x03, 0x0c, 0x80, 0x00, 0x90, 0x04, 0x4d, | ||
| 6732 | 0xae, 0x00, 0x90, 0x05, 0x1a, 0xef, 0x00, 0x90, | ||
| 6733 | 0x06, 0x06, 0x6f, 0x00, 0x90, 0x08, 0x42, 0xfd, | ||
| 6734 | 0x00, 0x90, 0x0b, 0x1a, 0xf8, 0x00, 0x90, 0x0c, | ||
| 6735 | 0x49, 0x50, 0x00, 0x90, 0x0d, 0x1a, 0xf5, 0x00, | ||
| 6736 | 0x90, 0x0e, 0x1b, 0x02, 0x00, 0x90, 0x0f, 0x0c, | ||
| 6737 | 0x81, 0x00, 0x90, 0x10, 0x0b, 0x9e, 0x00, 0x90, | ||
| 6738 | 0x11, 0x1a, 0xf2, 0x00, 0x90, 0x13, 0x0c, 0x1a, | ||
| 6739 | 0x00, 0x90, 0x14, 0x0c, 0x4d, 0x00, 0x90, 0x15, | ||
| 6740 | 0x1a, 0xf3, 0x00, 0x90, 0x16, 0x1a, 0xf7, 0x00, | ||
| 6741 | 0x90, 0x17, 0x0a, 0x26, 0x00, 0x90, 0x18, 0x58, | ||
| 6742 | 0x8b, 0x00, 0x90, 0x19, 0x0d, 0x1d, 0x00, 0x90, | ||
| 6743 | 0x1a, 0x0b, 0xe8, 0x00, 0x90, 0x1b, 0x4d, 0xaf, | ||
| 6744 | 0x00, 0x90, 0x1d, 0x0a, 0x66, 0x00, 0x90, 0x1e, | ||
| 6745 | 0x1a, 0xf6, 0x00, 0x90, 0x1f, 0x0b, 0x0e, 0x00, | ||
| 6746 | 0x90, 0x20, 0x0b, 0x04, 0x00, 0x90, 0x21, 0x1a, | ||
| 6747 | 0xf4, 0x00, 0x90, 0x22, 0x04, 0x6d, 0x00, 0x90, | ||
| 6748 | 0x23, 0x37, 0x11, 0x00, 0x90, 0x27, 0x1a, 0xf9, | ||
| 6749 | 0x00, 0x90, 0x28, 0x58, 0x8c, 0x00, 0x90, 0x29, | ||
| 6750 | 0x58, 0x8d, 0x00, 0x90, 0x2a, 0x58, 0x8e, 0x00, | ||
| 6751 | 0x90, 0x2c, 0x3b, 0x56, 0x00, 0x90, 0x2d, 0x42, | ||
| 6752 | 0xfe, 0x00, 0x90, 0x2e, 0x0b, 0x41, 0x00, 0x90, | ||
| 6753 | 0x2f, 0x4d, 0xb0, 0x00, 0x90, 0x31, 0x09, 0x3f, | ||
| 6754 | 0x00, 0x90, 0x32, 0x0a, 0x10, 0x00, 0x90, 0x33, | ||
| 6755 | 0x58, 0x8f, 0x00, 0x90, 0x34, 0x58, 0x90, 0x00, | ||
| 6756 | 0x90, 0x35, 0x1a, 0xfb, 0x00, 0x90, 0x36, 0x1a, | ||
| 6757 | 0xfa, 0x00, 0x90, 0x37, 0x49, 0x51, 0x00, 0x90, | ||
| 6758 | 0x38, 0x04, 0xb3, 0x00, 0x90, 0x39, 0x1a, 0xfc, | ||
| 6759 | 0x00, 0x90, 0x3c, 0x0d, 0xa1, 0x00, 0x90, 0x3e, | ||
| 6760 | 0x1b, 0x04, 0x00, 0x90, 0x3f, 0x58, 0x91, 0x00, | ||
| 6761 | 0x90, 0x41, 0x0c, 0xb3, 0x00, 0x90, 0x42, 0x0a, | ||
| 6762 | 0x31, 0x00, 0x90, 0x43, 0x49, 0x53, 0x00, 0x90, | ||
| 6763 | 0x44, 0x3b, 0x57, 0x00, 0x90, 0x45, 0x0b, 0x97, | ||
| 6764 | 0x00, 0x90, 0x47, 0x06, 0xf0, 0x00, 0x90, 0x49, | ||
| 6765 | 0x1b, 0x03, 0x00, 0x90, 0x4a, 0x0f, 0x21, 0x00, | ||
| 6766 | 0x90, 0x4b, 0x04, 0xe1, 0x00, 0x90, 0x4c, 0x4d, | ||
| 6767 | 0xb1, 0x00, 0x90, 0x4d, 0x0e, 0x27, 0x00, 0x90, | ||
| 6768 | 0x4e, 0x05, 0x61, 0x00, 0x90, 0x4f, 0x1a, 0xfe, | ||
| 6769 | 0x00, 0x90, 0x50, 0x1a, 0xff, 0x00, 0x90, 0x51, | ||
| 6770 | 0x1b, 0x00, 0x00, 0x90, 0x52, 0x1b, 0x01, 0x00, | ||
| 6771 | 0x90, 0x53, 0x0c, 0x93, 0x00, 0x90, 0x54, 0x0b, | ||
| 6772 | 0x61, 0x00, 0x90, 0x55, 0x04, 0xa7, 0x00, 0x90, | ||
| 6773 | 0x56, 0x1b, 0x05, 0x00, 0x90, 0x58, 0x1b, 0x06, | ||
| 6774 | 0x00, 0x90, 0x59, 0x1d, 0x34, 0x00, 0x90, 0x5b, | ||
| 6775 | 0x4d, 0xb2, 0x00, 0x90, 0x5c, 0x0b, 0x1d, 0x00, | ||
| 6776 | 0x90, 0x5d, 0x49, 0x54, 0x00, 0x90, 0x5e, 0x1b, | ||
| 6777 | 0x07, 0x00, 0x90, 0x60, 0x05, 0x15, 0x00, 0x90, | ||
| 6778 | 0x61, 0x0a, 0xce, 0x00, 0x90, 0x62, 0x58, 0x92, | ||
| 6779 | 0x00, 0x90, 0x63, 0x07, 0x63, 0x00, 0x90, 0x65, | ||
| 6780 | 0x0f, 0x44, 0x00, 0x90, 0x66, 0x58, 0x93, 0x00, | ||
| 6781 | 0x90, 0x67, 0x21, 0xba, 0x00, 0x90, 0x68, 0x1b, | ||
| 6782 | 0x08, 0x00, 0x90, 0x69, 0x0c, 0x26, 0x00, 0x90, | ||
| 6783 | 0x6c, 0x58, 0x94, 0x00, 0x90, 0x6d, 0x0a, 0xfa, | ||
| 6784 | 0x00, 0x90, 0x6e, 0x09, 0x03, 0x00, 0x90, 0x6f, | ||
| 6785 | 0x1b, 0x09, 0x00, 0x90, 0x70, 0x4d, 0xb3, 0x00, | ||
| 6786 | 0x90, 0x72, 0x1b, 0x0c, 0x00, 0x90, 0x74, 0x4d, | ||
| 6787 | 0xb4, 0x00, 0x90, 0x75, 0x09, 0x6f, 0x00, 0x90, | ||
| 6788 | 0x76, 0x1b, 0x0a, 0x00, 0x90, 0x77, 0x0a, 0xad, | ||
| 6789 | 0x00, 0x90, 0x78, 0x0a, 0xac, 0x00, 0x90, 0x79, | ||
| 6790 | 0x4d, 0xb5, 0x00, 0x90, 0x7a, 0x04, 0xa8, 0x00, | ||
| 6791 | 0x90, 0x7c, 0x0f, 0x93, 0x00, 0x90, 0x7d, 0x1b, | ||
| 6792 | 0x0e, 0x00, 0x90, 0x7f, 0x0d, 0x86, 0x00, 0x90, | ||
| 6793 | 0x80, 0x1b, 0x10, 0x00, 0x90, 0x81, 0x1b, 0x0f, | ||
| 6794 | 0x00, 0x90, 0x82, 0x1b, 0x0d, 0x00, 0x90, 0x83, | ||
| 6795 | 0x17, 0x37, 0x00, 0x90, 0x84, 0x06, 0x10, 0x00, | ||
| 6796 | 0x90, 0x85, 0x49, 0x57, 0x00, 0x90, 0x87, 0x1a, | ||
| 6797 | 0xed, 0x00, 0x90, 0x88, 0x3b, 0x58, 0x00, 0x90, | ||
| 6798 | 0x89, 0x1b, 0x12, 0x00, 0x90, 0x8a, 0x1b, 0x11, | ||
| 6799 | 0x00, 0x90, 0x8b, 0x4d, 0xb6, 0x00, 0x90, 0x8c, | ||
| 6800 | 0x49, 0x58, 0x00, 0x90, 0x8e, 0x58, 0x95, 0x00, | ||
| 6801 | 0x90, 0x8f, 0x1b, 0x13, 0x00, 0x90, 0x90, 0x49, | ||
| 6802 | 0x59, 0x00, 0x90, 0x91, 0x0f, 0x22, 0x00, 0x90, | ||
| 6803 | 0x95, 0x3b, 0x59, 0x00, 0x90, 0x97, 0x42, 0xff, | ||
| 6804 | 0x00, 0x90, 0x98, 0x4d, 0xb7, 0x00, 0x90, 0x99, | ||
| 6805 | 0x3b, 0x5a, 0x00, 0x90, 0x9b, 0x3b, 0x5b, 0x00, | ||
| 6806 | 0x90, 0xa0, 0x4d, 0xb8, 0x00, 0x90, 0xa1, 0x49, | ||
| 6807 | 0x5a, 0x00, 0x90, 0xa2, 0x3b, 0x5c, 0x00, 0x90, | ||
| 6808 | 0xa3, 0x0c, 0xb9, 0x00, 0x90, 0xa5, 0x58, 0x96, | ||
| 6809 | 0x00, 0x90, 0xa6, 0x0e, 0x5c, 0x00, 0x90, 0xa8, | ||
| 6810 | 0x1b, 0x14, 0x00, 0x90, 0xaa, 0x09, 0x05, 0x00, | ||
| 6811 | 0x90, 0xaf, 0x1b, 0x15, 0x00, 0x90, 0xb0, 0x49, | ||
| 6812 | 0x5c, 0x00, 0x90, 0xb1, 0x1b, 0x16, 0x00, 0x90, | ||
| 6813 | 0xb2, 0x4d, 0xb9, 0x00, 0x90, 0xb3, 0x43, 0x00, | ||
| 6814 | 0x00, 0x90, 0xb4, 0x3b, 0x5d, 0x00, 0x90, 0xb5, | ||
| 6815 | 0x1b, 0x17, 0x00, 0x90, 0xb6, 0x49, 0x5d, 0x00, | ||
| 6816 | 0x90, 0xb8, 0x0c, 0x1b, 0x00, 0x90, 0xbd, 0x4d, | ||
| 6817 | 0xba, 0x00, 0x90, 0xbe, 0x43, 0x01, 0x00, 0x90, | ||
| 6818 | 0xc1, 0x04, 0xae, 0x00, 0x90, 0xc3, 0x49, 0x5e, | ||
| 6819 | 0x00, 0x90, 0xc4, 0x43, 0x02, 0x00, 0x90, 0xc5, | ||
| 6820 | 0x43, 0x03, 0x00, 0x90, 0xc7, 0x43, 0x04, 0x00, | ||
| 6821 | 0x90, 0xc8, 0x49, 0x5f, 0x00, 0x90, 0xc9, 0x4d, | ||
| 6822 | 0xbb, 0x00, 0x90, 0xca, 0x07, 0xeb, 0x00, 0x90, | ||
| 6823 | 0xcc, 0x58, 0x97, 0x00, 0x90, 0xce, 0x0f, 0xe0, | ||
| 6824 | 0x00, 0x90, 0xd2, 0x58, 0x9c, 0x00, 0x90, 0xd5, | ||
| 6825 | 0x58, 0x98, 0x00, 0x90, 0xd7, 0x3b, 0x5e, 0x00, | ||
| 6826 | 0x90, 0xd8, 0x58, 0x99, 0x00, 0x90, 0xd9, 0x58, | ||
| 6827 | 0x9a, 0x00, 0x90, 0xdb, 0x1b, 0x1b, 0x00, 0x90, | ||
| 6828 | 0xdc, 0x49, 0x61, 0x00, 0x90, 0xdd, 0x3b, 0x5f, | ||
| 6829 | 0x00, 0x90, 0xde, 0x21, 0xbb, 0x00, 0x90, 0xdf, | ||
| 6830 | 0x49, 0x62, 0x00, 0x90, 0xe1, 0x07, 0x0a, 0x00, | ||
| 6831 | 0x90, 0xe2, 0x1b, 0x18, 0x00, 0x90, 0xe4, 0x1b, | ||
| 6832 | 0x19, 0x00, 0x90, 0xe5, 0x58, 0x9b, 0x00, 0x90, | ||
| 6833 | 0xe8, 0x0d, 0xe6, 0x00, 0x90, 0xeb, 0x49, 0x67, | ||
| 6834 | 0x00, 0x90, 0xed, 0x05, 0xb2, 0x00, 0x90, 0xef, | ||
| 6835 | 0x43, 0x05, 0x00, 0x90, 0xf0, 0x4d, 0xbc, 0x00, | ||
| 6836 | 0x90, 0xf2, 0x49, 0x65, 0x00, 0x90, 0xf4, 0x3b, | ||
| 6837 | 0x60, 0x00, 0x90, 0xf5, 0x0f, 0x23, 0x00, 0x90, | ||
| 6838 | 0xf6, 0x49, 0x64, 0x00, 0x90, 0xf7, 0x06, 0xb7, | ||
| 6839 | 0x00, 0x90, 0xfd, 0x21, 0xbc, 0x00, 0x90, 0xfe, | ||
| 6840 | 0x49, 0x68, 0x00, 0x90, 0xff, 0x49, 0x69, 0x00, | ||
| 6841 | 0x91, 0x00, 0x49, 0x66, 0x00, 0x91, 0x02, 0x1b, | ||
| 6842 | 0x1c, 0x00, 0x91, 0x04, 0x49, 0x6a, 0x00, 0x91, | ||
| 6843 | 0x05, 0x4d, 0xbd, 0x00, 0x91, 0x06, 0x49, 0x6b, | ||
| 6844 | 0x00, 0x91, 0x08, 0x58, 0x9d, 0x00, 0x91, 0x0d, | ||
| 6845 | 0x58, 0x9e, 0x00, 0x91, 0x10, 0x58, 0x9f, 0x00, | ||
| 6846 | 0x91, 0x12, 0x1b, 0x1d, 0x00, 0x91, 0x14, 0x43, | ||
| 6847 | 0x06, 0x00, 0x91, 0x15, 0x21, 0xbd, 0x00, 0x91, | ||
| 6848 | 0x16, 0x43, 0x07, 0x00, 0x91, 0x17, 0x3b, 0x61, | ||
| 6849 | 0x00, 0x91, 0x18, 0x49, 0x6c, 0x00, 0x91, 0x19, | ||
| 6850 | 0x1b, 0x1e, 0x00, 0x91, 0x1a, 0x58, 0xa0, 0x00, | ||
| 6851 | 0x91, 0x1c, 0x3b, 0x62, 0x00, 0x91, 0x1e, 0x49, | ||
| 6852 | 0x6d, 0x00, 0x91, 0x20, 0x58, 0xa1, 0x00, 0x91, | ||
| 6853 | 0x22, 0x43, 0x08, 0x00, 0x91, 0x23, 0x43, 0x09, | ||
| 6854 | 0x00, 0x91, 0x25, 0x4d, 0xbe, 0x00, 0x91, 0x27, | ||
| 6855 | 0x21, 0xbe, 0x00, 0x91, 0x29, 0x58, 0xa2, 0x00, | ||
| 6856 | 0x91, 0x2d, 0x0c, 0x1c, 0x00, 0x91, 0x2e, 0x58, | ||
| 6857 | 0xa3, 0x00, 0x91, 0x2f, 0x43, 0x0a, 0x00, 0x91, | ||
| 6858 | 0x30, 0x1b, 0x20, 0x00, 0x91, 0x31, 0x3b, 0x63, | ||
| 6859 | 0x00, 0x91, 0x32, 0x1b, 0x1f, 0x00, 0x91, 0x34, | ||
| 6860 | 0x43, 0x0b, 0x00, 0x91, 0x36, 0x58, 0xa4, 0x00, | ||
| 6861 | 0x91, 0x37, 0x49, 0x6e, 0x00, 0x91, 0x39, 0x49, | ||
| 6862 | 0x6f, 0x00, 0x91, 0x3a, 0x3b, 0x64, 0x00, 0x91, | ||
| 6863 | 0x3c, 0x58, 0xa5, 0x00, 0x91, 0x3d, 0x3b, 0x65, | ||
| 6864 | 0x00, 0x91, 0x43, 0x58, 0xa6, 0x00, 0x91, 0x46, | ||
| 6865 | 0x49, 0x70, 0x00, 0x91, 0x47, 0x49, 0x71, 0x00, | ||
| 6866 | 0x91, 0x48, 0x3b, 0x66, 0x00, 0x91, 0x49, 0x0c, | ||
| 6867 | 0xab, 0x00, 0x91, 0x4a, 0x1b, 0x21, 0x00, 0x91, | ||
| 6868 | 0x4b, 0x09, 0x40, 0x00, 0x91, 0x4c, 0x09, 0x0c, | ||
| 6869 | 0x00, 0x91, 0x4d, 0x0d, 0x11, 0x00, 0x91, 0x4e, | ||
| 6870 | 0x0b, 0xaf, 0x00, 0x91, 0x4f, 0x58, 0xa7, 0x00, | ||
| 6871 | 0x91, 0x52, 0x09, 0x1e, 0x00, 0x91, 0x53, 0x58, | ||
| 6872 | 0xa8, 0x00, 0x91, 0x54, 0x0a, 0x32, 0x00, 0x91, | ||
| 6873 | 0x56, 0x1b, 0x22, 0x00, 0x91, 0x57, 0x49, 0x72, | ||
| 6874 | 0x00, 0x91, 0x58, 0x1b, 0x23, 0x00, 0x91, 0x59, | ||
| 6875 | 0x49, 0x73, 0x00, 0x91, 0x5a, 0x4d, 0xbf, 0x00, | ||
| 6876 | 0x91, 0x5b, 0x3b, 0x67, 0x00, 0x91, 0x61, 0x3b, | ||
| 6877 | 0x68, 0x00, 0x91, 0x62, 0x0a, 0x23, 0x00, 0x91, | ||
| 6878 | 0x63, 0x1b, 0x24, 0x00, 0x91, 0x64, 0x3b, 0x69, | ||
| 6879 | 0x00, 0x91, 0x65, 0x1b, 0x25, 0x00, 0x91, 0x67, | ||
| 6880 | 0x4d, 0xc0, 0x00, 0x91, 0x69, 0x1b, 0x26, 0x00, | ||
| 6881 | 0x91, 0x6a, 0x0f, 0x59, 0x00, 0x91, 0x6c, 0x09, | ||
| 6882 | 0x41, 0x00, 0x91, 0x6d, 0x58, 0xa9, 0x00, 0x91, | ||
| 6883 | 0x72, 0x1b, 0x28, 0x00, 0x91, 0x73, 0x1b, 0x27, | ||
| 6884 | 0x00, 0x91, 0x74, 0x49, 0x74, 0x00, 0x91, 0x75, | ||
| 6885 | 0x07, 0xec, 0x00, 0x91, 0x77, 0x08, 0x05, 0x00, | ||
| 6886 | 0x91, 0x78, 0x08, 0x8e, 0x00, 0x91, 0x79, 0x49, | ||
| 6887 | 0x75, 0x00, 0x91, 0x7a, 0x4d, 0xc1, 0x00, 0x91, | ||
| 6888 | 0x7b, 0x58, 0xaa, 0x00, 0x91, 0x81, 0x58, 0xab, | ||
| 6889 | 0x00, 0x91, 0x82, 0x1b, 0x2b, 0x00, 0x91, 0x83, | ||
| 6890 | 0x43, 0x0c, 0x00, 0x91, 0x85, 0x49, 0x76, 0x00, | ||
| 6891 | 0x91, 0x86, 0x58, 0xac, 0x00, 0x91, 0x87, 0x09, | ||
| 6892 | 0x70, 0x00, 0x91, 0x89, 0x1b, 0x2a, 0x00, 0x91, | ||
| 6893 | 0x8a, 0x4d, 0xc2, 0x00, 0x91, 0x8b, 0x1b, 0x29, | ||
| 6894 | 0x00, 0x91, 0x8d, 0x0b, 0x49, 0x00, 0x91, 0x8e, | ||
| 6895 | 0x3b, 0x6a, 0x00, 0x91, 0x90, 0x07, 0xa3, 0x00, | ||
| 6896 | 0x91, 0x91, 0x4d, 0xc3, 0x00, 0x91, 0x92, 0x0a, | ||
| 6897 | 0x67, 0x00, 0x91, 0x93, 0x58, 0xad, 0x00, 0x91, | ||
| 6898 | 0x94, 0x58, 0xae, 0x00, 0x91, 0x95, 0x4d, 0xc4, | ||
| 6899 | 0x00, 0x91, 0x97, 0x0d, 0x44, 0x00, 0x91, 0x98, | ||
| 6900 | 0x58, 0xaf, 0x00, 0x91, 0x9c, 0x09, 0x43, 0x00, | ||
| 6901 | 0x91, 0x9e, 0x3b, 0x6b, 0x00, 0x91, 0xa1, 0x58, | ||
| 6902 | 0xb0, 0x00, 0x91, 0xa2, 0x1b, 0x2c, 0x00, 0x91, | ||
| 6903 | 0xa4, 0x09, 0xc7, 0x00, 0x91, 0xa6, 0x58, 0xb1, | ||
| 6904 | 0x00, 0x91, 0xa8, 0x3b, 0x6c, 0x00, 0x91, 0xaa, | ||
| 6905 | 0x1b, 0x2f, 0x00, 0x91, 0xab, 0x1b, 0x2d, 0x00, | ||
| 6906 | 0x91, 0xac, 0x1e, 0x1b, 0x00, 0x91, 0xad, 0x3b, | ||
| 6907 | 0x6d, 0x00, 0x91, 0xae, 0x3b, 0x6e, 0x00, 0x91, | ||
| 6908 | 0xaf, 0x1b, 0x2e, 0x00, 0x91, 0xb0, 0x4d, 0xc5, | ||
| 6909 | 0x00, 0x91, 0xb1, 0x1e, 0x61, 0x00, 0x91, 0xb2, | ||
| 6910 | 0x3b, 0x6f, 0x00, 0x91, 0xb3, 0x49, 0x77, 0x00, | ||
| 6911 | 0x91, 0xb4, 0x1b, 0x31, 0x00, 0x91, 0xb5, 0x1b, | ||
| 6912 | 0x30, 0x00, 0x91, 0xb6, 0x49, 0x78, 0x00, 0x91, | ||
| 6913 | 0xb8, 0x09, 0xe2, 0x00, 0x91, 0xba, 0x1b, 0x32, | ||
| 6914 | 0x00, 0x91, 0xbb, 0x4d, 0xc6, 0x00, 0x91, 0xbc, | ||
| 6915 | 0x3b, 0x70, 0x00, 0x91, 0xbd, 0x4d, 0xc7, 0x00, | ||
| 6916 | 0x91, 0xbf, 0x58, 0xb2, 0x00, 0x91, 0xc0, 0x1b, | ||
| 6917 | 0x33, 0x00, 0x91, 0xc1, 0x1b, 0x34, 0x00, 0x91, | ||
| 6918 | 0xc2, 0x4d, 0xc8, 0x00, 0x91, 0xc3, 0x49, 0x79, | ||
| 6919 | 0x00, 0x91, 0xc4, 0x49, 0x7a, 0x00, 0x91, 0xc5, | ||
| 6920 | 0x4d, 0xc9, 0x00, 0x91, 0xc6, 0x0d, 0x64, 0x00, | ||
| 6921 | 0x91, 0xc7, 0x08, 0x43, 0x00, 0x91, 0xc8, 0x09, | ||
| 6922 | 0x0d, 0x00, 0x91, 0xc9, 0x1b, 0x35, 0x00, 0x91, | ||
| 6923 | 0xcb, 0x1b, 0x36, 0x00, 0x91, 0xcc, 0x0f, 0x6c, | ||
| 6924 | 0x00, 0x91, 0xcd, 0x09, 0x4f, 0x00, 0x91, 0xce, | ||
| 6925 | 0x0e, 0xfa, 0x00, 0x91, 0xcf, 0x0f, 0x94, 0x00, | ||
| 6926 | 0x91, 0xd0, 0x1b, 0x37, 0x00, 0x91, 0xd1, 0x06, | ||
| 6927 | 0xda, 0x00, 0x91, 0xd3, 0x58, 0xb3, 0x00, 0x91, | ||
| 6928 | 0xd4, 0x58, 0xb4, 0x00, 0x91, 0xd6, 0x1b, 0x38, | ||
| 6929 | 0x00, 0x91, 0xd7, 0x21, 0xc0, 0x00, 0x91, 0xd8, | ||
| 6930 | 0x0c, 0x1d, 0x00, 0x91, 0xd9, 0x58, 0xb5, 0x00, | ||
| 6931 | 0x91, 0xda, 0x21, 0xbf, 0x00, 0x91, 0xdb, 0x1b, | ||
| 6932 | 0x3b, 0x00, 0x91, 0xdc, 0x05, 0xd6, 0x00, 0x91, | ||
| 6933 | 0xdd, 0x0a, 0x11, 0x00, 0x91, 0xde, 0x21, 0xc1, | ||
| 6934 | 0x00, 0x91, 0xdf, 0x1b, 0x39, 0x00, 0x91, 0xe1, | ||
| 6935 | 0x1b, 0x3a, 0x00, 0x91, 0xe3, 0x0b, 0xfc, 0x00, | ||
| 6936 | 0x91, 0xe4, 0x21, 0xc4, 0x00, 0x91, 0xe5, 0x21, | ||
| 6937 | 0xc5, 0x00, 0x91, 0xe6, 0x0e, 0x83, 0x00, 0x91, | ||
| 6938 | 0xe7, 0x06, 0xf4, 0x00, 0x91, 0xe9, 0x58, 0xb6, | ||
| 6939 | 0x00, 0x91, 0xea, 0x58, 0xb7, 0x00, 0x91, 0xec, | ||
| 6940 | 0x49, 0x7d, 0x00, 0x91, 0xed, 0x21, 0xc2, 0x00, | ||
| 6941 | 0x91, 0xee, 0x21, 0xc3, 0x00, 0x91, 0xef, 0x58, | ||
| 6942 | 0xb8, 0x00, 0x91, 0xf0, 0x3b, 0x71, 0x00, 0x91, | ||
| 6943 | 0xf1, 0x43, 0x0d, 0x00, 0x91, 0xf5, 0x1b, 0x3d, | ||
| 6944 | 0x00, 0x91, 0xf6, 0x1b, 0x3e, 0x00, 0x91, 0xf7, | ||
| 6945 | 0x3b, 0x72, 0x00, 0x91, 0xf9, 0x58, 0xb9, 0x00, | ||
| 6946 | 0x91, 0xfb, 0x3b, 0x73, 0x00, 0x91, 0xfc, 0x1b, | ||
| 6947 | 0x3c, 0x00, 0x91, 0xfd, 0x58, 0xba, 0x00, 0x91, | ||
| 6948 | 0xff, 0x1b, 0x40, 0x00, 0x92, 0x00, 0x4d, 0xca, | ||
| 6949 | 0x00, 0x92, 0x01, 0x49, 0x7e, 0x00, 0x92, 0x04, | ||
| 6950 | 0x58, 0xbb, 0x00, 0x92, 0x05, 0x58, 0xbc, 0x00, | ||
| 6951 | 0x92, 0x06, 0x21, 0xc6, 0x00, 0x92, 0x07, 0x3b, | ||
| 6952 | 0x74, 0x00, 0x92, 0x09, 0x4d, 0xcb, 0x00, 0x92, | ||
| 6953 | 0x0a, 0x21, 0xc8, 0x00, 0x92, 0x0c, 0x58, 0xbd, | ||
| 6954 | 0x00, 0x92, 0x0d, 0x0c, 0xb7, 0x00, 0x92, 0x0e, | ||
| 6955 | 0x05, 0xa1, 0x00, 0x92, 0x10, 0x21, 0xc7, 0x00, | ||
| 6956 | 0x92, 0x11, 0x1b, 0x44, 0x00, 0x92, 0x12, 0x58, | ||
| 6957 | 0xbe, 0x00, 0x92, 0x13, 0x58, 0xbf, 0x00, 0x92, | ||
| 6958 | 0x14, 0x1b, 0x41, 0x00, 0x92, 0x15, 0x1b, 0x43, | ||
| 6959 | 0x00, 0x92, 0x16, 0x49, 0x7f, 0x00, 0x92, 0x17, | ||
| 6960 | 0x49, 0x80, 0x00, 0x92, 0x18, 0x58, 0xc0, 0x00, | ||
| 6961 | 0x92, 0x1c, 0x58, 0xc1, 0x00, 0x92, 0x1d, 0x58, | ||
| 6962 | 0xc2, 0x00, 0x92, 0x1e, 0x1b, 0x3f, 0x00, 0x92, | ||
| 6963 | 0x23, 0x4d, 0xcc, 0x00, 0x92, 0x24, 0x58, 0xc3, | ||
| 6964 | 0x00, 0x92, 0x25, 0x58, 0xc4, 0x00, 0x92, 0x26, | ||
| 6965 | 0x58, 0xc5, 0x00, 0x92, 0x28, 0x3b, 0x75, 0x00, | ||
| 6966 | 0x92, 0x29, 0x1b, 0x8a, 0x00, 0x92, 0x2c, 0x1b, | ||
| 6967 | 0x42, 0x00, 0x92, 0x2e, 0x58, 0xc6, 0x00, 0x92, | ||
| 6968 | 0x2f, 0x58, 0xc7, 0x00, 0x92, 0x30, 0x58, 0xc8, | ||
| 6969 | 0x00, 0x92, 0x33, 0x3b, 0x76, 0x00, 0x92, 0x34, | ||
| 6970 | 0x0f, 0xb3, 0x00, 0x92, 0x35, 0x58, 0xc9, 0x00, | ||
| 6971 | 0x92, 0x36, 0x58, 0xca, 0x00, 0x92, 0x37, 0x07, | ||
| 6972 | 0x8e, 0x00, 0x92, 0x38, 0x3b, 0x77, 0x00, 0x92, | ||
| 6973 | 0x39, 0x21, 0xcf, 0x00, 0x92, 0x3a, 0x21, 0xc9, | ||
| 6974 | 0x00, 0x92, 0x3c, 0x21, 0xcb, 0x00, 0x92, 0x3e, | ||
| 6975 | 0x58, 0xcb, 0x00, 0x92, 0x3f, 0x1b, 0x4c, 0x00, | ||
| 6976 | 0x92, 0x40, 0x21, 0xca, 0x00, 0x92, 0x42, 0x49, | ||
| 6977 | 0x82, 0x00, 0x92, 0x43, 0x3b, 0x78, 0x00, 0x92, | ||
| 6978 | 0x44, 0x0c, 0x2e, 0x00, 0x92, 0x45, 0x1b, 0x47, | ||
| 6979 | 0x00, 0x92, 0x46, 0x58, 0xcc, 0x00, 0x92, 0x47, | ||
| 6980 | 0x3b, 0x79, 0x00, 0x92, 0x48, 0x1b, 0x4a, 0x00, | ||
| 6981 | 0x92, 0x49, 0x1b, 0x48, 0x00, 0x92, 0x4a, 0x49, | ||
| 6982 | 0x83, 0x00, 0x92, 0x4b, 0x1b, 0x4d, 0x00, 0x92, | ||
| 6983 | 0x4d, 0x58, 0xcd, 0x00, 0x92, 0x4e, 0x21, 0xcc, | ||
| 6984 | 0x00, 0x92, 0x4f, 0x3b, 0x7a, 0x00, 0x92, 0x50, | ||
| 6985 | 0x1b, 0x4e, 0x00, 0x92, 0x51, 0x21, 0xce, 0x00, | ||
| 6986 | 0x92, 0x56, 0x49, 0x84, 0x00, 0x92, 0x57, 0x1b, | ||
| 6987 | 0x46, 0x00, 0x92, 0x58, 0x58, 0xce, 0x00, 0x92, | ||
| 6988 | 0x59, 0x21, 0xcd, 0x00, 0x92, 0x5a, 0x1b, 0x53, | ||
| 6989 | 0x00, 0x92, 0x5b, 0x05, 0x16, 0x00, 0x92, 0x5c, | ||
| 6990 | 0x58, 0xcf, 0x00, 0x92, 0x5d, 0x58, 0xd0, 0x00, | ||
| 6991 | 0x92, 0x5e, 0x1b, 0x45, 0x00, 0x92, 0x60, 0x3b, | ||
| 6992 | 0x7b, 0x00, 0x92, 0x61, 0x49, 0x85, 0x00, 0x92, | ||
| 6993 | 0x62, 0x0d, 0x41, 0x00, 0x92, 0x64, 0x1b, 0x49, | ||
| 6994 | 0x00, 0x92, 0x65, 0x49, 0x86, 0x00, 0x92, 0x66, | ||
| 6995 | 0x09, 0xc8, 0x00, 0x92, 0x67, 0x21, 0xd0, 0x00, | ||
| 6996 | 0x92, 0x68, 0x49, 0x87, 0x00, 0x92, 0x69, 0x58, | ||
| 6997 | 0xd1, 0x00, 0x92, 0x6e, 0x58, 0xd2, 0x00, 0x92, | ||
| 6998 | 0x6f, 0x58, 0xd3, 0x00, 0x92, 0x70, 0x58, 0xd4, | ||
| 6999 | 0x00, 0x92, 0x71, 0x07, 0xed, 0x00, 0x92, 0x75, | ||
| 7000 | 0x58, 0xd5, 0x00, 0x92, 0x76, 0x4d, 0xcd, 0x00, | ||
| 7001 | 0x92, 0x77, 0x21, 0xd2, 0x00, 0x92, 0x78, 0x21, | ||
| 7002 | 0xd3, 0x00, 0x92, 0x79, 0x58, 0xd6, 0x00, 0x92, | ||
| 7003 | 0x7b, 0x58, 0xd7, 0x00, 0x92, 0x7c, 0x49, 0x89, | ||
| 7004 | 0x00, 0x92, 0x7d, 0x49, 0x8a, 0x00, 0x92, 0x7e, | ||
| 7005 | 0x0e, 0x76, 0x00, 0x92, 0x7f, 0x49, 0x8b, 0x00, | ||
| 7006 | 0x92, 0x80, 0x06, 0xdc, 0x00, 0x92, 0x83, 0x09, | ||
| 7007 | 0x50, 0x00, 0x92, 0x85, 0x0c, 0x94, 0x00, 0x92, | ||
| 7008 | 0x88, 0x20, 0xaa, 0x00, 0x92, 0x89, 0x49, 0x8c, | ||
| 7009 | 0x00, 0x92, 0x8a, 0x58, 0xd8, 0x00, 0x92, 0x8d, | ||
| 7010 | 0x49, 0x8d, 0x00, 0x92, 0x8e, 0x4d, 0xce, 0x00, | ||
| 7011 | 0x92, 0x91, 0x0a, 0xaf, 0x00, 0x92, 0x92, 0x58, | ||
| 7012 | 0xd9, 0x00, 0x92, 0x93, 0x1b, 0x51, 0x00, 0x92, | ||
| 7013 | 0x95, 0x1b, 0x4b, 0x00, 0x92, 0x96, 0x1b, 0x50, | ||
| 7014 | 0x00, 0x92, 0x97, 0x49, 0x8e, 0x00, 0x92, 0x98, | ||
| 7015 | 0x0e, 0xcf, 0x00, 0x92, 0x99, 0x49, 0x8f, 0x00, | ||
| 7016 | 0x92, 0x9a, 0x0b, 0xd4, 0x00, 0x92, 0x9b, 0x1b, | ||
| 7017 | 0x52, 0x00, 0x92, 0x9c, 0x1b, 0x4f, 0x00, 0x92, | ||
| 7018 | 0x9f, 0x49, 0x90, 0x00, 0x92, 0xa0, 0x58, 0xda, | ||
| 7019 | 0x00, 0x92, 0xa4, 0x58, 0xdb, 0x00, 0x92, 0xa5, | ||
| 7020 | 0x58, 0xdc, 0x00, 0x92, 0xa7, 0x21, 0xd1, 0x00, | ||
| 7021 | 0x92, 0xa8, 0x58, 0xdd, 0x00, 0x92, 0xab, 0x49, | ||
| 7022 | 0x91, 0x00, 0x92, 0xad, 0x0a, 0xae, 0x00, 0x92, | ||
| 7023 | 0xaf, 0x4d, 0xcf, 0x00, 0x92, 0xb2, 0x49, 0x94, | ||
| 7024 | 0x00, 0x92, 0xb3, 0x35, 0x54, 0x00, 0x92, 0xb6, | ||
| 7025 | 0x58, 0xde, 0x00, 0x92, 0xb7, 0x1b, 0x56, 0x00, | ||
| 7026 | 0x92, 0xb8, 0x58, 0xdf, 0x00, 0x92, 0xb9, 0x1b, | ||
| 7027 | 0x55, 0x00, 0x92, 0xba, 0x58, 0xe0, 0x00, 0x92, | ||
| 7028 | 0xbb, 0x4d, 0xd0, 0x00, 0x92, 0xbc, 0x4d, 0xd1, | ||
| 7029 | 0x00, 0x92, 0xbd, 0x58, 0xe1, 0x00, 0x92, 0xbf, | ||
| 7030 | 0x49, 0x95, 0x00, 0x92, 0xc0, 0x49, 0x96, 0x00, | ||
| 7031 | 0x92, 0xc1, 0x4d, 0xd2, 0x00, 0x92, 0xc2, 0x3b, | ||
| 7032 | 0x7c, 0x00, 0x92, 0xc3, 0x4d, 0xd3, 0x00, 0x92, | ||
| 7033 | 0xc5, 0x4d, 0xd4, 0x00, 0x92, 0xc6, 0x49, 0x97, | ||
| 7034 | 0x00, 0x92, 0xc7, 0x58, 0xe2, 0x00, 0x92, 0xc8, | ||
| 7035 | 0x4d, 0xd5, 0x00, 0x92, 0xcb, 0x3b, 0x7d, 0x00, | ||
| 7036 | 0x92, 0xcc, 0x3b, 0x7e, 0x00, 0x92, 0xcd, 0x58, | ||
| 7037 | 0xe3, 0x00, 0x92, 0xce, 0x49, 0x98, 0x00, 0x92, | ||
| 7038 | 0xcf, 0x1b, 0x54, 0x00, 0x92, 0xd0, 0x21, 0xd7, | ||
| 7039 | 0x00, 0x92, 0xd2, 0x0e, 0x5d, 0x00, 0x92, 0xd3, | ||
| 7040 | 0x21, 0xdb, 0x00, 0x92, 0xd5, 0x21, 0xd9, 0x00, | ||
| 7041 | 0x92, 0xd7, 0x21, 0xd5, 0x00, 0x92, 0xd8, 0x58, | ||
| 7042 | 0xe4, 0x00, 0x92, 0xd9, 0x21, 0xd6, 0x00, 0x92, | ||
| 7043 | 0xdc, 0x58, 0xe5, 0x00, 0x92, 0xdd, 0x58, 0xe6, | ||
| 7044 | 0x00, 0x92, 0xdf, 0x3b, 0x7f, 0x00, 0x92, 0xe0, | ||
| 7045 | 0x21, 0xda, 0x00, 0x92, 0xe1, 0x58, 0xe7, 0x00, | ||
| 7046 | 0x92, 0xe3, 0x58, 0xe8, 0x00, 0x92, 0xe4, 0x09, | ||
| 7047 | 0x85, 0x00, 0x92, 0xe5, 0x49, 0x99, 0x00, 0x92, | ||
| 7048 | 0xe7, 0x21, 0xd4, 0x00, 0x92, 0xe8, 0x58, 0xe9, | ||
| 7049 | 0x00, 0x92, 0xe9, 0x1b, 0x57, 0x00, 0x92, 0xea, | ||
| 7050 | 0x0e, 0x2f, 0x00, 0x92, 0xec, 0x58, 0xea, 0x00, | ||
| 7051 | 0x92, 0xed, 0x04, 0xf6, 0x00, 0x92, 0xee, 0x58, | ||
| 7052 | 0xeb, 0x00, 0x92, 0xf0, 0x58, 0xec, 0x00, 0x92, | ||
| 7053 | 0xf2, 0x0d, 0xb8, 0x00, 0x92, 0xf3, 0x0b, 0xb0, | ||
| 7054 | 0x00, 0x92, 0xf7, 0x49, 0x9d, 0x00, 0x92, 0xf8, | ||
| 7055 | 0x06, 0x92, 0x00, 0x92, 0xf9, 0x20, 0xb0, 0x00, | ||
| 7056 | 0x92, 0xfa, 0x1b, 0x59, 0x00, 0x92, 0xfb, 0x21, | ||
| 7057 | 0xde, 0x00, 0x92, 0xfc, 0x07, 0xef, 0x00, 0x92, | ||
| 7058 | 0xff, 0x21, 0xe1, 0x00, 0x93, 0x00, 0x58, 0xed, | ||
| 7059 | 0x00, 0x93, 0x02, 0x21, 0xe3, 0x00, 0x93, 0x04, | ||
| 7060 | 0x34, 0x5a, 0x00, 0x93, 0x06, 0x08, 0x7a, 0x00, | ||
| 7061 | 0x93, 0x08, 0x58, 0xee, 0x00, 0x93, 0x0d, 0x3b, | ||
| 7062 | 0x80, 0x00, 0x93, 0x0f, 0x1b, 0x58, 0x00, 0x93, | ||
| 7063 | 0x10, 0x0a, 0x33, 0x00, 0x93, 0x11, 0x49, 0x9a, | ||
| 7064 | 0x00, 0x93, 0x14, 0x4d, 0xd6, 0x00, 0x93, 0x15, | ||
| 7065 | 0x3b, 0x81, 0x00, 0x93, 0x18, 0x0a, 0x34, 0x00, | ||
| 7066 | 0x93, 0x19, 0x1b, 0x5c, 0x00, 0x93, 0x1a, 0x1b, | ||
| 7067 | 0x5e, 0x00, 0x93, 0x1c, 0x58, 0xef, 0x00, 0x93, | ||
| 7068 | 0x1d, 0x21, 0xe2, 0x00, 0x93, 0x1e, 0x21, 0xe0, | ||
| 7069 | 0x00, 0x93, 0x1f, 0x3b, 0x82, 0x00, 0x93, 0x20, | ||
| 7070 | 0x09, 0xe3, 0x00, 0x93, 0x21, 0x21, 0xdd, 0x00, | ||
| 7071 | 0x93, 0x22, 0x1b, 0x5d, 0x00, 0x93, 0x23, 0x1b, | ||
| 7072 | 0x5f, 0x00, 0x93, 0x24, 0x58, 0xf0, 0x00, 0x93, | ||
| 7073 | 0x25, 0x21, 0xdc, 0x00, 0x93, 0x26, 0x06, 0xcb, | ||
| 7074 | 0x00, 0x93, 0x27, 0x3b, 0x83, 0x00, 0x93, 0x28, | ||
| 7075 | 0x0d, 0xb7, 0x00, 0x93, 0x29, 0x49, 0x9e, 0x00, | ||
| 7076 | 0x93, 0x2a, 0x58, 0xf1, 0x00, 0x93, 0x2b, 0x09, | ||
| 7077 | 0x0e, 0x00, 0x93, 0x2c, 0x0f, 0xc9, 0x00, 0x93, | ||
| 7078 | 0x2e, 0x1b, 0x5b, 0x00, 0x93, 0x2f, 0x08, 0x68, | ||
| 7079 | 0x00, 0x93, 0x32, 0x0f, 0xe5, 0x00, 0x93, 0x33, | ||
| 7080 | 0x4d, 0xd7, 0x00, 0x93, 0x34, 0x58, 0xf2, 0x00, | ||
| 7081 | 0x93, 0x35, 0x1b, 0x61, 0x00, 0x93, 0x36, 0x4d, | ||
| 7082 | 0xd8, 0x00, 0x93, 0x37, 0x58, 0xf3, 0x00, 0x93, | ||
| 7083 | 0x3a, 0x1b, 0x60, 0x00, 0x93, 0x3b, 0x1b, 0x62, | ||
| 7084 | 0x00, 0x93, 0x44, 0x1b, 0x5a, 0x00, 0x93, 0x47, | ||
| 7085 | 0x3b, 0x84, 0x00, 0x93, 0x48, 0x20, 0xa9, 0x00, | ||
| 7086 | 0x93, 0x49, 0x43, 0x0e, 0x00, 0x93, 0x4a, 0x34, | ||
| 7087 | 0x58, 0x00, 0x93, 0x4b, 0x0c, 0xc1, 0x00, 0x93, | ||
| 7088 | 0x4d, 0x0c, 0x4f, 0x00, 0x93, 0x50, 0x58, 0xf4, | ||
| 7089 | 0x00, 0x93, 0x51, 0x49, 0xa1, 0x00, 0x93, 0x52, | ||
| 7090 | 0x3b, 0x85, 0x00, 0x93, 0x54, 0x0b, 0xf3, 0x00, | ||
| 7091 | 0x93, 0x55, 0x58, 0xf5, 0x00, 0x93, 0x56, 0x1b, | ||
| 7092 | 0x67, 0x00, 0x93, 0x57, 0x21, 0xe5, 0x00, 0x93, | ||
| 7093 | 0x58, 0x4d, 0xd9, 0x00, 0x93, 0x5a, 0x49, 0xa2, | ||
| 7094 | 0x00, 0x93, 0x5b, 0x0b, 0x81, 0x00, 0x93, 0x5c, | ||
| 7095 | 0x1b, 0x63, 0x00, 0x93, 0x5e, 0x58, 0xf6, 0x00, | ||
| 7096 | 0x93, 0x60, 0x1b, 0x64, 0x00, 0x93, 0x64, 0x43, | ||
| 7097 | 0x0f, 0x00, 0x93, 0x65, 0x43, 0x10, 0x00, 0x93, | ||
| 7098 | 0x67, 0x58, 0xf7, 0x00, 0x93, 0x69, 0x58, 0xf8, | ||
| 7099 | 0x00, 0x93, 0x6a, 0x3b, 0x87, 0x00, 0x93, 0x6b, | ||
| 7100 | 0x49, 0xa3, 0x00, 0x93, 0x6c, 0x07, 0x03, 0x00, | ||
| 7101 | 0x93, 0x6d, 0x3b, 0x88, 0x00, 0x93, 0x6e, 0x1b, | ||
| 7102 | 0x66, 0x00, 0x93, 0x6f, 0x58, 0xf9, 0x00, 0x93, | ||
| 7103 | 0x70, 0x21, 0xe4, 0x00, 0x93, 0x71, 0x49, 0xa4, | ||
| 7104 | 0x00, 0x93, 0x73, 0x49, 0xa5, 0x00, 0x93, 0x74, | ||
| 7105 | 0x58, 0xfa, 0x00, 0x93, 0x75, 0x07, 0x64, 0x00, | ||
| 7106 | 0x93, 0x76, 0x58, 0xfb, 0x00, 0x93, 0x7a, 0x58, | ||
| 7107 | 0xfc, 0x00, 0x93, 0x7c, 0x1b, 0x65, 0x00, 0x93, | ||
| 7108 | 0x7d, 0x58, 0xfd, 0x00, 0x93, 0x7e, 0x09, 0xc9, | ||
| 7109 | 0x00, 0x93, 0x7f, 0x4d, 0xda, 0x00, 0x93, 0x80, | ||
| 7110 | 0x58, 0xfe, 0x00, 0x93, 0x81, 0x58, 0xff, 0x00, | ||
| 7111 | 0x93, 0x82, 0x4d, 0xdb, 0x00, 0x93, 0x88, 0x49, | ||
| 7112 | 0xa9, 0x00, 0x93, 0x8a, 0x4d, 0xdc, 0x00, 0x93, | ||
| 7113 | 0x8b, 0x49, 0xaa, 0x00, 0x93, 0x8c, 0x05, 0xd7, | ||
| 7114 | 0x00, 0x93, 0x8d, 0x59, 0x00, 0x00, 0x93, 0x8f, | ||
| 7115 | 0x49, 0xab, 0x00, 0x93, 0x92, 0x59, 0x01, 0x00, | ||
| 7116 | 0x93, 0x94, 0x1b, 0x6b, 0x00, 0x93, 0x95, 0x59, | ||
| 7117 | 0x02, 0x00, 0x93, 0x96, 0x08, 0x2f, 0x00, 0x93, | ||
| 7118 | 0x97, 0x0a, 0xfb, 0x00, 0x93, 0x98, 0x59, 0x03, | ||
| 7119 | 0x00, 0x93, 0x9a, 0x0b, 0xe6, 0x00, 0x93, 0x9b, | ||
| 7120 | 0x3b, 0x89, 0x00, 0x93, 0x9e, 0x49, 0xac, 0x00, | ||
| 7121 | 0x93, 0xa1, 0x49, 0xa6, 0x00, 0x93, 0xa3, 0x43, | ||
| 7122 | 0x11, 0x00, 0x93, 0xa4, 0x21, 0xe6, 0x00, 0x93, | ||
| 7123 | 0xa6, 0x59, 0x05, 0x00, 0x93, 0xa7, 0x05, 0x99, | ||
| 7124 | 0x00, 0x93, 0xa8, 0x59, 0x06, 0x00, 0x93, 0xa9, | ||
| 7125 | 0x3b, 0x8b, 0x00, 0x93, 0xab, 0x59, 0x07, 0x00, | ||
| 7126 | 0x93, 0xac, 0x1b, 0x69, 0x00, 0x93, 0xad, 0x1b, | ||
| 7127 | 0x6a, 0x00, 0x93, 0xae, 0x0b, 0xdf, 0x00, 0x93, | ||
| 7128 | 0xb0, 0x1b, 0x68, 0x00, 0x93, 0xb4, 0x59, 0x08, | ||
| 7129 | 0x00, 0x93, 0xb5, 0x59, 0x09, 0x00, 0x93, 0xb6, | ||
| 7130 | 0x59, 0x0a, 0x00, 0x93, 0xb9, 0x1b, 0x6c, 0x00, | ||
| 7131 | 0x93, 0xba, 0x3b, 0x8a, 0x00, 0x93, 0xbb, 0x4d, | ||
| 7132 | 0xdd, 0x00, 0x93, 0xc1, 0x3b, 0x8c, 0x00, 0x93, | ||
| 7133 | 0xc3, 0x1b, 0x72, 0x00, 0x93, 0xc4, 0x59, 0x0b, | ||
| 7134 | 0x00, 0x93, 0xc5, 0x59, 0x0c, 0x00, 0x93, 0xc6, | ||
| 7135 | 0x21, 0xe7, 0x00, 0x93, 0xc7, 0x49, 0xb1, 0x00, | ||
| 7136 | 0x93, 0xc8, 0x1b, 0x75, 0x00, 0x93, 0xc9, 0x59, | ||
| 7137 | 0x0d, 0x00, 0x93, 0xca, 0x3b, 0x8d, 0x00, 0x93, | ||
| 7138 | 0xcb, 0x59, 0x0e, 0x00, 0x93, 0xcc, 0x4d, 0xde, | ||
| 7139 | 0x00, 0x93, 0xcd, 0x59, 0x0f, 0x00, 0x93, 0xd0, | ||
| 7140 | 0x1b, 0x74, 0x00, 0x93, 0xd1, 0x0c, 0x27, 0x00, | ||
| 7141 | 0x93, 0xd3, 0x59, 0x10, 0x00, 0x93, 0xd6, 0x1b, | ||
| 7142 | 0x6d, 0x00, 0x93, 0xd7, 0x1b, 0x6e, 0x00, 0x93, | ||
| 7143 | 0xd8, 0x1b, 0x71, 0x00, 0x93, 0xd9, 0x59, 0x11, | ||
| 7144 | 0x00, 0x93, 0xdc, 0x49, 0xb2, 0x00, 0x93, 0xdd, | ||
| 7145 | 0x1b, 0x73, 0x00, 0x93, 0xde, 0x21, 0xe8, 0x00, | ||
| 7146 | 0x93, 0xdf, 0x43, 0x12, 0x00, 0x93, 0xe1, 0x06, | ||
| 7147 | 0xb8, 0x00, 0x93, 0xe2, 0x3b, 0x8e, 0x00, 0x93, | ||
| 7148 | 0xe4, 0x1b, 0x76, 0x00, 0x93, 0xe5, 0x1b, 0x70, | ||
| 7149 | 0x00, 0x93, 0xe6, 0x4d, 0xdf, 0x00, 0x93, 0xe7, | ||
| 7150 | 0x49, 0xb3, 0x00, 0x93, 0xe8, 0x1b, 0x6f, 0x00, | ||
| 7151 | 0x93, 0xf1, 0x49, 0xb0, 0x00, 0x93, 0xf5, 0x49, | ||
| 7152 | 0xad, 0x00, 0x93, 0xf7, 0x59, 0x12, 0x00, 0x93, | ||
| 7153 | 0xf8, 0x21, 0xe9, 0x00, 0x93, 0xf9, 0x4d, 0xe0, | ||
| 7154 | 0x00, 0x93, 0xfa, 0x3b, 0x8f, 0x00, 0x93, 0xfb, | ||
| 7155 | 0x49, 0xb7, 0x00, 0x93, 0xfd, 0x3b, 0x90, 0x00, | ||
| 7156 | 0x94, 0x01, 0x59, 0x13, 0x00, 0x94, 0x02, 0x4d, | ||
| 7157 | 0xe1, 0x00, 0x94, 0x03, 0x1b, 0x7a, 0x00, 0x94, | ||
| 7158 | 0x04, 0x43, 0x13, 0x00, 0x94, 0x07, 0x1b, 0x7b, | ||
| 7159 | 0x00, 0x94, 0x08, 0x59, 0x14, 0x00, 0x94, 0x09, | ||
| 7160 | 0x49, 0xb4, 0x00, 0x94, 0x0d, 0x4d, 0xe2, 0x00, | ||
| 7161 | 0x94, 0x0e, 0x4d, 0xe3, 0x00, 0x94, 0x0f, 0x3b, | ||
| 7162 | 0x91, 0x00, 0x94, 0x10, 0x1b, 0x7c, 0x00, 0x94, | ||
| 7163 | 0x13, 0x1b, 0x79, 0x00, 0x94, 0x14, 0x1b, 0x78, | ||
| 7164 | 0x00, 0x94, 0x15, 0x59, 0x15, 0x00, 0x94, 0x16, | ||
| 7165 | 0x49, 0xb5, 0x00, 0x94, 0x17, 0x49, 0xb6, 0x00, | ||
| 7166 | 0x94, 0x18, 0x09, 0xca, 0x00, 0x94, 0x19, 0x0c, | ||
| 7167 | 0x82, 0x00, 0x94, 0x1a, 0x1b, 0x77, 0x00, 0x94, | ||
| 7168 | 0x1f, 0x59, 0x16, 0x00, 0x94, 0x21, 0x1b, 0x80, | ||
| 7169 | 0x00, 0x94, 0x2b, 0x1b, 0x7e, 0x00, 0x94, 0x2e, | ||
| 7170 | 0x4d, 0xe4, 0x00, 0x94, 0x2f, 0x59, 0x17, 0x00, | ||
| 7171 | 0x94, 0x31, 0x21, 0xea, 0x00, 0x94, 0x32, 0x49, | ||
| 7172 | 0xb8, 0x00, 0x94, 0x33, 0x43, 0x14, 0x00, 0x94, | ||
| 7173 | 0x34, 0x3b, 0x92, 0x00, 0x94, 0x35, 0x1b, 0x7f, | ||
| 7174 | 0x00, 0x94, 0x36, 0x1b, 0x7d, 0x00, 0x94, 0x38, | ||
| 7175 | 0x0b, 0x58, 0x00, 0x94, 0x3a, 0x1b, 0x81, 0x00, | ||
| 7176 | 0x94, 0x3b, 0x49, 0xb9, 0x00, 0x94, 0x3d, 0x59, | ||
| 7177 | 0x18, 0x00, 0x94, 0x3f, 0x3b, 0x93, 0x00, 0x94, | ||
| 7178 | 0x41, 0x1b, 0x82, 0x00, 0x94, 0x43, 0x59, 0x19, | ||
| 7179 | 0x00, 0x94, 0x44, 0x1b, 0x84, 0x00, 0x94, 0x45, | ||
| 7180 | 0x21, 0xeb, 0x00, 0x94, 0x48, 0x21, 0xec, 0x00, | ||
| 7181 | 0x94, 0x4a, 0x43, 0x15, 0x00, 0x94, 0x4c, 0x4d, | ||
| 7182 | 0xe5, 0x00, 0x94, 0x51, 0x06, 0x11, 0x00, 0x94, | ||
| 7183 | 0x52, 0x1b, 0x83, 0x00, 0x94, 0x53, 0x0f, 0x06, | ||
| 7184 | 0x00, 0x94, 0x55, 0x3b, 0x94, 0x00, 0x94, 0x59, | ||
| 7185 | 0x59, 0x1a, 0x00, 0x94, 0x5a, 0x1b, 0x8f, 0x00, | ||
| 7186 | 0x94, 0x5b, 0x1b, 0x85, 0x00, 0x94, 0x5c, 0x59, | ||
| 7187 | 0x1b, 0x00, 0x94, 0x5e, 0x1b, 0x88, 0x00, 0x94, | ||
| 7188 | 0x5f, 0x59, 0x1c, 0x00, 0x94, 0x60, 0x1b, 0x86, | ||
| 7189 | 0x00, 0x94, 0x61, 0x59, 0x1d, 0x00, 0x94, 0x62, | ||
| 7190 | 0x1b, 0x87, 0x00, 0x94, 0x63, 0x43, 0x16, 0x00, | ||
| 7191 | 0x94, 0x68, 0x59, 0x1e, 0x00, 0x94, 0x6a, 0x1b, | ||
| 7192 | 0x89, 0x00, 0x94, 0x6b, 0x3b, 0x95, 0x00, 0x94, | ||
| 7193 | 0x6d, 0x49, 0xbc, 0x00, 0x94, 0x6e, 0x59, 0x1f, | ||
| 7194 | 0x00, 0x94, 0x6f, 0x49, 0xbd, 0x00, 0x94, 0x70, | ||
| 7195 | 0x1b, 0x8b, 0x00, 0x94, 0x71, 0x43, 0x17, 0x00, | ||
| 7196 | 0x94, 0x72, 0x3b, 0x96, 0x00, 0x94, 0x75, 0x1b, | ||
| 7197 | 0x8c, 0x00, 0x94, 0x77, 0x1b, 0x8d, 0x00, 0x94, | ||
| 7198 | 0x7c, 0x1b, 0x90, 0x00, 0x94, 0x7d, 0x1b, 0x8e, | ||
| 7199 | 0x00, 0x94, 0x7e, 0x1b, 0x91, 0x00, 0x94, 0x7f, | ||
| 7200 | 0x1b, 0x93, 0x00, 0x94, 0x81, 0x1b, 0x92, 0x00, | ||
| 7201 | 0x94, 0x83, 0x59, 0x21, 0x00, 0x94, 0x84, 0x59, | ||
| 7202 | 0x20, 0x00, 0x95, 0x77, 0x0b, 0xd5, 0x00, 0x95, | ||
| 7203 | 0x78, 0x3b, 0x97, 0x00, 0x95, 0x79, 0x49, 0xbe, | ||
| 7204 | 0x00, 0x95, 0x7e, 0x59, 0x22, 0x00, 0x95, 0x80, | ||
| 7205 | 0x0e, 0xf3, 0x00, 0x95, 0x82, 0x1b, 0x94, 0x00, | ||
| 7206 | 0x95, 0x83, 0x0a, 0xb0, 0x00, 0x95, 0x84, 0x59, | ||
| 7207 | 0x23, 0x00, 0x95, 0x86, 0x49, 0xbf, 0x00, 0x95, | ||
| 7208 | 0x87, 0x1b, 0x95, 0x00, 0x95, 0x88, 0x4d, 0xe6, | ||
| 7209 | 0x00, 0x95, 0x89, 0x0e, 0x14, 0x00, 0x95, 0x8a, | ||
| 7210 | 0x1b, 0x96, 0x00, 0x95, 0x8b, 0x05, 0x89, 0x00, | ||
| 7211 | 0x95, 0x8c, 0x49, 0xc0, 0x00, 0x95, 0x8d, 0x49, | ||
| 7212 | 0xc1, 0x00, 0x95, 0x8e, 0x43, 0x18, 0x00, 0x95, | ||
| 7213 | 0x8f, 0x04, 0xde, 0x00, 0x95, 0x91, 0x06, 0x13, | ||
| 7214 | 0x00, 0x95, 0x92, 0x21, 0xed, 0x00, 0x95, 0x93, | ||
| 7215 | 0x06, 0x12, 0x00, 0x95, 0x94, 0x1b, 0x97, 0x00, | ||
| 7216 | 0x95, 0x96, 0x1b, 0x98, 0x00, 0x95, 0x98, 0x1b, | ||
| 7217 | 0x99, 0x00, 0x95, 0x99, 0x1b, 0x9a, 0x00, 0x95, | ||
| 7218 | 0x9d, 0x59, 0x24, 0x00, 0x95, 0x9e, 0x59, 0x25, | ||
| 7219 | 0x00, 0x95, 0x9f, 0x43, 0x19, 0x00, 0x95, 0xa0, | ||
| 7220 | 0x1b, 0x9b, 0x00, 0x95, 0xa1, 0x4d, 0xe7, 0x00, | ||
| 7221 | 0x95, 0xa2, 0x06, 0x14, 0x00, 0x95, 0xa3, 0x05, | ||
| 7222 | 0xb3, 0x00, 0x95, 0xa4, 0x07, 0xf0, 0x00, 0x95, | ||
| 7223 | 0xa5, 0x0d, 0x4a, 0x00, 0x95, 0xa6, 0x3b, 0x98, | ||
| 7224 | 0x00, 0x95, 0xa7, 0x1b, 0x9d, 0x00, 0x95, 0xa8, | ||
| 7225 | 0x1b, 0x9c, 0x00, 0x95, 0xa9, 0x3b, 0x99, 0x00, | ||
| 7226 | 0x95, 0xab, 0x4f, 0x59, 0x00, 0x95, 0xac, 0x43, | ||
| 7227 | 0x1a, 0x00, 0x95, 0xad, 0x1b, 0x9e, 0x00, 0x95, | ||
| 7228 | 0xb1, 0x35, 0x55, 0x00, 0x95, 0xb2, 0x04, 0xfe, | ||
| 7229 | 0x00, 0x95, 0xb4, 0x3b, 0x9b, 0x00, 0x95, 0xb6, | ||
| 7230 | 0x43, 0x1b, 0x00, 0x95, 0xb9, 0x1b, 0xa1, 0x00, | ||
| 7231 | 0x95, 0xba, 0x59, 0x26, 0x00, 0x95, 0xbb, 0x1b, | ||
| 7232 | 0xa0, 0x00, 0x95, 0xbc, 0x1b, 0x9f, 0x00, 0x95, | ||
| 7233 | 0xbd, 0x3b, 0x9c, 0x00, 0x95, 0xbe, 0x1b, 0xa2, | ||
| 7234 | 0x00, 0x95, 0xbf, 0x4d, 0xe8, 0x00, 0x95, 0xc3, | ||
| 7235 | 0x1b, 0xa5, 0x00, 0x95, 0xc6, 0x4d, 0xe9, 0x00, | ||
| 7236 | 0x95, 0xc7, 0x04, 0x8b, 0x00, 0x95, 0xc8, 0x49, | ||
| 7237 | 0xc4, 0x00, 0x95, 0xc9, 0x4d, 0xea, 0x00, 0x95, | ||
| 7238 | 0xca, 0x1b, 0xa3, 0x00, 0x95, 0xcb, 0x43, 0x1c, | ||
| 7239 | 0x00, 0x95, 0xcc, 0x1b, 0xa7, 0x00, 0x95, 0xcd, | ||
| 7240 | 0x1b, 0xa6, 0x00, 0x95, 0xd0, 0x43, 0x1d, 0x00, | ||
| 7241 | 0x95, 0xd1, 0x4d, 0xeb, 0x00, 0x95, 0xd2, 0x4d, | ||
| 7242 | 0xec, 0x00, 0x95, 0xd3, 0x43, 0x1e, 0x00, 0x95, | ||
| 7243 | 0xd4, 0x1b, 0xa9, 0x00, 0x95, 0xd5, 0x1b, 0xa8, | ||
| 7244 | 0x00, 0x95, 0xd6, 0x1b, 0xaa, 0x00, 0x95, 0xd8, | ||
| 7245 | 0x0c, 0x86, 0x00, 0x95, 0xd9, 0x59, 0x27, 0x00, | ||
| 7246 | 0x95, 0xda, 0x3b, 0x9d, 0x00, 0x95, 0xdc, 0x1b, | ||
| 7247 | 0xab, 0x00, 0x95, 0xdd, 0x59, 0x28, 0x00, 0x95, | ||
| 7248 | 0xde, 0x43, 0x20, 0x00, 0x95, 0xdf, 0x59, 0x29, | ||
| 7249 | 0x00, 0x95, 0xe0, 0x4d, 0xed, 0x00, 0x95, 0xe1, | ||
| 7250 | 0x1b, 0xac, 0x00, 0x95, 0xe2, 0x1b, 0xae, 0x00, | ||
| 7251 | 0x95, 0xe4, 0x4d, 0xee, 0x00, 0x95, 0xe5, 0x1b, | ||
| 7252 | 0xad, 0x00, 0x95, 0xe6, 0x4d, 0xef, 0x00, 0x95, | ||
| 7253 | 0xe8, 0x36, 0xed, 0x00, 0x96, 0x1c, 0x0d, 0xde, | ||
| 7254 | 0x00, 0x96, 0x1d, 0x3b, 0x9e, 0x00, 0x96, 0x1e, | ||
| 7255 | 0x59, 0x2a, 0x00, 0x96, 0x21, 0x1b, 0xaf, 0x00, | ||
| 7256 | 0x96, 0x22, 0x59, 0x2b, 0x00, 0x96, 0x24, 0x4d, | ||
| 7257 | 0xf0, 0x00, 0x96, 0x25, 0x59, 0x2c, 0x00, 0x96, | ||
| 7258 | 0x26, 0x59, 0x2d, 0x00, 0x96, 0x28, 0x1b, 0xb0, | ||
| 7259 | 0x00, 0x96, 0x2a, 0x08, 0x55, 0x00, 0x96, 0x2c, | ||
| 7260 | 0x49, 0xc7, 0x00, 0x96, 0x2e, 0x1b, 0xb1, 0x00, | ||
| 7261 | 0x96, 0x2f, 0x1b, 0xb2, 0x00, 0x96, 0x31, 0x4d, | ||
| 7262 | 0xf1, 0x00, 0x96, 0x32, 0x0e, 0x77, 0x00, 0x96, | ||
| 7263 | 0x33, 0x49, 0xc8, 0x00, 0x96, 0x34, 0x49, 0xc9, | ||
| 7264 | 0x00, 0x96, 0x37, 0x59, 0x2e, 0x00, 0x96, 0x38, | ||
| 7265 | 0x4d, 0xf2, 0x00, 0x96, 0x39, 0x59, 0x2f, 0x00, | ||
| 7266 | 0x96, 0x3a, 0x59, 0x30, 0x00, 0x96, 0x3b, 0x0a, | ||
| 7267 | 0xcd, 0x00, 0x96, 0x3c, 0x49, 0xcb, 0x00, 0x96, | ||
| 7268 | 0x3d, 0x4d, 0xf3, 0x00, 0x96, 0x3f, 0x04, 0x68, | ||
| 7269 | 0x00, 0x96, 0x40, 0x0b, 0x2b, 0x00, 0x96, 0x41, | ||
| 7270 | 0x3b, 0x9f, 0x00, 0x96, 0x42, 0x1b, 0xb3, 0x00, | ||
| 7271 | 0x96, 0x44, 0x0d, 0xdf, 0x00, 0x96, 0x4b, 0x1b, | ||
| 7272 | 0xb6, 0x00, 0x96, 0x4c, 0x1b, 0xb4, 0x00, 0x96, | ||
| 7273 | 0x4d, 0x07, 0xf1, 0x00, 0x96, 0x4f, 0x1b, 0xb5, | ||
| 7274 | 0x00, 0x96, 0x50, 0x07, 0x76, 0x00, 0x96, 0x52, | ||
| 7275 | 0x59, 0x31, 0x00, 0x96, 0x54, 0x4d, 0xf4, 0x00, | ||
| 7276 | 0x96, 0x56, 0x59, 0x32, 0x00, 0x96, 0x57, 0x59, | ||
| 7277 | 0x33, 0x00, 0x96, 0x58, 0x3b, 0xa0, 0x00, 0x96, | ||
| 7278 | 0x5b, 0x0e, 0x15, 0x00, 0x96, 0x5c, 0x1b, 0xb8, | ||
| 7279 | 0x00, 0x96, 0x5d, 0x1b, 0xba, 0x00, 0x96, 0x5e, | ||
| 7280 | 0x1b, 0xb9, 0x00, 0x96, 0x5f, 0x1b, 0xbb, 0x00, | ||
| 7281 | 0x96, 0x61, 0x49, 0xcc, 0x00, 0x96, 0x62, 0x04, | ||
| 7282 | 0xc3, 0x00, 0x96, 0x63, 0x0a, 0x1e, 0x00, 0x96, | ||
| 7283 | 0x64, 0x09, 0x86, 0x00, 0x96, 0x65, 0x06, 0x15, | ||
| 7284 | 0x00, 0x96, 0x66, 0x1b, 0xbc, 0x00, 0x96, 0x6a, | ||
| 7285 | 0x0d, 0x1c, 0x00, 0x96, 0x6c, 0x1b, 0xbe, 0x00, | ||
| 7286 | 0x96, 0x6e, 0x59, 0x34, 0x00, 0x96, 0x70, 0x04, | ||
| 7287 | 0xc4, 0x00, 0x96, 0x72, 0x1b, 0xbd, 0x00, 0x96, | ||
| 7288 | 0x73, 0x0b, 0xe0, 0x00, 0x96, 0x74, 0x4d, 0xf5, | ||
| 7289 | 0x00, 0x96, 0x75, 0x0f, 0x95, 0x00, 0x96, 0x76, | ||
| 7290 | 0x0c, 0x83, 0x00, 0x96, 0x77, 0x1b, 0xb7, 0x00, | ||
| 7291 | 0x96, 0x78, 0x0f, 0x6e, 0x00, 0x96, 0x7a, 0x07, | ||
| 7292 | 0x65, 0x00, 0x96, 0x7b, 0x4d, 0xf6, 0x00, 0x96, | ||
| 7293 | 0x7c, 0x59, 0x35, 0x00, 0x96, 0x7d, 0x0f, 0x45, | ||
| 7294 | 0x00, 0x96, 0x7e, 0x59, 0x36, 0x00, 0x96, 0x7f, | ||
| 7295 | 0x4d, 0xf7, 0x00, 0x96, 0x81, 0x4d, 0xf8, 0x00, | ||
| 7296 | 0x96, 0x82, 0x49, 0xce, 0x00, 0x96, 0x83, 0x4d, | ||
| 7297 | 0xf9, 0x00, 0x96, 0x84, 0x3b, 0xa1, 0x00, 0x96, | ||
| 7298 | 0x85, 0x06, 0xf1, 0x00, 0x96, 0x86, 0x0f, 0x7c, | ||
| 7299 | 0x00, 0x96, 0x88, 0x06, 0xfe, 0x00, 0x96, 0x89, | ||
| 7300 | 0x4d, 0xfa, 0x00, 0x96, 0x8a, 0x0b, 0x42, 0x00, | ||
| 7301 | 0x96, 0x8b, 0x18, 0x6c, 0x00, 0x96, 0x8d, 0x1b, | ||
| 7302 | 0xbf, 0x00, 0x96, 0x8e, 0x05, 0x8a, 0x00, 0x96, | ||
| 7303 | 0x8f, 0x0a, 0x35, 0x00, 0x96, 0x91, 0x59, 0x37, | ||
| 7304 | 0x00, 0x96, 0x94, 0x05, 0xb4, 0x00, 0x96, 0x95, | ||
| 7305 | 0x1b, 0xc1, 0x00, 0x96, 0x96, 0x4d, 0xfb, 0x00, | ||
| 7306 | 0x96, 0x97, 0x1b, 0xc2, 0x00, 0x96, 0x98, 0x1b, | ||
| 7307 | 0xc0, 0x00, 0x96, 0x99, 0x07, 0x3a, 0x00, 0x96, | ||
| 7308 | 0x9a, 0x49, 0xd0, 0x00, 0x96, 0x9b, 0x08, 0x4d, | ||
| 7309 | 0x00, 0x96, 0x9c, 0x09, 0xcb, 0x00, 0x96, 0x9d, | ||
| 7310 | 0x21, 0xf0, 0x00, 0x96, 0x9f, 0x59, 0x38, 0x00, | ||
| 7311 | 0x96, 0xa0, 0x04, 0xc5, 0x00, 0x96, 0xa3, 0x0f, | ||
| 7312 | 0xa1, 0x00, 0x96, 0xa4, 0x3b, 0xa2, 0x00, 0x96, | ||
| 7313 | 0xa5, 0x43, 0x21, 0x00, 0x96, 0xa6, 0x59, 0x39, | ||
| 7314 | 0x00, 0x96, 0xa7, 0x1b, 0xc4, 0x00, 0x96, 0xa8, | ||
| 7315 | 0x1b, 0x0b, 0x00, 0x96, 0xa9, 0x3b, 0xa3, 0x00, | ||
| 7316 | 0x96, 0xaa, 0x1b, 0xc3, 0x00, 0x96, 0xae, 0x4d, | ||
| 7317 | 0xfc, 0x00, 0x96, 0xaf, 0x21, 0xf1, 0x00, 0x96, | ||
| 7318 | 0xb0, 0x1b, 0xc7, 0x00, 0x96, 0xb1, 0x1b, 0xc5, | ||
| 7319 | 0x00, 0x96, 0xb2, 0x1b, 0xc6, 0x00, 0x96, 0xb3, | ||
| 7320 | 0x49, 0xd3, 0x00, 0x96, 0xb4, 0x1b, 0xc8, 0x00, | ||
| 7321 | 0x96, 0xb6, 0x1b, 0xc9, 0x00, 0x96, 0xb7, 0x0f, | ||
| 7322 | 0xb4, 0x00, 0x96, 0xb8, 0x1b, 0xca, 0x00, 0x96, | ||
| 7323 | 0xb9, 0x1b, 0xcb, 0x00, 0x96, 0xba, 0x49, 0xd4, | ||
| 7324 | 0x00, 0x96, 0xbb, 0x0a, 0x6d, 0x00, 0x96, 0xbc, | ||
| 7325 | 0x0d, 0x4f, 0x00, 0x96, 0xbd, 0x49, 0xd5, 0x00, | ||
| 7326 | 0x96, 0xc0, 0x0a, 0x43, 0x00, 0x96, 0xc1, 0x06, | ||
| 7327 | 0x23, 0x00, 0x96, 0xc4, 0x0f, 0x24, 0x00, 0x96, | ||
| 7328 | 0xc5, 0x05, 0x6d, 0x00, 0x96, 0xc6, 0x09, 0x42, | ||
| 7329 | 0x00, 0x96, 0xc7, 0x07, 0x8f, 0x00, 0x96, 0xc9, | ||
| 7330 | 0x1b, 0xce, 0x00, 0x96, 0xca, 0x59, 0x3a, 0x00, | ||
| 7331 | 0x96, 0xcb, 0x1b, 0xcd, 0x00, 0x96, 0xcc, 0x08, | ||
| 7332 | 0xc1, 0x00, 0x96, 0xcd, 0x1b, 0xcf, 0x00, 0x96, | ||
| 7333 | 0xce, 0x1b, 0xcc, 0x00, 0x96, 0xd1, 0x08, 0x76, | ||
| 7334 | 0x00, 0x96, 0xd2, 0x3b, 0xa4, 0x00, 0x96, 0xd5, | ||
| 7335 | 0x1b, 0xd3, 0x00, 0x96, 0xd6, 0x19, 0x92, 0x00, | ||
| 7336 | 0x96, 0xd8, 0x49, 0xd8, 0x00, 0x96, 0xd9, 0x10, | ||
| 7337 | 0xeb, 0x00, 0x96, 0xda, 0x49, 0xd9, 0x00, 0x96, | ||
| 7338 | 0xdb, 0x0a, 0x3d, 0x00, 0x96, 0xdc, 0x1b, 0xd1, | ||
| 7339 | 0x00, 0x96, 0xdd, 0x49, 0xda, 0x00, 0x96, 0xde, | ||
| 7340 | 0x3b, 0xa6, 0x00, 0x96, 0xdf, 0x59, 0x3c, 0x00, | ||
| 7341 | 0x96, 0xe2, 0x0f, 0x6d, 0x00, 0x96, 0xe3, 0x34, | ||
| 7342 | 0x3e, 0x00, 0x96, 0xe8, 0x04, 0xcd, 0x00, 0x96, | ||
| 7343 | 0xe9, 0x3b, 0xa7, 0x00, 0x96, 0xea, 0x0a, 0x87, | ||
| 7344 | 0x00, 0x96, 0xeb, 0x08, 0xe2, 0x00, 0x96, 0xef, | ||
| 7345 | 0x43, 0x22, 0x00, 0x96, 0xf0, 0x0e, 0x07, 0x00, | ||
| 7346 | 0x96, 0xf1, 0x3b, 0xa8, 0x00, 0x96, 0xf2, 0x04, | ||
| 7347 | 0xe2, 0x00, 0x96, 0xf6, 0x0f, 0xb5, 0x00, 0x96, | ||
| 7348 | 0xf7, 0x0f, 0x55, 0x00, 0x96, 0xf9, 0x1b, 0xd4, | ||
| 7349 | 0x00, 0x96, 0xfa, 0x59, 0x3d, 0x00, 0x96, 0xfb, | ||
| 7350 | 0x0c, 0x3f, 0x00, 0x97, 0x00, 0x09, 0x27, 0x00, | ||
| 7351 | 0x97, 0x02, 0x3b, 0xa9, 0x00, 0x97, 0x03, 0x4d, | ||
| 7352 | 0xfd, 0x00, 0x97, 0x04, 0x1b, 0xd5, 0x00, 0x97, | ||
| 7353 | 0x05, 0x59, 0x3e, 0x00, 0x97, 0x06, 0x1b, 0xd6, | ||
| 7354 | 0x00, 0x97, 0x07, 0x0a, 0x12, 0x00, 0x97, 0x08, | ||
| 7355 | 0x1b, 0xd7, 0x00, 0x97, 0x09, 0x3b, 0xaa, 0x00, | ||
| 7356 | 0x97, 0x0a, 0x0f, 0xb6, 0x00, 0x97, 0x0d, 0x1b, | ||
| 7357 | 0xd2, 0x00, 0x97, 0x0e, 0x1b, 0xd9, 0x00, 0x97, | ||
| 7358 | 0x0f, 0x1b, 0xdb, 0x00, 0x97, 0x11, 0x1b, 0xda, | ||
| 7359 | 0x00, 0x97, 0x13, 0x1b, 0xd8, 0x00, 0x97, 0x14, | ||
| 7360 | 0x49, 0xdc, 0x00, 0x97, 0x16, 0x1b, 0xdc, 0x00, | ||
| 7361 | 0x97, 0x19, 0x1b, 0xdd, 0x00, 0x97, 0x1a, 0x59, | ||
| 7362 | 0x3f, 0x00, 0x97, 0x1b, 0x4d, 0xfe, 0x00, 0x97, | ||
| 7363 | 0x1c, 0x0a, 0xfc, 0x00, 0x97, 0x1d, 0x59, 0x40, | ||
| 7364 | 0x00, 0x97, 0x1e, 0x05, 0x62, 0x00, 0x97, 0x21, | ||
| 7365 | 0x4d, 0xff, 0x00, 0x97, 0x22, 0x4e, 0x00, 0x00, | ||
| 7366 | 0x97, 0x23, 0x49, 0xdd, 0x00, 0x97, 0x24, 0x1b, | ||
| 7367 | 0xde, 0x00, 0x97, 0x27, 0x0e, 0xc4, 0x00, 0x97, | ||
| 7368 | 0x28, 0x4e, 0x01, 0x00, 0x97, 0x2a, 0x1b, 0xdf, | ||
| 7369 | 0x00, 0x97, 0x30, 0x1b, 0xe0, 0x00, 0x97, 0x31, | ||
| 7370 | 0x4e, 0x02, 0x00, 0x97, 0x32, 0x0f, 0xd0, 0x00, | ||
| 7371 | 0x97, 0x33, 0x21, 0xf2, 0x00, 0x97, 0x36, 0x49, | ||
| 7372 | 0xdf, 0x00, 0x97, 0x38, 0x14, 0x14, 0x00, 0x97, | ||
| 7373 | 0x39, 0x1b, 0xe1, 0x00, 0x97, 0x3b, 0x21, 0xf3, | ||
| 7374 | 0x00, 0x97, 0x3d, 0x1b, 0xe2, 0x00, 0x97, 0x3e, | ||
| 7375 | 0x1b, 0xe3, 0x00, 0x97, 0x41, 0x49, 0xe0, 0x00, | ||
| 7376 | 0x97, 0x42, 0x1b, 0xe7, 0x00, 0x97, 0x43, 0x21, | ||
| 7377 | 0xf4, 0x00, 0x97, 0x44, 0x1b, 0xe4, 0x00, 0x97, | ||
| 7378 | 0x46, 0x1b, 0xe5, 0x00, 0x97, 0x47, 0x49, 0xe1, | ||
| 7379 | 0x00, 0x97, 0x48, 0x1b, 0xe6, 0x00, 0x97, 0x49, | ||
| 7380 | 0x1b, 0xe8, 0x00, 0x97, 0x4a, 0x59, 0x42, 0x00, | ||
| 7381 | 0x97, 0x4d, 0x21, 0xf5, 0x00, 0x97, 0x4e, 0x43, | ||
| 7382 | 0x23, 0x00, 0x97, 0x4f, 0x21, 0xf6, 0x00, 0x97, | ||
| 7383 | 0x51, 0x21, 0xf7, 0x00, 0x97, 0x52, 0x0a, 0x68, | ||
| 7384 | 0x00, 0x97, 0x55, 0x4f, 0x5a, 0x00, 0x97, 0x56, | ||
| 7385 | 0x0f, 0x03, 0x00, 0x97, 0x57, 0x49, 0xe2, 0x00, | ||
| 7386 | 0x97, 0x58, 0x59, 0x43, 0x00, 0x97, 0x59, 0x0a, | ||
| 7387 | 0x69, 0x00, 0x97, 0x5a, 0x3b, 0xab, 0x00, 0x97, | ||
| 7388 | 0x5b, 0x49, 0xe3, 0x00, 0x97, 0x5c, 0x1b, 0xe9, | ||
| 7389 | 0x00, 0x97, 0x5e, 0x0d, 0x87, 0x00, 0x97, 0x60, | ||
| 7390 | 0x1b, 0xea, 0x00, 0x97, 0x61, 0x1d, 0x06, 0x00, | ||
| 7391 | 0x97, 0x62, 0x0e, 0xd8, 0x00, 0x97, 0x63, 0x3b, | ||
| 7392 | 0xac, 0x00, 0x97, 0x64, 0x1b, 0xeb, 0x00, 0x97, | ||
| 7393 | 0x66, 0x1b, 0xec, 0x00, 0x97, 0x67, 0x4e, 0x03, | ||
| 7394 | 0x00, 0x97, 0x68, 0x1b, 0xed, 0x00, 0x97, 0x69, | ||
| 7395 | 0x05, 0xb5, 0x00, 0x97, 0x6a, 0x49, 0xe4, 0x00, | ||
| 7396 | 0x97, 0x6b, 0x1b, 0xef, 0x00, 0x97, 0x6d, 0x0a, | ||
| 7397 | 0x1f, 0x00, 0x97, 0x6e, 0x3b, 0xad, 0x00, 0x97, | ||
| 7398 | 0x71, 0x1b, 0xf0, 0x00, 0x97, 0x73, 0x3b, 0xae, | ||
| 7399 | 0x00, 0x97, 0x74, 0x06, 0xfa, 0x00, 0x97, 0x76, | ||
| 7400 | 0x4e, 0x04, 0x00, 0x97, 0x77, 0x59, 0x44, 0x00, | ||
| 7401 | 0x97, 0x78, 0x59, 0x45, 0x00, 0x97, 0x79, 0x1b, | ||
| 7402 | 0xf1, 0x00, 0x97, 0x7a, 0x1b, 0xf5, 0x00, 0x97, | ||
| 7403 | 0x7b, 0x59, 0x46, 0x00, 0x97, 0x7c, 0x1b, 0xf3, | ||
| 7404 | 0x00, 0x97, 0x7d, 0x4e, 0x05, 0x00, 0x97, 0x7f, | ||
| 7405 | 0x4e, 0x06, 0x00, 0x97, 0x80, 0x59, 0x47, 0x00, | ||
| 7406 | 0x97, 0x81, 0x1b, 0xf4, 0x00, 0x97, 0x84, 0x05, | ||
| 7407 | 0xd1, 0x00, 0x97, 0x85, 0x1b, 0xf2, 0x00, 0x97, | ||
| 7408 | 0x86, 0x1b, 0xf6, 0x00, 0x97, 0x89, 0x59, 0x48, | ||
| 7409 | 0x00, 0x97, 0x8b, 0x1b, 0xf7, 0x00, 0x97, 0x8d, | ||
| 7410 | 0x04, 0x8c, 0x00, 0x97, 0x8f, 0x1b, 0xf8, 0x00, | ||
| 7411 | 0x97, 0x90, 0x1b, 0xf9, 0x00, 0x97, 0x95, 0x43, | ||
| 7412 | 0x24, 0x00, 0x97, 0x96, 0x49, 0xe7, 0x00, 0x97, | ||
| 7413 | 0x97, 0x59, 0x49, 0x00, 0x97, 0x98, 0x09, 0xcc, | ||
| 7414 | 0x00, 0x97, 0x99, 0x4e, 0x07, 0x00, 0x97, 0x9a, | ||
| 7415 | 0x3b, 0xaf, 0x00, 0x97, 0x9c, 0x1b, 0xfa, 0x00, | ||
| 7416 | 0x97, 0x9e, 0x49, 0xe8, 0x00, 0x97, 0x9f, 0x4e, | ||
| 7417 | 0x08, 0x00, 0x97, 0xa0, 0x06, 0x61, 0x00, 0x97, | ||
| 7418 | 0xa2, 0x3b, 0xb0, 0x00, 0x97, 0xa3, 0x1b, 0xfd, | ||
| 7419 | 0x00, 0x97, 0xa6, 0x1b, 0xfc, 0x00, 0x97, 0xa8, | ||
| 7420 | 0x1b, 0xfb, 0x00, 0x97, 0xab, 0x1a, 0x34, 0x00, | ||
| 7421 | 0x97, 0xac, 0x4e, 0x09, 0x00, 0x97, 0xad, 0x0e, | ||
| 7422 | 0x2c, 0x00, 0x97, 0xae, 0x43, 0x25, 0x00, 0x97, | ||
| 7423 | 0xb1, 0x49, 0xe9, 0x00, 0x97, 0xb2, 0x49, 0xea, | ||
| 7424 | 0x00, 0x97, 0xb3, 0x1b, 0xfe, 0x00, 0x97, 0xb4, | ||
| 7425 | 0x1b, 0xff, 0x00, 0x97, 0xb5, 0x3b, 0xb1, 0x00, | ||
| 7426 | 0x97, 0xb6, 0x3b, 0xb2, 0x00, 0x97, 0xb8, 0x59, | ||
| 7427 | 0x4a, 0x00, 0x97, 0xb9, 0x4e, 0x0a, 0x00, 0x97, | ||
| 7428 | 0xba, 0x43, 0x26, 0x00, 0x97, 0xbc, 0x59, 0x4b, | ||
| 7429 | 0x00, 0x97, 0xbe, 0x49, 0xeb, 0x00, 0x97, 0xbf, | ||
| 7430 | 0x59, 0x4c, 0x00, 0x97, 0xc1, 0x43, 0x27, 0x00, | ||
| 7431 | 0x97, 0xc3, 0x1c, 0x00, 0x00, 0x97, 0xc4, 0x59, | ||
| 7432 | 0x4d, 0x00, 0x97, 0xc5, 0x59, 0x4e, 0x00, 0x97, | ||
| 7433 | 0xc6, 0x1c, 0x01, 0x00, 0x97, 0xc7, 0x59, 0x4f, | ||
| 7434 | 0x00, 0x97, 0xc8, 0x1c, 0x02, 0x00, 0x97, 0xc9, | ||
| 7435 | 0x43, 0x28, 0x00, 0x97, 0xca, 0x59, 0x50, 0x00, | ||
| 7436 | 0x97, 0xcb, 0x1c, 0x03, 0x00, 0x97, 0xcc, 0x49, | ||
| 7437 | 0xec, 0x00, 0x97, 0xcd, 0x4e, 0x0b, 0x00, 0x97, | ||
| 7438 | 0xce, 0x59, 0x51, 0x00, 0x97, 0xd0, 0x59, 0x52, | ||
| 7439 | 0x00, 0x97, 0xd1, 0x49, 0xed, 0x00, 0x97, 0xd3, | ||
| 7440 | 0x06, 0x16, 0x00, 0x97, 0xd4, 0x49, 0xee, 0x00, | ||
| 7441 | 0x97, 0xd7, 0x59, 0x53, 0x00, 0x97, 0xd8, 0x49, | ||
| 7442 | 0xef, 0x00, 0x97, 0xd9, 0x3b, 0xb3, 0x00, 0x97, | ||
| 7443 | 0xdb, 0x43, 0x29, 0x00, 0x97, 0xdc, 0x1c, 0x04, | ||
| 7444 | 0x00, 0x97, 0xdd, 0x59, 0x54, 0x00, 0x97, 0xde, | ||
| 7445 | 0x3b, 0xb4, 0x00, 0x97, 0xe0, 0x4e, 0x0c, 0x00, | ||
| 7446 | 0x97, 0xe1, 0x49, 0xf0, 0x00, 0x97, 0xe4, 0x59, | ||
| 7447 | 0x55, 0x00, 0x97, 0xed, 0x1c, 0x05, 0x00, 0x97, | ||
| 7448 | 0xee, 0x0c, 0xd9, 0x00, 0x97, 0xef, 0x4e, 0x0d, | ||
| 7449 | 0x00, 0x97, 0xf1, 0x49, 0xf1, 0x00, 0x97, 0xf2, | ||
| 7450 | 0x1c, 0x07, 0x00, 0x97, 0xf3, 0x05, 0x3b, 0x00, | ||
| 7451 | 0x97, 0xf4, 0x3b, 0xb5, 0x00, 0x97, 0xf5, 0x1c, | ||
| 7452 | 0x0a, 0x00, 0x97, 0xf6, 0x1c, 0x09, 0x00, 0x97, | ||
| 7453 | 0xf7, 0x59, 0x56, 0x00, 0x97, 0xf8, 0x59, 0x57, | ||
| 7454 | 0x00, 0x97, 0xfa, 0x59, 0x58, 0x00, 0x97, 0xfb, | ||
| 7455 | 0x04, 0xc6, 0x00, 0x97, 0xff, 0x06, 0xb9, 0x00, | ||
| 7456 | 0x98, 0x01, 0x0e, 0x17, 0x00, 0x98, 0x02, 0x0b, | ||
| 7457 | 0xd6, 0x00, 0x98, 0x03, 0x08, 0x12, 0x00, 0x98, | ||
| 7458 | 0x04, 0x49, 0xf2, 0x00, 0x98, 0x05, 0x07, 0xf2, | ||
| 7459 | 0x00, 0x98, 0x06, 0x09, 0x71, 0x00, 0x98, 0x07, | ||
| 7460 | 0x4e, 0x0e, 0x00, 0x98, 0x08, 0x0a, 0x22, 0x00, | ||
| 7461 | 0x98, 0x0a, 0x3b, 0xb6, 0x00, 0x98, 0x0c, 0x1c, | ||
| 7462 | 0x0c, 0x00, 0x98, 0x0d, 0x49, 0xf3, 0x00, 0x98, | ||
| 7463 | 0x0e, 0x3b, 0xb7, 0x00, 0x98, 0x0f, 0x1c, 0x0b, | ||
| 7464 | 0x00, 0x98, 0x10, 0x0f, 0x2c, 0x00, 0x98, 0x11, | ||
| 7465 | 0x06, 0x24, 0x00, 0x98, 0x12, 0x0d, 0x66, 0x00, | ||
| 7466 | 0x98, 0x13, 0x0c, 0xb4, 0x00, 0x98, 0x14, 0x49, | ||
| 7467 | 0xf4, 0x00, 0x98, 0x16, 0x49, 0xf5, 0x00, 0x98, | ||
| 7468 | 0x17, 0x0a, 0x42, 0x00, 0x98, 0x18, 0x0f, 0x96, | ||
| 7469 | 0x00, 0x98, 0x19, 0x59, 0x59, 0x00, 0x98, 0x1a, | ||
| 7470 | 0x07, 0x31, 0x00, 0x98, 0x1c, 0x59, 0x5a, 0x00, | ||
| 7471 | 0x98, 0x1e, 0x3b, 0xb8, 0x00, 0x98, 0x20, 0x59, | ||
| 7472 | 0x5b, 0x00, 0x98, 0x21, 0x1c, 0x0f, 0x00, 0x98, | ||
| 7473 | 0x23, 0x3b, 0xb9, 0x00, 0x98, 0x24, 0x1c, 0x0e, | ||
| 7474 | 0x00, 0x98, 0x25, 0x49, 0xfa, 0x00, 0x98, 0x26, | ||
| 7475 | 0x4e, 0x0f, 0x00, 0x98, 0x2b, 0x3b, 0xba, 0x00, | ||
| 7476 | 0x98, 0x2c, 0x0e, 0x79, 0x00, 0x98, 0x2d, 0x0c, | ||
| 7477 | 0x84, 0x00, 0x98, 0x2e, 0x4e, 0x10, 0x00, 0x98, | ||
| 7478 | 0x2f, 0x59, 0x5c, 0x00, 0x98, 0x30, 0x1e, 0x73, | ||
| 7479 | 0x00, 0x98, 0x32, 0x49, 0xf8, 0x00, 0x98, 0x33, | ||
| 7480 | 0x49, 0xf9, 0x00, 0x98, 0x34, 0x04, 0xf2, 0x00, | ||
| 7481 | 0x98, 0x35, 0x59, 0x5d, 0x00, 0x98, 0x37, 0x1c, | ||
| 7482 | 0x10, 0x00, 0x98, 0x38, 0x1c, 0x0d, 0x00, 0x98, | ||
| 7483 | 0x39, 0x37, 0xb3, 0x00, 0x98, 0x3b, 0x1e, 0x6c, | ||
| 7484 | 0x00, 0x98, 0x3c, 0x0f, 0x54, 0x00, 0x98, 0x3d, | ||
| 7485 | 0x1c, 0x11, 0x00, 0x98, 0x3e, 0x3b, 0xbb, 0x00, | ||
| 7486 | 0x98, 0x44, 0x59, 0x5e, 0x00, 0x98, 0x46, 0x1c, | ||
| 7487 | 0x12, 0x00, 0x98, 0x47, 0x49, 0xfb, 0x00, 0x98, | ||
| 7488 | 0x4a, 0x59, 0x5f, 0x00, 0x98, 0x4b, 0x1c, 0x14, | ||
| 7489 | 0x00, 0x98, 0x4c, 0x0b, 0x4a, 0x00, 0x98, 0x4d, | ||
| 7490 | 0x05, 0xb9, 0x00, 0x98, 0x4e, 0x05, 0xba, 0x00, | ||
| 7491 | 0x98, 0x4f, 0x1c, 0x13, 0x00, 0x98, 0x51, 0x59, | ||
| 7492 | 0x60, 0x00, 0x98, 0x52, 0x3b, 0xbc, 0x00, 0x98, | ||
| 7493 | 0x53, 0x3b, 0xbd, 0x00, 0x98, 0x54, 0x06, 0x25, | ||
| 7494 | 0x00, 0x98, 0x55, 0x07, 0x66, 0x00, 0x98, 0x56, | ||
| 7495 | 0x43, 0x2a, 0x00, 0x98, 0x57, 0x21, 0xf9, 0x00, | ||
| 7496 | 0x98, 0x58, 0x06, 0x26, 0x00, 0x98, 0x59, 0x3b, | ||
| 7497 | 0xbe, 0x00, 0x98, 0x5a, 0x1e, 0x48, 0x00, 0x98, | ||
| 7498 | 0x5b, 0x0c, 0x39, 0x00, 0x98, 0x5e, 0x34, 0x54, | ||
| 7499 | 0x00, 0x98, 0x62, 0x4e, 0x11, 0x00, 0x98, 0x63, | ||
| 7500 | 0x4e, 0x12, 0x00, 0x98, 0x65, 0x21, 0xfa, 0x00, | ||
| 7501 | 0x98, 0x66, 0x49, 0xfc, 0x00, 0x98, 0x67, 0x07, | ||
| 7502 | 0x90, 0x00, 0x98, 0x6a, 0x59, 0x61, 0x00, 0x98, | ||
| 7503 | 0x6b, 0x1c, 0x15, 0x00, 0x98, 0x6c, 0x3b, 0xbf, | ||
| 7504 | 0x00, 0x98, 0x6f, 0x1c, 0x16, 0x00, 0x98, 0x70, | ||
| 7505 | 0x1c, 0x17, 0x00, 0x98, 0x71, 0x1c, 0x18, 0x00, | ||
| 7506 | 0x98, 0x73, 0x1c, 0x1a, 0x00, 0x98, 0x74, 0x1c, | ||
| 7507 | 0x19, 0x00, 0x98, 0xa8, 0x0d, 0xe9, 0x00, 0x98, | ||
| 7508 | 0xaa, 0x1c, 0x1b, 0x00, 0x98, 0xab, 0x49, 0xfd, | ||
| 7509 | 0x00, 0x98, 0xad, 0x49, 0xfe, 0x00, 0x98, 0xae, | ||
| 7510 | 0x59, 0x62, 0x00, 0x98, 0xaf, 0x1c, 0x1c, 0x00, | ||
| 7511 | 0x98, 0xb0, 0x49, 0xff, 0x00, 0x98, 0xb1, 0x1c, | ||
| 7512 | 0x1d, 0x00, 0x98, 0xb4, 0x4e, 0x13, 0x00, 0x98, | ||
| 7513 | 0xb6, 0x1c, 0x1e, 0x00, 0x98, 0xb7, 0x4a, 0x01, | ||
| 7514 | 0x00, 0x98, 0xb8, 0x3b, 0xc0, 0x00, 0x98, 0xba, | ||
| 7515 | 0x3b, 0xc1, 0x00, 0x98, 0xbb, 0x4a, 0x02, 0x00, | ||
| 7516 | 0x98, 0xbc, 0x4a, 0x03, 0x00, 0x98, 0xbf, 0x3b, | ||
| 7517 | 0xc2, 0x00, 0x98, 0xc2, 0x4a, 0x04, 0x00, 0x98, | ||
| 7518 | 0xc3, 0x1c, 0x20, 0x00, 0x98, 0xc4, 0x1c, 0x1f, | ||
| 7519 | 0x00, 0x98, 0xc5, 0x4e, 0x14, 0x00, 0x98, 0xc6, | ||
| 7520 | 0x1c, 0x21, 0x00, 0x98, 0xc7, 0x4a, 0x05, 0x00, | ||
| 7521 | 0x98, 0xc8, 0x3b, 0xc3, 0x00, 0x98, 0xcb, 0x4a, | ||
| 7522 | 0x06, 0x00, 0x98, 0xcc, 0x59, 0x63, 0x00, 0x98, | ||
| 7523 | 0xdb, 0x0d, 0x88, 0x00, 0x98, 0xdc, 0x18, 0x39, | ||
| 7524 | 0x00, 0x98, 0xdf, 0x09, 0xef, 0x00, 0x98, 0xe0, | ||
| 7525 | 0x36, 0x18, 0x00, 0x98, 0xe1, 0x4a, 0x07, 0x00, | ||
| 7526 | 0x98, 0xe2, 0x06, 0x4c, 0x00, 0x98, 0xe3, 0x4a, | ||
| 7527 | 0x08, 0x00, 0x98, 0xe5, 0x3b, 0xc4, 0x00, 0x98, | ||
| 7528 | 0xe6, 0x59, 0x64, 0x00, 0x98, 0xe7, 0x43, 0x2b, | ||
| 7529 | 0x00, 0x98, 0xe9, 0x1c, 0x22, 0x00, 0x98, 0xea, | ||
| 7530 | 0x4a, 0x09, 0x00, 0x98, 0xeb, 0x1c, 0x23, 0x00, | ||
| 7531 | 0x98, 0xed, 0x10, 0xc1, 0x00, 0x98, 0xee, 0x14, | ||
| 7532 | 0xda, 0x00, 0x98, 0xef, 0x21, 0xfb, 0x00, 0x98, | ||
| 7533 | 0xf0, 0x4a, 0x0a, 0x00, 0x98, 0xf1, 0x4a, 0x0b, | ||
| 7534 | 0x00, 0x98, 0xf2, 0x04, 0xbf, 0x00, 0x98, 0xf3, | ||
| 7535 | 0x4a, 0x0c, 0x00, 0x98, 0xf4, 0x04, 0x7f, 0x00, | ||
| 7536 | 0x98, 0xf6, 0x59, 0x65, 0x00, 0x98, 0xfc, 0x08, | ||
| 7537 | 0xc2, 0x00, 0x98, 0xfd, 0x0e, 0x5e, 0x00, 0x98, | ||
| 7538 | 0xfe, 0x09, 0xe6, 0x00, 0x99, 0x02, 0x4e, 0x15, | ||
| 7539 | 0x00, 0x99, 0x03, 0x1c, 0x24, 0x00, 0x99, 0x05, | ||
| 7540 | 0x0e, 0xeb, 0x00, 0x99, 0x07, 0x59, 0x66, 0x00, | ||
| 7541 | 0x99, 0x08, 0x4a, 0x0d, 0x00, 0x99, 0x09, 0x1c, | ||
| 7542 | 0x25, 0x00, 0x99, 0x0a, 0x0f, 0x46, 0x00, 0x99, | ||
| 7543 | 0x0c, 0x04, 0xe4, 0x00, 0x99, 0x10, 0x08, 0x8f, | ||
| 7544 | 0x00, 0x99, 0x11, 0x4e, 0x16, 0x00, 0x99, 0x12, | ||
| 7545 | 0x1c, 0x26, 0x00, 0x99, 0x13, 0x05, 0x6e, 0x00, | ||
| 7546 | 0x99, 0x14, 0x1c, 0x27, 0x00, 0x99, 0x15, 0x4e, | ||
| 7547 | 0x17, 0x00, 0x99, 0x16, 0x4a, 0x10, 0x00, 0x99, | ||
| 7548 | 0x17, 0x4a, 0x11, 0x00, 0x99, 0x18, 0x1c, 0x28, | ||
| 7549 | 0x00, 0x99, 0x1a, 0x4a, 0x13, 0x00, 0x99, 0x1b, | ||
| 7550 | 0x4a, 0x14, 0x00, 0x99, 0x1c, 0x4a, 0x15, 0x00, | ||
| 7551 | 0x99, 0x1d, 0x1c, 0x2a, 0x00, 0x99, 0x1e, 0x1c, | ||
| 7552 | 0x2b, 0x00, 0x99, 0x1f, 0x59, 0x67, 0x00, 0x99, | ||
| 7553 | 0x20, 0x1c, 0x2d, 0x00, 0x99, 0x21, 0x1c, 0x29, | ||
| 7554 | 0x00, 0x99, 0x22, 0x59, 0x68, 0x00, 0x99, 0x24, | ||
| 7555 | 0x1c, 0x2c, 0x00, 0x99, 0x26, 0x59, 0x69, 0x00, | ||
| 7556 | 0x99, 0x27, 0x21, 0xfd, 0x00, 0x99, 0x28, 0x06, | ||
| 7557 | 0x17, 0x00, 0x99, 0x2b, 0x59, 0x6a, 0x00, 0x99, | ||
| 7558 | 0x2c, 0x1c, 0x2e, 0x00, 0x99, 0x2e, 0x1c, 0x2f, | ||
| 7559 | 0x00, 0x99, 0x31, 0x4a, 0x17, 0x00, 0x99, 0x32, | ||
| 7560 | 0x3b, 0xc5, 0x00, 0x99, 0x33, 0x3b, 0xc6, 0x00, | ||
| 7561 | 0x99, 0x34, 0x59, 0x6b, 0x00, 0x99, 0x35, 0x4e, | ||
| 7562 | 0x18, 0x00, 0x99, 0x39, 0x59, 0x6c, 0x00, 0x99, | ||
| 7563 | 0x3a, 0x4a, 0x18, 0x00, 0x99, 0x3b, 0x4a, 0x19, | ||
| 7564 | 0x00, 0x99, 0x3c, 0x4a, 0x1a, 0x00, 0x99, 0x3d, | ||
| 7565 | 0x1c, 0x30, 0x00, 0x99, 0x3e, 0x1c, 0x31, 0x00, | ||
| 7566 | 0x99, 0x40, 0x3b, 0xc7, 0x00, 0x99, 0x41, 0x4a, | ||
| 7567 | 0x1b, 0x00, 0x99, 0x42, 0x1c, 0x32, 0x00, 0x99, | ||
| 7568 | 0x45, 0x1c, 0x34, 0x00, 0x99, 0x46, 0x4a, 0x1c, | ||
| 7569 | 0x00, 0x99, 0x47, 0x59, 0x6d, 0x00, 0x99, 0x48, | ||
| 7570 | 0x4e, 0x19, 0x00, 0x99, 0x49, 0x1c, 0x33, 0x00, | ||
| 7571 | 0x99, 0x4b, 0x1c, 0x36, 0x00, 0x99, 0x4c, 0x1c, | ||
| 7572 | 0x39, 0x00, 0x99, 0x4d, 0x3b, 0xc8, 0x00, 0x99, | ||
| 7573 | 0x4e, 0x4a, 0x1d, 0x00, 0x99, 0x50, 0x1c, 0x35, | ||
| 7574 | 0x00, 0x99, 0x51, 0x1c, 0x37, 0x00, 0x99, 0x52, | ||
| 7575 | 0x1c, 0x38, 0x00, 0x99, 0x54, 0x4e, 0x1a, 0x00, | ||
| 7576 | 0x99, 0x55, 0x1c, 0x3a, 0x00, 0x99, 0x57, 0x06, | ||
| 7577 | 0xba, 0x00, 0x99, 0x58, 0x43, 0x2c, 0x00, 0x99, | ||
| 7578 | 0x59, 0x59, 0x6e, 0x00, 0x99, 0x5b, 0x59, 0x6f, | ||
| 7579 | 0x00, 0x99, 0x5c, 0x3b, 0xc9, 0x00, 0x99, 0x5e, | ||
| 7580 | 0x4e, 0x1b, 0x00, 0x99, 0x5f, 0x3b, 0xca, 0x00, | ||
| 7581 | 0x99, 0x60, 0x4a, 0x1e, 0x00, 0x99, 0x96, 0x09, | ||
| 7582 | 0x1f, 0x00, 0x99, 0x97, 0x1c, 0x3b, 0x00, 0x99, | ||
| 7583 | 0x98, 0x1c, 0x3c, 0x00, 0x99, 0x99, 0x07, 0xf3, | ||
| 7584 | 0x00, 0x99, 0x9b, 0x59, 0x70, 0x00, 0x99, 0x9d, | ||
| 7585 | 0x59, 0x71, 0x00, 0x99, 0x9e, 0x21, 0xff, 0x00, | ||
| 7586 | 0x99, 0x9f, 0x59, 0x72, 0x00, 0x99, 0xa3, 0x4a, | ||
| 7587 | 0x1f, 0x00, 0x99, 0xa5, 0x1c, 0x3d, 0x00, 0x99, | ||
| 7588 | 0xa6, 0x4a, 0x20, 0x00, 0x99, 0xa8, 0x05, 0x9c, | ||
| 7589 | 0x00, 0x99, 0xac, 0x0d, 0x05, 0x00, 0x99, 0xad, | ||
| 7590 | 0x1c, 0x3e, 0x00, 0x99, 0xae, 0x1c, 0x3f, 0x00, | ||
| 7591 | 0x99, 0xb0, 0x59, 0x73, 0x00, 0x99, 0xb1, 0x3b, | ||
| 7592 | 0xcb, 0x00, 0x99, 0xb2, 0x59, 0x74, 0x00, 0x99, | ||
| 7593 | 0xb3, 0x0b, 0x98, 0x00, 0x99, 0xb4, 0x0c, 0xc3, | ||
| 7594 | 0x00, 0x99, 0xb5, 0x59, 0x75, 0x00, 0x99, 0xb9, | ||
| 7595 | 0x3b, 0xcc, 0x00, 0x99, 0xba, 0x3b, 0xcd, 0x00, | ||
| 7596 | 0x99, 0xbc, 0x1c, 0x40, 0x00, 0x99, 0xbd, 0x4a, | ||
| 7597 | 0x21, 0x00, 0x99, 0xbf, 0x4a, 0x22, 0x00, 0x99, | ||
| 7598 | 0xc1, 0x0d, 0x33, 0x00, 0x99, 0xc3, 0x4a, 0x23, | ||
| 7599 | 0x00, 0x99, 0xc4, 0x0b, 0x2c, 0x00, 0x99, 0xc5, | ||
| 7600 | 0x04, 0xfa, 0x00, 0x99, 0xc6, 0x06, 0xe6, 0x00, | ||
| 7601 | 0x99, 0xc8, 0x06, 0xe7, 0x00, 0x99, 0xc9, 0x3b, | ||
| 7602 | 0xce, 0x00, 0x99, 0xd0, 0x0b, 0xb1, 0x00, 0x99, | ||
| 7603 | 0xd1, 0x1c, 0x45, 0x00, 0x99, 0xd2, 0x06, 0xe8, | ||
| 7604 | 0x00, 0x99, 0xd3, 0x59, 0x76, 0x00, 0x99, 0xd4, | ||
| 7605 | 0x4a, 0x24, 0x00, 0x99, 0xd5, 0x05, 0x6f, 0x00, | ||
| 7606 | 0x99, 0xd8, 0x1c, 0x44, 0x00, 0x99, 0xd9, 0x4a, | ||
| 7607 | 0x25, 0x00, 0x99, 0xda, 0x59, 0x77, 0x00, 0x99, | ||
| 7608 | 0xdb, 0x1c, 0x42, 0x00, 0x99, 0xdc, 0x59, 0x78, | ||
| 7609 | 0x00, 0x99, 0xdd, 0x1c, 0x43, 0x00, 0x99, 0xde, | ||
| 7610 | 0x4a, 0x26, 0x00, 0x99, 0xdf, 0x1c, 0x41, 0x00, | ||
| 7611 | 0x99, 0xe1, 0x4e, 0x1c, 0x00, 0x99, 0xe2, 0x1c, | ||
| 7612 | 0x4f, 0x00, 0x99, 0xe7, 0x59, 0x79, 0x00, 0x99, | ||
| 7613 | 0xea, 0x59, 0x7a, 0x00, 0x99, 0xeb, 0x59, 0x7b, | ||
| 7614 | 0x00, 0x99, 0xec, 0x59, 0x7c, 0x00, 0x99, 0xed, | ||
| 7615 | 0x1c, 0x46, 0x00, 0x99, 0xee, 0x1c, 0x47, 0x00, | ||
| 7616 | 0x99, 0xf0, 0x4a, 0x28, 0x00, 0x99, 0xf1, 0x1c, | ||
| 7617 | 0x48, 0x00, 0x99, 0xf2, 0x1c, 0x49, 0x00, 0x99, | ||
| 7618 | 0xf4, 0x59, 0x7d, 0x00, 0x99, 0xf5, 0x59, 0x7e, | ||
| 7619 | 0x00, 0x99, 0xf8, 0x1c, 0x4b, 0x00, 0x99, 0xf9, | ||
| 7620 | 0x4a, 0x29, 0x00, 0x99, 0xfb, 0x1c, 0x4a, 0x00, | ||
| 7621 | 0x99, 0xfc, 0x4a, 0x2a, 0x00, 0x99, 0xfd, 0x59, | ||
| 7622 | 0x7f, 0x00, 0x99, 0xfe, 0x59, 0x80, 0x00, 0x99, | ||
| 7623 | 0xff, 0x09, 0x63, 0x00, 0x9a, 0x01, 0x1c, 0x4c, | ||
| 7624 | 0x00, 0x9a, 0x02, 0x3b, 0xcf, 0x00, 0x9a, 0x03, | ||
| 7625 | 0x43, 0x2d, 0x00, 0x9a, 0x04, 0x59, 0x81, 0x00, | ||
| 7626 | 0x9a, 0x05, 0x1c, 0x4e, 0x00, 0x9a, 0x08, 0x37, | ||
| 7627 | 0xba, 0x00, 0x9a, 0x0a, 0x4a, 0x2b, 0x00, 0x9a, | ||
| 7628 | 0x0b, 0x59, 0x82, 0x00, 0x9a, 0x0c, 0x4e, 0x1d, | ||
| 7629 | 0x00, 0x9a, 0x0e, 0x06, 0x4d, 0x00, 0x9a, 0x0f, | ||
| 7630 | 0x1c, 0x4d, 0x00, 0x9a, 0x10, 0x4e, 0x1e, 0x00, | ||
| 7631 | 0x9a, 0x11, 0x4a, 0x2c, 0x00, 0x9a, 0x12, 0x0a, | ||
| 7632 | 0xfd, 0x00, 0x9a, 0x13, 0x07, 0x67, 0x00, 0x9a, | ||
| 7633 | 0x16, 0x3b, 0xd0, 0x00, 0x9a, 0x19, 0x1c, 0x50, | ||
| 7634 | 0x00, 0x9a, 0x1a, 0x4a, 0x2d, 0x00, 0x9a, 0x1e, | ||
| 7635 | 0x59, 0x83, 0x00, 0x9a, 0x20, 0x4a, 0x2e, 0x00, | ||
| 7636 | 0x9a, 0x22, 0x59, 0x84, 0x00, 0x9a, 0x23, 0x4e, | ||
| 7637 | 0x1f, 0x00, 0x9a, 0x24, 0x3b, 0xd1, 0x00, 0x9a, | ||
| 7638 | 0x27, 0x3b, 0xd2, 0x00, 0x9a, 0x28, 0x0b, 0x2d, | ||
| 7639 | 0x00, 0x9a, 0x2b, 0x1c, 0x51, 0x00, 0x9a, 0x2d, | ||
| 7640 | 0x3b, 0xd3, 0x00, 0x9a, 0x2e, 0x3b, 0xd4, 0x00, | ||
| 7641 | 0x9a, 0x30, 0x0c, 0x85, 0x00, 0x9a, 0x31, 0x4a, | ||
| 7642 | 0x2f, 0x00, 0x9a, 0x33, 0x59, 0x85, 0x00, 0x9a, | ||
| 7643 | 0x35, 0x59, 0x86, 0x00, 0x9a, 0x36, 0x3b, 0xd5, | ||
| 7644 | 0x00, 0x9a, 0x37, 0x1c, 0x52, 0x00, 0x9a, 0x38, | ||
| 7645 | 0x3b, 0xd6, 0x00, 0x9a, 0x3e, 0x1c, 0x57, 0x00, | ||
| 7646 | 0x9a, 0x40, 0x1c, 0x55, 0x00, 0x9a, 0x41, 0x4e, | ||
| 7647 | 0x20, 0x00, 0x9a, 0x42, 0x1c, 0x54, 0x00, 0x9a, | ||
| 7648 | 0x43, 0x1c, 0x56, 0x00, 0x9a, 0x44, 0x4a, 0x30, | ||
| 7649 | 0x00, 0x9a, 0x45, 0x1c, 0x53, 0x00, 0x9a, 0x47, | ||
| 7650 | 0x59, 0x87, 0x00, 0x9a, 0x4a, 0x3b, 0xd7, 0x00, | ||
| 7651 | 0x9a, 0x4b, 0x59, 0x89, 0x00, 0x9a, 0x4c, 0x4a, | ||
| 7652 | 0x31, 0x00, 0x9a, 0x4d, 0x1c, 0x59, 0x00, 0x9a, | ||
| 7653 | 0x4e, 0x22, 0x00, 0x00, 0x9a, 0x51, 0x4e, 0x21, | ||
| 7654 | 0x00, 0x9a, 0x52, 0x1e, 0x2f, 0x00, 0x9a, 0x54, | ||
| 7655 | 0x59, 0x8a, 0x00, 0x9a, 0x55, 0x1c, 0x58, 0x00, | ||
| 7656 | 0x9a, 0x56, 0x3b, 0xd8, 0x00, 0x9a, 0x57, 0x1c, | ||
| 7657 | 0x5b, 0x00, 0x9a, 0x58, 0x4a, 0x32, 0x00, 0x9a, | ||
| 7658 | 0x5a, 0x06, 0xbb, 0x00, 0x9a, 0x5b, 0x1c, 0x5a, | ||
| 7659 | 0x00, 0x9a, 0x5d, 0x59, 0x8b, 0x00, 0x9a, 0x5f, | ||
| 7660 | 0x1c, 0x5c, 0x00, 0x9a, 0x62, 0x1c, 0x5d, 0x00, | ||
| 7661 | 0x9a, 0x64, 0x1c, 0x5f, 0x00, 0x9a, 0x65, 0x1c, | ||
| 7662 | 0x5e, 0x00, 0x9a, 0x69, 0x1c, 0x60, 0x00, 0x9a, | ||
| 7663 | 0x6a, 0x1c, 0x62, 0x00, 0x9a, 0x6b, 0x1c, 0x61, | ||
| 7664 | 0x00, 0x9a, 0xa8, 0x08, 0x0e, 0x00, 0x9a, 0xaa, | ||
| 7665 | 0x59, 0x8c, 0x00, 0x9a, 0xac, 0x59, 0x8d, 0x00, | ||
| 7666 | 0x9a, 0xad, 0x1c, 0x63, 0x00, 0x9a, 0xae, 0x59, | ||
| 7667 | 0x8e, 0x00, 0x9a, 0xaf, 0x4a, 0x34, 0x00, 0x9a, | ||
| 7668 | 0xb0, 0x1c, 0x64, 0x00, 0x9a, 0xb2, 0x59, 0x8f, | ||
| 7669 | 0x00, 0x9a, 0xb4, 0x59, 0x90, 0x00, 0x9a, 0xb5, | ||
| 7670 | 0x3b, 0xd9, 0x00, 0x9a, 0xb6, 0x3b, 0xda, 0x00, | ||
| 7671 | 0x9a, 0xb7, 0x4a, 0x36, 0x00, 0x9a, 0xb8, 0x05, | ||
| 7672 | 0x9a, 0x00, 0x9a, 0xb9, 0x4a, 0x38, 0x00, 0x9a, | ||
| 7673 | 0xbb, 0x59, 0x91, 0x00, 0x9a, 0xbc, 0x1c, 0x65, | ||
| 7674 | 0x00, 0x9a, 0xbd, 0x4e, 0x22, 0x00, 0x9a, 0xbe, | ||
| 7675 | 0x4e, 0x23, 0x00, 0x9a, 0xbf, 0x59, 0x92, 0x00, | ||
| 7676 | 0x9a, 0xc0, 0x1c, 0x66, 0x00, 0x9a, 0xc1, 0x43, | ||
| 7677 | 0x2e, 0x00, 0x9a, 0xc3, 0x43, 0x2f, 0x00, 0x9a, | ||
| 7678 | 0xc4, 0x0a, 0x37, 0x00, 0x9a, 0xc6, 0x4a, 0x3a, | ||
| 7679 | 0x00, 0x9a, 0xc8, 0x59, 0x93, 0x00, 0x9a, 0xce, | ||
| 7680 | 0x43, 0x30, 0x00, 0x9a, 0xcf, 0x1c, 0x67, 0x00, | ||
| 7681 | 0x9a, 0xd0, 0x4a, 0x3b, 0x00, 0x9a, 0xd1, 0x1c, | ||
| 7682 | 0x68, 0x00, 0x9a, 0xd2, 0x4a, 0x3c, 0x00, 0x9a, | ||
| 7683 | 0xd3, 0x1c, 0x69, 0x00, 0x9a, 0xd4, 0x1c, 0x6a, | ||
| 7684 | 0x00, 0x9a, 0xd5, 0x4a, 0x3d, 0x00, 0x9a, 0xd6, | ||
| 7685 | 0x43, 0x31, 0x00, 0x9a, 0xd7, 0x59, 0x94, 0x00, | ||
| 7686 | 0x9a, 0xd8, 0x07, 0xf4, 0x00, 0x9a, 0xd9, 0x22, | ||
| 7687 | 0x01, 0x00, 0x9a, 0xdb, 0x59, 0x95, 0x00, 0x9a, | ||
| 7688 | 0xdc, 0x22, 0x02, 0x00, 0x9a, 0xde, 0x1c, 0x6b, | ||
| 7689 | 0x00, 0x9a, 0xdf, 0x1c, 0x6c, 0x00, 0x9a, 0xe0, | ||
| 7690 | 0x4a, 0x3e, 0x00, 0x9a, 0xe2, 0x1c, 0x6d, 0x00, | ||
| 7691 | 0x9a, 0xe3, 0x1c, 0x6e, 0x00, 0x9a, 0xe4, 0x59, | ||
| 7692 | 0x96, 0x00, 0x9a, 0xe5, 0x4a, 0x3f, 0x00, 0x9a, | ||
| 7693 | 0xe6, 0x1c, 0x6f, 0x00, 0x9a, 0xe7, 0x59, 0x97, | ||
| 7694 | 0x00, 0x9a, 0xe9, 0x4a, 0x40, 0x00, 0x9a, 0xea, | ||
| 7695 | 0x0d, 0x45, 0x00, 0x9a, 0xeb, 0x1c, 0x71, 0x00, | ||
| 7696 | 0x9a, 0xec, 0x59, 0x98, 0x00, 0x9a, 0xed, 0x0d, | ||
| 7697 | 0x98, 0x00, 0x9a, 0xee, 0x1c, 0x72, 0x00, 0x9a, | ||
| 7698 | 0xef, 0x1c, 0x70, 0x00, 0x9a, 0xf1, 0x1c, 0x74, | ||
| 7699 | 0x00, 0x9a, 0xf2, 0x59, 0x99, 0x00, 0x9a, 0xf3, | ||
| 7700 | 0x59, 0x9a, 0x00, 0x9a, 0xf4, 0x1c, 0x73, 0x00, | ||
| 7701 | 0x9a, 0xf5, 0x59, 0x9b, 0x00, 0x9a, 0xf7, 0x1c, | ||
| 7702 | 0x75, 0x00, 0x9a, 0xf9, 0x3b, 0xdb, 0x00, 0x9a, | ||
| 7703 | 0xfa, 0x59, 0x9c, 0x00, 0x9a, 0xfb, 0x1c, 0x76, | ||
| 7704 | 0x00, 0x9a, 0xfd, 0x59, 0x9d, 0x00, 0x9a, 0xff, | ||
| 7705 | 0x59, 0x9e, 0x00, 0x9b, 0x00, 0x59, 0x9f, 0x00, | ||
| 7706 | 0x9b, 0x01, 0x4e, 0x24, 0x00, 0x9b, 0x02, 0x43, | ||
| 7707 | 0x32, 0x00, 0x9b, 0x03, 0x3b, 0xdc, 0x00, 0x9b, | ||
| 7708 | 0x04, 0x59, 0xa0, 0x00, 0x9b, 0x05, 0x59, 0xa1, | ||
| 7709 | 0x00, 0x9b, 0x06, 0x1c, 0x77, 0x00, 0x9b, 0x08, | ||
| 7710 | 0x43, 0x33, 0x00, 0x9b, 0x09, 0x4e, 0x25, 0x00, | ||
| 7711 | 0x9b, 0x0b, 0x4e, 0x26, 0x00, 0x9b, 0x0c, 0x4a, | ||
| 7712 | 0x41, 0x00, 0x9b, 0x0d, 0x4e, 0x27, 0x00, 0x9b, | ||
| 7713 | 0x0e, 0x4e, 0x28, 0x00, 0x9b, 0x10, 0x4a, 0x42, | ||
| 7714 | 0x00, 0x9b, 0x12, 0x4a, 0x43, 0x00, 0x9b, 0x16, | ||
| 7715 | 0x4a, 0x44, 0x00, 0x9b, 0x18, 0x1c, 0x78, 0x00, | ||
| 7716 | 0x9b, 0x19, 0x4e, 0x29, 0x00, 0x9b, 0x1a, 0x1c, | ||
| 7717 | 0x79, 0x00, 0x9b, 0x1b, 0x59, 0xa2, 0x00, 0x9b, | ||
| 7718 | 0x1c, 0x4a, 0x45, 0x00, 0x9b, 0x1d, 0x4f, 0x49, | ||
| 7719 | 0x00, 0x9b, 0x1f, 0x1c, 0x7a, 0x00, 0x9b, 0x20, | ||
| 7720 | 0x3b, 0xdd, 0x00, 0x9b, 0x22, 0x1c, 0x7b, 0x00, | ||
| 7721 | 0x9b, 0x23, 0x1c, 0x7c, 0x00, 0x9b, 0x25, 0x1c, | ||
| 7722 | 0x7d, 0x00, 0x9b, 0x26, 0x59, 0xa3, 0x00, 0x9b, | ||
| 7723 | 0x27, 0x1c, 0x7e, 0x00, 0x9b, 0x28, 0x1c, 0x7f, | ||
| 7724 | 0x00, 0x9b, 0x29, 0x1c, 0x80, 0x00, 0x9b, 0x2a, | ||
| 7725 | 0x1c, 0x81, 0x00, 0x9b, 0x2b, 0x4a, 0x46, 0x00, | ||
| 7726 | 0x9b, 0x2c, 0x4f, 0x4a, 0x00, 0x9b, 0x2d, 0x43, | ||
| 7727 | 0x35, 0x00, 0x9b, 0x2e, 0x1c, 0x82, 0x00, 0x9b, | ||
| 7728 | 0x2f, 0x1c, 0x83, 0x00, 0x9b, 0x31, 0x14, 0xd4, | ||
| 7729 | 0x00, 0x9b, 0x32, 0x1c, 0x84, 0x00, 0x9b, 0x33, | ||
| 7730 | 0x3b, 0xde, 0x00, 0x9b, 0x34, 0x3b, 0xdf, 0x00, | ||
| 7731 | 0x9b, 0x35, 0x4e, 0x2a, 0x00, 0x9b, 0x37, 0x59, | ||
| 7732 | 0xa5, 0x00, 0x9b, 0x39, 0x59, 0xa6, 0x00, 0x9b, | ||
| 7733 | 0x3a, 0x59, 0xa7, 0x00, 0x9b, 0x3b, 0x17, 0xa9, | ||
| 7734 | 0x00, 0x9b, 0x3c, 0x06, 0x4e, 0x00, 0x9b, 0x3d, | ||
| 7735 | 0x4a, 0x47, 0x00, 0x9b, 0x41, 0x05, 0x7f, 0x00, | ||
| 7736 | 0x9b, 0x42, 0x08, 0x22, 0x00, 0x9b, 0x43, 0x1c, | ||
| 7737 | 0x86, 0x00, 0x9b, 0x44, 0x1c, 0x85, 0x00, 0x9b, | ||
| 7738 | 0x45, 0x0e, 0xb1, 0x00, 0x9b, 0x48, 0x4e, 0x2b, | ||
| 7739 | 0x00, 0x9b, 0x4b, 0x4a, 0x49, 0x00, 0x9b, 0x4c, | ||
| 7740 | 0x59, 0xa8, 0x00, 0x9b, 0x4d, 0x1c, 0x88, 0x00, | ||
| 7741 | 0x9b, 0x4e, 0x1c, 0x89, 0x00, 0x9b, 0x4f, 0x1c, | ||
| 7742 | 0x87, 0x00, 0x9b, 0x51, 0x1c, 0x8a, 0x00, 0x9b, | ||
| 7743 | 0x54, 0x0e, 0x90, 0x00, 0x9b, 0x55, 0x4e, 0x2c, | ||
| 7744 | 0x00, 0x9b, 0x56, 0x59, 0xa9, 0x00, 0x9b, 0x57, | ||
| 7745 | 0x59, 0xaa, 0x00, 0x9b, 0x58, 0x1c, 0x8b, 0x00, | ||
| 7746 | 0x9b, 0x5a, 0x06, 0x95, 0x00, 0x9b, 0x5b, 0x59, | ||
| 7747 | 0xab, 0x00, 0x9b, 0x5e, 0x43, 0x36, 0x00, 0x9b, | ||
| 7748 | 0x61, 0x59, 0xac, 0x00, 0x9b, 0x63, 0x4a, 0x4a, | ||
| 7749 | 0x00, 0x9b, 0x65, 0x4a, 0x4b, 0x00, 0x9b, 0x66, | ||
| 7750 | 0x43, 0x37, 0x00, 0x9b, 0x68, 0x4e, 0x2d, 0x00, | ||
| 7751 | 0x9b, 0x6a, 0x59, 0xad, 0x00, 0x9b, 0x6b, 0x4a, | ||
| 7752 | 0x4c, 0x00, 0x9b, 0x6c, 0x4a, 0x4d, 0x00, 0x9b, | ||
| 7753 | 0x6d, 0x59, 0xae, 0x00, 0x9b, 0x6e, 0x59, 0xaf, | ||
| 7754 | 0x00, 0x9b, 0x6f, 0x0f, 0xcb, 0x00, 0x9b, 0x72, | ||
| 7755 | 0x22, 0x04, 0x00, 0x9b, 0x73, 0x3b, 0xe0, 0x00, | ||
| 7756 | 0x9b, 0x74, 0x1c, 0x8c, 0x00, 0x9b, 0x75, 0x22, | ||
| 7757 | 0x03, 0x00, 0x9b, 0x76, 0x4a, 0x4e, 0x00, 0x9b, | ||
| 7758 | 0x77, 0x4a, 0x4f, 0x00, 0x9b, 0x78, 0x59, 0xb0, | ||
| 7759 | 0x00, 0x9b, 0x79, 0x3b, 0xe1, 0x00, 0x9b, 0x7f, | ||
| 7760 | 0x59, 0xb1, 0x00, 0x9b, 0x80, 0x4e, 0x2e, 0x00, | ||
| 7761 | 0x9b, 0x83, 0x1c, 0x8e, 0x00, 0x9b, 0x84, 0x43, | ||
| 7762 | 0x38, 0x00, 0x9b, 0x85, 0x59, 0xb2, 0x00, 0x9b, | ||
| 7763 | 0x86, 0x4e, 0x2f, 0x00, 0x9b, 0x87, 0x59, 0xb3, | ||
| 7764 | 0x00, 0x9b, 0x89, 0x59, 0xb4, 0x00, 0x9b, 0x8a, | ||
| 7765 | 0x43, 0x39, 0x00, 0x9b, 0x8b, 0x59, 0xb5, 0x00, | ||
| 7766 | 0x9b, 0x8d, 0x59, 0xb6, 0x00, 0x9b, 0x8e, 0x04, | ||
| 7767 | 0x82, 0x00, 0x9b, 0x8f, 0x22, 0x05, 0x00, 0x9b, | ||
| 7768 | 0x90, 0x4e, 0x30, 0x00, 0x9b, 0x91, 0x1c, 0x8f, | ||
| 7769 | 0x00, 0x9b, 0x92, 0x0d, 0xfb, 0x00, 0x9b, 0x93, | ||
| 7770 | 0x1c, 0x8d, 0x00, 0x9b, 0x94, 0x59, 0xb7, 0x00, | ||
| 7771 | 0x9b, 0x96, 0x1c, 0x90, 0x00, 0x9b, 0x97, 0x1c, | ||
| 7772 | 0x91, 0x00, 0x9b, 0x9a, 0x59, 0xb8, 0x00, 0x9b, | ||
| 7773 | 0x9d, 0x4e, 0x31, 0x00, 0x9b, 0x9e, 0x43, 0x3a, | ||
| 7774 | 0x00, 0x9b, 0x9f, 0x1c, 0x92, 0x00, 0x9b, 0xa0, | ||
| 7775 | 0x1c, 0x93, 0x00, 0x9b, 0xa6, 0x4a, 0x50, 0x00, | ||
| 7776 | 0x9b, 0xa7, 0x3b, 0xe2, 0x00, 0x9b, 0xa8, 0x1c, | ||
| 7777 | 0x94, 0x00, 0x9b, 0xa9, 0x59, 0xb9, 0x00, 0x9b, | ||
| 7778 | 0xaa, 0x0e, 0x9c, 0x00, 0x9b, 0xab, 0x08, 0x7b, | ||
| 7779 | 0x00, 0x9b, 0xac, 0x4a, 0x51, 0x00, 0x9b, 0xad, | ||
| 7780 | 0x08, 0x6a, 0x00, 0x9b, 0xae, 0x0a, 0xb1, 0x00, | ||
| 7781 | 0x9b, 0xb0, 0x4e, 0x32, 0x00, 0x9b, 0xb1, 0x22, | ||
| 7782 | 0x06, 0x00, 0x9b, 0xb2, 0x4a, 0x53, 0x00, 0x9b, | ||
| 7783 | 0xb4, 0x1c, 0x95, 0x00, 0x9b, 0xb7, 0x59, 0xba, | ||
| 7784 | 0x00, 0x9b, 0xb8, 0x4a, 0x54, 0x00, 0x9b, 0xb9, | ||
| 7785 | 0x1c, 0x98, 0x00, 0x9b, 0xbb, 0x22, 0x07, 0x00, | ||
| 7786 | 0x9b, 0xbc, 0x59, 0xbb, 0x00, 0x9b, 0xbe, 0x4a, | ||
| 7787 | 0x55, 0x00, 0x9b, 0xbf, 0x4e, 0x33, 0x00, 0x9b, | ||
| 7788 | 0xc0, 0x1c, 0x96, 0x00, 0x9b, 0xc1, 0x3b, 0xe3, | ||
| 7789 | 0x00, 0x9b, 0xc6, 0x1c, 0x99, 0x00, 0x9b, 0xc7, | ||
| 7790 | 0x3b, 0xe4, 0x00, 0x9b, 0xc8, 0x4e, 0x34, 0x00, | ||
| 7791 | 0x9b, 0xc9, 0x07, 0xa5, 0x00, 0x9b, 0xca, 0x1c, | ||
| 7792 | 0x97, 0x00, 0x9b, 0xce, 0x43, 0x3b, 0x00, 0x9b, | ||
| 7793 | 0xcf, 0x1c, 0x9a, 0x00, 0x9b, 0xd0, 0x59, 0xbc, | ||
| 7794 | 0x00, 0x9b, 0xd1, 0x1c, 0x9b, 0x00, 0x9b, 0xd2, | ||
| 7795 | 0x1c, 0x9c, 0x00, 0x9b, 0xd4, 0x1c, 0xa0, 0x00, | ||
| 7796 | 0x9b, 0xd6, 0x08, 0x78, 0x00, 0x9b, 0xd7, 0x3b, | ||
| 7797 | 0xe5, 0x00, 0x9b, 0xd8, 0x4a, 0x57, 0x00, 0x9b, | ||
| 7798 | 0xdb, 0x0b, 0x44, 0x00, 0x9b, 0xdd, 0x4a, 0x58, | ||
| 7799 | 0x00, 0x9b, 0xdf, 0x37, 0xbf, 0x00, 0x9b, 0xe1, | ||
| 7800 | 0x1c, 0xa1, 0x00, 0x9b, 0xe2, 0x1c, 0x9e, 0x00, | ||
| 7801 | 0x9b, 0xe3, 0x1c, 0x9d, 0x00, 0x9b, 0xe4, 0x1c, | ||
| 7802 | 0x9f, 0x00, 0x9b, 0xe5, 0x43, 0x3c, 0x00, 0x9b, | ||
| 7803 | 0xe7, 0x3b, 0xe6, 0x00, 0x9b, 0xe8, 0x07, 0x35, | ||
| 7804 | 0x00, 0x9b, 0xea, 0x4a, 0x59, 0x00, 0x9b, 0xeb, | ||
| 7805 | 0x3b, 0xe7, 0x00, 0x9b, 0xee, 0x4a, 0x5b, 0x00, | ||
| 7806 | 0x9b, 0xef, 0x4a, 0x5a, 0x00, 0x9b, 0xf0, 0x1c, | ||
| 7807 | 0xa5, 0x00, 0x9b, 0xf1, 0x1c, 0xa4, 0x00, 0x9b, | ||
| 7808 | 0xf2, 0x1c, 0xa3, 0x00, 0x9b, 0xf3, 0x4a, 0x56, | ||
| 7809 | 0x00, 0x9b, 0xf5, 0x04, 0x77, 0x00, 0x9b, 0xf7, | ||
| 7810 | 0x3b, 0xe8, 0x00, 0x9b, 0xf8, 0x43, 0x3d, 0x00, | ||
| 7811 | 0x9b, 0xf9, 0x59, 0xbd, 0x00, 0x9b, 0xfa, 0x3b, | ||
| 7812 | 0xe9, 0x00, 0x9b, 0xfd, 0x3b, 0xea, 0x00, 0x9b, | ||
| 7813 | 0xff, 0x4e, 0x35, 0x00, 0x9c, 0x00, 0x22, 0x08, | ||
| 7814 | 0x00, 0x9c, 0x02, 0x4e, 0x36, 0x00, 0x9c, 0x04, | ||
| 7815 | 0x1c, 0xaf, 0x00, 0x9c, 0x06, 0x1c, 0xab, 0x00, | ||
| 7816 | 0x9c, 0x08, 0x1c, 0xac, 0x00, 0x9c, 0x09, 0x1c, | ||
| 7817 | 0xa8, 0x00, 0x9c, 0x0a, 0x1c, 0xae, 0x00, 0x9c, | ||
| 7818 | 0x0b, 0x3b, 0xeb, 0x00, 0x9c, 0x0c, 0x1c, 0xaa, | ||
| 7819 | 0x00, 0x9c, 0x0d, 0x05, 0xc0, 0x00, 0x9c, 0x0f, | ||
| 7820 | 0x59, 0xbe, 0x00, 0x9c, 0x10, 0x0f, 0xf2, 0x00, | ||
| 7821 | 0x9c, 0x11, 0x59, 0xbf, 0x00, 0x9c, 0x12, 0x1c, | ||
| 7822 | 0xad, 0x00, 0x9c, 0x13, 0x1c, 0xa9, 0x00, 0x9c, | ||
| 7823 | 0x14, 0x1c, 0xa7, 0x00, 0x9c, 0x15, 0x1c, 0xa6, | ||
| 7824 | 0x00, 0x9c, 0x16, 0x4a, 0x5f, 0x00, 0x9c, 0x18, | ||
| 7825 | 0x4a, 0x60, 0x00, 0x9c, 0x19, 0x4a, 0x61, 0x00, | ||
| 7826 | 0x9c, 0x1a, 0x4a, 0x62, 0x00, 0x9c, 0x1b, 0x1c, | ||
| 7827 | 0xb1, 0x00, 0x9c, 0x1c, 0x4e, 0x37, 0x00, 0x9c, | ||
| 7828 | 0x1d, 0x4a, 0x63, 0x00, 0x9c, 0x1e, 0x59, 0xc0, | ||
| 7829 | 0x00, 0x9c, 0x21, 0x1c, 0xb4, 0x00, 0x9c, 0x22, | ||
| 7830 | 0x4a, 0x64, 0x00, 0x9c, 0x23, 0x43, 0x3e, 0x00, | ||
| 7831 | 0x9c, 0x24, 0x1c, 0xb3, 0x00, 0x9c, 0x25, 0x1c, | ||
| 7832 | 0xb2, 0x00, 0x9c, 0x26, 0x59, 0xc1, 0x00, 0x9c, | ||
| 7833 | 0x27, 0x3b, 0xec, 0x00, 0x9c, 0x28, 0x59, 0xc2, | ||
| 7834 | 0x00, 0x9c, 0x29, 0x4a, 0x65, 0x00, 0x9c, 0x2a, | ||
| 7835 | 0x3b, 0xed, 0x00, 0x9c, 0x2d, 0x0d, 0xbb, 0x00, | ||
| 7836 | 0x9c, 0x2e, 0x1c, 0xb0, 0x00, 0x9c, 0x2f, 0x04, | ||
| 7837 | 0xb7, 0x00, 0x9c, 0x30, 0x1c, 0xb5, 0x00, 0x9c, | ||
| 7838 | 0x31, 0x4a, 0x67, 0x00, 0x9c, 0x32, 0x1c, 0xb7, | ||
| 7839 | 0x00, 0x9c, 0x35, 0x4e, 0x38, 0x00, 0x9c, 0x36, | ||
| 7840 | 0x3b, 0xee, 0x00, 0x9c, 0x37, 0x4a, 0x68, 0x00, | ||
| 7841 | 0x9c, 0x39, 0x05, 0xcd, 0x00, 0x9c, 0x3a, 0x1c, | ||
| 7842 | 0xa2, 0x00, 0x9c, 0x3b, 0x04, 0xd9, 0x00, 0x9c, | ||
| 7843 | 0x3d, 0x59, 0xc3, 0x00, 0x9c, 0x3e, 0x1c, 0xb9, | ||
| 7844 | 0x00, 0x9c, 0x41, 0x3b, 0xef, 0x00, 0x9c, 0x43, | ||
| 7845 | 0x59, 0xc4, 0x00, 0x9c, 0x44, 0x4e, 0x39, 0x00, | ||
| 7846 | 0x9c, 0x45, 0x4a, 0x69, 0x00, 0x9c, 0x46, 0x1c, | ||
| 7847 | 0xb8, 0x00, 0x9c, 0x47, 0x1c, 0xb6, 0x00, 0x9c, | ||
| 7848 | 0x48, 0x0b, 0x6b, 0x00, 0x9c, 0x49, 0x4a, 0x6c, | ||
| 7849 | 0x00, 0x9c, 0x4a, 0x4a, 0x6d, 0x00, 0x9c, 0x4e, | ||
| 7850 | 0x59, 0xc5, 0x00, 0x9c, 0x4f, 0x43, 0x3f, 0x00, | ||
| 7851 | 0x9c, 0x50, 0x43, 0x40, 0x00, 0x9c, 0x52, 0x0e, | ||
| 7852 | 0x9e, 0x00, 0x9c, 0x53, 0x3b, 0xf0, 0x00, 0x9c, | ||
| 7853 | 0x54, 0x4a, 0x6f, 0x00, 0x9c, 0x56, 0x4e, 0x3a, | ||
| 7854 | 0x00, 0x9c, 0x57, 0x0f, 0xa2, 0x00, 0x9c, 0x58, | ||
| 7855 | 0x4a, 0x70, 0x00, 0x9c, 0x5a, 0x1c, 0xba, 0x00, | ||
| 7856 | 0x9c, 0x5b, 0x4a, 0x71, 0x00, 0x9c, 0x5c, 0x4a, | ||
| 7857 | 0x6a, 0x00, 0x9c, 0x5d, 0x4a, 0x72, 0x00, 0x9c, | ||
| 7858 | 0x5e, 0x59, 0xc6, 0x00, 0x9c, 0x5f, 0x4a, 0x73, | ||
| 7859 | 0x00, 0x9c, 0x60, 0x1c, 0xbb, 0x00, 0x9c, 0x61, | ||
| 7860 | 0x4e, 0x3b, 0x00, 0x9c, 0x63, 0x3b, 0xf1, 0x00, | ||
| 7861 | 0x9c, 0x65, 0x43, 0x41, 0x00, 0x9c, 0x67, 0x1c, | ||
| 7862 | 0xbc, 0x00, 0x9c, 0x68, 0x4e, 0x3c, 0x00, 0x9c, | ||
| 7863 | 0x69, 0x4a, 0x74, 0x00, 0x9c, 0x6a, 0x4a, 0x75, | ||
| 7864 | 0x00, 0x9c, 0x6b, 0x4a, 0x76, 0x00, 0x9c, 0x6d, | ||
| 7865 | 0x4a, 0x77, 0x00, 0x9c, 0x6e, 0x4a, 0x78, 0x00, | ||
| 7866 | 0x9c, 0x70, 0x3b, 0xf2, 0x00, 0x9c, 0x72, 0x4a, | ||
| 7867 | 0x79, 0x00, 0x9c, 0x75, 0x4a, 0x7a, 0x00, 0x9c, | ||
| 7868 | 0x76, 0x1c, 0xbd, 0x00, 0x9c, 0x77, 0x3b, 0xf3, | ||
| 7869 | 0x00, 0x9c, 0x78, 0x1c, 0xbe, 0x00, 0x9c, 0x7a, | ||
| 7870 | 0x4a, 0x7b, 0x00, 0x9c, 0x7b, 0x59, 0xc7, 0x00, | ||
| 7871 | 0x9c, 0xe5, 0x0b, 0xd7, 0x00, 0x9c, 0xe6, 0x4a, | ||
| 7872 | 0x7c, 0x00, 0x9c, 0xe7, 0x1c, 0xbf, 0x00, 0x9c, | ||
| 7873 | 0xe9, 0x0d, 0x4b, 0x00, 0x9c, 0xeb, 0x1c, 0xc4, | ||
| 7874 | 0x00, 0x9c, 0xec, 0x1c, 0xc0, 0x00, 0x9c, 0xf0, | ||
| 7875 | 0x1c, 0xc1, 0x00, 0x9c, 0xf2, 0x4a, 0x7d, 0x00, | ||
| 7876 | 0x9c, 0xf3, 0x0e, 0x5f, 0x00, 0x9c, 0xf4, 0x0e, | ||
| 7877 | 0xd0, 0x00, 0x9c, 0xf6, 0x0c, 0xa8, 0x00, 0x9c, | ||
| 7878 | 0xf7, 0x59, 0xc8, 0x00, 0x9c, 0xf9, 0x59, 0xc9, | ||
| 7879 | 0x00, 0x9d, 0x02, 0x3b, 0xf4, 0x00, 0x9d, 0x03, | ||
| 7880 | 0x1c, 0xc5, 0x00, 0x9d, 0x06, 0x1c, 0xc6, 0x00, | ||
| 7881 | 0x9d, 0x07, 0x0c, 0x96, 0x00, 0x9d, 0x08, 0x1c, | ||
| 7882 | 0xc3, 0x00, 0x9d, 0x09, 0x1c, 0xc2, 0x00, 0x9d, | ||
| 7883 | 0x0b, 0x4a, 0x7e, 0x00, 0x9d, 0x0e, 0x05, 0x2a, | ||
| 7884 | 0x00, 0x9d, 0x11, 0x4a, 0x80, 0x00, 0x9d, 0x12, | ||
| 7885 | 0x1c, 0xce, 0x00, 0x9d, 0x15, 0x1c, 0xcd, 0x00, | ||
| 7886 | 0x9d, 0x17, 0x4a, 0x81, 0x00, 0x9d, 0x18, 0x4a, | ||
| 7887 | 0x82, 0x00, 0x9d, 0x1b, 0x05, 0x17, 0x00, 0x9d, | ||
| 7888 | 0x1c, 0x59, 0xca, 0x00, 0x9d, 0x1d, 0x43, 0x42, | ||
| 7889 | 0x00, 0x9d, 0x1e, 0x43, 0x43, 0x00, 0x9d, 0x1f, | ||
| 7890 | 0x1c, 0xcb, 0x00, 0x9d, 0x23, 0x1c, 0xca, 0x00, | ||
| 7891 | 0x9d, 0x26, 0x1c, 0xc8, 0x00, 0x9d, 0x28, 0x05, | ||
| 7892 | 0xd9, 0x00, 0x9d, 0x2a, 0x1c, 0xc7, 0x00, 0x9d, | ||
| 7893 | 0x2b, 0x08, 0xde, 0x00, 0x9d, 0x2c, 0x05, 0x29, | ||
| 7894 | 0x00, 0x9d, 0x2f, 0x59, 0xcb, 0x00, 0x9d, 0x30, | ||
| 7895 | 0x4e, 0x3d, 0x00, 0x9d, 0x32, 0x4a, 0x86, 0x00, | ||
| 7896 | 0x9d, 0x33, 0x59, 0xcc, 0x00, 0x9d, 0x34, 0x59, | ||
| 7897 | 0xcd, 0x00, 0x9d, 0x3a, 0x59, 0xce, 0x00, 0x9d, | ||
| 7898 | 0x3b, 0x07, 0xf5, 0x00, 0x9d, 0x3c, 0x59, 0xcf, | ||
| 7899 | 0x00, 0x9d, 0x3d, 0x4e, 0x3e, 0x00, 0x9d, 0x3e, | ||
| 7900 | 0x1c, 0xd1, 0x00, 0x9d, 0x3f, 0x1c, 0xd0, 0x00, | ||
| 7901 | 0x9d, 0x41, 0x1c, 0xcf, 0x00, 0x9d, 0x42, 0x3b, | ||
| 7902 | 0xf5, 0x00, 0x9d, 0x43, 0x43, 0x44, 0x00, 0x9d, | ||
| 7903 | 0x44, 0x1c, 0xcc, 0x00, 0x9d, 0x45, 0x59, 0xd0, | ||
| 7904 | 0x00, 0x9d, 0x46, 0x1c, 0xd2, 0x00, 0x9d, 0x47, | ||
| 7905 | 0x3b, 0xf6, 0x00, 0x9d, 0x48, 0x1c, 0xd3, 0x00, | ||
| 7906 | 0x9d, 0x4a, 0x4a, 0x88, 0x00, 0x9d, 0x50, 0x1c, | ||
| 7907 | 0xd8, 0x00, 0x9d, 0x51, 0x1c, 0xd7, 0x00, 0x9d, | ||
| 7908 | 0x52, 0x43, 0x45, 0x00, 0x9d, 0x53, 0x59, 0xd1, | ||
| 7909 | 0x00, 0x9d, 0x54, 0x59, 0xd2, 0x00, 0x9d, 0x59, | ||
| 7910 | 0x1c, 0xd9, 0x00, 0x9d, 0x5c, 0x04, 0xcf, 0x00, | ||
| 7911 | 0x9d, 0x5d, 0x1c, 0xd4, 0x00, 0x9d, 0x5e, 0x1c, | ||
| 7912 | 0xd5, 0x00, 0x9d, 0x5f, 0x4a, 0x89, 0x00, 0x9d, | ||
| 7913 | 0x60, 0x08, 0x06, 0x00, 0x9d, 0x61, 0x0e, 0xc5, | ||
| 7914 | 0x00, 0x9d, 0x62, 0x4a, 0x8a, 0x00, 0x9d, 0x63, | ||
| 7915 | 0x3b, 0xf7, 0x00, 0x9d, 0x64, 0x1c, 0xd6, 0x00, | ||
| 7916 | 0x9d, 0x65, 0x59, 0xd3, 0x00, 0x9d, 0x69, 0x3b, | ||
| 7917 | 0xf8, 0x00, 0x9d, 0x6a, 0x4e, 0x3f, 0x00, 0x9d, | ||
| 7918 | 0x6b, 0x22, 0x0a, 0x00, 0x9d, 0x6c, 0x0e, 0x60, | ||
| 7919 | 0x00, 0x9d, 0x6f, 0x1c, 0xde, 0x00, 0x9d, 0x70, | ||
| 7920 | 0x22, 0x09, 0x00, 0x9d, 0x72, 0x1c, 0xda, 0x00, | ||
| 7921 | 0x9d, 0x73, 0x4a, 0x8d, 0x00, 0x9d, 0x76, 0x4a, | ||
| 7922 | 0x8e, 0x00, 0x9d, 0x77, 0x4a, 0x8f, 0x00, 0x9d, | ||
| 7923 | 0x7a, 0x1c, 0xdf, 0x00, 0x9d, 0x7b, 0x4e, 0x40, | ||
| 7924 | 0x00, 0x9d, 0x7c, 0x3b, 0xf9, 0x00, 0x9d, 0x7e, | ||
| 7925 | 0x3b, 0xfa, 0x00, 0x9d, 0x83, 0x59, 0xd4, 0x00, | ||
| 7926 | 0x9d, 0x84, 0x4a, 0x90, 0x00, 0x9d, 0x86, 0x59, | ||
| 7927 | 0xd5, 0x00, 0x9d, 0x87, 0x1c, 0xdc, 0x00, 0x9d, | ||
| 7928 | 0x89, 0x1c, 0xdb, 0x00, 0x9d, 0x8a, 0x43, 0x46, | ||
| 7929 | 0x00, 0x9d, 0x8d, 0x3b, 0xfb, 0x00, 0x9d, 0x8e, | ||
| 7930 | 0x59, 0xd6, 0x00, 0x9d, 0x8f, 0x07, 0x32, 0x00, | ||
| 7931 | 0x9d, 0x92, 0x59, 0xd7, 0x00, 0x9d, 0x93, 0x59, | ||
| 7932 | 0xd8, 0x00, 0x9d, 0x95, 0x59, 0xd9, 0x00, 0x9d, | ||
| 7933 | 0x96, 0x43, 0x47, 0x00, 0x9d, 0x97, 0x59, 0xda, | ||
| 7934 | 0x00, 0x9d, 0x98, 0x59, 0xdb, 0x00, 0x9d, 0x99, | ||
| 7935 | 0x4a, 0x91, 0x00, 0x9d, 0x9a, 0x1c, 0xe0, 0x00, | ||
| 7936 | 0x9d, 0xa1, 0x4a, 0x92, 0x00, 0x9d, 0xa4, 0x1c, | ||
| 7937 | 0xe1, 0x00, 0x9d, 0xa9, 0x1c, 0xe2, 0x00, 0x9d, | ||
| 7938 | 0xaa, 0x59, 0xdc, 0x00, 0x9d, 0xab, 0x1c, 0xdd, | ||
| 7939 | 0x00, 0x9d, 0xac, 0x43, 0x49, 0x00, 0x9d, 0xae, | ||
| 7940 | 0x59, 0xdd, 0x00, 0x9d, 0xaf, 0x1c, 0xc9, 0x00, | ||
| 7941 | 0x9d, 0xb1, 0x3b, 0xfc, 0x00, 0x9d, 0xb2, 0x1c, | ||
| 7942 | 0xe3, 0x00, 0x9d, 0xb4, 0x22, 0x0b, 0x00, 0x9d, | ||
| 7943 | 0xb5, 0x4a, 0x94, 0x00, 0x9d, 0xb8, 0x1c, 0xe7, | ||
| 7944 | 0x00, 0x9d, 0xb9, 0x4a, 0x95, 0x00, 0x9d, 0xba, | ||
| 7945 | 0x1c, 0xe8, 0x00, 0x9d, 0xbb, 0x1c, 0xe6, 0x00, | ||
| 7946 | 0x9d, 0xbc, 0x43, 0x4a, 0x00, 0x9d, 0xbd, 0x4a, | ||
| 7947 | 0x96, 0x00, 0x9d, 0xbf, 0x4a, 0x93, 0x00, 0x9d, | ||
| 7948 | 0xc0, 0x43, 0x48, 0x00, 0x9d, 0xc1, 0x1c, 0xe5, | ||
| 7949 | 0x00, 0x9d, 0xc2, 0x1c, 0xeb, 0x00, 0x9d, 0xc3, | ||
| 7950 | 0x3b, 0xfd, 0x00, 0x9d, 0xc4, 0x1c, 0xe4, 0x00, | ||
| 7951 | 0x9d, 0xc6, 0x1c, 0xe9, 0x00, 0x9d, 0xc7, 0x3b, | ||
| 7952 | 0xfe, 0x00, 0x9d, 0xc9, 0x4a, 0x97, 0x00, 0x9d, | ||
| 7953 | 0xca, 0x59, 0xdf, 0x00, 0x9d, 0xcf, 0x1c, 0xea, | ||
| 7954 | 0x00, 0x9d, 0xd3, 0x1c, 0xed, 0x00, 0x9d, 0xd4, | ||
| 7955 | 0x59, 0xe0, 0x00, 0x9d, 0xd5, 0x59, 0xe1, 0x00, | ||
| 7956 | 0x9d, 0xd6, 0x3b, 0xff, 0x00, 0x9d, 0xd7, 0x1d, | ||
| 7957 | 0xde, 0x00, 0x9d, 0xd9, 0x1c, 0xec, 0x00, 0x9d, | ||
| 7958 | 0xda, 0x4a, 0x98, 0x00, 0x9d, 0xde, 0x59, 0xe2, | ||
| 7959 | 0x00, 0x9d, 0xdf, 0x3c, 0x00, 0x00, 0x9d, 0xe0, | ||
| 7960 | 0x4a, 0x99, 0x00, 0x9d, 0xe3, 0x4a, 0x9a, 0x00, | ||
| 7961 | 0x9d, 0xe5, 0x4e, 0x41, 0x00, 0x9d, 0xe6, 0x1c, | ||
| 7962 | 0xef, 0x00, 0x9d, 0xe7, 0x43, 0x4c, 0x00, 0x9d, | ||
| 7963 | 0xe9, 0x4e, 0x42, 0x00, 0x9d, 0xeb, 0x3c, 0x01, | ||
| 7964 | 0x00, 0x9d, 0xed, 0x1c, 0xf0, 0x00, 0x9d, 0xee, | ||
| 7965 | 0x59, 0xe3, 0x00, 0x9d, 0xef, 0x1c, 0xf1, 0x00, | ||
| 7966 | 0x9d, 0xf0, 0x59, 0xe4, 0x00, 0x9d, 0xf2, 0x0f, | ||
| 7967 | 0xef, 0x00, 0x9d, 0xf3, 0x4e, 0x43, 0x00, 0x9d, | ||
| 7968 | 0xf4, 0x3c, 0x02, 0x00, 0x9d, 0xf8, 0x1c, 0xee, | ||
| 7969 | 0x00, 0x9d, 0xf9, 0x0b, 0x4b, 0x00, 0x9d, 0xfa, | ||
| 7970 | 0x08, 0x5d, 0x00, 0x9d, 0xfd, 0x1c, 0xf2, 0x00, | ||
| 7971 | 0x9d, 0xfe, 0x59, 0xe5, 0x00, 0x9e, 0x02, 0x4a, | ||
| 7972 | 0x9d, 0x00, 0x9e, 0x07, 0x43, 0x4d, 0x00, 0x9e, | ||
| 7973 | 0x0a, 0x4a, 0x9c, 0x00, 0x9e, 0x0d, 0x4a, 0x9e, | ||
| 7974 | 0x00, 0x9e, 0x0e, 0x59, 0xe6, 0x00, 0x9e, 0x10, | ||
| 7975 | 0x59, 0xe7, 0x00, 0x9e, 0x11, 0x59, 0xe8, 0x00, | ||
| 7976 | 0x9e, 0x12, 0x59, 0xe9, 0x00, 0x9e, 0x15, 0x3c, | ||
| 7977 | 0x03, 0x00, 0x9e, 0x16, 0x59, 0xea, 0x00, 0x9e, | ||
| 7978 | 0x19, 0x22, 0x0c, 0x00, 0x9e, 0x1a, 0x1c, 0xf3, | ||
| 7979 | 0x00, 0x9e, 0x1b, 0x1c, 0xf4, 0x00, 0x9e, 0x1c, | ||
| 7980 | 0x4a, 0x9f, 0x00, 0x9e, 0x1d, 0x3c, 0x04, 0x00, | ||
| 7981 | 0x9e, 0x1e, 0x1c, 0xf5, 0x00, 0x9e, 0x75, 0x1c, | ||
| 7982 | 0xf6, 0x00, 0x9e, 0x78, 0x07, 0x68, 0x00, 0x9e, | ||
| 7983 | 0x79, 0x1c, 0xf7, 0x00, 0x9e, 0x7a, 0x4e, 0x44, | ||
| 7984 | 0x00, 0x9e, 0x7b, 0x4a, 0xa0, 0x00, 0x9e, 0x7c, | ||
| 7985 | 0x1d, 0xfd, 0x00, 0x9e, 0x7d, 0x1c, 0xf8, 0x00, | ||
| 7986 | 0x9e, 0x7f, 0x08, 0xdb, 0x00, 0x9e, 0x80, 0x4a, | ||
| 7987 | 0xa2, 0x00, 0x9e, 0x81, 0x1c, 0xf9, 0x00, 0x9e, | ||
| 7988 | 0x82, 0x4e, 0x45, 0x00, 0x9e, 0x83, 0x4e, 0x46, | ||
| 7989 | 0x00, 0x9e, 0x84, 0x4e, 0x47, 0x00, 0x9e, 0x85, | ||
| 7990 | 0x4a, 0xa3, 0x00, 0x9e, 0x87, 0x59, 0xeb, 0x00, | ||
| 7991 | 0x9e, 0x88, 0x1c, 0xfa, 0x00, 0x9e, 0x8b, 0x1c, | ||
| 7992 | 0xfb, 0x00, 0x9e, 0x8c, 0x1c, 0xfc, 0x00, 0x9e, | ||
| 7993 | 0x8e, 0x59, 0xec, 0x00, 0x9e, 0x8f, 0x59, 0xed, | ||
| 7994 | 0x00, 0x9e, 0x91, 0x1c, 0xff, 0x00, 0x9e, 0x92, | ||
| 7995 | 0x1c, 0xfd, 0x00, 0x9e, 0x93, 0x0f, 0xe2, 0x00, | ||
| 7996 | 0x9e, 0x95, 0x1c, 0xfe, 0x00, 0x9e, 0x96, 0x59, | ||
| 7997 | 0xee, 0x00, 0x9e, 0x97, 0x0f, 0xb7, 0x00, 0x9e, | ||
| 7998 | 0x98, 0x59, 0xef, 0x00, 0x9e, 0x9b, 0x4a, 0xa4, | ||
| 7999 | 0x00, 0x9e, 0x9d, 0x1d, 0x00, 0x00, 0x9e, 0x9e, | ||
| 8000 | 0x43, 0x4e, 0x00, 0x9e, 0x9f, 0x0f, 0xa3, 0x00, | ||
| 8001 | 0x9e, 0xa4, 0x3c, 0x05, 0x00, 0x9e, 0xa5, 0x1d, | ||
| 8002 | 0x01, 0x00, 0x9e, 0xa6, 0x0d, 0x34, 0x00, 0x9e, | ||
| 8003 | 0xa8, 0x3c, 0x06, 0x00, 0x9e, 0xa9, 0x1d, 0x02, | ||
| 8004 | 0x00, 0x9e, 0xaa, 0x1d, 0x04, 0x00, 0x9e, 0xac, | ||
| 8005 | 0x3c, 0x07, 0x00, 0x9e, 0xad, 0x1d, 0x05, 0x00, | ||
| 8006 | 0x9e, 0xae, 0x59, 0xf0, 0x00, 0x9e, 0xaf, 0x43, | ||
| 8007 | 0x4f, 0x00, 0x9e, 0xb0, 0x4e, 0x48, 0x00, 0x9e, | ||
| 8008 | 0xb3, 0x59, 0xf1, 0x00, 0x9e, 0xb4, 0x1e, 0x02, | ||
| 8009 | 0x00, 0x9e, 0xb5, 0x1e, 0x75, 0x00, 0x9e, 0xb8, | ||
| 8010 | 0x1d, 0x03, 0x00, 0x9e, 0xb9, 0x07, 0xff, 0x00, | ||
| 8011 | 0x9e, 0xba, 0x0e, 0xd9, 0x00, 0x9e, 0xbb, 0x0e, | ||
| 8012 | 0x91, 0x00, 0x9e, 0xbc, 0x12, 0x84, 0x00, 0x9e, | ||
| 8013 | 0xbd, 0x4a, 0xa6, 0x00, 0x9e, 0xbe, 0x14, 0xff, | ||
| 8014 | 0x00, 0x9e, 0xbf, 0x0e, 0xa9, 0x00, 0x9e, 0xc3, | ||
| 8015 | 0x34, 0x0b, 0x00, 0x9e, 0xc4, 0x05, 0x2b, 0x00, | ||
| 8016 | 0x9e, 0xc6, 0x59, 0xf2, 0x00, 0x9e, 0xc8, 0x59, | ||
| 8017 | 0xf3, 0x00, 0x9e, 0xcb, 0x59, 0xf4, 0x00, 0x9e, | ||
| 8018 | 0xcc, 0x1d, 0x07, 0x00, 0x9e, 0xcd, 0x06, 0x6a, | ||
| 8019 | 0x00, 0x9e, 0xce, 0x1d, 0x08, 0x00, 0x9e, 0xcf, | ||
| 8020 | 0x1d, 0x09, 0x00, 0x9e, 0xd0, 0x1d, 0x0a, 0x00, | ||
| 8021 | 0x9e, 0xd1, 0x22, 0x0d, 0x00, 0x9e, 0xd2, 0x08, | ||
| 8022 | 0x07, 0x00, 0x9e, 0xd4, 0x1d, 0x0b, 0x00, 0x9e, | ||
| 8023 | 0xd5, 0x59, 0xf5, 0x00, 0x9e, 0xd8, 0x16, 0x0d, | ||
| 8024 | 0x00, 0x9e, 0xd9, 0x0e, 0xe7, 0x00, 0x9e, 0xdb, | ||
| 8025 | 0x0b, 0x43, 0x00, 0x9e, 0xdc, 0x1d, 0x0c, 0x00, | ||
| 8026 | 0x9e, 0xdd, 0x1d, 0x0e, 0x00, 0x9e, 0xde, 0x1d, | ||
| 8027 | 0x0d, 0x00, 0x9e, 0xdf, 0x4a, 0xa8, 0x00, 0x9e, | ||
| 8028 | 0xe0, 0x1d, 0x0f, 0x00, 0x9e, 0xe4, 0x4e, 0x49, | ||
| 8029 | 0x00, 0x9e, 0xe5, 0x1d, 0x10, 0x00, 0x9e, 0xe7, | ||
| 8030 | 0x3c, 0x08, 0x00, 0x9e, 0xe8, 0x1d, 0x11, 0x00, | ||
| 8031 | 0x9e, 0xec, 0x59, 0xf6, 0x00, 0x9e, 0xed, 0x59, | ||
| 8032 | 0xf7, 0x00, 0x9e, 0xee, 0x3c, 0x09, 0x00, 0x9e, | ||
| 8033 | 0xef, 0x1d, 0x12, 0x00, 0x9e, 0xf0, 0x4e, 0x4a, | ||
| 8034 | 0x00, 0x9e, 0xf1, 0x59, 0xf8, 0x00, 0x9e, 0xf2, | ||
| 8035 | 0x4e, 0x4b, 0x00, 0x9e, 0xf4, 0x1d, 0x13, 0x00, | ||
| 8036 | 0x9e, 0xf5, 0x59, 0xf9, 0x00, 0x9e, 0xf6, 0x1d, | ||
| 8037 | 0x14, 0x00, 0x9e, 0xf7, 0x1d, 0x15, 0x00, 0x9e, | ||
| 8038 | 0xf8, 0x59, 0xfa, 0x00, 0x9e, 0xf9, 0x1d, 0x16, | ||
| 8039 | 0x00, 0x9e, 0xfb, 0x1d, 0x17, 0x00, 0x9e, 0xfc, | ||
| 8040 | 0x1d, 0x18, 0x00, 0x9e, 0xfd, 0x1d, 0x19, 0x00, | ||
| 8041 | 0x9e, 0xff, 0x4a, 0xa9, 0x00, 0x9f, 0x02, 0x4a, | ||
| 8042 | 0xaa, 0x00, 0x9f, 0x03, 0x4a, 0xac, 0x00, 0x9f, | ||
| 8043 | 0x07, 0x1d, 0x1a, 0x00, 0x9f, 0x08, 0x1d, 0x1b, | ||
| 8044 | 0x00, 0x9f, 0x09, 0x4e, 0x4c, 0x00, 0x9f, 0x0e, | ||
| 8045 | 0x0c, 0x1e, 0x00, 0x9f, 0x0f, 0x4e, 0x4d, 0x00, | ||
| 8046 | 0x9f, 0x10, 0x3c, 0x0a, 0x00, 0x9f, 0x11, 0x59, | ||
| 8047 | 0xfb, 0x00, 0x9f, 0x12, 0x3c, 0x0b, 0x00, 0x9f, | ||
| 8048 | 0x13, 0x07, 0x91, 0x00, 0x9f, 0x14, 0x4e, 0x4e, | ||
| 8049 | 0x00, 0x9f, 0x15, 0x1d, 0x1d, 0x00, 0x9f, 0x16, | ||
| 8050 | 0x59, 0xfc, 0x00, 0x9f, 0x17, 0x3c, 0x0c, 0x00, | ||
| 8051 | 0x9f, 0x19, 0x3c, 0x0d, 0x00, 0x9f, 0x1a, 0x59, | ||
| 8052 | 0xfd, 0x00, 0x9f, 0x1b, 0x4e, 0x4f, 0x00, 0x9f, | ||
| 8053 | 0x1f, 0x59, 0xfe, 0x00, 0x9f, 0x20, 0x0a, 0xcf, | ||
| 8054 | 0x00, 0x9f, 0x21, 0x1d, 0x1e, 0x00, 0x9f, 0x22, | ||
| 8055 | 0x4e, 0x50, 0x00, 0x9f, 0x26, 0x4e, 0x51, 0x00, | ||
| 8056 | 0x9f, 0x2a, 0x4e, 0x52, 0x00, 0x9f, 0x2b, 0x4e, | ||
| 8057 | 0x53, 0x00, 0x9f, 0x2c, 0x1d, 0x1f, 0x00, 0x9f, | ||
| 8058 | 0x2f, 0x3c, 0x0e, 0x00, 0x9f, 0x31, 0x59, 0xff, | ||
| 8059 | 0x00, 0x9f, 0x32, 0x5a, 0x00, 0x00, 0x9f, 0x34, | ||
| 8060 | 0x4e, 0x54, 0x00, 0x9f, 0x37, 0x3c, 0x0f, 0x00, | ||
| 8061 | 0x9f, 0x39, 0x3c, 0x10, 0x00, 0x9f, 0x3a, 0x4a, | ||
| 8062 | 0xad, 0x00, 0x9f, 0x3b, 0x0d, 0x93, 0x00, 0x9f, | ||
| 8063 | 0x3c, 0x5a, 0x01, 0x00, 0x9f, 0x3d, 0x4a, 0xae, | ||
| 8064 | 0x00, 0x9f, 0x3e, 0x1d, 0x20, 0x00, 0x9f, 0x3f, | ||
| 8065 | 0x5a, 0x02, 0x00, 0x9f, 0x41, 0x3c, 0x11, 0x00, | ||
| 8066 | 0x9f, 0x43, 0x5a, 0x03, 0x00, 0x9f, 0x44, 0x5a, | ||
| 8067 | 0x04, 0x00, 0x9f, 0x45, 0x3c, 0x12, 0x00, 0x9f, | ||
| 8068 | 0x46, 0x4a, 0xaf, 0x00, 0x9f, 0x47, 0x5a, 0x05, | ||
| 8069 | 0x00, 0x9f, 0x4a, 0x1d, 0x21, 0x00, 0x9f, 0x4b, | ||
| 8070 | 0x17, 0x0a, 0x00, 0x9f, 0x4e, 0x1a, 0x7b, 0x00, | ||
| 8071 | 0x9f, 0x4f, 0x1c, 0x06, 0x00, 0x9f, 0x52, 0x1d, | ||
| 8072 | 0x22, 0x00, 0x9f, 0x53, 0x4a, 0xb0, 0x00, 0x9f, | ||
| 8073 | 0x54, 0x1d, 0x23, 0x00, 0x9f, 0x55, 0x4a, 0xb1, | ||
| 8074 | 0x00, 0x9f, 0x56, 0x5a, 0x06, 0x00, 0x9f, 0x57, | ||
| 8075 | 0x3c, 0x13, 0x00, 0x9f, 0x58, 0x4a, 0xb2, 0x00, | ||
| 8076 | 0x9f, 0x5a, 0x4e, 0x55, 0x00, 0x9f, 0x5d, 0x4a, | ||
| 8077 | 0xb4, 0x00, 0x9f, 0x5e, 0x5a, 0x07, 0x00, 0x9f, | ||
| 8078 | 0x5f, 0x1d, 0x25, 0x00, 0x9f, 0x60, 0x1d, 0x26, | ||
| 8079 | 0x00, 0x9f, 0x61, 0x1d, 0x27, 0x00, 0x9f, 0x62, | ||
| 8080 | 0x0f, 0xb8, 0x00, 0x9f, 0x63, 0x1d, 0x24, 0x00, | ||
| 8081 | 0x9f, 0x66, 0x1d, 0x28, 0x00, 0x9f, 0x67, 0x1d, | ||
| 8082 | 0x29, 0x00, 0x9f, 0x68, 0x3c, 0x14, 0x00, 0x9f, | ||
| 8083 | 0x69, 0x4a, 0xb6, 0x00, 0x9f, 0x6a, 0x1d, 0x2b, | ||
| 8084 | 0x00, 0x9f, 0x6c, 0x1d, 0x2a, 0x00, 0x9f, 0x6d, | ||
| 8085 | 0x4a, 0xb7, 0x00, 0x9f, 0x6e, 0x5a, 0x08, 0x00, | ||
| 8086 | 0x9f, 0x6f, 0x4e, 0x56, 0x00, 0x9f, 0x70, 0x4a, | ||
| 8087 | 0xb8, 0x00, 0x9f, 0x71, 0x3c, 0x15, 0x00, 0x9f, | ||
| 8088 | 0x72, 0x1d, 0x2d, 0x00, 0x9f, 0x73, 0x5a, 0x09, | ||
| 8089 | 0x00, 0x9f, 0x75, 0x3c, 0x16, 0x00, 0x9f, 0x76, | ||
| 8090 | 0x1d, 0x2e, 0x00, 0x9f, 0x77, 0x1d, 0x2c, 0x00, | ||
| 8091 | 0x9f, 0x7a, 0x5a, 0x0a, 0x00, 0x9f, 0x7d, 0x5a, | ||
| 8092 | 0x0b, 0x00, 0x9f, 0x8d, 0x0f, 0x7e, 0x00, 0x9f, | ||
| 8093 | 0x8f, 0x5a, 0x0c, 0x00, 0x9f, 0x90, 0x3c, 0x17, | ||
| 8094 | 0x00, 0x9f, 0x91, 0x5a, 0x0d, 0x00, 0x9f, 0x92, | ||
| 8095 | 0x5a, 0x0e, 0x00, 0x9f, 0x94, 0x3c, 0x18, 0x00, | ||
| 8096 | 0x9f, 0x95, 0x1d, 0x2f, 0x00, 0x9f, 0x96, 0x5a, | ||
| 8097 | 0x0f, 0x00, 0x9f, 0x97, 0x43, 0x50, 0x00, 0x9f, | ||
| 8098 | 0x9c, 0x1d, 0x30, 0x00, 0x9f, 0x9d, 0x17, 0x27, | ||
| 8099 | 0x00, 0x9f, 0x9e, 0x4e, 0x57, 0x00, 0x9f, 0xa0, | ||
| 8100 | 0x1d, 0x31, 0x00, 0x9f, 0xa1, 0x5a, 0x10, 0x00, | ||
| 8101 | 0x9f, 0xa2, 0x3c, 0x19, 0x00, 0x9f, 0xa3, 0x5a, | ||
| 8102 | 0x11, 0x00, 0x9f, 0xa5, 0x4e, 0x58, 0x00, 0x9f, | ||
| 8103 | 0xb4, 0x36, 0xe0, 0x00, 0x9f, 0xbc, 0x3c, 0x47, | ||
| 8104 | 0x00, 0x9f, 0xbd, 0x3c, 0x45, 0x00, 0x9f, 0xbe, | ||
| 8105 | 0x3c, 0x4a, 0x00, 0x9f, 0xbf, 0x4e, 0x64, 0x00, | ||
| 8106 | 0x9f, 0xc0, 0x4e, 0x65, 0x00, 0x9f, 0xc1, 0x4e, | ||
| 8107 | 0x66, 0x00, 0x9f, 0xc2, 0x4e, 0x67, 0x00, 0x9f, | ||
| 8108 | 0xc4, 0x37, 0x09, 0x00, 0x9f, 0xc6, 0x37, 0x58, | ||
| 8109 | 0x00, 0x9f, 0xcc, 0x4e, 0xbc, 0x00, 0xfa, 0x0e, | ||
| 8110 | 0x20, 0xda, 0x00, 0xfa, 0x0f, 0x20, 0xe5, 0x00, | ||
| 8111 | 0xfa, 0x11, 0x37, 0xd2, 0x00, 0xfa, 0x13, 0x21, | ||
| 8112 | 0x31, 0x00, 0xfa, 0x14, 0x21, 0x33, 0x00, 0xfa, | ||
| 8113 | 0x1f, 0x21, 0xa2, 0x00, 0xfa, 0x21, 0x21, 0xa5, | ||
| 8114 | 0x00, 0xfa, 0x23, 0x21, 0xb6, 0x00, 0xfa, 0x24, | ||
| 8115 | 0x49, 0x48, 0x00, 0xfa, 0x27, 0x21, 0xd8, 0x00, | ||
| 8116 | 0xfa, 0x28, 0x21, 0xdf, 0x00, 0xfa, 0x29, 0x21, | ||
| 8117 | 0xef, 0x02, 0x00, 0x0b, 0x36, 0x0f, 0x02, 0x00, | ||
| 8118 | 0x89, 0x43, 0x51, 0x02, 0x00, 0x8a, 0x37, 0x1c, | ||
| 8119 | 0x02, 0x00, 0xa2, 0x43, 0x58, 0x02, 0x00, 0xa4, | ||
| 8120 | 0x43, 0x5b, 0x02, 0x00, 0xb0, 0x37, 0x81, 0x02, | ||
| 8121 | 0x00, 0xf5, 0x4e, 0x59, 0x02, 0x01, 0x58, 0x4e, | ||
| 8122 | 0x6b, 0x02, 0x01, 0xa2, 0x36, 0x21, 0x02, 0x02, | ||
| 8123 | 0x13, 0x43, 0x6b, 0x02, 0x03, 0x2b, 0x43, 0x82, | ||
| 8124 | 0x02, 0x03, 0x71, 0x43, 0x8b, 0x02, 0x03, 0x81, | ||
| 8125 | 0x43, 0x89, 0x02, 0x03, 0xf9, 0x43, 0x8f, 0x02, | ||
| 8126 | 0x04, 0x4a, 0x43, 0x91, 0x02, 0x05, 0x09, 0x43, | ||
| 8127 | 0x93, 0x02, 0x05, 0x3f, 0x37, 0x6c, 0x02, 0x05, | ||
| 8128 | 0xb1, 0x4e, 0x70, 0x02, 0x05, 0xd6, 0x43, 0x9c, | ||
| 8129 | 0x02, 0x06, 0x11, 0x37, 0xd6, 0x02, 0x06, 0x28, | ||
| 8130 | 0x37, 0x19, 0x02, 0x06, 0xec, 0x4e, 0x73, 0x02, | ||
| 8131 | 0x07, 0x4f, 0x43, 0xa0, 0x02, 0x07, 0xc8, 0x4e, | ||
| 8132 | 0xa0, 0x02, 0x08, 0x07, 0x43, 0xa7, 0x02, 0x08, | ||
| 8133 | 0x3a, 0x43, 0xa9, 0x02, 0x08, 0xb9, 0x43, 0xaf, | ||
| 8134 | 0x02, 0x09, 0x0e, 0x34, 0xd3, 0x02, 0x09, 0x7c, | ||
| 8135 | 0x43, 0xb3, 0x02, 0x09, 0x84, 0x37, 0x1d, 0x02, | ||
| 8136 | 0x09, 0x9d, 0x43, 0xb4, 0x02, 0x0a, 0x64, 0x35, | ||
| 8137 | 0xbb, 0x02, 0x0a, 0xd3, 0x43, 0xb9, 0x02, 0x0b, | ||
| 8138 | 0x1d, 0x43, 0xbc, 0x02, 0x0b, 0x9f, 0x35, 0xeb, | ||
| 8139 | 0x02, 0x0b, 0xb7, 0x35, 0x8a, 0x02, 0x0d, 0x45, | ||
| 8140 | 0x43, 0xcf, 0x02, 0x0d, 0x58, 0x4e, 0x7a, 0x02, | ||
| 8141 | 0x0d, 0xe1, 0x43, 0xdd, 0x02, 0x0e, 0x64, 0x43, | ||
| 8142 | 0xec, 0x02, 0x0e, 0x6d, 0x43, 0xe4, 0x02, 0x0e, | ||
| 8143 | 0x95, 0x43, 0xe3, 0x02, 0x0f, 0x5f, 0x43, 0xef, | ||
| 8144 | 0x02, 0x12, 0x01, 0x44, 0x06, 0x02, 0x12, 0x3d, | ||
| 8145 | 0x36, 0x81, 0x02, 0x12, 0x55, 0x44, 0x07, 0x02, | ||
| 8146 | 0x12, 0x74, 0x44, 0x0d, 0x02, 0x12, 0x7b, 0x44, | ||
| 8147 | 0x09, 0x02, 0x12, 0xd7, 0x44, 0x15, 0x02, 0x12, | ||
| 8148 | 0xe4, 0x44, 0x14, 0x02, 0x12, 0xfd, 0x44, 0x1b, | ||
| 8149 | 0x02, 0x13, 0x1b, 0x41, 0xb0, 0x02, 0x13, 0x36, | ||
| 8150 | 0x44, 0x1d, 0x02, 0x13, 0x44, 0x44, 0x1e, 0x02, | ||
| 8151 | 0x13, 0xc4, 0x44, 0x29, 0x02, 0x14, 0x6d, 0x44, | ||
| 8152 | 0x36, 0x02, 0x14, 0x6e, 0x41, 0xb5, 0x02, 0x15, | ||
| 8153 | 0xd7, 0x44, 0x40, 0x02, 0x16, 0x47, 0x44, 0x48, | ||
| 8154 | 0x02, 0x16, 0xb4, 0x41, 0xc6, 0x02, 0x17, 0x06, | ||
| 8155 | 0x44, 0x54, 0x02, 0x17, 0x42, 0x44, 0x55, 0x02, | ||
| 8156 | 0x18, 0xbd, 0x41, 0xc1, 0x02, 0x19, 0xc3, 0x44, | ||
| 8157 | 0x75, 0x02, 0x1a, 0x1a, 0x1e, 0x91, 0x02, 0x1c, | ||
| 8158 | 0x56, 0x44, 0x83, 0x02, 0x1d, 0x2d, 0x44, 0x88, | ||
| 8159 | 0x02, 0x1d, 0x45, 0x44, 0x89, 0x02, 0x1d, 0x62, | ||
| 8160 | 0x44, 0x8b, 0x02, 0x1d, 0x78, 0x44, 0x8a, 0x02, | ||
| 8161 | 0x1d, 0x92, 0x44, 0x94, 0x02, 0x1d, 0x9c, 0x44, | ||
| 8162 | 0x90, 0x02, 0x1d, 0xa1, 0x44, 0x8f, 0x02, 0x1d, | ||
| 8163 | 0xb7, 0x44, 0x97, 0x02, 0x1d, 0xe0, 0x44, 0x99, | ||
| 8164 | 0x02, 0x1e, 0x33, 0x44, 0x9a, 0x02, 0x1e, 0x34, | ||
| 8165 | 0x41, 0xcd, 0x02, 0x1f, 0x1e, 0x44, 0xa7, 0x02, | ||
| 8166 | 0x1f, 0x76, 0x44, 0xae, 0x02, 0x1f, 0xfa, 0x44, | ||
| 8167 | 0xb1, 0x02, 0x21, 0x7b, 0x44, 0xbf, 0x02, 0x22, | ||
| 8168 | 0x18, 0x4a, 0xa1, 0x02, 0x23, 0x1e, 0x44, 0xc5, | ||
| 8169 | 0x02, 0x23, 0xad, 0x44, 0xc8, 0x02, 0x26, 0x09, | ||
| 8170 | 0x3c, 0x53, 0x02, 0x26, 0xf3, 0x44, 0xe0, 0x02, | ||
| 8171 | 0x28, 0x5b, 0x44, 0xef, 0x02, 0x28, 0xab, 0x44, | ||
| 8172 | 0xf5, 0x02, 0x29, 0x8f, 0x44, 0xf9, 0x02, 0x2a, | ||
| 8173 | 0xb8, 0x45, 0x03, 0x02, 0x2b, 0x46, 0x45, 0x10, | ||
| 8174 | 0x02, 0x2b, 0x4f, 0x45, 0x07, 0x02, 0x2b, 0x50, | ||
| 8175 | 0x45, 0x08, 0x02, 0x2b, 0xa6, 0x45, 0x13, 0x02, | ||
| 8176 | 0x2c, 0x1d, 0x45, 0x12, 0x02, 0x2c, 0x24, 0x45, | ||
| 8177 | 0x16, 0x02, 0x2d, 0xe1, 0x45, 0x2e, 0x02, 0x2e, | ||
| 8178 | 0x42, 0x4e, 0x9c, 0x02, 0x2f, 0xeb, 0x4e, 0xa2, | ||
| 8179 | 0x02, 0x31, 0xb6, 0x45, 0x50, 0x02, 0x31, 0xc3, | ||
| 8180 | 0x45, 0x4e, 0x02, 0x31, 0xc4, 0x41, 0xf8, 0x02, | ||
| 8181 | 0x31, 0xf5, 0x45, 0x4f, 0x02, 0x33, 0x72, 0x45, | ||
| 8182 | 0x61, 0x02, 0x33, 0xcc, 0x37, 0x3c, 0x02, 0x33, | ||
| 8183 | 0xd0, 0x45, 0x68, 0x02, 0x33, 0xd2, 0x45, 0x64, | ||
| 8184 | 0x02, 0x33, 0xd3, 0x45, 0x63, 0x02, 0x33, 0xd5, | ||
| 8185 | 0x45, 0x6a, 0x02, 0x33, 0xda, 0x45, 0x6c, 0x02, | ||
| 8186 | 0x33, 0xdf, 0x45, 0x6e, 0x02, 0x33, 0xe4, 0x45, | ||
| 8187 | 0x69, 0x02, 0x33, 0xfe, 0x3c, 0x3e, 0x02, 0x34, | ||
| 8188 | 0x4a, 0x45, 0x76, 0x02, 0x34, 0x4b, 0x45, 0x78, | ||
| 8189 | 0x02, 0x34, 0x51, 0x45, 0x77, 0x02, 0x34, 0x65, | ||
| 8190 | 0x45, 0x7c, 0x02, 0x34, 0xe4, 0x45, 0x96, 0x02, | ||
| 8191 | 0x35, 0x5a, 0x45, 0x97, 0x02, 0x35, 0x94, 0x45, | ||
| 8192 | 0xa3, 0x02, 0x35, 0xc4, 0x42, 0x09, 0x02, 0x36, | ||
| 8193 | 0x38, 0x45, 0xb3, 0x02, 0x36, 0x39, 0x45, 0xb1, | ||
| 8194 | 0x02, 0x36, 0x3a, 0x3c, 0x21, 0x02, 0x36, 0x47, | ||
| 8195 | 0x45, 0xb2, 0x02, 0x37, 0x0c, 0x45, 0xc7, 0x02, | ||
| 8196 | 0x37, 0x1c, 0x45, 0xbe, 0x02, 0x37, 0x3f, 0x42, | ||
| 8197 | 0x12, 0x02, 0x37, 0x63, 0x42, 0x14, 0x02, 0x37, | ||
| 8198 | 0x64, 0x45, 0xcb, 0x02, 0x37, 0xe7, 0x45, 0xd3, | ||
| 8199 | 0x02, 0x37, 0xf1, 0x4e, 0xb8, 0x02, 0x37, 0xff, | ||
| 8200 | 0x45, 0xd2, 0x02, 0x38, 0x24, 0x45, 0xd8, 0x02, | ||
| 8201 | 0x38, 0x3d, 0x45, 0xdd, 0x02, 0x3a, 0x98, 0x45, | ||
| 8202 | 0xe9, 0x02, 0x3c, 0x7f, 0x45, 0xf6, 0x02, 0x3c, | ||
| 8203 | 0xbe, 0x37, 0xd5, 0x02, 0x3c, 0xfe, 0x36, 0x50, | ||
| 8204 | 0x02, 0x3d, 0x00, 0x46, 0x05, 0x02, 0x3d, 0x0e, | ||
| 8205 | 0x47, 0xda, 0x02, 0x3d, 0x40, 0x46, 0x16, 0x02, | ||
| 8206 | 0x3d, 0xd3, 0x46, 0x19, 0x02, 0x3d, 0xf9, 0x46, | ||
| 8207 | 0x18, 0x02, 0x3d, 0xfa, 0x46, 0x17, 0x02, 0x3f, | ||
| 8208 | 0x7e, 0x46, 0x3f, 0x02, 0x40, 0x4b, 0x4e, 0xc8, | ||
| 8209 | 0x02, 0x40, 0x96, 0x46, 0x4e, 0x02, 0x41, 0x03, | ||
| 8210 | 0x46, 0x53, 0x02, 0x41, 0xc6, 0x46, 0x5f, 0x02, | ||
| 8211 | 0x41, 0xfe, 0x46, 0x62, 0x02, 0x42, 0xee, 0x37, | ||
| 8212 | 0xca, 0x02, 0x43, 0xbc, 0x46, 0x77, 0x02, 0x43, | ||
| 8213 | 0xd0, 0x1e, 0x9e, 0x02, 0x46, 0x29, 0x46, 0x81, | ||
| 8214 | 0x02, 0x46, 0xa5, 0x46, 0x87, 0x02, 0x47, 0xf1, | ||
| 8215 | 0x42, 0x4a, 0x02, 0x48, 0x96, 0x46, 0x9d, 0x02, | ||
| 8216 | 0x4a, 0x4d, 0x46, 0xb8, 0x02, 0x4b, 0x56, 0x46, | ||
| 8217 | 0xc5, 0x02, 0x4b, 0x6f, 0x46, 0xc7, 0x02, 0x4c, | ||
| 8218 | 0x16, 0x46, 0xcc, 0x02, 0x4d, 0x14, 0x36, 0xab, | ||
| 8219 | 0x02, 0x4e, 0x04, 0x4e, 0x5a, 0x02, 0x4e, 0x0e, | ||
| 8220 | 0x46, 0xee, 0x02, 0x4e, 0x37, 0x46, 0xf2, 0x02, | ||
| 8221 | 0x4e, 0x6a, 0x46, 0xf7, 0x02, 0x4e, 0x8b, 0x46, | ||
| 8222 | 0xfa, 0x02, 0x4f, 0xf2, 0x4e, 0x5b, 0x02, 0x50, | ||
| 8223 | 0x4a, 0x47, 0x05, 0x02, 0x50, 0x55, 0x47, 0x07, | ||
| 8224 | 0x02, 0x51, 0x22, 0x47, 0x09, 0x02, 0x51, 0xa9, | ||
| 8225 | 0x47, 0x0e, 0x02, 0x51, 0xcd, 0x47, 0x11, 0x02, | ||
| 8226 | 0x51, 0xe5, 0x47, 0x10, 0x02, 0x52, 0x1e, 0x47, | ||
| 8227 | 0x13, 0x02, 0x52, 0x4c, 0x47, 0x15, 0x02, 0x54, | ||
| 8228 | 0x2e, 0x47, 0x21, 0x02, 0x54, 0x8e, 0x42, 0x6d, | ||
| 8229 | 0x02, 0x54, 0xd9, 0x47, 0x29, 0x02, 0x55, 0x0e, | ||
| 8230 | 0x42, 0x71, 0x02, 0x55, 0xa7, 0x47, 0x35, 0x02, | ||
| 8231 | 0x56, 0x7f, 0x36, 0xfb, 0x02, 0x57, 0x71, 0x42, | ||
| 8232 | 0x7a, 0x02, 0x57, 0xa9, 0x47, 0x48, 0x02, 0x57, | ||
| 8233 | 0xb4, 0x47, 0x49, 0x02, 0x58, 0x74, 0x1d, 0xf6, | ||
| 8234 | 0x02, 0x59, 0xc4, 0x42, 0x80, 0x02, 0x59, 0xcc, | ||
| 8235 | 0x4e, 0x90, 0x02, 0x59, 0xd4, 0x47, 0x5c, 0x02, | ||
| 8236 | 0x5a, 0xd7, 0x36, 0x62, 0x02, 0x5a, 0xe3, 0x47, | ||
| 8237 | 0x65, 0x02, 0x5a, 0xe4, 0x47, 0x64, 0x02, 0x5a, | ||
| 8238 | 0xf1, 0x47, 0x66, 0x02, 0x5b, 0xb2, 0x47, 0x75, | ||
| 8239 | 0x02, 0x5c, 0x4b, 0x47, 0x7e, 0x02, 0x5c, 0x64, | ||
| 8240 | 0x47, 0x7f, 0x02, 0x5d, 0xa1, 0x42, 0x89, 0x02, | ||
| 8241 | 0x5e, 0x2e, 0x47, 0x8e, 0x02, 0x5e, 0x56, 0x47, | ||
| 8242 | 0x8f, 0x02, 0x5e, 0x62, 0x47, 0x92, 0x02, 0x5e, | ||
| 8243 | 0x65, 0x47, 0x90, 0x02, 0x5e, 0xc2, 0x47, 0x97, | ||
| 8244 | 0x02, 0x5e, 0xd8, 0x47, 0x95, 0x02, 0x5e, 0xe8, | ||
| 8245 | 0x47, 0x99, 0x02, 0x5f, 0x23, 0x47, 0x9a, 0x02, | ||
| 8246 | 0x5f, 0x5c, 0x47, 0x9c, 0x02, 0x5f, 0xd4, 0x47, | ||
| 8247 | 0xa3, 0x02, 0x5f, 0xe0, 0x47, 0xa2, 0x02, 0x5f, | ||
| 8248 | 0xfb, 0x47, 0xa9, 0x02, 0x60, 0x0c, 0x47, 0xa8, | ||
| 8249 | 0x02, 0x60, 0x17, 0x47, 0xb0, 0x02, 0x60, 0x60, | ||
| 8250 | 0x47, 0xb3, 0x02, 0x60, 0xed, 0x47, 0xbd, 0x02, | ||
| 8251 | 0x62, 0x22, 0x35, 0x7b, 0x02, 0x62, 0x6a, 0x37, | ||
| 8252 | 0x6d, 0x02, 0x62, 0x70, 0x47, 0xd1, 0x02, 0x62, | ||
| 8253 | 0x86, 0x47, 0xd2, 0x02, 0x63, 0x4c, 0x4f, 0x57, | ||
| 8254 | 0x02, 0x64, 0x02, 0x47, 0xde, 0x02, 0x66, 0x7e, | ||
| 8255 | 0x47, 0xf0, 0x02, 0x66, 0xb0, 0x37, 0x14, 0x02, | ||
| 8256 | 0x67, 0x1d, 0x47, 0xfe, 0x02, 0x68, 0xdd, 0x48, | ||
| 8257 | 0x0c, 0x02, 0x68, 0xea, 0x48, 0x0e, 0x02, 0x69, | ||
| 8258 | 0x51, 0x35, 0x4e, 0x02, 0x69, 0x6f, 0x48, 0x12, | ||
| 8259 | 0x02, 0x69, 0x99, 0x37, 0x36, 0x02, 0x69, 0xdd, | ||
| 8260 | 0x48, 0x14, 0x02, 0x6a, 0x1e, 0x48, 0x17, 0x02, | ||
| 8261 | 0x6a, 0x58, 0x48, 0x1b, 0x02, 0x6a, 0x8c, 0x48, | ||
| 8262 | 0x1f, 0x02, 0x6a, 0xb7, 0x48, 0x22, 0x02, 0x6a, | ||
| 8263 | 0xff, 0x42, 0xa7, 0x02, 0x6c, 0x29, 0x44, 0x46, | ||
| 8264 | 0x02, 0x6c, 0x73, 0x48, 0x4a, 0x02, 0x6c, 0x9e, | ||
| 8265 | 0x4e, 0xee, 0x02, 0x6c, 0xdd, 0x48, 0x53, 0x02, | ||
| 8266 | 0x6e, 0x40, 0x42, 0xc1, 0x02, 0x6e, 0x65, 0x48, | ||
| 8267 | 0x60, 0x02, 0x6f, 0x94, 0x48, 0x70, 0x02, 0x6f, | ||
| 8268 | 0xf6, 0x48, 0x7a, 0x02, 0x6f, 0xf7, 0x48, 0x7b, | ||
| 8269 | 0x02, 0x6f, 0xf8, 0x48, 0x79, 0x02, 0x70, 0xf4, | ||
| 8270 | 0x42, 0xcf, 0x02, 0x71, 0x0d, 0x48, 0x8b, 0x02, | ||
| 8271 | 0x71, 0x39, 0x48, 0x8e, 0x02, 0x73, 0xda, 0x48, | ||
| 8272 | 0xb3, 0x02, 0x73, 0xdb, 0x48, 0xb2, 0x02, 0x73, | ||
| 8273 | 0xfe, 0x48, 0xb9, 0x02, 0x74, 0x10, 0x48, 0xbc, | ||
| 8274 | 0x02, 0x74, 0x49, 0x48, 0xc0, 0x02, 0x76, 0x14, | ||
| 8275 | 0x48, 0xce, 0x02, 0x76, 0x15, 0x48, 0xcd, 0x02, | ||
| 8276 | 0x76, 0x31, 0x48, 0xd0, 0x02, 0x76, 0x84, 0x42, | ||
| 8277 | 0xdd, 0x02, 0x76, 0x93, 0x48, 0xd5, 0x02, 0x77, | ||
| 8278 | 0x0e, 0x48, 0xda, 0x02, 0x77, 0x23, 0x48, 0xdc, | ||
| 8279 | 0x02, 0x77, 0x52, 0x48, 0xe0, 0x02, 0x79, 0x85, | ||
| 8280 | 0x48, 0xf0, 0x02, 0x79, 0xb4, 0x4e, 0xa5, 0x02, | ||
| 8281 | 0x7a, 0x84, 0x48, 0xfc, 0x02, 0x7b, 0xb3, 0x49, | ||
| 8282 | 0x0b, 0x02, 0x7b, 0xbe, 0x49, 0x0d, 0x02, 0x7b, | ||
| 8283 | 0xc7, 0x49, 0x0e, 0x02, 0x7c, 0x3c, 0x4e, 0xfc, | ||
| 8284 | 0x02, 0x7c, 0xb8, 0x49, 0x14, 0x02, 0x7d, 0x73, | ||
| 8285 | 0x4e, 0x5c, 0x02, 0x7d, 0xa0, 0x49, 0x1c, 0x02, | ||
| 8286 | 0x7e, 0x10, 0x49, 0x1e, 0x02, 0x7f, 0xb7, 0x36, | ||
| 8287 | 0x4a, 0x02, 0x80, 0x8a, 0x49, 0x27, 0x02, 0x80, | ||
| 8288 | 0xbb, 0x49, 0x2d, 0x02, 0x82, 0x77, 0x42, 0xf4, | ||
| 8289 | 0x02, 0x82, 0x82, 0x49, 0x39, 0x02, 0x82, 0xf3, | ||
| 8290 | 0x49, 0x3b, 0x02, 0x83, 0xcd, 0x42, 0xfa, 0x02, | ||
| 8291 | 0x84, 0x0c, 0x49, 0x42, 0x02, 0x84, 0x55, 0x49, | ||
| 8292 | 0x45, 0x02, 0x85, 0x6b, 0x49, 0x52, 0x02, 0x85, | ||
| 8293 | 0xc8, 0x49, 0x55, 0x02, 0x85, 0xc9, 0x49, 0x56, | ||
| 8294 | 0x02, 0x86, 0xd7, 0x49, 0x60, 0x02, 0x86, 0xfa, | ||
| 8295 | 0x49, 0x63, 0x02, 0x89, 0x46, 0x49, 0x7c, 0x02, | ||
| 8296 | 0x89, 0x49, 0x49, 0x7b, 0x02, 0x89, 0x6b, 0x49, | ||
| 8297 | 0x81, 0x02, 0x89, 0x87, 0x37, 0xad, 0x02, 0x89, | ||
| 8298 | 0x88, 0x49, 0x88, 0x02, 0x89, 0xba, 0x49, 0x92, | ||
| 8299 | 0x02, 0x89, 0xbb, 0x49, 0x93, 0x02, 0x8a, 0x1e, | ||
| 8300 | 0x49, 0x9b, 0x02, 0x8a, 0x29, 0x49, 0x9c, 0x02, | ||
| 8301 | 0x8a, 0x43, 0x49, 0xa0, 0x02, 0x8a, 0x71, 0x49, | ||
| 8302 | 0x9f, 0x02, 0x8a, 0x99, 0x49, 0xa7, 0x02, 0x8a, | ||
| 8303 | 0xcd, 0x49, 0xa8, 0x02, 0x8a, 0xdd, 0x49, 0xaf, | ||
| 8304 | 0x02, 0x8a, 0xe4, 0x49, 0xae, 0x02, 0x8b, 0xc1, | ||
| 8305 | 0x49, 0xba, 0x02, 0x8b, 0xef, 0x49, 0xbb, 0x02, | ||
| 8306 | 0x8c, 0xdd, 0x1d, 0xd9, 0x02, 0x8d, 0x10, 0x49, | ||
| 8307 | 0xc2, 0x02, 0x8d, 0x71, 0x49, 0xc3, 0x02, 0x8d, | ||
| 8308 | 0xfb, 0x49, 0xc5, 0x02, 0x8e, 0x17, 0x37, 0xb0, | ||
| 8309 | 0x02, 0x8e, 0x1f, 0x49, 0xc6, 0x02, 0x8e, 0x36, | ||
| 8310 | 0x49, 0xca, 0x02, 0x8e, 0x89, 0x49, 0xcd, 0x02, | ||
| 8311 | 0x8e, 0xeb, 0x49, 0xcf, 0x02, 0x8e, 0xf6, 0x1d, | ||
| 8312 | 0xf9, 0x02, 0x8f, 0x32, 0x49, 0xd1, 0x02, 0x8f, | ||
| 8313 | 0xf8, 0x49, 0xd7, 0x02, 0x92, 0xa0, 0x49, 0xe5, | ||
| 8314 | 0x02, 0x92, 0xb1, 0x49, 0xe6, 0x02, 0x94, 0x90, | ||
| 8315 | 0x49, 0xf7, 0x02, 0x95, 0xcf, 0x4a, 0x00, 0x02, | ||
| 8316 | 0x96, 0x7f, 0x36, 0x19, 0x02, 0x96, 0xf0, 0x4a, | ||
| 8317 | 0x0f, 0x02, 0x97, 0x19, 0x4a, 0x12, 0x02, 0x97, | ||
| 8318 | 0x50, 0x4a, 0x16, 0x02, 0x98, 0xc6, 0x4a, 0x27, | ||
| 8319 | 0x02, 0x9a, 0x72, 0x4a, 0x39, 0x02, 0x9d, 0x4b, | ||
| 8320 | 0x35, 0x95, 0x02, 0x9d, 0xdb, 0x4a, 0x52, 0x02, | ||
| 8321 | 0x9e, 0x15, 0x4a, 0x5c, 0x02, 0x9e, 0x3d, 0x4f, | ||
| 8322 | 0x5b, 0x02, 0x9e, 0x49, 0x4a, 0x5e, 0x02, 0x9e, | ||
| 8323 | 0x8a, 0x4a, 0x5d, 0x02, 0x9e, 0xc4, 0x4a, 0x66, | ||
| 8324 | 0x02, 0x9e, 0xdb, 0x4a, 0x6e, 0x02, 0x9e, 0xe9, | ||
| 8325 | 0x4a, 0x6b, 0x02, 0x9f, 0xce, 0x4a, 0x7f, 0x02, | ||
| 8326 | 0x9f, 0xd7, 0x4a, 0x7f, 0x02, 0xa0, 0x1a, 0x4a, | ||
| 8327 | 0x85, 0x02, 0xa0, 0x2f, 0x4a, 0x83, 0x02, 0xa0, | ||
| 8328 | 0x82, 0x4a, 0x8c, 0x02, 0xa0, 0xf9, 0x4a, 0x8b, | ||
| 8329 | 0x02, 0xa1, 0x90, 0x43, 0x4b, 0x02, 0xa2, 0xb2, | ||
| 8330 | 0x4e, 0x68, 0x02, 0xa3, 0x8c, 0x4a, 0xa5, 0x02, | ||
| 8331 | 0xa4, 0x37, 0x4a, 0xa7, 0x02, 0xa5, 0xf1, 0x4a, | ||
| 8332 | 0xb3, 0x02, 0xa6, 0x02, 0x4a, 0xb5, 0x02, 0xa6, | ||
| 8333 | 0x1a, 0x4f, 0x5c, 0x02, 0xa6, 0xb2, 0x4a, 0xb9, | ||
| 8334 | 0x02, 0xa9, 0xe6, 0x37, 0x41, 0x02, 0xb7, 0x46, | ||
| 8335 | 0x35, 0xd4, 0x02, 0xb7, 0x51, 0x36, 0x2a, 0x02, | ||
| 8336 | 0xb7, 0x53, 0x4e, 0x78, 0x02, 0xb7, 0x5a, 0x4e, | ||
| 8337 | 0x80, 0x02, 0xb7, 0x5c, 0x4e, 0x81, 0x02, 0xb7, | ||
| 8338 | 0x65, 0x4f, 0x17, 0x02, 0xb7, 0x76, 0x4e, 0x92, | ||
| 8339 | 0x02, 0xb7, 0x77, 0x35, 0xd6, 0x02, 0xb7, 0x7c, | ||
| 8340 | 0x4e, 0x9d, 0x02, 0xb7, 0x82, 0x4e, 0xad, 0x02, | ||
| 8341 | 0xb7, 0x89, 0x36, 0xf0, 0x02, 0xb7, 0x8b, 0x4e, | ||
| 8342 | 0xb5, 0x02, 0xb7, 0x8e, 0x35, 0x9c, 0x02, 0xb7, | ||
| 8343 | 0x94, 0x4e, 0xb9, 0x02, 0xb7, 0xac, 0x4e, 0xd0, | ||
| 8344 | 0x02, 0xb7, 0xaf, 0x4e, 0xd4, 0x02, 0xb7, 0xbd, | ||
| 8345 | 0x37, 0x5e, 0x02, 0xb7, 0xc9, 0x4e, 0xe2, 0x02, | ||
| 8346 | 0xb7, 0xcf, 0x4e, 0xe9, 0x02, 0xb7, 0xd2, 0x4e, | ||
| 8347 | 0xec, 0x02, 0xb7, 0xd8, 0x35, 0x53, 0x02, 0xb7, | ||
| 8348 | 0xf0, 0x4f, 0x10, 0x02, 0xb8, 0x0d, 0x4f, 0x20, | ||
| 8349 | 0x02, 0xb8, 0x17, 0x4f, 0x24, 0x02, 0xb8, 0x1a, | ||
| 8350 | 0x37, 0xc6, 0x00, 0x00, 0x04, 0xb7, 0x00, 0x34, | ||
| 8351 | 0x02, 0x35, 0x81, 0x00, 0x4e, 0x08, 0x34, 0x97, | ||
| 8352 | 0x00, 0x4e, 0x0e, 0x4e, 0x69, 0x00, 0x4e, 0x19, | ||
| 8353 | 0x36, 0xb9, 0x00, 0x4e, 0x26, 0x4e, 0x6a, 0x00, | ||
| 8354 | 0x4e, 0x30, 0x3c, 0x1a, 0x00, 0x4e, 0x39, 0x36, | ||
| 8355 | 0x5a, 0x00, 0x4e, 0x3b, 0x35, 0xf4, 0x00, 0x4e, | ||
| 8356 | 0x73, 0x36, 0x90, 0x00, 0x4e, 0xa1, 0x36, 0xcf, | ||
| 8357 | 0x00, 0x4e, 0xa4, 0x34, 0x7f, 0x00, 0x4e, 0xca, | ||
| 8358 | 0x35, 0xd4, 0x00, 0x4f, 0x34, 0x36, 0xa0, 0x00, | ||
| 8359 | 0x4f, 0x4f, 0x35, 0xfc, 0x00, 0x4f, 0x60, 0x3c, | ||
| 8360 | 0x1c, 0x00, 0x4f, 0x73, 0x4e, 0x6c, 0x00, 0x4f, | ||
| 8361 | 0x75, 0x34, 0x47, 0x00, 0x4f, 0x7f, 0x34, 0x8a, | ||
| 8362 | 0x00, 0x4f, 0xae, 0x34, 0x46, 0x00, 0x4f, 0xb5, | ||
| 8363 | 0x36, 0x1b, 0x00, 0x4f, 0xbf, 0x34, 0xc2, 0x00, | ||
| 8364 | 0x50, 0x24, 0x36, 0x5f, 0x00, 0x50, 0x26, 0x1d, | ||
| 8365 | 0xfa, 0x00, 0x50, 0x49, 0x34, 0x61, 0x00, 0x50, | ||
| 8366 | 0x4f, 0x36, 0xbe, 0x00, 0x50, 0x56, 0x4e, 0x6d, | ||
| 8367 | 0x00, 0x50, 0x65, 0x34, 0x7b, 0x00, 0x50, 0x85, | ||
| 8368 | 0x34, 0xd0, 0x00, 0x50, 0x91, 0x34, 0x79, 0x00, | ||
| 8369 | 0x50, 0xc5, 0x1d, 0xee, 0x00, 0x50, 0xca, 0x1f, | ||
| 8370 | 0x2e, 0x00, 0x50, 0xcf, 0x34, 0xa2, 0x00, 0x50, | ||
| 8371 | 0xe7, 0x34, 0x30, 0x00, 0x50, 0xed, 0x4e, 0x6e, | ||
| 8372 | 0x00, 0x50, 0xf2, 0x52, 0xac, 0x00, 0x51, 0x1a, | ||
| 8373 | 0x37, 0x16, 0x00, 0x51, 0x32, 0x1e, 0x76, 0x00, | ||
| 8374 | 0x51, 0x46, 0x34, 0xa5, 0x00, 0x51, 0x4d, 0x34, | ||
| 8375 | 0x4d, 0x00, 0x51, 0x4e, 0x36, 0x7d, 0x00, 0x51, | ||
| 8376 | 0x54, 0x10, 0x74, 0x00, 0x51, 0x68, 0x36, 0x42, | ||
| 8377 | 0x00, 0x51, 0x6b, 0x4e, 0x6f, 0x00, 0x51, 0x6c, | ||
| 8378 | 0x34, 0x80, 0x00, 0x51, 0x77, 0x35, 0xa5, 0x00, | ||
| 8379 | 0x51, 0x7c, 0x35, 0xb4, 0x00, 0x51, 0x89, 0x1e, | ||
| 8380 | 0x87, 0x00, 0x51, 0x8d, 0x08, 0x36, 0x00, 0x51, | ||
| 8381 | 0x92, 0x36, 0xd6, 0x00, 0x51, 0x93, 0x34, 0xd1, | ||
| 8382 | 0x00, 0x51, 0x95, 0x10, 0x82, 0x00, 0x51, 0xa4, | ||
| 8383 | 0x1e, 0x89, 0x00, 0x51, 0xac, 0x0c, 0x59, 0x00, | ||
| 8384 | 0x51, 0xb4, 0x34, 0x5c, 0x00, 0x51, 0xcb, 0x1e, | ||
| 8385 | 0x3e, 0x00, 0x51, 0xdb, 0x34, 0xd2, 0x00, 0x51, | ||
| 8386 | 0xde, 0x4f, 0x53, 0x00, 0x51, 0xe1, 0x36, 0xd9, | ||
| 8387 | 0x00, 0x51, 0xfd, 0x4e, 0x72, 0x00, 0x52, 0x03, | ||
| 8388 | 0x36, 0x22, 0x00, 0x52, 0x06, 0x34, 0xbb, 0x00, | ||
| 8389 | 0x52, 0x24, 0x36, 0xa1, 0x00, 0x52, 0x38, 0x35, | ||
| 8390 | 0xb5, 0x00, 0x52, 0x4a, 0x35, 0xdd, 0x00, 0x52, | ||
| 8391 | 0x4d, 0x36, 0x41, 0x00, 0x52, 0x64, 0x4e, 0x74, | ||
| 8392 | 0x00, 0x52, 0x71, 0x4e, 0x75, 0x00, 0x52, 0x72, | ||
| 8393 | 0x05, 0xc2, 0x00, 0x52, 0x75, 0x1e, 0x2b, 0x00, | ||
| 8394 | 0x52, 0x8d, 0x37, 0x1a, 0x00, 0x52, 0xc7, 0x36, | ||
| 8395 | 0xf6, 0x00, 0x52, 0xc9, 0x0e, 0x29, 0x00, 0x52, | ||
| 8396 | 0xd7, 0x37, 0x1b, 0x00, 0x52, 0xdd, 0x36, 0x05, | ||
| 8397 | 0x00, 0x52, 0xe2, 0x36, 0x2a, 0x00, 0x52, 0xe4, | ||
| 8398 | 0x34, 0x1a, 0x00, 0x52, 0xfa, 0x09, 0x07, 0x00, | ||
| 8399 | 0x53, 0x00, 0x37, 0xcf, 0x00, 0x53, 0x05, 0x36, | ||
| 8400 | 0xc3, 0x00, 0x53, 0x07, 0x20, 0xd4, 0x00, 0x53, | ||
| 8401 | 0x15, 0x1f, 0x2f, 0x00, 0x53, 0x16, 0x35, 0x61, | ||
| 8402 | 0x00, 0x53, 0x39, 0x36, 0xaa, 0x00, 0x53, 0x3f, | ||
| 8403 | 0x4e, 0x77, 0x00, 0x53, 0x40, 0x34, 0xd4, 0x00, | ||
| 8404 | 0x53, 0x4a, 0x36, 0xa2, 0x00, 0x53, 0x51, 0x0d, | ||
| 8405 | 0x70, 0x00, 0x53, 0x5a, 0x36, 0x98, 0x00, 0x53, | ||
| 8406 | 0x65, 0x52, 0xf3, 0x00, 0x53, 0x71, 0x35, 0x80, | ||
| 8407 | 0x00, 0x53, 0x78, 0x35, 0x5f, 0x00, 0x53, 0x7f, | ||
| 8408 | 0x06, 0xa2, 0x00, 0x53, 0xa9, 0x1d, 0xd8, 0x00, | ||
| 8409 | 0x53, 0xc9, 0x4f, 0x39, 0x00, 0x53, 0xca, 0x35, | ||
| 8410 | 0x8e, 0x00, 0x53, 0xce, 0x34, 0x8f, 0x00, 0x53, | ||
| 8411 | 0xd7, 0x35, 0xf5, 0x00, 0x53, 0xdb, 0x1f, 0x2a, | ||
| 8412 | 0x00, 0x53, 0xdf, 0x37, 0x1f, 0x00, 0x53, 0xe0, | ||
| 8413 | 0x53, 0x00, 0x00, 0x53, 0xf1, 0x1e, 0x0c, 0x00, | ||
| 8414 | 0x53, 0xf2, 0x34, 0x8b, 0x00, 0x54, 0x0f, 0x34, | ||
| 8415 | 0xc9, 0x00, 0x54, 0x38, 0x35, 0x8f, 0x00, 0x54, | ||
| 8416 | 0x40, 0x4e, 0x79, 0x00, 0x54, 0x48, 0x36, 0x76, | ||
| 8417 | 0x00, 0x54, 0x68, 0x09, 0x2a, 0x00, 0x54, 0xac, | ||
| 8418 | 0x4f, 0x35, 0x00, 0x54, 0xb2, 0x35, 0xdc, 0x00, | ||
| 8419 | 0x54, 0xe8, 0x1e, 0x17, 0x00, 0x55, 0x10, 0x36, | ||
| 8420 | 0x83, 0x00, 0x55, 0x33, 0x1e, 0x8b, 0x00, 0x55, | ||
| 8421 | 0x39, 0x1e, 0x8a, 0x00, 0x55, 0x44, 0x1e, 0x32, | ||
| 8422 | 0x00, 0x55, 0x46, 0x36, 0x06, 0x00, 0x55, 0x53, | ||
| 8423 | 0x35, 0xaa, 0x00, 0x55, 0x61, 0x38, 0x39, 0x00, | ||
| 8424 | 0x55, 0x84, 0x4e, 0x5e, 0x00, 0x55, 0x9c, 0x4e, | ||
| 8425 | 0x7b, 0x00, 0x55, 0x9d, 0x1d, 0xe3, 0x00, 0x55, | ||
| 8426 | 0xa9, 0x1f, 0x30, 0x00, 0x55, 0xab, 0x35, 0x8b, | ||
| 8427 | 0x00, 0x55, 0xb0, 0x1d, 0xf0, 0x00, 0x55, 0xe4, | ||
| 8428 | 0x1e, 0x8c, 0x00, 0x56, 0x05, 0x53, 0x2d, 0x00, | ||
| 8429 | 0x56, 0x06, 0x0b, 0x70, 0x00, 0x56, 0x09, 0x4e, | ||
| 8430 | 0x7d, 0x00, 0x56, 0x32, 0x1e, 0x8d, 0x00, 0x56, | ||
| 8431 | 0x42, 0x1d, 0xda, 0x00, 0x56, 0x4c, 0x1e, 0x29, | ||
| 8432 | 0x00, 0x56, 0x68, 0x34, 0x15, 0x00, 0x56, 0x74, | ||
| 8433 | 0x34, 0xbc, 0x00, 0x56, 0x78, 0x1e, 0x52, 0x00, | ||
| 8434 | 0x56, 0xa5, 0x1e, 0x8e, 0x00, 0x56, 0xae, 0x1f, | ||
| 8435 | 0x31, 0x00, 0x56, 0xc0, 0x37, 0x24, 0x00, 0x56, | ||
| 8436 | 0xc1, 0x34, 0xd7, 0x00, 0x56, 0xce, 0x4e, 0x82, | ||
| 8437 | 0x00, 0x56, 0xee, 0x4e, 0x83, 0x00, 0x57, 0x0d, | ||
| 8438 | 0x34, 0xd8, 0x00, 0x57, 0x47, 0x34, 0x78, 0x00, | ||
| 8439 | 0x57, 0x6a, 0x36, 0x74, 0x00, 0x57, 0xce, 0x09, | ||
| 8440 | 0xd3, 0x00, 0x57, 0xd6, 0x4e, 0x84, 0x00, 0x57, | ||
| 8441 | 0xf4, 0x34, 0x98, 0x00, 0x58, 0x0b, 0x1e, 0x8f, | ||
| 8442 | 0x00, 0x58, 0x19, 0x1f, 0x32, 0x00, 0x58, 0x35, | ||
| 8443 | 0x1e, 0x49, 0x00, 0x58, 0x3d, 0x4e, 0x85, 0x00, | ||
| 8444 | 0x58, 0x40, 0x34, 0x48, 0x00, 0x58, 0x58, 0x1e, | ||
| 8445 | 0x4d, 0x00, 0x58, 0x59, 0x4e, 0x86, 0x00, 0x58, | ||
| 8446 | 0x5a, 0x1e, 0x42, 0x00, 0x58, 0x9c, 0x36, 0x71, | ||
| 8447 | 0x00, 0x58, 0xa8, 0x0e, 0x7d, 0x00, 0x58, 0xab, | ||
| 8448 | 0x34, 0xd9, 0x00, 0x59, 0x06, 0x53, 0x7b, 0x00, | ||
| 8449 | 0x59, 0x1b, 0x1f, 0x33, 0x00, 0x59, 0x27, 0x36, | ||
| 8450 | 0x55, 0x00, 0x59, 0x4f, 0x4e, 0x87, 0x00, 0x59, | ||
| 8451 | 0x51, 0x35, 0xab, 0x00, 0x59, 0x53, 0x37, 0xd1, | ||
| 8452 | 0x00, 0x59, 0x60, 0x4e, 0x89, 0x00, 0x59, 0x62, | ||
| 8453 | 0x4e, 0x8a, 0x00, 0x59, 0x73, 0x36, 0x04, 0x00, | ||
| 8454 | 0x59, 0x84, 0x36, 0xe7, 0x00, 0x59, 0xa5, 0x36, | ||
| 8455 | 0x4f, 0x00, 0x59, 0xc9, 0x34, 0x8c, 0x00, 0x59, | ||
| 8456 | 0xda, 0x34, 0xda, 0x00, 0x59, 0xec, 0x36, 0xae, | ||
| 8457 | 0x00, 0x59, 0xff, 0x35, 0xe0, 0x00, 0x5a, 0x1c, | ||
| 8458 | 0x37, 0x26, 0x00, 0x5a, 0x29, 0x1e, 0x6f, 0x00, | ||
| 8459 | 0x5a, 0x36, 0x34, 0xdb, 0x00, 0x5a, 0x66, 0x36, | ||
| 8460 | 0xb2, 0x00, 0x5a, 0x9b, 0x1e, 0x68, 0x00, 0x5a, | ||
| 8461 | 0xbe, 0x1e, 0x90, 0x00, 0x5a, 0xc2, 0x37, 0x27, | ||
| 8462 | 0x00, 0x5a, 0xcc, 0x1d, 0xfb, 0x00, 0x5a, 0xda, | ||
| 8463 | 0x4e, 0x8b, 0x00, 0x5b, 0x5a, 0x4e, 0x8c, 0x00, | ||
| 8464 | 0x5b, 0x73, 0x4e, 0x8d, 0x00, 0x5b, 0x7c, 0x4e, | ||
| 8465 | 0x8e, 0x00, 0x5b, 0xb3, 0x34, 0x6d, 0x00, 0x5b, | ||
| 8466 | 0xb5, 0x36, 0x07, 0x00, 0x5b, 0xc3, 0x37, 0x29, | ||
| 8467 | 0x00, 0x5b, 0xd2, 0x35, 0x78, 0x00, 0x5b, 0xdb, | ||
| 8468 | 0x20, 0xf4, 0x00, 0x5b, 0xe7, 0x0c, 0xe1, 0x00, | ||
| 8469 | 0x5b, 0xe8, 0x37, 0x42, 0x00, 0x5c, 0x06, 0x09, | ||
| 8470 | 0x95, 0x00, 0x5c, 0x0a, 0x36, 0x4d, 0x00, 0x5c, | ||
| 8471 | 0x0b, 0x36, 0x23, 0x00, 0x5c, 0x0e, 0x36, 0x8a, | ||
| 8472 | 0x00, 0x5c, 0x0f, 0x36, 0x09, 0x00, 0x5c, 0x28, | ||
| 8473 | 0x1f, 0x34, 0x00, 0x5c, 0x51, 0x1d, 0xf2, 0x00, | ||
| 8474 | 0x5c, 0x60, 0x1e, 0x4a, 0x00, 0x5c, 0x64, 0x34, | ||
| 8475 | 0x31, 0x00, 0x5c, 0x6e, 0x12, 0x32, 0x00, 0x5d, | ||
| 8476 | 0x29, 0x36, 0xc4, 0x00, 0x5d, 0x4e, 0x34, 0xdd, | ||
| 8477 | 0x00, 0x5d, 0x87, 0x34, 0xde, 0x00, 0x5d, 0xb2, | ||
| 8478 | 0x3c, 0x2d, 0x00, 0x5d, 0xc9, 0x34, 0xdf, 0x00, | ||
| 8479 | 0x5d, 0xcc, 0x34, 0x73, 0x00, 0x5d, 0xd3, 0x34, | ||
| 8480 | 0xe0, 0x00, 0x5d, 0xe1, 0x35, 0xff, 0x00, 0x5d, | ||
| 8481 | 0xe5, 0x35, 0xc3, 0x00, 0x5d, 0xe8, 0x35, 0x92, | ||
| 8482 | 0x00, 0x5d, 0xf7, 0x1d, 0xff, 0x00, 0x5d, 0xfd, | ||
| 8483 | 0x0b, 0x65, 0x00, 0x5e, 0x06, 0x36, 0xa3, 0x00, | ||
| 8484 | 0x5e, 0x1d, 0x36, 0x77, 0x00, 0x5e, 0x30, 0x34, | ||
| 8485 | 0x75, 0x00, 0x5e, 0x3d, 0x36, 0xd0, 0x00, 0x5e, | ||
| 8486 | 0x43, 0x4e, 0x91, 0x00, 0x5e, 0x54, 0x37, 0x2d, | ||
| 8487 | 0x00, 0x5e, 0x63, 0x36, 0xba, 0x00, 0x5e, 0x64, | ||
| 8488 | 0x1e, 0x93, 0x00, 0x5e, 0x73, 0x36, 0xbb, 0x00, | ||
| 8489 | 0x5e, 0x7e, 0x35, 0x84, 0x00, 0x5e, 0x96, 0x1e, | ||
| 8490 | 0x70, 0x00, 0x5e, 0xa7, 0x4e, 0x92, 0x00, 0x5e, | ||
| 8491 | 0xad, 0x34, 0xa9, 0x00, 0x5e, 0xc9, 0x0f, 0xbf, | ||
| 8492 | 0x00, 0x5e, 0xca, 0x4f, 0x4f, 0x00, 0x5e, 0xcb, | ||
| 8493 | 0x38, 0xae, 0x00, 0x5e, 0xcf, 0x1f, 0x36, 0x00, | ||
| 8494 | 0x5e, 0xd0, 0x1f, 0x35, 0x00, 0x5e, 0xdf, 0x1e, | ||
| 8495 | 0x6a, 0x00, 0x5e, 0xe0, 0x1e, 0x18, 0x00, 0x5e, | ||
| 8496 | 0xe3, 0x37, 0x2f, 0x00, 0x5e, 0xf6, 0x34, 0x67, | ||
| 8497 | 0x00, 0x5e, 0xf7, 0x34, 0xaa, 0x00, 0x5e, 0xfa, | ||
| 8498 | 0x34, 0x7c, 0x00, 0x5e, 0xfb, 0x35, 0x69, 0x00, | ||
| 8499 | 0x5f, 0x0a, 0x36, 0xbc, 0x00, 0x5f, 0x2d, 0x34, | ||
| 8500 | 0xe1, 0x00, 0x5f, 0x31, 0x35, 0xf3, 0x00, 0x5f, | ||
| 8501 | 0x38, 0x4e, 0x94, 0x00, 0x5f, 0x45, 0x37, 0xce, | ||
| 8502 | 0x00, 0x5f, 0x50, 0x3c, 0x1f, 0x00, 0x5f, 0x62, | ||
| 8503 | 0x4e, 0x5f, 0x00, 0x5f, 0x69, 0x35, 0xd7, 0x00, | ||
| 8504 | 0x5f, 0x6b, 0x36, 0x68, 0x00, 0x5f, 0x80, 0x35, | ||
| 8505 | 0x5d, 0x00, 0x5f, 0x98, 0x34, 0xe2, 0x00, 0x5f, | ||
| 8506 | 0xa1, 0x4e, 0x95, 0x00, 0x5f, 0xae, 0x36, 0xa8, | ||
| 8507 | 0x00, 0x5f, 0xb5, 0x36, 0x69, 0x00, 0x5f, 0xbd, | ||
| 8508 | 0x1d, 0xea, 0x00, 0x5f, 0xcd, 0x36, 0x91, 0x00, | ||
| 8509 | 0x5f, 0xd8, 0x36, 0xd1, 0x00, 0x5f, 0xd9, 0x36, | ||
| 8510 | 0xd2, 0x00, 0x5f, 0xdd, 0x4e, 0x96, 0x00, 0x60, | ||
| 8511 | 0x25, 0x35, 0x90, 0x00, 0x60, 0x50, 0x35, 0x99, | ||
| 8512 | 0x00, 0x60, 0x62, 0x1d, 0xe0, 0x00, 0x60, 0x65, | ||
| 8513 | 0x34, 0xa4, 0x00, 0x60, 0x75, 0x35, 0xac, 0x00, | ||
| 8514 | 0x60, 0x94, 0x05, 0x79, 0x00, 0x60, 0x97, 0x1e, | ||
| 8515 | 0x94, 0x00, 0x60, 0x9e, 0x54, 0x36, 0x00, 0x60, | ||
| 8516 | 0xa4, 0x3c, 0x20, 0x00, 0x60, 0xb2, 0x34, 0xb3, | ||
| 8517 | 0x00, 0x60, 0xc5, 0x36, 0x12, 0x00, 0x60, 0xd8, | ||
| 8518 | 0x34, 0xe3, 0x00, 0x61, 0x08, 0x1e, 0x7a, 0x00, | ||
| 8519 | 0x61, 0x09, 0x36, 0xf3, 0x00, 0x61, 0x0f, 0x35, | ||
| 8520 | 0x47, 0x00, 0x61, 0x3d, 0x34, 0xe4, 0x00, 0x61, | ||
| 8521 | 0x48, 0x4e, 0x60, 0x00, 0x61, 0x4c, 0x35, 0xc4, | ||
| 8522 | 0x00, 0x61, 0x4e, 0x34, 0x2c, 0x00, 0x61, 0x62, | ||
| 8523 | 0x4e, 0x97, 0x00, 0x61, 0x67, 0x1d, 0xf5, 0x00, | ||
| 8524 | 0x61, 0x68, 0x34, 0x10, 0x00, 0x61, 0x8e, 0x0b, | ||
| 8525 | 0x00, 0x00, 0x61, 0x90, 0x37, 0x10, 0x00, 0x61, | ||
| 8526 | 0xa4, 0x34, 0xbd, 0x00, 0x61, 0xb2, 0x35, 0xb6, | ||
| 8527 | 0x00, 0x61, 0xf2, 0x34, 0x39, 0x00, 0x61, 0xf8, | ||
| 8528 | 0x4e, 0x99, 0x00, 0x61, 0xfe, 0x34, 0xe5, 0x00, | ||
| 8529 | 0x62, 0x10, 0x36, 0x2b, 0x00, 0x62, 0x3b, 0x36, | ||
| 8530 | 0xeb, 0x00, 0x62, 0x3f, 0x36, 0xd3, 0x00, 0x62, | ||
| 8531 | 0x40, 0x36, 0x02, 0x00, 0x62, 0x41, 0x1f, 0x37, | ||
| 8532 | 0x00, 0x62, 0x47, 0x36, 0x3b, 0x00, 0x62, 0x48, | ||
| 8533 | 0x1e, 0xc2, 0x00, 0x62, 0x49, 0x1e, 0x63, 0x00, | ||
| 8534 | 0x62, 0x68, 0x34, 0xe6, 0x00, 0x62, 0x71, 0x35, | ||
| 8535 | 0x45, 0x00, 0x62, 0xb1, 0x36, 0xc5, 0x00, 0x62, | ||
| 8536 | 0xcc, 0x37, 0x32, 0x00, 0x62, 0xcf, 0x34, 0xe7, | ||
| 8537 | 0x00, 0x62, 0xd0, 0x1d, 0xe1, 0x00, 0x62, 0xd2, | ||
| 8538 | 0x35, 0x93, 0x00, 0x62, 0xd4, 0x13, 0x5d, 0x00, | ||
| 8539 | 0x62, 0xf3, 0x1f, 0x21, 0x00, 0x62, 0xf7, 0x34, | ||
| 8540 | 0x88, 0x00, 0x63, 0x3a, 0x4f, 0x3e, 0x00, 0x63, | ||
| 8541 | 0x3d, 0x1e, 0x62, 0x00, 0x63, 0x4c, 0x34, 0x5d, | ||
| 8542 | 0x00, 0x63, 0x57, 0x1e, 0x3f, 0x00, 0x63, 0x67, | ||
| 8543 | 0x34, 0xc3, 0x00, 0x63, 0x68, 0x35, 0xec, 0x00, | ||
| 8544 | 0x63, 0x69, 0x1e, 0x95, 0x00, 0x63, 0x6e, 0x34, | ||
| 8545 | 0x9d, 0x00, 0x63, 0x72, 0x1d, 0xfc, 0x00, 0x63, | ||
| 8546 | 0x83, 0x36, 0x43, 0x00, 0x63, 0x88, 0x35, 0xf6, | ||
| 8547 | 0x00, 0x63, 0x92, 0x34, 0xaf, 0x00, 0x63, 0xa1, | ||
| 8548 | 0x35, 0xd8, 0x00, 0x63, 0xa7, 0x35, 0xc6, 0x00, | ||
| 8549 | 0x63, 0xc3, 0x1f, 0x27, 0x00, 0x63, 0xc6, 0x37, | ||
| 8550 | 0x34, 0x00, 0x63, 0xf4, 0x35, 0x57, 0x00, 0x64, | ||
| 8551 | 0x06, 0x1e, 0x96, 0x00, 0x64, 0x0f, 0x34, 0xe9, | ||
| 8552 | 0x00, 0x64, 0x1c, 0x37, 0x33, 0x00, 0x64, 0x28, | ||
| 8553 | 0x37, 0x35, 0x00, 0x64, 0x42, 0x34, 0x9e, 0x00, | ||
| 8554 | 0x64, 0x69, 0x36, 0xd7, 0x00, 0x64, 0x6f, 0x4f, | ||
| 8555 | 0x28, 0x00, 0x64, 0x7a, 0x1e, 0x21, 0x00, 0x64, | ||
| 8556 | 0xb0, 0x1e, 0x24, 0x00, 0x64, 0xe2, 0x1e, 0x45, | ||
| 8557 | 0x00, 0x64, 0xf2, 0x34, 0xea, 0x00, 0x64, 0xf6, | ||
| 8558 | 0x4e, 0x9e, 0x00, 0x65, 0x1d, 0x34, 0xe8, 0x00, | ||
| 8559 | 0x65, 0x4f, 0x0d, 0xc4, 0x00, 0x65, 0x5d, 0x34, | ||
| 8560 | 0xeb, 0x00, 0x65, 0x5e, 0x4e, 0xa1, 0x00, 0x65, | ||
| 8561 | 0x62, 0x34, 0x71, 0x00, 0x65, 0x77, 0x36, 0xb3, | ||
| 8562 | 0x00, 0x65, 0x83, 0x1e, 0x98, 0x00, 0x65, 0x87, | ||
| 8563 | 0x4e, 0xa3, 0x00, 0x65, 0x89, 0x4e, 0xa4, 0x00, | ||
| 8564 | 0x65, 0x8e, 0x4e, 0xa6, 0x00, 0x65, 0x90, 0x34, | ||
| 8565 | 0xb5, 0x00, 0x65, 0x9c, 0x35, 0xed, 0x00, 0x65, | ||
| 8566 | 0xa7, 0x4f, 0x41, 0x00, 0x65, 0xbc, 0x35, 0x5c, | ||
| 8567 | 0x00, 0x65, 0xc5, 0x37, 0x08, 0x00, 0x65, 0xdf, | ||
| 8568 | 0x54, 0xbe, 0x00, 0x65, 0xe1, 0x4e, 0xa9, 0x00, | ||
| 8569 | 0x65, 0xe2, 0x06, 0x37, 0x00, 0x66, 0x0e, 0x36, | ||
| 8570 | 0xe4, 0x00, 0x66, 0x1e, 0x21, 0x1c, 0x00, 0x66, | ||
| 8571 | 0x5f, 0x34, 0xec, 0x00, 0x66, 0x66, 0x1d, 0xe2, | ||
| 8572 | 0x00, 0x66, 0x67, 0x4e, 0xaa, 0x00, 0x66, 0x69, | ||
| 8573 | 0x36, 0xa5, 0x00, 0x66, 0x6e, 0x4e, 0xab, 0x00, | ||
| 8574 | 0x66, 0x74, 0x0a, 0x56, 0x00, 0x66, 0x77, 0x39, | ||
| 8575 | 0x11, 0x00, 0x66, 0x81, 0x35, 0xa0, 0x00, 0x66, | ||
| 8576 | 0x91, 0x34, 0x28, 0x00, 0x66, 0x96, 0x36, 0x5e, | ||
| 8577 | 0x00, 0x66, 0x97, 0x35, 0x46, 0x00, 0x66, 0xb5, | ||
| 8578 | 0x54, 0xda, 0x00, 0x66, 0xc1, 0x1f, 0x38, 0x00, | ||
| 8579 | 0x66, 0xd9, 0x1e, 0x13, 0x00, 0x66, 0xdc, 0x36, | ||
| 8580 | 0xfd, 0x00, 0x66, 0xf4, 0x34, 0x81, 0x00, 0x66, | ||
| 8581 | 0xf5, 0x37, 0x3b, 0x00, 0x66, 0xf8, 0x36, 0x03, | ||
| 8582 | 0x00, 0x66, 0xfb, 0x37, 0xcd, 0x00, 0x66, 0xfc, | ||
| 8583 | 0x37, 0x20, 0x00, 0x67, 0x00, 0x4e, 0xaf, 0x00, | ||
| 8584 | 0x67, 0x08, 0x35, 0xb2, 0x00, 0x67, 0x09, 0x36, | ||
| 8585 | 0xf7, 0x00, 0x67, 0x0b, 0x36, 0xc6, 0x00, 0x67, | ||
| 8586 | 0x0d, 0x36, 0xb7, 0x00, 0x67, 0x15, 0x36, 0x6f, | ||
| 8587 | 0x00, 0x67, 0x17, 0x0f, 0xd5, 0x00, 0x67, 0x1b, | ||
| 8588 | 0x36, 0xd4, 0x00, 0x67, 0x1d, 0x36, 0x6b, 0x00, | ||
| 8589 | 0x67, 0x1f, 0x35, 0x86, 0x00, 0x67, 0x53, 0x1e, | ||
| 8590 | 0x0f, 0x00, 0x67, 0x56, 0x4f, 0x3a, 0x00, 0x67, | ||
| 8591 | 0x5e, 0x37, 0x3c, 0x00, 0x67, 0x61, 0x4e, 0xb0, | ||
| 8592 | 0x00, 0x67, 0x7e, 0x34, 0x95, 0x00, 0x67, 0xa6, | ||
| 8593 | 0x1e, 0x99, 0x00, 0x67, 0xa9, 0x34, 0xed, 0x00, | ||
| 8594 | 0x67, 0xc4, 0x4e, 0xb1, 0x00, 0x67, 0xca, 0x1e, | ||
| 8595 | 0x65, 0x00, 0x67, 0xd4, 0x34, 0x91, 0x00, 0x67, | ||
| 8596 | 0xe7, 0x34, 0xee, 0x00, 0x67, 0xf1, 0x36, 0x65, | ||
| 8597 | 0x00, 0x68, 0x01, 0x21, 0x2e, 0x00, 0x68, 0x02, | ||
| 8598 | 0x4e, 0xb2, 0x00, 0x68, 0x13, 0x1e, 0x25, 0x00, | ||
| 8599 | 0x68, 0x1f, 0x4e, 0x61, 0x00, 0x68, 0x21, 0x34, | ||
| 8600 | 0x82, 0x00, 0x68, 0x43, 0x34, 0xac, 0x00, 0x68, | ||
| 8601 | 0x52, 0x21, 0x2c, 0x00, 0x68, 0x5d, 0x34, 0xc5, | ||
| 8602 | 0x00, 0x68, 0x7a, 0x36, 0xf0, 0x00, 0x68, 0x81, | ||
| 8603 | 0x37, 0x09, 0x00, 0x68, 0x85, 0x0d, 0x15, 0x00, | ||
| 8604 | 0x68, 0x8d, 0x37, 0x3e, 0x00, 0x68, 0x97, 0x4f, | ||
| 8605 | 0x37, 0x00, 0x68, 0x9b, 0x1e, 0x9b, 0x00, 0x68, | ||
| 8606 | 0x9d, 0x37, 0x3d, 0x00, 0x68, 0xa2, 0x1e, 0x19, | ||
| 8607 | 0x00, 0x68, 0xc8, 0x37, 0xcc, 0x00, 0x68, 0xda, | ||
| 8608 | 0x1e, 0x38, 0x00, 0x69, 0x0d, 0x34, 0x99, 0x00, | ||
| 8609 | 0x69, 0x30, 0x34, 0xf0, 0x00, 0x69, 0x3d, 0x4e, | ||
| 8610 | 0xb3, 0x00, 0x69, 0x5e, 0x4e, 0xb4, 0x00, 0x69, | ||
| 8611 | 0x62, 0x1e, 0x58, 0x00, 0x69, 0x6b, 0x34, 0xef, | ||
| 8612 | 0x00, 0x69, 0x6f, 0x34, 0x94, 0x00, 0x69, 0x82, | ||
| 8613 | 0x34, 0x5b, 0x00, 0x69, 0x8a, 0x1e, 0x06, 0x00, | ||
| 8614 | 0x69, 0x94, 0x1e, 0x84, 0x00, 0x69, 0xa7, 0x34, | ||
| 8615 | 0xf1, 0x00, 0x69, 0xbb, 0x37, 0x43, 0x00, 0x69, | ||
| 8616 | 0xc1, 0x35, 0x9a, 0x00, 0x69, 0xcb, 0x35, 0xc7, | ||
| 8617 | 0x00, 0x69, 0xcc, 0x1e, 0x40, 0x00, 0x69, 0xd9, | ||
| 8618 | 0x36, 0xdd, 0x00, 0x69, 0xea, 0x35, 0x6f, 0x00, | ||
| 8619 | 0x69, 0xfe, 0x55, 0x1f, 0x00, 0x6a, 0x0b, 0x1e, | ||
| 8620 | 0x64, 0x00, 0x6a, 0x3d, 0x1e, 0x3a, 0x00, 0x6a, | ||
| 8621 | 0x44, 0x34, 0xf2, 0x00, 0x6a, 0x55, 0x55, 0x25, | ||
| 8622 | 0x00, 0x6a, 0x5f, 0x35, 0x87, 0x00, 0x6a, 0x73, | ||
| 8623 | 0x37, 0xd4, 0x00, 0x6a, 0x8e, 0x34, 0x7e, 0x00, | ||
| 8624 | 0x6a, 0x90, 0x34, 0xf3, 0x00, 0x6a, 0x9c, 0x4e, | ||
| 8625 | 0xb6, 0x00, 0x6a, 0xdb, 0x06, 0xf3, 0x00, 0x6b, | ||
| 8626 | 0x04, 0x0f, 0x5d, 0x00, 0x6b, 0x1d, 0x1d, 0xd7, | ||
| 8627 | 0x00, 0x6b, 0x21, 0x35, 0xe7, 0x00, 0x6b, 0x24, | ||
| 8628 | 0x3c, 0x22, 0x00, 0x6b, 0x4e, 0x36, 0x5b, 0x00, | ||
| 8629 | 0x6b, 0x96, 0x36, 0x16, 0x00, 0x6b, 0xba, 0x08, | ||
| 8630 | 0x74, 0x00, 0x6b, 0xbb, 0x34, 0x70, 0x00, 0x6c, | ||
| 8631 | 0x08, 0x1f, 0x39, 0x00, 0x6c, 0x13, 0x34, 0xf5, | ||
| 8632 | 0x00, 0x6c, 0x38, 0x4e, 0xba, 0x00, 0x6c, 0x3a, | ||
| 8633 | 0x39, 0x62, 0x00, 0x6c, 0x72, 0x1f, 0x1e, 0x00, | ||
| 8634 | 0x6c, 0xaa, 0x37, 0x48, 0x00, 0x6c, 0xbf, 0x05, | ||
| 8635 | 0x0a, 0x00, 0x6c, 0xe1, 0x1e, 0x71, 0x00, 0x6c, | ||
| 8636 | 0xe8, 0x36, 0x66, 0x00, 0x6d, 0x3e, 0x34, 0xae, | ||
| 8637 | 0x00, 0x6d, 0x69, 0x35, 0xc8, 0x00, 0x6d, 0x6e, | ||
| 8638 | 0x36, 0xb4, 0x00, 0x6d, 0x77, 0x05, 0x82, 0x00, | ||
| 8639 | 0x6d, 0x78, 0x36, 0x1d, 0x00, 0x6d, 0x88, 0x36, | ||
| 8640 | 0x0c, 0x00, 0x6d, 0xe4, 0x4e, 0xbd, 0x00, 0x6d, | ||
| 8641 | 0xeb, 0x1d, 0xd5, 0x00, 0x6d, 0xfb, 0x36, 0x7c, | ||
| 8642 | 0x00, 0x6e, 0x08, 0x4e, 0xbf, 0x00, 0x6e, 0x1a, | ||
| 8643 | 0x09, 0x77, 0x00, 0x6e, 0x23, 0x1f, 0x3a, 0x00, | ||
| 8644 | 0x6e, 0x2f, 0x35, 0xc9, 0x00, 0x6e, 0x6e, 0x1e, | ||
| 8645 | 0x9d, 0x00, 0x6e, 0x72, 0x4e, 0xc0, 0x00, 0x6e, | ||
| 8646 | 0x7e, 0x34, 0xcf, 0x00, 0x6e, 0x9d, 0x1e, 0x01, | ||
| 8647 | 0x00, 0x6e, 0xa2, 0x1d, 0xd3, 0x00, 0x6e, 0xba, | ||
| 8648 | 0x1e, 0x46, 0x00, 0x6e, 0xcb, 0x35, 0xe9, 0x00, | ||
| 8649 | 0x6e, 0xd5, 0x4e, 0xc2, 0x00, 0x6e, 0xdb, 0x4e, | ||
| 8650 | 0xc3, 0x00, 0x6e, 0xec, 0x1f, 0x3b, 0x00, 0x6e, | ||
| 8651 | 0xfe, 0x34, 0xf8, 0x00, 0x6f, 0x11, 0x34, 0xf7, | ||
| 8652 | 0x00, 0x6f, 0x22, 0x34, 0x14, 0x00, 0x6f, 0x23, | ||
| 8653 | 0x0f, 0xc2, 0x00, 0x6f, 0x3e, 0x34, 0xf9, 0x00, | ||
| 8654 | 0x6f, 0x51, 0x36, 0x9e, 0x00, 0x6f, 0x54, 0x35, | ||
| 8655 | 0xb0, 0x00, 0x6f, 0x5b, 0x4e, 0xc4, 0x00, 0x6f, | ||
| 8656 | 0x64, 0x4e, 0xc6, 0x00, 0x6f, 0x6e, 0x0b, 0xc8, | ||
| 8657 | 0x00, 0x6f, 0x74, 0x4e, 0xc7, 0x00, 0x6f, 0x98, | ||
| 8658 | 0x37, 0x47, 0x00, 0x6f, 0xef, 0x1e, 0x33, 0x00, | ||
| 8659 | 0x6f, 0xf9, 0x39, 0x95, 0x00, 0x70, 0x15, 0x1e, | ||
| 8660 | 0x6b, 0x00, 0x70, 0x1b, 0x37, 0x4a, 0x00, 0x70, | ||
| 8661 | 0x1e, 0x1e, 0x51, 0x00, 0x70, 0x26, 0x1e, 0x3d, | ||
| 8662 | 0x00, 0x70, 0x27, 0x36, 0x57, 0x00, 0x70, 0x4a, | ||
| 8663 | 0x39, 0x98, 0x00, 0x70, 0x58, 0x1e, 0x57, 0x00, | ||
| 8664 | 0x70, 0x70, 0x35, 0x6a, 0x00, 0x70, 0x78, 0x4f, | ||
| 8665 | 0x2e, 0x00, 0x70, 0x7c, 0x1e, 0x10, 0x00, 0x70, | ||
| 8666 | 0xad, 0x36, 0x5c, 0x00, 0x71, 0x49, 0x0f, 0xc3, | ||
| 8667 | 0x00, 0x71, 0x4e, 0x1e, 0x26, 0x00, 0x71, 0x52, | ||
| 8668 | 0x55, 0xad, 0x00, 0x71, 0x59, 0x35, 0x59, 0x00, | ||
| 8669 | 0x71, 0x62, 0x37, 0x4b, 0x00, 0x71, 0x6e, 0x08, | ||
| 8670 | 0xfd, 0x00, 0x71, 0x7d, 0x1e, 0x27, 0x00, 0x71, | ||
| 8671 | 0x94, 0x1e, 0x7d, 0x00, 0x71, 0xb3, 0x39, 0xae, | ||
| 8672 | 0x00, 0x71, 0xd0, 0x37, 0x0a, 0x00, 0x71, 0xff, | ||
| 8673 | 0x34, 0xfa, 0x00, 0x72, 0x28, 0x15, 0xdf, 0x00, | ||
| 8674 | 0x72, 0x2b, 0x3c, 0x26, 0x00, 0x72, 0x35, 0x09, | ||
| 8675 | 0x0b, 0x00, 0x72, 0x36, 0x34, 0xb9, 0x00, 0x72, | ||
| 8676 | 0x3a, 0x4f, 0x46, 0x00, 0x72, 0x3b, 0x37, 0x4c, | ||
| 8677 | 0x00, 0x72, 0x3e, 0x4e, 0xc9, 0x00, 0x72, 0x4c, | ||
| 8678 | 0x1e, 0x5b, 0x00, 0x72, 0x59, 0x1f, 0x1d, 0x00, | ||
| 8679 | 0x72, 0xe1, 0x4f, 0x36, 0x00, 0x73, 0x1c, 0x37, | ||
| 8680 | 0x4e, 0x00, 0x73, 0x2a, 0x0b, 0xb4, 0x00, 0x73, | ||
| 8681 | 0x36, 0x36, 0xf8, 0x00, 0x73, 0x37, 0x1e, 0x7c, | ||
| 8682 | 0x00, 0x73, 0x87, 0x37, 0x05, 0x00, 0x73, 0x8b, | ||
| 8683 | 0x35, 0xa1, 0x00, 0x73, 0xca, 0x1e, 0x0b, 0x00, | ||
| 8684 | 0x73, 0xce, 0x1e, 0xa0, 0x00, 0x73, 0xe5, 0x34, | ||
| 8685 | 0xfb, 0x00, 0x73, 0xed, 0x34, 0xb1, 0x00, 0x74, | ||
| 8686 | 0x22, 0x0b, 0x56, 0x00, 0x74, 0x32, 0x34, 0xfc, | ||
| 8687 | 0x00, 0x74, 0x5f, 0x34, 0xfd, 0x00, 0x74, 0x62, | ||
| 8688 | 0x21, 0x71, 0x00, 0x74, 0xb0, 0x35, 0x79, 0x00, | ||
| 8689 | 0x74, 0xbd, 0x4e, 0xcd, 0x00, 0x74, 0xca, 0x37, | ||
| 8690 | 0x4f, 0x00, 0x74, 0xd8, 0x55, 0xf6, 0x00, 0x74, | ||
| 8691 | 0xdc, 0x35, 0x50, 0x00, 0x74, 0xe0, 0x34, 0xfe, | ||
| 8692 | 0x00, 0x74, 0xef, 0x55, 0xfa, 0x00, 0x75, 0x04, | ||
| 8693 | 0x1e, 0xa1, 0x00, 0x75, 0x0c, 0x34, 0xff, 0x00, | ||
| 8694 | 0x75, 0x0d, 0x1e, 0xa2, 0x00, 0x75, 0x11, 0x1e, | ||
| 8695 | 0x04, 0x00, 0x75, 0x15, 0x1e, 0xa3, 0x00, 0x75, | ||
| 8696 | 0x26, 0x4f, 0x3b, 0x00, 0x75, 0x54, 0x36, 0xa4, | ||
| 8697 | 0x00, 0x75, 0x5d, 0x4e, 0xce, 0x00, 0x75, 0xbc, | ||
| 8698 | 0x4e, 0xcf, 0x00, 0x75, 0xc5, 0x36, 0xb1, 0x00, | ||
| 8699 | 0x76, 0x08, 0x4e, 0xd1, 0x00, 0x76, 0x26, 0x1e, | ||
| 8700 | 0x2d, 0x00, 0x76, 0x52, 0x1e, 0x7b, 0x00, 0x76, | ||
| 8701 | 0x64, 0x4e, 0xd2, 0x00, 0x76, 0x69, 0x4e, 0xd3, | ||
| 8702 | 0x00, 0x76, 0x72, 0x35, 0x00, 0x00, 0x76, 0x84, | ||
| 8703 | 0x36, 0x79, 0x00, 0x76, 0x93, 0x1e, 0xa4, 0x00, | ||
| 8704 | 0x76, 0xc6, 0x34, 0xc4, 0x00, 0x76, 0xca, 0x21, | ||
| 8705 | 0x7b, 0x00, 0x76, 0xd4, 0x56, 0x1d, 0x00, 0x76, | ||
| 8706 | 0xdb, 0x36, 0x2c, 0x00, 0x76, 0xdf, 0x36, 0xe5, | ||
| 8707 | 0x00, 0x76, 0xf2, 0x36, 0xe9, 0x00, 0x76, 0xf4, | ||
| 8708 | 0x36, 0x6e, 0x00, 0x77, 0x1e, 0x16, 0xb8, 0x00, | ||
| 8709 | 0x77, 0x1f, 0x36, 0x1e, 0x00, 0x77, 0x37, 0x4e, | ||
| 8710 | 0xd5, 0x00, 0x77, 0x3a, 0x34, 0xa6, 0x00, 0x77, | ||
| 8711 | 0x7e, 0x4e, 0xd6, 0x00, 0x77, 0x8d, 0x56, 0x2e, | ||
| 8712 | 0x00, 0x77, 0xa2, 0x56, 0x2f, 0x00, 0x77, 0xa5, | ||
| 8713 | 0x1e, 0x6e, 0x00, 0x77, 0xac, 0x34, 0x92, 0x00, | ||
| 8714 | 0x77, 0xe9, 0x35, 0xa4, 0x00, 0x78, 0x32, 0x36, | ||
| 8715 | 0xc7, 0x00, 0x78, 0x3a, 0x36, 0x7f, 0x00, 0x78, | ||
| 8716 | 0x5d, 0x36, 0x0d, 0x00, 0x78, 0x6c, 0x34, 0x83, | ||
| 8717 | 0x00, 0x78, 0x7c, 0x1e, 0xa5, 0x00, 0x78, 0x91, | ||
| 8718 | 0x0d, 0x7e, 0x00, 0x78, 0xd4, 0x35, 0x02, 0x00, | ||
| 8719 | 0x78, 0xe8, 0x36, 0xda, 0x00, 0x78, 0xef, 0x35, | ||
| 8720 | 0x4b, 0x00, 0x79, 0x2a, 0x35, 0x01, 0x00, 0x79, | ||
| 8721 | 0x34, 0x3a, 0x38, 0x00, 0x79, 0x3a, 0x08, 0xd4, | ||
| 8722 | 0x00, 0x79, 0x3c, 0x21, 0x83, 0x00, 0x79, 0x3e, | ||
| 8723 | 0x34, 0x24, 0x00, 0x79, 0x40, 0x37, 0x57, 0x00, | ||
| 8724 | 0x79, 0x41, 0x1d, 0xf4, 0x00, 0x79, 0x47, 0x1d, | ||
| 8725 | 0xeb, 0x00, 0x79, 0x48, 0x06, 0x41, 0x00, 0x79, | ||
| 8726 | 0x49, 0x34, 0x21, 0x00, 0x79, 0x50, 0x0f, 0x1e, | ||
| 8727 | 0x00, 0x79, 0x53, 0x37, 0x58, 0x00, 0x79, 0x56, | ||
| 8728 | 0x34, 0x2f, 0x00, 0x79, 0x5d, 0x09, 0x55, 0x00, | ||
| 8729 | 0x79, 0x5e, 0x0a, 0x06, 0x00, 0x79, 0x62, 0x1f, | ||
| 8730 | 0x29, 0x00, 0x79, 0x65, 0x09, 0xb5, 0x00, 0x79, | ||
| 8731 | 0x8d, 0x05, 0x52, 0x00, 0x79, 0x8e, 0x34, 0x3b, | ||
| 8732 | 0x00, 0x79, 0x8f, 0x21, 0x87, 0x00, 0x79, 0xa7, | ||
| 8733 | 0x4e, 0xd7, 0x00, 0x79, 0xae, 0x37, 0x5b, 0x00, | ||
| 8734 | 0x79, 0xb0, 0x1e, 0x59, 0x00, 0x79, 0xb1, 0x4e, | ||
| 8735 | 0xd8, 0x00, 0x79, 0xba, 0x35, 0x03, 0x00, 0x79, | ||
| 8736 | 0xe4, 0x1e, 0x5d, 0x00, 0x7a, 0x0b, 0x36, 0x78, | ||
| 8737 | 0x00, 0x7a, 0x17, 0x1e, 0x66, 0x00, 0x7a, 0x19, | ||
| 8738 | 0x35, 0x04, 0x00, 0x7a, 0x31, 0x1e, 0xa6, 0x00, | ||
| 8739 | 0x7a, 0x40, 0x08, 0x04, 0x00, 0x7a, 0x60, 0x3a, | ||
| 8740 | 0x4e, 0x00, 0x7a, 0x74, 0x34, 0x7a, 0x00, 0x7a, | ||
| 8741 | 0x7a, 0x35, 0xa7, 0x00, 0x7a, 0x7f, 0x1f, 0x25, | ||
| 8742 | 0x00, 0x7a, 0x81, 0x34, 0x3d, 0x00, 0x7a, 0x95, | ||
| 8743 | 0x35, 0x05, 0x00, 0x7a, 0x97, 0x1f, 0x3c, 0x00, | ||
| 8744 | 0x7a, 0xae, 0x34, 0x77, 0x00, 0x7a, 0xbe, 0x4e, | ||
| 8745 | 0xd9, 0x00, 0x7a, 0xc6, 0x3c, 0x27, 0x00, 0x7a, | ||
| 8746 | 0xc8, 0x4f, 0x3d, 0x00, 0x7b, 0x08, 0x1f, 0x1f, | ||
| 8747 | 0x00, 0x7b, 0x51, 0x36, 0x63, 0x00, 0x7b, 0x75, | ||
| 8748 | 0x4f, 0x2a, 0x00, 0x7b, 0x99, 0x1e, 0xa8, 0x00, | ||
| 8749 | 0x7b, 0xad, 0x1f, 0x26, 0x00, 0x7b, 0xb8, 0x1e, | ||
| 8750 | 0x5f, 0x00, 0x7b, 0xc0, 0x34, 0x2e, 0x00, 0x7b, | ||
| 8751 | 0xc7, 0x1f, 0x2b, 0x00, 0x7b, 0xc9, 0x36, 0x61, | ||
| 8752 | 0x00, 0x7b, 0xdd, 0x1f, 0x3d, 0x00, 0x7b, 0xe0, | ||
| 8753 | 0x4e, 0xda, 0x00, 0x7c, 0x14, 0x37, 0x5f, 0x00, | ||
| 8754 | 0x7c, 0x3e, 0x1f, 0x2d, 0x00, 0x7c, 0x3f, 0x36, | ||
| 8755 | 0xc2, 0x00, 0x7c, 0x4d, 0x36, 0x36, 0x00, 0x7c, | ||
| 8756 | 0x50, 0x37, 0x61, 0x00, 0x7c, 0x58, 0x37, 0x62, | ||
| 8757 | 0x00, 0x7c, 0x69, 0x56, 0xaa, 0x00, 0x7c, 0x7e, | ||
| 8758 | 0x1e, 0x78, 0x00, 0x7c, 0x82, 0x4f, 0x30, 0x00, | ||
| 8759 | 0x7c, 0x89, 0x34, 0xbe, 0x00, 0x7c, 0x90, 0x1e, | ||
| 8760 | 0xa9, 0x00, 0x7c, 0xae, 0x1e, 0xaa, 0x00, 0x7c, | ||
| 8761 | 0xbe, 0x0a, 0x5e, 0x00, 0x7c, 0xd6, 0x0c, 0x76, | ||
| 8762 | 0x00, 0x7c, 0xf2, 0x35, 0x06, 0x00, 0x7d, 0x04, | ||
| 8763 | 0x36, 0xee, 0x00, 0x7d, 0x09, 0x4e, 0xdc, 0x00, | ||
| 8764 | 0x7d, 0x0b, 0x36, 0xec, 0x00, 0x7d, 0x0d, 0x36, | ||
| 8765 | 0x94, 0x00, 0x7d, 0x1a, 0x35, 0x91, 0x00, 0x7d, | ||
| 8766 | 0x1b, 0x34, 0xbf, 0x00, 0x7d, 0x42, 0x35, 0xf8, | ||
| 8767 | 0x00, 0x7d, 0x46, 0x37, 0x63, 0x00, 0x7d, 0x5c, | ||
| 8768 | 0x21, 0x90, 0x00, 0x7d, 0x5e, 0x34, 0x84, 0x00, | ||
| 8769 | 0x7d, 0x63, 0x37, 0x64, 0x00, 0x7d, 0x73, 0x35, | ||
| 8770 | 0x07, 0x00, 0x7d, 0x9b, 0x1e, 0xab, 0x00, 0x7d, | ||
| 8771 | 0x9f, 0x1e, 0xad, 0x00, 0x7d, 0xae, 0x1e, 0xac, | ||
| 8772 | 0x00, 0x7d, 0xb2, 0x4e, 0xdd, 0x00, 0x7d, 0xcb, | ||
| 8773 | 0x34, 0xb6, 0x00, 0x7d, 0xcf, 0x34, 0xa0, 0x00, | ||
| 8774 | 0x7d, 0xdd, 0x35, 0x08, 0x00, 0x7d, 0xe8, 0x36, | ||
| 8775 | 0xbf, 0x00, 0x7d, 0xe9, 0x35, 0x7a, 0x00, 0x7d, | ||
| 8776 | 0xef, 0x34, 0x62, 0x00, 0x7d, 0xf4, 0x0f, 0xc5, | ||
| 8777 | 0x00, 0x7e, 0x09, 0x47, 0xbe, 0x00, 0x7e, 0x1b, | ||
| 8778 | 0x36, 0x9b, 0x00, 0x7e, 0x22, 0x37, 0x65, 0x00, | ||
| 8779 | 0x7e, 0x2b, 0x36, 0xc8, 0x00, 0x7e, 0x35, 0x35, | ||
| 8780 | 0x09, 0x00, 0x7e, 0x41, 0x34, 0x40, 0x00, 0x7e, | ||
| 8781 | 0x43, 0x37, 0x69, 0x00, 0x7e, 0x6d, 0x36, 0xe1, | ||
| 8782 | 0x00, 0x7e, 0x8c, 0x37, 0x6a, 0x00, 0x7f, 0x3e, | ||
| 8783 | 0x4e, 0xdf, 0x00, 0x7f, 0x50, 0x37, 0x6b, 0x00, | ||
| 8784 | 0x7f, 0x61, 0x3c, 0x28, 0x00, 0x7f, 0x6a, 0x34, | ||
| 8785 | 0x89, 0x00, 0x7f, 0x6e, 0x36, 0x60, 0x00, 0x7f, | ||
| 8786 | 0x72, 0x09, 0x7a, 0x00, 0x7f, 0x80, 0x56, 0xda, | ||
| 8787 | 0x00, 0x7f, 0x8a, 0x0f, 0x3d, 0x00, 0x7f, 0xa1, | ||
| 8788 | 0x36, 0x3d, 0x00, 0x7f, 0xae, 0x35, 0x0a, 0x00, | ||
| 8789 | 0x7f, 0xbd, 0x04, 0xcb, 0x00, 0x7f, 0xc1, 0x34, | ||
| 8790 | 0x6a, 0x00, 0x7f, 0xc5, 0x37, 0x6f, 0x00, 0x7f, | ||
| 8791 | 0xc6, 0x37, 0x70, 0x00, 0x7f, 0xcc, 0x37, 0x01, | ||
| 8792 | 0x00, 0x7f, 0xd2, 0x35, 0xf9, 0x00, 0x7f, 0xd4, | ||
| 8793 | 0x1e, 0xae, 0x00, 0x7f, 0xe0, 0x1e, 0x20, 0x00, | ||
| 8794 | 0x7f, 0xe1, 0x35, 0x0b, 0x00, 0x7f, 0xe9, 0x1f, | ||
| 8795 | 0x3e, 0x00, 0x7f, 0xeb, 0x1d, 0xe9, 0x00, 0x7f, | ||
| 8796 | 0xf0, 0x1d, 0xe8, 0x00, 0x7f, 0xfb, 0x36, 0xd8, | ||
| 8797 | 0x00, 0x7f, 0xfc, 0x34, 0xc8, 0x00, 0x80, 0x00, | ||
| 8798 | 0x1e, 0x7e, 0x00, 0x80, 0x03, 0x34, 0x85, 0x00, | ||
| 8799 | 0x80, 0x05, 0x34, 0x25, 0x00, 0x80, 0x12, 0x4e, | ||
| 8800 | 0xe1, 0x00, 0x80, 0x15, 0x35, 0xca, 0x00, 0x80, | ||
| 8801 | 0x17, 0x36, 0xea, 0x00, 0x80, 0x36, 0x34, 0xc7, | ||
| 8802 | 0x00, 0x80, 0x56, 0x36, 0x2d, 0x00, 0x80, 0x5a, | ||
| 8803 | 0x35, 0x0c, 0x00, 0x80, 0x5f, 0x35, 0x0d, 0x00, | ||
| 8804 | 0x80, 0x61, 0x34, 0xa1, 0x00, 0x80, 0x6f, 0x34, | ||
| 8805 | 0xcd, 0x00, 0x80, 0x70, 0x35, 0x0f, 0x00, 0x80, | ||
| 8806 | 0x71, 0x3c, 0x29, 0x00, 0x80, 0x73, 0x35, 0x0e, | ||
| 8807 | 0x00, 0x80, 0x74, 0x34, 0xa7, 0x00, 0x80, 0x76, | ||
| 8808 | 0x35, 0x10, 0x00, 0x80, 0x77, 0x34, 0x9a, 0x00, | ||
| 8809 | 0x80, 0x7e, 0x34, 0xce, 0x00, 0x80, 0x87, 0x36, | ||
| 8810 | 0x9c, 0x00, 0x80, 0x89, 0x36, 0x8f, 0x00, 0x80, | ||
| 8811 | 0x96, 0x36, 0x0e, 0x00, 0x80, 0x9e, 0x3c, 0x2a, | ||
| 8812 | 0x00, 0x80, 0xa9, 0x35, 0xb8, 0x00, 0x80, 0xba, | ||
| 8813 | 0x36, 0x97, 0x00, 0x80, 0xd6, 0x4e, 0xe3, 0x00, | ||
| 8814 | 0x80, 0xde, 0x36, 0xc9, 0x00, 0x81, 0x06, 0x36, | ||
| 8815 | 0x34, 0x00, 0x81, 0x08, 0x34, 0xc6, 0x00, 0x81, | ||
| 8816 | 0x09, 0x4e, 0xe4, 0x00, 0x81, 0x29, 0x4e, 0xe5, | ||
| 8817 | 0x00, 0x81, 0x53, 0x35, 0x11, 0x00, 0x81, 0x54, | ||
| 8818 | 0x35, 0xcb, 0x00, 0x81, 0x70, 0x35, 0xd1, 0x00, | ||
| 8819 | 0x81, 0x71, 0x4f, 0x33, 0x00, 0x81, 0x7f, 0x1e, | ||
| 8820 | 0x30, 0x00, 0x81, 0x8a, 0x35, 0x12, 0x00, 0x81, | ||
| 8821 | 0xb5, 0x35, 0x13, 0x00, 0x81, 0xcd, 0x35, 0x14, | ||
| 8822 | 0x00, 0x81, 0xed, 0x34, 0x26, 0x00, 0x82, 0x00, | ||
| 8823 | 0x57, 0x0f, 0x00, 0x82, 0x0c, 0x4e, 0xe6, 0x00, | ||
| 8824 | 0x82, 0x18, 0x35, 0x7f, 0x00, 0x82, 0x1b, 0x4e, | ||
| 8825 | 0xe7, 0x00, 0x82, 0x1c, 0x34, 0x93, 0x00, 0x82, | ||
| 8826 | 0x1f, 0x35, 0xb3, 0x00, 0x82, 0x2e, 0x1e, 0xaf, | ||
| 8827 | 0x00, 0x82, 0x39, 0x34, 0x9f, 0x00, 0x82, 0x40, | ||
| 8828 | 0x4e, 0xe8, 0x00, 0x82, 0x47, 0x34, 0xab, 0x00, | ||
| 8829 | 0x82, 0x58, 0x37, 0x74, 0x00, 0x82, 0x79, 0x37, | ||
| 8830 | 0x77, 0x00, 0x82, 0x8d, 0x1e, 0xb0, 0x00, 0x82, | ||
| 8831 | 0x92, 0x4f, 0x44, 0x00, 0x82, 0xa6, 0x1f, 0x19, | ||
| 8832 | 0x00, 0x82, 0xb1, 0x35, 0x62, 0x00, 0x82, 0xbd, | ||
| 8833 | 0x05, 0x6a, 0x00, 0x82, 0xc5, 0x35, 0x77, 0x00, | ||
| 8834 | 0x82, 0xd2, 0x1e, 0xb1, 0x00, 0x82, 0xe3, 0x37, | ||
| 8835 | 0x78, 0x00, 0x83, 0x23, 0x1e, 0xb2, 0x00, 0x83, | ||
| 8836 | 0x28, 0x1f, 0x1a, 0x00, 0x83, 0x52, 0x35, 0xcc, | ||
| 8837 | 0x00, 0x83, 0x75, 0x1e, 0xb3, 0x00, 0x83, 0xbd, | ||
| 8838 | 0x37, 0x7c, 0x00, 0x83, 0xd3, 0x35, 0x63, 0x00, | ||
| 8839 | 0x83, 0xd4, 0x4e, 0xea, 0x00, 0x83, 0xdc, 0x35, | ||
| 8840 | 0xda, 0x00, 0x83, 0xdf, 0x1e, 0x4b, 0x00, 0x83, | ||
| 8841 | 0xf2, 0x35, 0x15, 0x00, 0x84, 0x0c, 0x36, 0xca, | ||
| 8842 | 0x00, 0x84, 0x0f, 0x4e, 0xeb, 0x00, 0x84, 0x20, | ||
| 8843 | 0x37, 0x7b, 0x00, 0x84, 0x22, 0x1f, 0x3f, 0x00, | ||
| 8844 | 0x84, 0x57, 0x34, 0x37, 0x00, 0x84, 0x5b, 0x1d, | ||
| 8845 | 0xe4, 0x00, 0x84, 0x5c, 0x57, 0x45, 0x00, 0x84, | ||
| 8846 | 0x7a, 0x34, 0xba, 0x00, 0x84, 0xea, 0x4e, 0xed, | ||
| 8847 | 0x00, 0x84, 0xec, 0x1e, 0x72, 0x00, 0x84, 0xee, | ||
| 8848 | 0x0f, 0xc7, 0x00, 0x84, 0xf4, 0x37, 0x7d, 0x00, | ||
| 8849 | 0x85, 0x11, 0x36, 0xbd, 0x00, 0x85, 0x17, 0x1e, | ||
| 8850 | 0xb4, 0x00, 0x85, 0x3d, 0x1e, 0x6d, 0x00, 0x85, | ||
| 8851 | 0x43, 0x36, 0xa6, 0x00, 0x85, 0x51, 0x4e, 0xef, | ||
| 8852 | 0x00, 0x85, 0x55, 0x35, 0x16, 0x00, 0x85, 0x5d, | ||
| 8853 | 0x57, 0x64, 0x00, 0x85, 0x63, 0x4e, 0xf0, 0x00, | ||
| 8854 | 0x85, 0x84, 0x36, 0x99, 0x00, 0x85, 0x87, 0x37, | ||
| 8855 | 0x7f, 0x00, 0x85, 0xa9, 0x1e, 0x08, 0x00, 0x85, | ||
| 8856 | 0xaf, 0x1e, 0x15, 0x00, 0x85, 0xcf, 0x4e, 0xf1, | ||
| 8857 | 0x00, 0x85, 0xd5, 0x35, 0x17, 0x00, 0x85, 0xe4, | ||
| 8858 | 0x36, 0x85, 0x00, 0x85, 0xf7, 0x1e, 0x16, 0x00, | ||
| 8859 | 0x86, 0x12, 0x21, 0xa4, 0x00, 0x86, 0x2d, 0x37, | ||
| 8860 | 0x04, 0x00, 0x86, 0x4e, 0x4e, 0xf2, 0x00, 0x86, | ||
| 8861 | 0x50, 0x35, 0x8c, 0x00, 0x86, 0x54, 0x4f, 0x32, | ||
| 8862 | 0x00, 0x86, 0x5c, 0x0f, 0x82, 0x00, 0x86, 0x5e, | ||
| 8863 | 0x35, 0xa6, 0x00, 0x86, 0x62, 0x4e, 0xf3, 0x00, | ||
| 8864 | 0x86, 0x8a, 0x4e, 0xf4, 0x00, 0x86, 0xdb, 0x34, | ||
| 8865 | 0x5e, 0x00, 0x86, 0xf8, 0x1e, 0x35, 0x00, 0x87, | ||
| 8866 | 0x03, 0x4f, 0x48, 0x00, 0x87, 0x1a, 0x35, 0x18, | ||
| 8867 | 0x00, 0x87, 0x37, 0x37, 0x82, 0x00, 0x87, 0x3b, | ||
| 8868 | 0x37, 0x83, 0x00, 0x87, 0x55, 0x1e, 0x1d, 0x00, | ||
| 8869 | 0x87, 0x59, 0x1f, 0x40, 0x00, 0x87, 0x82, 0x1e, | ||
| 8870 | 0xb6, 0x00, 0x87, 0xa3, 0x57, 0xaa, 0x00, 0x87, | ||
| 8871 | 0xbd, 0x37, 0x85, 0x00, 0x87, 0xd2, 0x1e, 0xb7, | ||
| 8872 | 0x00, 0x88, 0x03, 0x3b, 0x03, 0x00, 0x88, 0x05, | ||
| 8873 | 0x37, 0x84, 0x00, 0x88, 0x0e, 0x1f, 0x41, 0x00, | ||
| 8874 | 0x88, 0x36, 0x35, 0x19, 0x00, 0x88, 0x42, 0x4e, | ||
| 8875 | 0xf5, 0x00, 0x88, 0x46, 0x35, 0xfa, 0x00, 0x88, | ||
| 8876 | 0x4b, 0x57, 0xc3, 0x00, 0x88, 0x53, 0x35, 0xfd, | ||
| 8877 | 0x00, 0x88, 0x5b, 0x34, 0x66, 0x00, 0x88, 0x5e, | ||
| 8878 | 0x35, 0x53, 0x00, 0x88, 0x63, 0x35, 0x48, 0x00, | ||
| 8879 | 0x88, 0x70, 0x36, 0x27, 0x00, 0x88, 0x77, 0x4e, | ||
| 8880 | 0xf6, 0x00, 0x88, 0x9e, 0x35, 0x1a, 0x00, 0x88, | ||
| 8881 | 0xd8, 0x35, 0x1b, 0x00, 0x88, 0xf4, 0x35, 0x1c, | ||
| 8882 | 0x00, 0x89, 0x0a, 0x1e, 0xb8, 0x00, 0x89, 0x10, | ||
| 8883 | 0x34, 0x13, 0x00, 0x89, 0x1c, 0x37, 0xcb, 0x00, | ||
| 8884 | 0x89, 0x2b, 0x35, 0x1d, 0x00, 0x89, 0x3b, 0x35, | ||
| 8885 | 0x1e, 0x00, 0x89, 0x41, 0x4e, 0xf7, 0x00, 0x89, | ||
| 8886 | 0x56, 0x1d, 0xdd, 0x00, 0x89, 0x6a, 0x35, 0x1f, | ||
| 8887 | 0x00, 0x89, 0x6f, 0x35, 0x20, 0x00, 0x89, 0x81, | ||
| 8888 | 0x36, 0xff, 0x00, 0x89, 0x86, 0x36, 0xb8, 0x00, | ||
| 8889 | 0x89, 0x87, 0x36, 0x95, 0x00, 0x89, 0x96, 0x34, | ||
| 8890 | 0x22, 0x00, 0x89, 0xaa, 0x34, 0x9b, 0x00, 0x89, | ||
| 8891 | 0xaf, 0x1e, 0xb9, 0x00, 0x89, 0xbd, 0x37, 0x8a, | ||
| 8892 | 0x00, 0x89, 0xd2, 0x05, 0xaf, 0x00, 0x8a, 0x0a, | ||
| 8893 | 0x36, 0x24, 0x00, 0x8a, 0x12, 0x37, 0xd7, 0x00, | ||
| 8894 | 0x8a, 0x1d, 0x35, 0x21, 0x00, 0x8a, 0x1f, 0x34, | ||
| 8895 | 0x96, 0x00, 0x8a, 0x3b, 0x1e, 0x3c, 0x00, 0x8a, | ||
| 8896 | 0x55, 0x36, 0xaf, 0x00, 0x8a, 0x6e, 0x1e, 0x28, | ||
| 8897 | 0x00, 0x8a, 0x8d, 0x36, 0x92, 0x00, 0x8a, 0x95, | ||
| 8898 | 0x34, 0xa3, 0x00, 0x8a, 0xa0, 0x36, 0x2f, 0x00, | ||
| 8899 | 0x8a, 0xa4, 0x35, 0xc2, 0x00, 0x8a, 0xb9, 0x34, | ||
| 8900 | 0xb7, 0x00, 0x8a, 0xbf, 0x36, 0x6d, 0x00, 0x8a, | ||
| 8901 | 0xcb, 0x36, 0x30, 0x00, 0x8a, 0xdb, 0x37, 0x8b, | ||
| 8902 | 0x00, 0x8a, 0xde, 0x1e, 0xba, 0x00, 0x8a, 0xed, | ||
| 8903 | 0x0f, 0x0b, 0x00, 0x8a, 0xee, 0x35, 0xe3, 0x00, | ||
| 8904 | 0x8a, 0xf8, 0x09, 0x7e, 0x00, 0x8a, 0xfa, 0x1d, | ||
| 8905 | 0xfe, 0x00, 0x8b, 0x01, 0x04, 0xfc, 0x00, 0x8b, | ||
| 8906 | 0x04, 0x36, 0x86, 0x00, 0x8b, 0x0e, 0x1e, 0x56, | ||
| 8907 | 0x00, 0x8b, 0x19, 0x35, 0xb9, 0x00, 0x8b, 0x1b, | ||
| 8908 | 0x35, 0xcd, 0x00, 0x8b, 0x1d, 0x34, 0x8d, 0x00, | ||
| 8909 | 0x8b, 0x2c, 0x1e, 0x69, 0x00, 0x8b, 0x39, 0x06, | ||
| 8910 | 0xd8, 0x00, 0x8b, 0x3e, 0x37, 0x8c, 0x00, 0x8b, | ||
| 8911 | 0x41, 0x1e, 0xbb, 0x00, 0x8b, 0x56, 0x4e, 0xf8, | ||
| 8912 | 0x00, 0x8b, 0x5a, 0x37, 0x8d, 0x00, 0x8b, 0x5c, | ||
| 8913 | 0x4e, 0xfa, 0x00, 0x8b, 0x7f, 0x52, 0x52, 0x00, | ||
| 8914 | 0x8c, 0x6a, 0x4e, 0xfd, 0x00, 0x8c, 0x79, 0x4e, | ||
| 8915 | 0xfe, 0x00, 0x8c, 0x9b, 0x58, 0x37, 0x00, 0x8c, | ||
| 8916 | 0xa0, 0x36, 0xb5, 0x00, 0x8c, 0xa7, 0x34, 0xb8, | ||
| 8917 | 0x00, 0x8c, 0xa8, 0x35, 0x64, 0x00, 0x8c, 0xab, | ||
| 8918 | 0x34, 0x72, 0x00, 0x8c, 0xc7, 0x35, 0xe5, 0x00, | ||
| 8919 | 0x8c, 0xca, 0x36, 0x4c, 0x00, 0x8c, 0xd3, 0x0d, | ||
| 8920 | 0xc2, 0x00, 0x8c, 0xed, 0x1e, 0x4c, 0x00, 0x8c, | ||
| 8921 | 0xfc, 0x34, 0x86, 0x00, 0x8d, 0x05, 0x35, 0x22, | ||
| 8922 | 0x00, 0x8d, 0x08, 0x34, 0x34, 0x00, 0x8d, 0x0f, | ||
| 8923 | 0x35, 0x23, 0x00, 0x8d, 0x67, 0x4f, 0x00, 0x00, | ||
| 8924 | 0x8d, 0x70, 0x36, 0x46, 0x00, 0x8d, 0x73, 0x37, | ||
| 8925 | 0x8e, 0x00, 0x8d, 0x77, 0x35, 0x88, 0x00, 0x8d, | ||
| 8926 | 0x99, 0x37, 0x8f, 0x00, 0x8d, 0xda, 0x1e, 0xbc, | ||
| 8927 | 0x00, 0x8d, 0xdd, 0x35, 0x94, 0x00, 0x8d, 0xf3, | ||
| 8928 | 0x34, 0xa8, 0x00, 0x8e, 0x09, 0x1e, 0xbd, 0x00, | ||
| 8929 | 0x8e, 0x34, 0x37, 0x91, 0x00, 0x8e, 0x4a, 0x37, | ||
| 8930 | 0x92, 0x00, 0x8e, 0x8d, 0x36, 0xef, 0x00, 0x8e, | ||
| 8931 | 0x91, 0x35, 0x25, 0x00, 0x8e, 0xa1, 0x35, 0x26, | ||
| 8932 | 0x00, 0x8e, 0xcc, 0x34, 0x76, 0x00, 0x8e, 0xd4, | ||
| 8933 | 0x3b, 0x4a, 0x00, 0x8f, 0x03, 0x4f, 0x02, 0x00, | ||
| 8934 | 0x8f, 0x13, 0x1e, 0xbe, 0x00, 0x8f, 0x29, 0x34, | ||
| 8935 | 0xb0, 0x00, 0x8f, 0x2f, 0x34, 0x90, 0x00, 0x8f, | ||
| 8936 | 0x38, 0x36, 0xf5, 0x00, 0x8f, 0x44, 0x35, 0x75, | ||
| 8937 | 0x00, 0x8f, 0xb6, 0x3c, 0x2b, 0x00, 0x8f, 0xbb, | ||
| 8938 | 0x20, 0x4b, 0x00, 0x8f, 0xbc, 0x35, 0xd3, 0x00, | ||
| 8939 | 0x8f, 0xbf, 0x1e, 0x37, 0x00, 0x8f, 0xc2, 0x1d, | ||
| 8940 | 0xd6, 0x00, 0x8f, 0xc4, 0x1f, 0x2c, 0x00, 0x8f, | ||
| 8941 | 0xc5, 0x36, 0x26, 0x00, 0x8f, 0xc6, 0x3b, 0x51, | ||
| 8942 | 0x00, 0x8f, 0xce, 0x35, 0xae, 0x00, 0x8f, 0xd1, | ||
| 8943 | 0x35, 0xa2, 0x00, 0x8f, 0xd4, 0x36, 0xc0, 0x00, | ||
| 8944 | 0x8f, 0xe6, 0x1d, 0xdf, 0x00, 0x8f, 0xe9, 0x1e, | ||
| 8945 | 0xc0, 0x00, 0x8f, 0xea, 0x1e, 0xbf, 0x00, 0x8f, | ||
| 8946 | 0xeb, 0x36, 0x9a, 0x00, 0x8f, 0xed, 0x36, 0x7b, | ||
| 8947 | 0x00, 0x8f, 0xef, 0x37, 0x93, 0x00, 0x8f, 0xf0, | ||
| 8948 | 0x35, 0xfe, 0x00, 0x8f, 0xf6, 0x4f, 0x06, 0x00, | ||
| 8949 | 0x8f, 0xf7, 0x36, 0xe6, 0x00, 0x8f, 0xfa, 0x37, | ||
| 8950 | 0x95, 0x00, 0x8f, 0xfd, 0x36, 0x72, 0x00, 0x90, | ||
| 8951 | 0x00, 0x36, 0x51, 0x00, 0x90, 0x01, 0x36, 0x47, | ||
| 8952 | 0x00, 0x90, 0x03, 0x34, 0xad, 0x00, 0x90, 0x06, | ||
| 8953 | 0x35, 0x8d, 0x00, 0x90, 0x0e, 0x35, 0x28, 0x00, | ||
| 8954 | 0x90, 0x0f, 0x36, 0x88, 0x00, 0x90, 0x10, 0x36, | ||
| 8955 | 0x64, 0x00, 0x90, 0x14, 0x36, 0x7e, 0x00, 0x90, | ||
| 8956 | 0x17, 0x1e, 0x1f, 0x00, 0x90, 0x19, 0x1e, 0x5c, | ||
| 8957 | 0x00, 0x90, 0x1a, 0x36, 0x73, 0x00, 0x90, 0x1d, | ||
| 8958 | 0x1e, 0x22, 0x00, 0x90, 0x1e, 0x37, 0x96, 0x00, | ||
| 8959 | 0x90, 0x1f, 0x36, 0x4b, 0x00, 0x90, 0x20, 0x36, | ||
| 8960 | 0x49, 0x00, 0x90, 0x22, 0x20, 0x4a, 0x00, 0x90, | ||
| 8961 | 0x23, 0x0f, 0xc8, 0x00, 0x90, 0x2e, 0x36, 0x52, | ||
| 8962 | 0x00, 0x90, 0x31, 0x35, 0xfb, 0x00, 0x90, 0x32, | ||
| 8963 | 0x36, 0x1f, 0x00, 0x90, 0x35, 0x37, 0x97, 0x00, | ||
| 8964 | 0x90, 0x38, 0x34, 0x08, 0x00, 0x90, 0x39, 0x36, | ||
| 8965 | 0x58, 0x00, 0x90, 0x3c, 0x1e, 0x67, 0x00, 0x90, | ||
| 8966 | 0x41, 0x1e, 0x53, 0x00, 0x90, 0x42, 0x34, 0x9c, | ||
| 8967 | 0x00, 0x90, 0x47, 0x35, 0xa8, 0x00, 0x90, 0x4a, | ||
| 8968 | 0x36, 0xfc, 0x00, 0x90, 0x4b, 0x35, 0x51, 0x00, | ||
| 8969 | 0x90, 0x4d, 0x36, 0xc1, 0x00, 0x90, 0x4e, 0x35, | ||
| 8970 | 0x65, 0x00, 0x90, 0x50, 0x37, 0x98, 0x00, 0x90, | ||
| 8971 | 0x52, 0x35, 0x27, 0x00, 0x90, 0x53, 0x36, 0x8b, | ||
| 8972 | 0x00, 0x90, 0x54, 0x36, 0x58, 0x00, 0x90, 0x55, | ||
| 8973 | 0x34, 0x63, 0x00, 0x90, 0x58, 0x1e, 0xc1, 0x00, | ||
| 8974 | 0x90, 0x5c, 0x1e, 0x2e, 0x00, 0x90, 0x60, 0x35, | ||
| 8975 | 0x5a, 0x00, 0x90, 0x61, 0x1e, 0x2a, 0x00, 0x90, | ||
| 8976 | 0x63, 0x35, 0xba, 0x00, 0x90, 0x69, 0x36, 0x7a, | ||
| 8977 | 0x00, 0x90, 0x6d, 0x36, 0x48, 0x00, 0x90, 0x6e, | ||
| 8978 | 0x1e, 0x0e, 0x00, 0x90, 0x75, 0x36, 0x00, 0x00, | ||
| 8979 | 0x90, 0x77, 0x36, 0x40, 0x00, 0x90, 0x78, 0x36, | ||
| 8980 | 0x3f, 0x00, 0x90, 0x7a, 0x35, 0x4a, 0x00, 0x90, | ||
| 8981 | 0x7c, 0x1e, 0x80, 0x00, 0x90, 0x7f, 0x36, 0xa7, | ||
| 8982 | 0x00, 0x90, 0x81, 0x37, 0x9a, 0x00, 0x90, 0x83, | ||
| 8983 | 0x37, 0x5c, 0x00, 0x90, 0x84, 0x35, 0x7c, 0x00, | ||
| 8984 | 0x90, 0x87, 0x37, 0x94, 0x00, 0x90, 0x89, 0x34, | ||
| 8985 | 0x5f, 0x00, 0x90, 0x8a, 0x37, 0x9b, 0x00, 0x90, | ||
| 8986 | 0xa3, 0x1e, 0x55, 0x00, 0x90, 0xa6, 0x36, 0xcb, | ||
| 8987 | 0x00, 0x90, 0xa8, 0x4f, 0x0b, 0x00, 0x90, 0xaa, | ||
| 8988 | 0x34, 0x8e, 0x00, 0x90, 0xf7, 0x35, 0x9d, 0x00, | ||
| 8989 | 0x90, 0xfd, 0x0c, 0x4e, 0x00, 0x91, 0x2d, 0x1e, | ||
| 8990 | 0x44, 0x00, 0x91, 0x30, 0x35, 0x29, 0x00, 0x91, | ||
| 8991 | 0x4b, 0x1e, 0x12, 0x00, 0x91, 0x4c, 0x35, 0xf2, | ||
| 8992 | 0x00, 0x91, 0x4d, 0x4f, 0x0c, 0x00, 0x91, 0x56, | ||
| 8993 | 0x35, 0x2a, 0x00, 0x91, 0x58, 0x35, 0x2b, 0x00, | ||
| 8994 | 0x91, 0x65, 0x35, 0x2c, 0x00, 0x91, 0x72, 0x35, | ||
| 8995 | 0x2e, 0x00, 0x91, 0x73, 0x35, 0x2d, 0x00, 0x91, | ||
| 8996 | 0x77, 0x35, 0xd0, 0x00, 0x91, 0xa2, 0x35, 0x2f, | ||
| 8997 | 0x00, 0x91, 0xaa, 0x35, 0x31, 0x00, 0x91, 0xaf, | ||
| 8998 | 0x35, 0x30, 0x00, 0x91, 0xb1, 0x36, 0x9f, 0x00, | ||
| 8999 | 0x91, 0xb4, 0x35, 0x32, 0x00, 0x91, 0xba, 0x35, | ||
| 9000 | 0x33, 0x00, 0x91, 0xc1, 0x1e, 0xc3, 0x00, 0x91, | ||
| 9001 | 0xc7, 0x1e, 0x05, 0x00, 0x91, 0xdc, 0x4f, 0x42, | ||
| 9002 | 0x00, 0x91, 0xe3, 0x36, 0x75, 0x00, 0x91, 0xfc, | ||
| 9003 | 0x3c, 0x2c, 0x00, 0x92, 0x37, 0x34, 0x7d, 0x00, | ||
| 9004 | 0x92, 0x5b, 0x34, 0x69, 0x00, 0x92, 0xe9, 0x4f, | ||
| 9005 | 0x0d, 0x00, 0x93, 0x06, 0x1e, 0x0a, 0x00, 0x93, | ||
| 9006 | 0x35, 0x4f, 0x0e, 0x00, 0x93, 0x65, 0x3b, 0x86, | ||
| 9007 | 0x00, 0x93, 0x75, 0x4f, 0x34, 0x00, 0x93, 0x8b, | ||
| 9008 | 0x4f, 0x0f, 0x00, 0x93, 0x8c, 0x35, 0x76, 0x00, | ||
| 9009 | 0x93, 0x96, 0x35, 0xd5, 0x00, 0x93, 0x9a, 0x1e, | ||
| 9010 | 0x41, 0x00, 0x93, 0xa1, 0x59, 0x04, 0x00, 0x93, | ||
| 9011 | 0xae, 0x34, 0x3a, 0x00, 0x93, 0xdd, 0x37, 0xae, | ||
| 9012 | 0x00, 0x94, 0x3a, 0x4f, 0x10, 0x00, 0x94, 0x53, | ||
| 9013 | 0x1e, 0x79, 0x00, 0x94, 0x77, 0x35, 0x34, 0x00, | ||
| 9014 | 0x95, 0x92, 0x35, 0x7d, 0x00, 0x95, 0xab, 0x3b, | ||
| 9015 | 0x9a, 0x00, 0x95, 0xbb, 0x1e, 0xc4, 0x00, 0x95, | ||
| 9016 | 0xbc, 0x37, 0xaf, 0x00, 0x95, 0xcd, 0x4f, 0x11, | ||
| 9017 | 0x00, 0x96, 0x2a, 0x4f, 0x12, 0x00, 0x96, 0x4d, | ||
| 9018 | 0x34, 0x87, 0x00, 0x96, 0x86, 0x34, 0x51, 0x00, | ||
| 9019 | 0x96, 0x8a, 0x36, 0x53, 0x00, 0x96, 0x94, 0x35, | ||
| 9020 | 0x73, 0x00, 0x96, 0x98, 0x35, 0x35, 0x00, 0x96, | ||
| 9021 | 0x99, 0x4f, 0x31, 0x00, 0x96, 0xa3, 0x34, 0xca, | ||
| 9022 | 0x00, 0x96, 0xa7, 0x4f, 0x14, 0x00, 0x96, 0xb2, | ||
| 9023 | 0x37, 0xb1, 0x00, 0x96, 0xbb, 0x36, 0x35, 0x00, | ||
| 9024 | 0x96, 0xc5, 0x34, 0x6c, 0x00, 0x96, 0xc7, 0x35, | ||
| 9025 | 0xbe, 0x00, 0x96, 0xd9, 0x34, 0xd5, 0x00, 0x96, | ||
| 9026 | 0xda, 0x59, 0x3b, 0x00, 0x96, 0xe3, 0x0c, 0xc9, | ||
| 9027 | 0x00, 0x96, 0xe8, 0x35, 0x4d, 0x00, 0x96, 0xea, | ||
| 9028 | 0x36, 0x39, 0x00, 0x96, 0xf0, 0x34, 0xc0, 0x00, | ||
| 9029 | 0x97, 0x21, 0x59, 0x41, 0x00, 0x97, 0x24, 0x1e, | ||
| 9030 | 0xc6, 0x00, 0x97, 0x3d, 0x35, 0x36, 0x00, 0x97, | ||
| 9031 | 0x55, 0x21, 0xf8, 0x00, 0x97, 0x56, 0x21, 0x8b, | ||
| 9032 | 0x00, 0x97, 0x59, 0x37, 0xb2, 0x00, 0x97, 0x5c, | ||
| 9033 | 0x36, 0x31, 0x00, 0x97, 0x60, 0x1e, 0xc7, 0x00, | ||
| 9034 | 0x97, 0x6d, 0x1e, 0xc8, 0x00, 0x97, 0x71, 0x1e, | ||
| 9035 | 0x1e, 0x00, 0x97, 0x74, 0x1d, 0xf3, 0x00, 0x97, | ||
| 9036 | 0x84, 0x1d, 0xe5, 0x00, 0x97, 0x98, 0x1e, 0x1c, | ||
| 9037 | 0x00, 0x97, 0xad, 0x4f, 0x43, 0x00, 0x97, 0xd3, | ||
| 9038 | 0x35, 0x7e, 0x00, 0x97, 0xde, 0x3c, 0x2e, 0x00, | ||
| 9039 | 0x97, 0xf3, 0x35, 0x60, 0x00, 0x97, 0xff, 0x34, | ||
| 9040 | 0x19, 0x00, 0x98, 0x0c, 0x35, 0x39, 0x00, 0x98, | ||
| 9041 | 0x11, 0x34, 0x74, 0x00, 0x98, 0x12, 0x34, 0xb2, | ||
| 9042 | 0x00, 0x98, 0x13, 0x1e, 0x54, 0x00, 0x98, 0x24, | ||
| 9043 | 0x1e, 0xc9, 0x00, 0x98, 0x3b, 0x0d, 0xc3, 0x00, | ||
| 9044 | 0x98, 0x5e, 0x0f, 0xa8, 0x00, 0x98, 0x67, 0x35, | ||
| 9045 | 0xbf, 0x00, 0x98, 0x73, 0x35, 0x3a, 0x00, 0x98, | ||
| 9046 | 0xc3, 0x35, 0x3b, 0x00, 0x98, 0xdf, 0x36, 0x17, | ||
| 9047 | 0x00, 0x98, 0xe2, 0x35, 0x89, 0x00, 0x98, 0xeb, | ||
| 9048 | 0x37, 0xb4, 0x00, 0x98, 0xef, 0x0d, 0x67, 0x00, | ||
| 9049 | 0x98, 0xf4, 0x1d, 0xd2, 0x00, 0x98, 0xfc, 0x21, | ||
| 9050 | 0xfc, 0x00, 0x98, 0xfd, 0x36, 0xcd, 0x00, 0x98, | ||
| 9051 | 0xfe, 0x36, 0x14, 0x00, 0x99, 0x03, 0x37, 0xb5, | ||
| 9052 | 0x00, 0x99, 0x05, 0x1e, 0x77, 0x00, 0x99, 0x09, | ||
| 9053 | 0x37, 0xb6, 0x00, 0x99, 0x0a, 0x37, 0x00, 0x00, | ||
| 9054 | 0x99, 0x0c, 0x1d, 0xdb, 0x00, 0x99, 0x10, 0x1f, | ||
| 9055 | 0x22, 0x00, 0x99, 0x13, 0x35, 0x68, 0x00, 0x99, | ||
| 9056 | 0x21, 0x4f, 0x18, 0x00, 0x99, 0x28, 0x21, 0xfe, | ||
| 9057 | 0x00, 0x99, 0x45, 0x37, 0xb7, 0x00, 0x99, 0x4b, | ||
| 9058 | 0x37, 0xb9, 0x00, 0x99, 0x57, 0x1f, 0x20, 0x00, | ||
| 9059 | 0x99, 0xc1, 0x4f, 0x40, 0x00, 0x99, 0xd0, 0x36, | ||
| 9060 | 0x67, 0x00, 0x9a, 0x19, 0x1f, 0x43, 0x00, 0x9a, | ||
| 9061 | 0x30, 0x36, 0x89, 0x00, 0x9a, 0x45, 0x35, 0x3c, | ||
| 9062 | 0x00, 0x9a, 0x4a, 0x59, 0x88, 0x00, 0x9a, 0x5f, | ||
| 9063 | 0x37, 0xbb, 0x00, 0x9a, 0x65, 0x37, 0xbc, 0x00, | ||
| 9064 | 0x9a, 0xef, 0x37, 0xbd, 0x00, 0x9b, 0x18, 0x37, | ||
| 9065 | 0xbe, 0x00, 0x9b, 0x2d, 0x34, 0x3c, 0x00, 0x9b, | ||
| 9066 | 0x2e, 0x1e, 0xca, 0x00, 0x9b, 0x35, 0x59, 0xa4, | ||
| 9067 | 0x00, 0x9b, 0x4d, 0x35, 0x3d, 0x00, 0x9b, 0x54, | ||
| 9068 | 0x36, 0xdb, 0x00, 0x9b, 0x58, 0x35, 0x3e, 0x00, | ||
| 9069 | 0x9b, 0x97, 0x1e, 0xcb, 0x00, 0x9b, 0xa8, 0x4f, | ||
| 9070 | 0x1a, 0x00, 0x9b, 0xab, 0x4f, 0x38, 0x00, 0x9b, | ||
| 9071 | 0xae, 0x4f, 0x1b, 0x00, 0x9b, 0xb9, 0x4f, 0x1c, | ||
| 9072 | 0x00, 0x9b, 0xc6, 0x35, 0x3f, 0x00, 0x9b, 0xd6, | ||
| 9073 | 0x1e, 0x09, 0x00, 0x9b, 0xdb, 0x36, 0x54, 0x00, | ||
| 9074 | 0x9b, 0xe1, 0x35, 0x40, 0x00, 0x9b, 0xf1, 0x35, | ||
| 9075 | 0x41, 0x00, 0x9b, 0xf2, 0x1e, 0xcc, 0x00, 0x9c, | ||
| 9076 | 0x08, 0x4f, 0x1d, 0x00, 0x9c, 0x24, 0x4f, 0x1e, | ||
| 9077 | 0x00, 0x9c, 0x2f, 0x1d, 0xd4, 0x00, 0x9c, 0x3b, | ||
| 9078 | 0x4f, 0x1f, 0x00, 0x9c, 0x48, 0x1e, 0x39, 0x00, | ||
| 9079 | 0x9c, 0x52, 0x1e, 0x74, 0x00, 0x9c, 0x57, 0x37, | ||
| 9080 | 0x0c, 0x00, 0x9c, 0xe6, 0x4f, 0x21, 0x00, 0x9d, | ||
| 9081 | 0x07, 0x1e, 0x4f, 0x00, 0x9d, 0x08, 0x37, 0xc1, | ||
| 9082 | 0x00, 0x9d, 0x09, 0x37, 0xc0, 0x00, 0x9d, 0x48, | ||
| 9083 | 0x35, 0x42, 0x00, 0x9d, 0x60, 0x1e, 0x03, 0x00, | ||
| 9084 | 0x9d, 0x6c, 0x36, 0xce, 0x00, 0x9d, 0xb4, 0x0b, | ||
| 9085 | 0xfd, 0x00, 0x9d, 0xbf, 0x59, 0xde, 0x00, 0x9d, | ||
| 9086 | 0xc0, 0x4f, 0x22, 0x00, 0x9d, 0xc2, 0x4f, 0x23, | ||
| 9087 | 0x00, 0x9d, 0xcf, 0x35, 0x43, 0x00, 0x9e, 0x97, | ||
| 9088 | 0x34, 0xcc, 0x00, 0x9e, 0x9f, 0x34, 0xcb, 0x00, | ||
| 9089 | 0x9e, 0xa5, 0x37, 0xc2, 0x00, 0x9e, 0xaa, 0x1e, | ||
| 9090 | 0xcd, 0x00, 0x9e, 0xad, 0x1f, 0x44, 0x00, 0x9e, | ||
| 9091 | 0xbb, 0x36, 0xdc, 0x00, 0x9e, 0xbf, 0x36, 0xe2, | ||
| 9092 | 0x00, 0x9e, 0xcc, 0x37, 0xc3, 0x00, 0x9e, 0xdb, | ||
| 9093 | 0x1e, 0x31, 0x00, 0x9f, 0x08, 0x35, 0x44, 0x00, | ||
| 9094 | 0x9f, 0x3b, 0x36, 0xa9, 0x00, 0x9f, 0x4a, 0x37, | ||
| 9095 | 0xc5, 0x00, 0x9f, 0x4b, 0x37, 0x5a, 0x00, 0x9f, | ||
| 9096 | 0x4e, 0x35, 0x24, 0x00, 0x9f, 0x67, 0x37, 0xc7, | ||
| 9097 | 0x00, 0x9f, 0x8d, 0x37, 0x06, 0x00, 0x9f, 0x9c, | ||
| 9098 | 0x1e, 0xce, 0x00, 0x9f, 0x9d, 0x1e, 0xa7, 0x00, | ||
| 9099 | 0xfa, 0x11, 0x20, 0xfb, 0x00, 0xfa, 0x24, 0x21, | ||
| 9100 | 0xb8, 0x02, 0x35, 0xc4, 0x3c, 0x44, 0x02, 0x36, | ||
| 9101 | 0x3a, 0x35, 0x9b, 0x02, 0x38, 0x3d, 0x4f, 0x26, | ||
| 9102 | 0x02, 0x42, 0xee, 0x37, 0xc9, 0x02, 0x62, 0x70, | ||
| 9103 | 0x37, 0x6e, 0x02, 0x9d, 0x4b, 0x35, 0x96, 0x02, | ||
| 9104 | 0x9e, 0x3d, 0x3c, 0x4d, 0x02, 0xa6, 0x1a, 0x37, | ||
| 9105 | 0xc8, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x34, 0x02, | ||
| 9106 | 0x35, 0x83, 0x00, 0x50, 0x91, 0x35, 0xaf, 0x00, | ||
| 9107 | 0x50, 0xca, 0x37, 0x15, 0x00, 0x51, 0x54, 0x37, | ||
| 9108 | 0x17, 0x00, 0x51, 0x95, 0x37, 0x18, 0x00, 0x51, | ||
| 9109 | 0xb4, 0x35, 0xdb, 0x00, 0x51, 0xde, 0x38, 0x10, | ||
| 9110 | 0x00, 0x52, 0x72, 0x4e, 0x76, 0x00, 0x53, 0x7f, | ||
| 9111 | 0x1d, 0xed, 0x00, 0x53, 0xa9, 0x1f, 0x1c, 0x00, | ||
| 9112 | 0x55, 0x33, 0x37, 0x21, 0x00, 0x55, 0xa9, 0x34, | ||
| 9113 | 0xd6, 0x00, 0x55, 0xab, 0x4e, 0x7c, 0x00, 0x55, | ||
| 9114 | 0xe4, 0x37, 0x22, 0x00, 0x56, 0xae, 0x4e, 0x7e, | ||
| 9115 | 0x00, 0x57, 0xf4, 0x36, 0x13, 0x00, 0x58, 0x5a, | ||
| 9116 | 0x20, 0xe6, 0x00, 0x59, 0x51, 0x4e, 0x88, 0x00, | ||
| 9117 | 0x59, 0xff, 0x35, 0xe1, 0x00, 0x5a, 0xbe, 0x34, | ||
| 9118 | 0xdc, 0x00, 0x5b, 0xb3, 0x35, 0x6b, 0x00, 0x5c, | ||
| 9119 | 0x0a, 0x36, 0x4e, 0x00, 0x5c, 0x0f, 0x36, 0x0a, | ||
| 9120 | 0x00, 0x5e, 0xca, 0x34, 0x59, 0x00, 0x5e, 0xe3, | ||
| 9121 | 0x4e, 0x93, 0x00, 0x5e, 0xf6, 0x35, 0x56, 0x00, | ||
| 9122 | 0x60, 0x62, 0x4f, 0x2d, 0x00, 0x60, 0x97, 0x37, | ||
| 9123 | 0x30, 0x00, 0x61, 0x67, 0x35, 0xad, 0x00, 0x61, | ||
| 9124 | 0x68, 0x34, 0x6e, 0x00, 0x61, 0xb2, 0x4e, 0x98, | ||
| 9125 | 0x00, 0x61, 0xf2, 0x36, 0x6a, 0x00, 0x62, 0x49, | ||
| 9126 | 0x34, 0xb4, 0x00, 0x66, 0x5f, 0x37, 0x38, 0x00, | ||
| 9127 | 0x66, 0xc1, 0x4e, 0xac, 0x00, 0x67, 0x15, 0x36, | ||
| 9128 | 0x70, 0x00, 0x67, 0x17, 0x21, 0x29, 0x00, 0x67, | ||
| 9129 | 0x1b, 0x36, 0xd5, 0x00, 0x68, 0x5d, 0x36, 0xde, | ||
| 9130 | 0x00, 0x68, 0x7a, 0x36, 0xf1, 0x00, 0x69, 0x0d, | ||
| 9131 | 0x36, 0x15, 0x00, 0x69, 0x82, 0x34, 0x6f, 0x00, | ||
| 9132 | 0x6a, 0xdb, 0x35, 0xa9, 0x00, 0x6b, 0x21, 0x35, | ||
| 9133 | 0xe8, 0x00, 0x6c, 0x08, 0x34, 0xf4, 0x00, 0x6c, | ||
| 9134 | 0xaa, 0x4e, 0xbb, 0x00, 0x6c, 0xbf, 0x34, 0x68, | ||
| 9135 | 0x00, 0x6c, 0xe8, 0x32, 0x45, 0x00, 0x6d, 0x3e, | ||
| 9136 | 0x36, 0x96, 0x00, 0x6e, 0x23, 0x34, 0xf6, 0x00, | ||
| 9137 | 0x6e, 0xa2, 0x52, 0x4f, 0x00, 0x6e, 0xcb, 0x4e, | ||
| 9138 | 0xc1, 0x00, 0x6f, 0x11, 0x37, 0x45, 0x00, 0x6f, | ||
| 9139 | 0x5b, 0x4e, 0xc5, 0x00, 0x71, 0x7d, 0x1f, 0x24, | ||
| 9140 | 0x00, 0x72, 0x35, 0x35, 0xf0, 0x00, 0x73, 0x36, | ||
| 9141 | 0x36, 0xf9, 0x00, 0x73, 0x37, 0x36, 0xfa, 0x00, | ||
| 9142 | 0x73, 0xca, 0x4e, 0xcc, 0x00, 0x75, 0x11, 0x35, | ||
| 9143 | 0xd2, 0x00, 0x75, 0x15, 0x4f, 0x2b, 0x00, 0x79, | ||
| 9144 | 0x53, 0x37, 0x59, 0x00, 0x7a, 0x74, 0x35, 0xb1, | ||
| 9145 | 0x00, 0x7b, 0x08, 0x4f, 0x27, 0x00, 0x7b, 0xc0, | ||
| 9146 | 0x36, 0x37, 0x00, 0x7c, 0x3e, 0x4f, 0x29, 0x00, | ||
| 9147 | 0x7c, 0x50, 0x4e, 0xdb, 0x00, 0x7c, 0x7e, 0x4f, | ||
| 9148 | 0x45, 0x00, 0x7d, 0xb2, 0x4e, 0xde, 0x00, 0x7e, | ||
| 9149 | 0x22, 0x37, 0x66, 0x00, 0x7e, 0x35, 0x37, 0x68, | ||
| 9150 | 0x00, 0x7f, 0xc1, 0x35, 0x5e, 0x00, 0x7f, 0xe1, | ||
| 9151 | 0x4e, 0xe0, 0x00, 0x7f, 0xe9, 0x37, 0x71, 0x00, | ||
| 9152 | 0x7f, 0xfc, 0x37, 0x02, 0x00, 0x81, 0x08, 0x36, | ||
| 9153 | 0xe3, 0x00, 0x82, 0x39, 0x36, 0x3e, 0x00, 0x82, | ||
| 9154 | 0x79, 0x37, 0x76, 0x00, 0x82, 0xbd, 0x34, 0x6b, | ||
| 9155 | 0x00, 0x83, 0xdf, 0x1f, 0x28, 0x00, 0x85, 0x3d, | ||
| 9156 | 0x34, 0xc1, 0x00, 0x86, 0x12, 0x52, 0x51, 0x00, | ||
| 9157 | 0x87, 0xd2, 0x1f, 0x42, 0x00, 0x88, 0x05, 0x4f, | ||
| 9158 | 0x47, 0x00, 0x88, 0x36, 0x37, 0x87, 0x00, 0x8a, | ||
| 9159 | 0x0a, 0x36, 0x25, 0x00, 0x8a, 0x1d, 0x4f, 0x2c, | ||
| 9160 | 0x00, 0x8a, 0x95, 0x36, 0x5d, 0x00, 0x8a, 0xee, | ||
| 9161 | 0x35, 0xe4, 0x00, 0x8b, 0x56, 0x4e, 0xf9, 0x00, | ||
| 9162 | 0x8c, 0xa0, 0x36, 0xb6, 0x00, 0x8c, 0xc7, 0x35, | ||
| 9163 | 0xe6, 0x00, 0x8c, 0xca, 0x4e, 0xff, 0x00, 0x8c, | ||
| 9164 | 0xfc, 0x35, 0xce, 0x00, 0x8f, 0x44, 0x4f, 0x03, | ||
| 9165 | 0x00, 0x8f, 0xc5, 0x4f, 0x04, 0x00, 0x8f, 0xd4, | ||
| 9166 | 0x4f, 0x05, 0x00, 0x90, 0x03, 0x36, 0x87, 0x00, | ||
| 9167 | 0x90, 0x22, 0x34, 0x60, 0x00, 0x90, 0x38, 0x21, | ||
| 9168 | 0xb9, 0x00, 0x90, 0x41, 0x4f, 0x3f, 0x00, 0x90, | ||
| 9169 | 0x42, 0x36, 0x28, 0x00, 0x90, 0x55, 0x35, 0x49, | ||
| 9170 | 0x00, 0x90, 0x75, 0x36, 0x01, 0x00, 0x90, 0x77, | ||
| 9171 | 0x4f, 0x07, 0x00, 0x90, 0x89, 0x37, 0xa1, 0x00, | ||
| 9172 | 0x90, 0x8a, 0x37, 0x9c, 0x00, 0x90, 0xa6, 0x36, | ||
| 9173 | 0xcc, 0x00, 0x90, 0xaa, 0x35, 0xee, 0x00, 0x92, | ||
| 9174 | 0x5b, 0x35, 0x5b, 0x00, 0x96, 0x86, 0x21, 0xee, | ||
| 9175 | 0x00, 0x96, 0x98, 0x4f, 0x13, 0x00, 0x96, 0xa3, | ||
| 9176 | 0x37, 0x0b, 0x00, 0x96, 0xc5, 0x35, 0x67, 0x00, | ||
| 9177 | 0x97, 0x5c, 0x36, 0x32, 0x00, 0x97, 0x60, 0x35, | ||
| 9178 | 0x37, 0x00, 0x97, 0x6d, 0x1f, 0x23, 0x00, 0x97, | ||
| 9179 | 0x71, 0x35, 0x38, 0x00, 0x97, 0xff, 0x35, 0x9e, | ||
| 9180 | 0x00, 0x98, 0xef, 0x4f, 0x25, 0x00, 0x99, 0x0c, | ||
| 9181 | 0x34, 0x65, 0x00, 0x99, 0x45, 0x37, 0xb8, 0x00, | ||
| 9182 | 0x99, 0x57, 0x35, 0x9f, 0x00, 0x9e, 0x9f, 0x37, | ||
| 9183 | 0x0d, 0x00, 0x9f, 0x08, 0x37, 0xc4, 0x00, 0x9f, | ||
| 9184 | 0x8d, 0x37, 0x07, 0x02, 0x36, 0x3a, 0x35, 0x9c, | ||
| 9185 | 0x00, 0x00, 0x00, 0x11, 0x00, 0x51, 0xde, 0x4e, | ||
| 9186 | 0x71, 0x00, 0x53, 0xa9, 0x34, 0x64, 0x00, 0x56, | ||
| 9187 | 0xae, 0x4e, 0x7f, 0x00, 0x5b, 0xb3, 0x4e, 0x8f, | ||
| 9188 | 0x00, 0x61, 0x68, 0x35, 0x6c, 0x00, 0x61, 0xf2, | ||
| 9189 | 0x52, 0x50, 0x00, 0x66, 0x5f, 0x37, 0x39, 0x00, | ||
| 9190 | 0x67, 0x17, 0x37, 0x12, 0x00, 0x69, 0x82, 0x35, | ||
| 9191 | 0x70, 0x00, 0x75, 0x11, 0x4f, 0x3c, 0x00, 0x83, | ||
| 9192 | 0xdf, 0x4e, 0xe9, 0x00, 0x90, 0x77, 0x4f, 0x08, | ||
| 9193 | 0x00, 0x90, 0x89, 0x37, 0xa2, 0x00, 0x90, 0x8a, | ||
| 9194 | 0x37, 0x9d, 0x00, 0x97, 0xff, 0x4f, 0x15, 0x00, | ||
| 9195 | 0x99, 0x0c, 0x35, 0x52, 0x00, 0x99, 0x57, 0x4f, | ||
| 9196 | 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x51, 0xde, | ||
| 9197 | 0x21, 0x5e, 0x00, 0x53, 0xa9, 0x35, 0x4f, 0x00, | ||
| 9198 | 0x61, 0x68, 0x35, 0x6d, 0x00, 0x90, 0x89, 0x37, | ||
| 9199 | 0xa3, 0x00, 0x90, 0x8a, 0x37, 0x9e, 0x00, 0x97, | ||
| 9200 | 0xff, 0x4f, 0x16, 0x00, 0x00, 0x00, 0x04, 0x00, | ||
| 9201 | 0x53, 0xa9, 0x4f, 0x2f, 0x00, 0x61, 0x68, 0x35, | ||
| 9202 | 0x6e, 0x00, 0x90, 0x89, 0x37, 0xa4, 0x00, 0x90, | ||
| 9203 | 0x8a, 0x37, 0x9f, 0x00, 0x00, 0x00, 0x02, 0x00, | ||
| 9204 | 0x90, 0x89, 0x37, 0xa5, 0x00, 0x90, 0x8a, 0x37, | ||
| 9205 | 0xa0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x90, 0x89, | ||
| 9206 | 0x37, 0xa6, 0x00, 0x90, 0x8a, 0x4f, 0x0a, 0x00, | ||
| 9207 | 0x00, 0x00, 0x01, 0x00, 0x90, 0x89, 0x37, 0xa7, | ||
| 9208 | 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 0x89, 0x37, | ||
| 9209 | 0xa8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 0x89, | ||
| 9210 | 0x37, 0xa9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, | ||
| 9211 | 0x89, 0x37, 0xaa, 0x00, 0x00, 0x00, 0x01, 0x00, | ||
| 9212 | 0x90, 0x89, 0x37, 0xab, 0x00, 0x00, 0x00, 0x01, | ||
| 9213 | 0x00, 0x90, 0x89, 0x37, 0xac, 0x00, 0x00, 0x00, | ||
| 9214 | 0x01, 0x00, 0x90, 0x89, 0x4f, 0x09 | ||
| 9215 | }; | ||
diff --git a/src/menu.c b/src/menu.c index bbd0e70fe04..5ca687f3d8a 100644 --- a/src/menu.c +++ b/src/menu.c | |||
| @@ -1317,7 +1317,7 @@ no quit occurs and `x-popup-menu' returns nil. */) | |||
| 1317 | if (current_popup_menu && FRAME_W32_P (f)) | 1317 | if (current_popup_menu && FRAME_W32_P (f)) |
| 1318 | { | 1318 | { |
| 1319 | discard_menu_items (); | 1319 | discard_menu_items (); |
| 1320 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 1320 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 1321 | UNGCPRO; | 1321 | UNGCPRO; |
| 1322 | return Qnil; | 1322 | return Qnil; |
| 1323 | } | 1323 | } |
| @@ -1365,7 +1365,7 @@ no quit occurs and `x-popup-menu' returns nil. */) | |||
| 1365 | 1365 | ||
| 1366 | #ifdef HAVE_NTGUI /* FIXME: Is it really w32-specific? --Stef */ | 1366 | #ifdef HAVE_NTGUI /* FIXME: Is it really w32-specific? --Stef */ |
| 1367 | if (FRAME_W32_P (f)) | 1367 | if (FRAME_W32_P (f)) |
| 1368 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 1368 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 1369 | #endif | 1369 | #endif |
| 1370 | 1370 | ||
| 1371 | #endif /* HAVE_MENUS */ | 1371 | #endif /* HAVE_MENUS */ |
diff --git a/src/minibuf.c b/src/minibuf.c index 7403fc6c32d..cc6f234f7da 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -672,12 +672,7 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, | |||
| 672 | XWINDOW (minibuf_window)->cursor.x = 0; | 672 | XWINDOW (minibuf_window)->cursor.x = 0; |
| 673 | XWINDOW (minibuf_window)->must_be_updated_p = 1; | 673 | XWINDOW (minibuf_window)->must_be_updated_p = 1; |
| 674 | update_frame (XFRAME (selected_frame), 1, 1); | 674 | update_frame (XFRAME (selected_frame), 1, 1); |
| 675 | { | 675 | flush_frame (XFRAME (XWINDOW (minibuf_window)->frame)); |
| 676 | struct frame *f = XFRAME (XWINDOW (minibuf_window)->frame); | ||
| 677 | struct redisplay_interface *rif = FRAME_RIF (f); | ||
| 678 | if (rif && rif->flush_display) | ||
| 679 | rif->flush_display (f); | ||
| 680 | } | ||
| 681 | } | 676 | } |
| 682 | 677 | ||
| 683 | /* Make minibuffer contents into a string. */ | 678 | /* Make minibuffer contents into a string. */ |
diff --git a/src/msdos.c b/src/msdos.c index 5ad227bd67c..2ba7a16a443 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -408,7 +408,7 @@ static int term_setup_done; | |||
| 408 | 408 | ||
| 409 | static unsigned short outside_cursor; | 409 | static unsigned short outside_cursor; |
| 410 | 410 | ||
| 411 | /* Similar to the_only_frame. */ | 411 | /* The only display since MS-DOS does not support multiple ones. */ |
| 412 | struct tty_display_info the_only_display_info; | 412 | struct tty_display_info the_only_display_info; |
| 413 | 413 | ||
| 414 | /* Support for DOS/V (allows Japanese characters to be displayed on | 414 | /* Support for DOS/V (allows Japanese characters to be displayed on |
| @@ -1222,7 +1222,7 @@ IT_cmgoto (struct frame *f) | |||
| 1222 | static void | 1222 | static void |
| 1223 | IT_update_begin (struct frame *f) | 1223 | IT_update_begin (struct frame *f) |
| 1224 | { | 1224 | { |
| 1225 | struct tty_display_info *display_info = FRAME_X_DISPLAY_INFO (f); | 1225 | struct tty_display_info *display_info = FRAME_DISPLAY_INFO (f); |
| 1226 | Mouse_HLInfo *hlinfo = &display_info->mouse_highlight; | 1226 | Mouse_HLInfo *hlinfo = &display_info->mouse_highlight; |
| 1227 | struct frame *mouse_face_frame = hlinfo->mouse_face_mouse_frame; | 1227 | struct frame *mouse_face_frame = hlinfo->mouse_face_mouse_frame; |
| 1228 | 1228 | ||
| @@ -1279,7 +1279,7 @@ IT_update_begin (struct frame *f) | |||
| 1279 | static void | 1279 | static void |
| 1280 | IT_update_end (struct frame *f) | 1280 | IT_update_end (struct frame *f) |
| 1281 | { | 1281 | { |
| 1282 | struct tty_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1282 | struct tty_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1283 | 1283 | ||
| 1284 | if (dpyinfo->termscript) | 1284 | if (dpyinfo->termscript) |
| 1285 | fprintf (dpyinfo->termscript, "\n<UPDATE_END\n"); | 1285 | fprintf (dpyinfo->termscript, "\n<UPDATE_END\n"); |
| @@ -2387,7 +2387,7 @@ Each input key receives two values in this vector: first the ASCII code, | |||
| 2387 | and then the scan code. */) | 2387 | and then the scan code. */) |
| 2388 | (void) | 2388 | (void) |
| 2389 | { | 2389 | { |
| 2390 | Lisp_Object val, *keys = XVECTOR (recent_doskeys)->contents; | 2390 | Lisp_Object val, *keys = XVECTOR (recent_doskeys)->u.contents; |
| 2391 | 2391 | ||
| 2392 | if (total_doskeys < NUM_RECENT_DOSKEYS) | 2392 | if (total_doskeys < NUM_RECENT_DOSKEYS) |
| 2393 | return Fvector (total_doskeys, keys); | 2393 | return Fvector (total_doskeys, keys); |
diff --git a/src/msdos.h b/src/msdos.h index 6a6fe349131..27090324b44 100644 --- a/src/msdos.h +++ b/src/msdos.h | |||
| @@ -63,7 +63,7 @@ extern struct tty_display_info the_only_display_info; | |||
| 63 | 63 | ||
| 64 | #define FRAME_X_DISPLAY(f) ((Display *) 0) | 64 | #define FRAME_X_DISPLAY(f) ((Display *) 0) |
| 65 | #define FRAME_FONT(f) ((f)->output_data.tty->font) | 65 | #define FRAME_FONT(f) ((f)->output_data.tty->font) |
| 66 | #define FRAME_X_DISPLAY_INFO(f) (&the_only_display_info) | 66 | #define FRAME_DISPLAY_INFO(f) (&the_only_display_info) |
| 67 | 67 | ||
| 68 | /* Prototypes. */ | 68 | /* Prototypes. */ |
| 69 | 69 | ||
diff --git a/src/nsfns.m b/src/nsfns.m index fc276c2b12d..93b7d12becb 100644 --- a/src/nsfns.m +++ b/src/nsfns.m | |||
| @@ -46,6 +46,9 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu) | |||
| 46 | 46 | ||
| 47 | #ifdef NS_IMPL_COCOA | 47 | #ifdef NS_IMPL_COCOA |
| 48 | #include <IOKit/graphics/IOGraphicsLib.h> | 48 | #include <IOKit/graphics/IOGraphicsLib.h> |
| 49 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 | ||
| 50 | #include "macfont.h" | ||
| 51 | #endif | ||
| 49 | #endif | 52 | #endif |
| 50 | 53 | ||
| 51 | #if 0 | 54 | #if 0 |
| @@ -124,7 +127,7 @@ check_ns_display_info (Lisp_Object object) | |||
| 124 | struct frame *sf = XFRAME (selected_frame); | 127 | struct frame *sf = XFRAME (selected_frame); |
| 125 | 128 | ||
| 126 | if (FRAME_NS_P (sf) && FRAME_LIVE_P (sf)) | 129 | if (FRAME_NS_P (sf) && FRAME_LIVE_P (sf)) |
| 127 | dpyinfo = FRAME_NS_DISPLAY_INFO (sf); | 130 | dpyinfo = FRAME_DISPLAY_INFO (sf); |
| 128 | else if (x_display_list != 0) | 131 | else if (x_display_list != 0) |
| 129 | dpyinfo = x_display_list; | 132 | dpyinfo = x_display_list; |
| 130 | else | 133 | else |
| @@ -144,7 +147,7 @@ check_ns_display_info (Lisp_Object object) | |||
| 144 | else | 147 | else |
| 145 | { | 148 | { |
| 146 | struct frame *f = decode_window_system_frame (object); | 149 | struct frame *f = decode_window_system_frame (object); |
| 147 | dpyinfo = FRAME_NS_DISPLAY_INFO (f); | 150 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 148 | } | 151 | } |
| 149 | 152 | ||
| 150 | return dpyinfo; | 153 | return dpyinfo; |
| @@ -992,7 +995,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 992 | if (NILP (Fmemq (frame, Vframe_list))) | 995 | if (NILP (Fmemq (frame, Vframe_list))) |
| 993 | { | 996 | { |
| 994 | #if defined GLYPH_DEBUG && defined ENABLE_CHECKING | 997 | #if defined GLYPH_DEBUG && defined ENABLE_CHECKING |
| 995 | struct ns_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 998 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 996 | #endif | 999 | #endif |
| 997 | 1000 | ||
| 998 | x_free_frame_resources (f); | 1001 | x_free_frame_resources (f); |
| @@ -1139,9 +1142,9 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1139 | if (! STRINGP (f->icon_name)) | 1142 | if (! STRINGP (f->icon_name)) |
| 1140 | fset_icon_name (f, Qnil); | 1143 | fset_icon_name (f, Qnil); |
| 1141 | 1144 | ||
| 1142 | FRAME_NS_DISPLAY_INFO (f) = dpyinfo; | 1145 | FRAME_DISPLAY_INFO (f) = dpyinfo; |
| 1143 | 1146 | ||
| 1144 | /* With FRAME_NS_DISPLAY_INFO set up, this unwind-protect is safe. */ | 1147 | /* With FRAME_DISPLAY_INFO set up, this unwind-protect is safe. */ |
| 1145 | record_unwind_protect (unwind_create_frame, frame); | 1148 | record_unwind_protect (unwind_create_frame, frame); |
| 1146 | 1149 | ||
| 1147 | f->output_data.ns->window_desc = desc_ctr++; | 1150 | f->output_data.ns->window_desc = desc_ctr++; |
| @@ -1152,7 +1155,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1152 | } | 1155 | } |
| 1153 | else | 1156 | else |
| 1154 | { | 1157 | { |
| 1155 | f->output_data.ns->parent_desc = FRAME_NS_DISPLAY_INFO (f)->root_window; | 1158 | f->output_data.ns->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 1156 | f->output_data.ns->explicit_parent = 0; | 1159 | f->output_data.ns->explicit_parent = 0; |
| 1157 | } | 1160 | } |
| 1158 | 1161 | ||
| @@ -1171,7 +1174,16 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1171 | } | 1174 | } |
| 1172 | 1175 | ||
| 1173 | block_input (); | 1176 | block_input (); |
| 1177 | |||
| 1178 | #ifdef NS_IMPL_COCOA | ||
| 1179 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 | ||
| 1180 | if (CTGetCoreTextVersion != NULL | ||
| 1181 | && CTGetCoreTextVersion () >= kCTVersionNumber10_5) | ||
| 1182 | mac_register_font_driver (f); | ||
| 1183 | #endif | ||
| 1184 | #endif | ||
| 1174 | register_font_driver (&nsfont_driver, f); | 1185 | register_font_driver (&nsfont_driver, f); |
| 1186 | |||
| 1175 | x_default_parameter (f, parms, Qfont_backend, Qnil, | 1187 | x_default_parameter (f, parms, Qfont_backend, Qnil, |
| 1176 | "fontBackend", "FontBackend", RES_TYPE_STRING); | 1188 | "fontBackend", "FontBackend", RES_TYPE_STRING); |
| 1177 | 1189 | ||
| @@ -1181,8 +1193,13 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1181 | x_default_parameter (f, parms, Qfontsize, | 1193 | x_default_parameter (f, parms, Qfontsize, |
| 1182 | make_number (0 /*(int)[font pointSize]*/), | 1194 | make_number (0 /*(int)[font pointSize]*/), |
| 1183 | "fontSize", "FontSize", RES_TYPE_NUMBER); | 1195 | "fontSize", "FontSize", RES_TYPE_NUMBER); |
| 1196 | // Remove ' Regular', not handled by backends. | ||
| 1197 | char *fontname = xstrdup ([[font displayName] UTF8String]); | ||
| 1198 | int len = strlen (fontname); | ||
| 1199 | if (len > 8 && strcmp (fontname + len - 8, " Regular") == 0) | ||
| 1200 | fontname[len-8] = '\0'; | ||
| 1184 | x_default_parameter (f, parms, Qfont, | 1201 | x_default_parameter (f, parms, Qfont, |
| 1185 | build_string ([[font fontName] UTF8String]), | 1202 | build_string (fontname), |
| 1186 | "font", "Font", RES_TYPE_STRING); | 1203 | "font", "Font", RES_TYPE_STRING); |
| 1187 | } | 1204 | } |
| 1188 | unblock_input (); | 1205 | unblock_input (); |
| @@ -1255,7 +1272,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1255 | f->output_data.ns->hand_cursor = [NSCursor pointingHandCursor]; | 1272 | f->output_data.ns->hand_cursor = [NSCursor pointingHandCursor]; |
| 1256 | f->output_data.ns->hourglass_cursor = [NSCursor disappearingItemCursor]; | 1273 | f->output_data.ns->hourglass_cursor = [NSCursor disappearingItemCursor]; |
| 1257 | f->output_data.ns->horizontal_drag_cursor = [NSCursor resizeLeftRightCursor]; | 1274 | f->output_data.ns->horizontal_drag_cursor = [NSCursor resizeLeftRightCursor]; |
| 1258 | FRAME_NS_DISPLAY_INFO (f)->vertical_scroll_bar_cursor | 1275 | FRAME_DISPLAY_INFO (f)->vertical_scroll_bar_cursor |
| 1259 | = [NSCursor arrowCursor]; | 1276 | = [NSCursor arrowCursor]; |
| 1260 | f->output_data.ns->current_pointer = f->output_data.ns->text_cursor; | 1277 | f->output_data.ns->current_pointer = f->output_data.ns->text_cursor; |
| 1261 | 1278 | ||
| @@ -1339,14 +1356,10 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1339 | return unbind_to (count, frame); | 1356 | return unbind_to (count, frame); |
| 1340 | } | 1357 | } |
| 1341 | 1358 | ||
| 1342 | 1359 | void | |
| 1343 | DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, | 1360 | x_focus_frame (struct frame *f) |
| 1344 | doc: /* Set the input focus to FRAME. | ||
| 1345 | FRAME nil means use the selected frame. */) | ||
| 1346 | (Lisp_Object frame) | ||
| 1347 | { | 1361 | { |
| 1348 | struct frame *f = decode_window_system_frame (frame); | 1362 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1349 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (f); | ||
| 1350 | 1363 | ||
| 1351 | if (dpyinfo->x_focus_frame != f) | 1364 | if (dpyinfo->x_focus_frame != f) |
| 1352 | { | 1365 | { |
| @@ -1356,8 +1369,6 @@ FRAME nil means use the selected frame. */) | |||
| 1356 | [[view window] makeKeyAndOrderFront: view]; | 1369 | [[view window] makeKeyAndOrderFront: view]; |
| 1357 | unblock_input (); | 1370 | unblock_input (); |
| 1358 | } | 1371 | } |
| 1359 | |||
| 1360 | return Qnil; | ||
| 1361 | } | 1372 | } |
| 1362 | 1373 | ||
| 1363 | 1374 | ||
| @@ -1368,9 +1379,15 @@ DEFUN ("ns-popup-font-panel", Fns_popup_font_panel, Sns_popup_font_panel, | |||
| 1368 | { | 1379 | { |
| 1369 | struct frame *f = decode_window_system_frame (frame); | 1380 | struct frame *f = decode_window_system_frame (frame); |
| 1370 | id fm = [NSFontManager sharedFontManager]; | 1381 | id fm = [NSFontManager sharedFontManager]; |
| 1371 | 1382 | struct font *font = f->output_data.ns->font; | |
| 1372 | [fm setSelectedFont: ((struct nsfont_info *)f->output_data.ns->font)->nsfont | 1383 | NSFont *nsfont; |
| 1373 | isMultiple: NO]; | 1384 | if (EQ (font->driver->type, Qns)) |
| 1385 | nsfont = ((struct nsfont_info *)font)->nsfont; | ||
| 1386 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 | ||
| 1387 | else | ||
| 1388 | nsfont = (NSFont *) macfont_get_nsctfont (font); | ||
| 1389 | #endif | ||
| 1390 | [fm setSelectedFont: nsfont isMultiple: NO]; | ||
| 1374 | [fm orderFrontFontPanel: NSApp]; | 1391 | [fm orderFrontFontPanel: NSApp]; |
| 1375 | return Qnil; | 1392 | return Qnil; |
| 1376 | } | 1393 | } |
| @@ -2194,17 +2211,13 @@ x_set_scroll_bar_default_width (struct frame *f) | |||
| 2194 | wid - 1) / wid; | 2211 | wid - 1) / wid; |
| 2195 | } | 2212 | } |
| 2196 | 2213 | ||
| 2197 | |||
| 2198 | extern const char *x_get_string_resource (XrmDatabase, char *, char *); | ||
| 2199 | |||
| 2200 | |||
| 2201 | /* terms impl this instead of x-get-resource directly */ | 2214 | /* terms impl this instead of x-get-resource directly */ |
| 2202 | const char * | 2215 | char * |
| 2203 | x_get_string_resource (XrmDatabase rdb, char *name, char *class) | 2216 | x_get_string_resource (XrmDatabase rdb, const char *name, const char *class) |
| 2204 | { | 2217 | { |
| 2205 | /* remove appname prefix; TODO: allow for !="Emacs" */ | 2218 | /* remove appname prefix; TODO: allow for !="Emacs" */ |
| 2206 | char *toCheck = class + (!strncmp (class, "Emacs.", 6) ? 6 : 0); | 2219 | const char *res, *toCheck = class + (!strncmp (class, "Emacs.", 6) ? 6 : 0); |
| 2207 | const char *res; | 2220 | |
| 2208 | check_window_system (NULL); | 2221 | check_window_system (NULL); |
| 2209 | 2222 | ||
| 2210 | if (inhibit_x_resources) | 2223 | if (inhibit_x_resources) |
| @@ -2212,16 +2225,16 @@ x_get_string_resource (XrmDatabase rdb, char *name, char *class) | |||
| 2212 | return NULL; | 2225 | return NULL; |
| 2213 | 2226 | ||
| 2214 | res = ns_get_defaults_value (toCheck); | 2227 | res = ns_get_defaults_value (toCheck); |
| 2215 | return !res ? NULL : | 2228 | return (!res ? NULL : |
| 2216 | (!c_strncasecmp (res, "YES", 3) ? "true" : | 2229 | (!c_strncasecmp (res, "YES", 3) ? "true" : |
| 2217 | (!c_strncasecmp (res, "NO", 2) ? "false" : res)); | 2230 | (!c_strncasecmp (res, "NO", 2) ? "false" : (char *) res))); |
| 2218 | } | 2231 | } |
| 2219 | 2232 | ||
| 2220 | 2233 | ||
| 2221 | Lisp_Object | 2234 | Lisp_Object |
| 2222 | x_get_focus_frame (struct frame *frame) | 2235 | x_get_focus_frame (struct frame *frame) |
| 2223 | { | 2236 | { |
| 2224 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (frame); | 2237 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); |
| 2225 | Lisp_Object nsfocus; | 2238 | Lisp_Object nsfocus; |
| 2226 | 2239 | ||
| 2227 | if (!dpyinfo->x_focus_frame) | 2240 | if (!dpyinfo->x_focus_frame) |
| @@ -2231,15 +2244,6 @@ x_get_focus_frame (struct frame *frame) | |||
| 2231 | return nsfocus; | 2244 | return nsfocus; |
| 2232 | } | 2245 | } |
| 2233 | 2246 | ||
| 2234 | void | ||
| 2235 | x_sync (struct frame *f) | ||
| 2236 | { | ||
| 2237 | /* XXX Not implemented XXX */ | ||
| 2238 | return; | ||
| 2239 | } | ||
| 2240 | |||
| 2241 | |||
| 2242 | |||
| 2243 | /* ========================================================================== | 2247 | /* ========================================================================== |
| 2244 | 2248 | ||
| 2245 | Lisp definitions that, for whatever reason, we can't alias as 'ns-XXX'. | 2249 | Lisp definitions that, for whatever reason, we can't alias as 'ns-XXX'. |
| @@ -2560,6 +2564,7 @@ compute_tip_xy (struct frame *f, | |||
| 2560 | { | 2564 | { |
| 2561 | Lisp_Object left, top; | 2565 | Lisp_Object left, top; |
| 2562 | EmacsView *view = FRAME_NS_VIEW (f); | 2566 | EmacsView *view = FRAME_NS_VIEW (f); |
| 2567 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); | ||
| 2563 | NSPoint pt; | 2568 | NSPoint pt; |
| 2564 | 2569 | ||
| 2565 | /* Start with user-specified or mouse position. */ | 2570 | /* Start with user-specified or mouse position. */ |
| @@ -2568,7 +2573,8 @@ compute_tip_xy (struct frame *f, | |||
| 2568 | 2573 | ||
| 2569 | if (!INTEGERP (left) || !INTEGERP (top)) | 2574 | if (!INTEGERP (left) || !INTEGERP (top)) |
| 2570 | { | 2575 | { |
| 2571 | pt = last_mouse_motion_position; | 2576 | pt.x = dpyinfo->last_mouse_motion_x; |
| 2577 | pt.y = dpyinfo->last_mouse_motion_y; | ||
| 2572 | /* Convert to screen coordinates */ | 2578 | /* Convert to screen coordinates */ |
| 2573 | pt = [view convertPoint: pt toView: nil]; | 2579 | pt = [view convertPoint: pt toView: nil]; |
| 2574 | pt = [[view window] convertBaseToScreen: pt]; | 2580 | pt = [[view window] convertBaseToScreen: pt]; |
| @@ -2577,7 +2583,7 @@ compute_tip_xy (struct frame *f, | |||
| 2577 | { | 2583 | { |
| 2578 | /* Absolute coordinates. */ | 2584 | /* Absolute coordinates. */ |
| 2579 | pt.x = XINT (left); | 2585 | pt.x = XINT (left); |
| 2580 | pt.y = x_display_pixel_height (FRAME_NS_DISPLAY_INFO (f)) - XINT (top) | 2586 | pt.y = x_display_pixel_height (FRAME_DISPLAY_INFO (f)) - XINT (top) |
| 2581 | - height; | 2587 | - height; |
| 2582 | } | 2588 | } |
| 2583 | 2589 | ||
| @@ -2587,7 +2593,7 @@ compute_tip_xy (struct frame *f, | |||
| 2587 | else if (pt.x + XINT (dx) <= 0) | 2593 | else if (pt.x + XINT (dx) <= 0) |
| 2588 | *root_x = 0; /* Can happen for negative dx */ | 2594 | *root_x = 0; /* Can happen for negative dx */ |
| 2589 | else if (pt.x + XINT (dx) + width | 2595 | else if (pt.x + XINT (dx) + width |
| 2590 | <= x_display_pixel_width (FRAME_NS_DISPLAY_INFO (f))) | 2596 | <= x_display_pixel_width (FRAME_DISPLAY_INFO (f))) |
| 2591 | /* It fits to the right of the pointer. */ | 2597 | /* It fits to the right of the pointer. */ |
| 2592 | *root_x = pt.x + XINT (dx); | 2598 | *root_x = pt.x + XINT (dx); |
| 2593 | else if (width + XINT (dx) <= pt.x) | 2599 | else if (width + XINT (dx) <= pt.x) |
| @@ -2603,12 +2609,12 @@ compute_tip_xy (struct frame *f, | |||
| 2603 | /* It fits below the pointer. */ | 2609 | /* It fits below the pointer. */ |
| 2604 | *root_y = pt.y - height - XINT (dy); | 2610 | *root_y = pt.y - height - XINT (dy); |
| 2605 | else if (pt.y + XINT (dy) + height | 2611 | else if (pt.y + XINT (dy) + height |
| 2606 | <= x_display_pixel_height (FRAME_NS_DISPLAY_INFO (f))) | 2612 | <= x_display_pixel_height (FRAME_DISPLAY_INFO (f))) |
| 2607 | /* It fits above the pointer */ | 2613 | /* It fits above the pointer */ |
| 2608 | *root_y = pt.y + XINT (dy); | 2614 | *root_y = pt.y + XINT (dy); |
| 2609 | else | 2615 | else |
| 2610 | /* Put it on the top. */ | 2616 | /* Put it on the top. */ |
| 2611 | *root_y = x_display_pixel_height (FRAME_NS_DISPLAY_INFO (f)) - height; | 2617 | *root_y = x_display_pixel_height (FRAME_DISPLAY_INFO (f)) - height; |
| 2612 | } | 2618 | } |
| 2613 | 2619 | ||
| 2614 | 2620 | ||
| @@ -2903,7 +2909,6 @@ be used as the image of the icon representing the frame. */); | |||
| 2903 | defsubr (&Sns_list_services); | 2909 | defsubr (&Sns_list_services); |
| 2904 | defsubr (&Sns_perform_service); | 2910 | defsubr (&Sns_perform_service); |
| 2905 | defsubr (&Sns_convert_utf8_nfd_to_nfc); | 2911 | defsubr (&Sns_convert_utf8_nfd_to_nfc); |
| 2906 | defsubr (&Sx_focus_frame); | ||
| 2907 | defsubr (&Sns_popup_font_panel); | 2912 | defsubr (&Sns_popup_font_panel); |
| 2908 | defsubr (&Sns_popup_color_panel); | 2913 | defsubr (&Sns_popup_color_panel); |
| 2909 | 2914 | ||
diff --git a/src/nsfont.m b/src/nsfont.m index e1c7d32dde0..bd9a2acc983 100644 --- a/src/nsfont.m +++ b/src/nsfont.m | |||
| @@ -51,8 +51,6 @@ static Lisp_Object Qapple, Qroman, Qmedium; | |||
| 51 | static Lisp_Object Qcondensed, Qexpanded; | 51 | static Lisp_Object Qcondensed, Qexpanded; |
| 52 | extern Lisp_Object Qappend; | 52 | extern Lisp_Object Qappend; |
| 53 | extern float ns_antialias_threshold; | 53 | extern float ns_antialias_threshold; |
| 54 | extern int ns_tmp_flags; | ||
| 55 | extern struct nsfont_info *ns_tmp_font; | ||
| 56 | 54 | ||
| 57 | 55 | ||
| 58 | /* font glyph and metrics caching functions, implemented at end */ | 56 | /* font glyph and metrics caching functions, implemented at end */ |
| @@ -528,7 +526,7 @@ static NSSet | |||
| 528 | } | 526 | } |
| 529 | 527 | ||
| 530 | if (NSFONT_TRACE) | 528 | if (NSFONT_TRACE) |
| 531 | NSLog(@" returning %d families", [families count]); | 529 | NSLog(@" returning %lu families", (unsigned long)[families count]); |
| 532 | return families; | 530 | return families; |
| 533 | } | 531 | } |
| 534 | 532 | ||
| @@ -566,8 +564,8 @@ ns_findfonts (Lisp_Object font_spec, BOOL isMatch) | |||
| 566 | matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys: fkeys]; | 564 | matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys: fkeys]; |
| 567 | 565 | ||
| 568 | if (NSFONT_TRACE) | 566 | if (NSFONT_TRACE) |
| 569 | NSLog(@"Got desc %@ and found %d matching fonts from it: ", fdesc, | 567 | NSLog(@"Got desc %@ and found %lu matching fonts from it: ", fdesc, |
| 570 | [matchingDescs count]); | 568 | (unsigned long)[matchingDescs count]); |
| 571 | 569 | ||
| 572 | for (dEnum = [matchingDescs objectEnumerator]; (desc = [dEnum nextObject]);) | 570 | for (dEnum = [matchingDescs objectEnumerator]; (desc = [dEnum nextObject]);) |
| 573 | { | 571 | { |
| @@ -662,7 +660,7 @@ struct font_driver nsfont_driver = | |||
| 662 | static Lisp_Object | 660 | static Lisp_Object |
| 663 | nsfont_get_cache (struct frame *frame) | 661 | nsfont_get_cache (struct frame *frame) |
| 664 | { | 662 | { |
| 665 | Display_Info *dpyinfo = FRAME_NS_DISPLAY_INFO (frame); | 663 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (frame); |
| 666 | return (dpyinfo->name_list_element); | 664 | return (dpyinfo->name_list_element); |
| 667 | } | 665 | } |
| 668 | 666 | ||
| @@ -798,6 +796,7 @@ nsfont_open (struct frame *f, Lisp_Object font_entity, int pixel_size) | |||
| 798 | 796 | ||
| 799 | font_object = font_make_object (VECSIZE (struct nsfont_info), | 797 | font_object = font_make_object (VECSIZE (struct nsfont_info), |
| 800 | font_entity, pixel_size); | 798 | font_entity, pixel_size); |
| 799 | ASET (font_object, FONT_TYPE_INDEX, nsfont_driver.type); | ||
| 801 | font_info = (struct nsfont_info *) XFONT_OBJECT (font_object); | 800 | font_info = (struct nsfont_info *) XFONT_OBJECT (font_object); |
| 802 | font = (struct font *) font_info; | 801 | font = (struct font *) font_info; |
| 803 | if (!font) | 802 | if (!font) |
| @@ -871,10 +870,11 @@ nsfont_open (struct frame *f, Lisp_Object font_entity, int pixel_size) | |||
| 871 | font_info->size = font->pixel_size; | 870 | font_info->size = font->pixel_size; |
| 872 | 871 | ||
| 873 | /* max bounds */ | 872 | /* max bounds */ |
| 874 | font_info->max_bounds.ascent = lrint ([sfont ascender]); | 873 | font->ascent = font_info->max_bounds.ascent = lrint ([sfont ascender]); |
| 875 | /* Descender is usually negative. Use floor to avoid | 874 | /* Descender is usually negative. Use floor to avoid |
| 876 | clipping descenders. */ | 875 | clipping descenders. */ |
| 877 | font_info->max_bounds.descent = -lrint (floor(adjusted_descender)); | 876 | font->descent = |
| 877 | font_info->max_bounds.descent = -lrint (floor(adjusted_descender)); | ||
| 878 | font_info->height = | 878 | font_info->height = |
| 879 | font_info->max_bounds.ascent + font_info->max_bounds.descent; | 879 | font_info->max_bounds.ascent + font_info->max_bounds.descent; |
| 880 | font_info->max_bounds.width = lrint (font_info->width); | 880 | font_info->max_bounds.width = lrint (font_info->width); |
| @@ -1051,16 +1051,26 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, | |||
| 1051 | #endif | 1051 | #endif |
| 1052 | struct face *face; | 1052 | struct face *face; |
| 1053 | NSRect r; | 1053 | NSRect r; |
| 1054 | struct nsfont_info *font = ns_tmp_font; | 1054 | struct nsfont_info *font; |
| 1055 | NSColor *col, *bgCol; | 1055 | NSColor *col, *bgCol; |
| 1056 | unsigned short *t = s->char2b; | 1056 | unsigned short *t = s->char2b; |
| 1057 | int i, len; | 1057 | int i, len, flags; |
| 1058 | char isComposite = s->first_glyph->type == COMPOSITE_GLYPH; | 1058 | char isComposite = s->first_glyph->type == COMPOSITE_GLYPH; |
| 1059 | int end = isComposite ? s->cmp_to : s->nchars; | 1059 | int end = isComposite ? s->cmp_to : s->nchars; |
| 1060 | 1060 | ||
| 1061 | block_input (); | 1061 | block_input (); |
| 1062 | |||
| 1063 | font = (struct nsfont_info *)s->face->font; | ||
| 1064 | if (font == NULL) | ||
| 1065 | font = (struct nsfont_info *)FRAME_FONT (s->f); | ||
| 1066 | |||
| 1062 | /* Select face based on input flags */ | 1067 | /* Select face based on input flags */ |
| 1063 | switch (ns_tmp_flags) | 1068 | flags = s->hl == DRAW_CURSOR ? NS_DUMPGLYPH_CURSOR : |
| 1069 | (s->hl == DRAW_MOUSE_FACE ? NS_DUMPGLYPH_MOUSEFACE : | ||
| 1070 | (s->for_overlaps ? NS_DUMPGLYPH_FOREGROUND : | ||
| 1071 | NS_DUMPGLYPH_NORMAL)); | ||
| 1072 | |||
| 1073 | switch (flags) | ||
| 1064 | { | 1074 | { |
| 1065 | case NS_DUMPGLYPH_CURSOR: | 1075 | case NS_DUMPGLYPH_CURSOR: |
| 1066 | face = s->face; | 1076 | face = s->face; |
| @@ -1175,7 +1185,7 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, | |||
| 1175 | : FRAME_BACKGROUND_COLOR (s->f)) set]; | 1185 | : FRAME_BACKGROUND_COLOR (s->f)) set]; |
| 1176 | else | 1186 | else |
| 1177 | { | 1187 | { |
| 1178 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (s->f); | 1188 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f); |
| 1179 | [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set]; | 1189 | [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set]; |
| 1180 | } | 1190 | } |
| 1181 | NSRectFill (br); | 1191 | NSRectFill (br); |
| @@ -1188,8 +1198,8 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, | |||
| 1188 | col = (NS_FACE_FOREGROUND (face) != 0 | 1198 | col = (NS_FACE_FOREGROUND (face) != 0 |
| 1189 | ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f) | 1199 | ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f) |
| 1190 | : FRAME_FOREGROUND_COLOR (s->f)); | 1200 | : FRAME_FOREGROUND_COLOR (s->f)); |
| 1191 | /* FIXME: find another way to pass this */ | 1201 | |
| 1192 | bgCol = (ns_tmp_flags != NS_DUMPGLYPH_FOREGROUND ? nil | 1202 | bgCol = (flags != NS_DUMPGLYPH_FOREGROUND ? nil |
| 1193 | : (NS_FACE_BACKGROUND (face) != 0 | 1203 | : (NS_FACE_BACKGROUND (face) != 0 |
| 1194 | ? ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) | 1204 | ? ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) |
| 1195 | : FRAME_BACKGROUND_COLOR (s->f))); | 1205 | : FRAME_BACKGROUND_COLOR (s->f))); |
| @@ -1239,7 +1249,9 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, | |||
| 1239 | 1249 | ||
| 1240 | CGContextSaveGState (gcontext); | 1250 | CGContextSaveGState (gcontext); |
| 1241 | 1251 | ||
| 1242 | fliptf.c = font->synthItal ? Fix2X (kATSItalicQDSkew) : 0.0; | 1252 | // Used to be Fix2X (kATSItalicQDSkew), but Fix2X is deprecated |
| 1253 | // and kATSItalicQDSkew is 0.25. | ||
| 1254 | fliptf.c = font->synthItal ? 0.25 : 0.0; | ||
| 1243 | 1255 | ||
| 1244 | CGContextSetFont (gcontext, font->cgfont); | 1256 | CGContextSetFont (gcontext, font->cgfont); |
| 1245 | CGContextSetFontSize (gcontext, font->size); | 1257 | CGContextSetFontSize (gcontext, font->size); |
| @@ -1264,22 +1276,19 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, | |||
| 1264 | 1276 | ||
| 1265 | CGContextSetTextPosition (gcontext, r.origin.x, r.origin.y); | 1277 | CGContextSetTextPosition (gcontext, r.origin.x, r.origin.y); |
| 1266 | CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->cmp_from, | 1278 | CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->cmp_from, |
| 1267 | advances, len); | 1279 | advances, len); |
| 1268 | 1280 | ||
| 1269 | if (face->overstrike) | 1281 | if (face->overstrike) |
| 1270 | { | 1282 | { |
| 1271 | CGContextSetTextPosition (gcontext, r.origin.x+0.5, r.origin.y); | 1283 | CGContextSetTextPosition (gcontext, r.origin.x+0.5, r.origin.y); |
| 1272 | CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->cmp_from, | 1284 | CGContextShowGlyphsWithAdvances (gcontext, s->char2b + s->cmp_from, |
| 1273 | advances, len); | 1285 | advances, len); |
| 1274 | } | 1286 | } |
| 1275 | 1287 | ||
| 1276 | CGContextRestoreGState (gcontext); | 1288 | CGContextRestoreGState (gcontext); |
| 1277 | } | 1289 | } |
| 1278 | #endif /* NS_IMPL_COCOA */ | 1290 | #endif /* NS_IMPL_COCOA */ |
| 1279 | 1291 | ||
| 1280 | /* Draw underline, overline, strike-through. */ | ||
| 1281 | ns_draw_text_decoration (s, face, col, r.size.width, r.origin.x); | ||
| 1282 | |||
| 1283 | unblock_input (); | 1292 | unblock_input (); |
| 1284 | return to-from; | 1293 | return to-from; |
| 1285 | } | 1294 | } |
diff --git a/src/nsmenu.m b/src/nsmenu.m index 697329df675..3ed1734d222 100644 --- a/src/nsmenu.m +++ b/src/nsmenu.m | |||
| @@ -1242,7 +1242,7 @@ update_frame_tool_bar (struct frame *f) | |||
| 1242 | { | 1242 | { |
| 1243 | /* 1) come up w/identifier */ | 1243 | /* 1) come up w/identifier */ |
| 1244 | NSString *identifier | 1244 | NSString *identifier |
| 1245 | = [NSString stringWithFormat: @"%u", [img hash]]; | 1245 | = [NSString stringWithFormat: @"%lu", (unsigned long)[img hash]]; |
| 1246 | [activeIdentifiers addObject: identifier]; | 1246 | [activeIdentifiers addObject: identifier]; |
| 1247 | 1247 | ||
| 1248 | /* 2) create / reuse item */ | 1248 | /* 2) create / reuse item */ |
diff --git a/src/nsterm.h b/src/nsterm.h index 4e07d796250..9f7767b312e 100644 --- a/src/nsterm.h +++ b/src/nsterm.h | |||
| @@ -597,6 +597,30 @@ struct ns_display_info | |||
| 597 | 597 | ||
| 598 | struct frame *x_highlight_frame; | 598 | struct frame *x_highlight_frame; |
| 599 | struct frame *x_focus_frame; | 599 | struct frame *x_focus_frame; |
| 600 | |||
| 601 | /* The frame where the mouse was last time we reported a mouse event. */ | ||
| 602 | struct frame *last_mouse_frame; | ||
| 603 | |||
| 604 | /* The frame where the mouse was last time we reported a mouse motion. */ | ||
| 605 | struct frame *last_mouse_motion_frame; | ||
| 606 | |||
| 607 | /* Position where the mouse was last time we reported a motion. | ||
| 608 | This is a position on last_mouse_motion_frame. */ | ||
| 609 | int last_mouse_motion_x; | ||
| 610 | int last_mouse_motion_y; | ||
| 611 | |||
| 612 | /* Where the mouse was last time we reported a mouse position. */ | ||
| 613 | NSRect last_mouse_glyph; | ||
| 614 | |||
| 615 | /* Time of last mouse movement. */ | ||
| 616 | Time last_mouse_movement_time; | ||
| 617 | |||
| 618 | /* The scroll bar in which the last motion event occurred. */ | ||
| 619 | #ifdef __OBJC__ | ||
| 620 | EmacsScroller *last_mouse_scroll_bar; | ||
| 621 | #else | ||
| 622 | void *last_mouse_scroll_bar; | ||
| 623 | #endif | ||
| 600 | }; | 624 | }; |
| 601 | 625 | ||
| 602 | /* This is a chain of structures for all the NS displays currently in use. */ | 626 | /* This is a chain of structures for all the NS displays currently in use. */ |
| @@ -605,8 +629,6 @@ extern struct ns_display_info *x_display_list; | |||
| 605 | extern Lisp_Object ns_display_name_list; | 629 | extern Lisp_Object ns_display_name_list; |
| 606 | extern struct ns_display_info *ns_display_info_for_name (Lisp_Object name); | 630 | extern struct ns_display_info *ns_display_info_for_name (Lisp_Object name); |
| 607 | 631 | ||
| 608 | struct ns_display_info *check_x_display_info (Lisp_Object frame); | ||
| 609 | |||
| 610 | struct ns_output | 632 | struct ns_output |
| 611 | { | 633 | { |
| 612 | #ifdef __OBJC__ | 634 | #ifdef __OBJC__ |
| @@ -678,9 +700,7 @@ struct x_output | |||
| 678 | 700 | ||
| 679 | 701 | ||
| 680 | /* This gives the ns_display_info structure for the display F is on. */ | 702 | /* This gives the ns_display_info structure for the display F is on. */ |
| 681 | #define FRAME_NS_DISPLAY_INFO(f) ((f)->output_data.ns->display_info) | 703 | #define FRAME_DISPLAY_INFO(f) ((f)->output_data.ns->display_info) |
| 682 | /* the primacy of X must be constantly worked with... */ | ||
| 683 | #define FRAME_X_DISPLAY_INFO(f) ((f)->output_data.ns->display_info) | ||
| 684 | #define FRAME_X_OUTPUT(f) ((f)->output_data.ns) | 704 | #define FRAME_X_OUTPUT(f) ((f)->output_data.ns) |
| 685 | #define FRAME_NS_WINDOW(f) ((f)->output_data.ns->window_desc) | 705 | #define FRAME_NS_WINDOW(f) ((f)->output_data.ns->window_desc) |
| 686 | #define FRAME_X_WINDOW(f) ((f)->output_data.ns->window_desc) | 706 | #define FRAME_X_WINDOW(f) ((f)->output_data.ns->window_desc) |
| @@ -689,12 +709,12 @@ struct x_output | |||
| 689 | #define FRAME_NS_DISPLAY(f) (0) | 709 | #define FRAME_NS_DISPLAY(f) (0) |
| 690 | #define FRAME_X_DISPLAY(f) (0) | 710 | #define FRAME_X_DISPLAY(f) (0) |
| 691 | #define FRAME_X_SCREEN(f) (0) | 711 | #define FRAME_X_SCREEN(f) (0) |
| 692 | #define FRAME_X_VISUAL(f) FRAME_NS_DISPLAY_INFO(f)->visual | 712 | #define FRAME_X_VISUAL(f) FRAME_DISPLAY_INFO(f)->visual |
| 693 | 713 | ||
| 694 | #define FRAME_FOREGROUND_COLOR(f) ((f)->output_data.ns->foreground_color) | 714 | #define FRAME_FOREGROUND_COLOR(f) ((f)->output_data.ns->foreground_color) |
| 695 | #define FRAME_BACKGROUND_COLOR(f) ((f)->output_data.ns->background_color) | 715 | #define FRAME_BACKGROUND_COLOR(f) ((f)->output_data.ns->background_color) |
| 696 | 716 | ||
| 697 | #define FRAME_X_IMAGE_CACHE(F) FRAME_NS_DISPLAY_INFO ((F))->image_cache | 717 | #define FRAME_X_IMAGE_CACHE(F) FRAME_DISPLAY_INFO ((F))->image_cache |
| 698 | 718 | ||
| 699 | #define NS_FACE_FOREGROUND(f) ((f)->foreground) | 719 | #define NS_FACE_FOREGROUND(f) ((f)->foreground) |
| 700 | #define NS_FACE_BACKGROUND(f) ((f)->background) | 720 | #define NS_FACE_BACKGROUND(f) ((f)->background) |
| @@ -703,10 +723,8 @@ struct x_output | |||
| 703 | 723 | ||
| 704 | #define FONT_WIDTH(f) ((f)->max_width) | 724 | #define FONT_WIDTH(f) ((f)->max_width) |
| 705 | #define FONT_HEIGHT(f) ((f)->height) | 725 | #define FONT_HEIGHT(f) ((f)->height) |
| 706 | /*#define FONT_BASE(f) ((f)->ascent) */ | 726 | #define FONT_BASE(f) ((f)->ascent) |
| 707 | #define FONT_BASE(f) (((struct nsfont_info *)f)->max_bounds.ascent) | 727 | #define FONT_DESCENT(f) ((f)->descent) |
| 708 | /*#define FONT_DESCENT(f) ((f)->descent) */ | ||
| 709 | #define FONT_DESCENT(f) (((struct nsfont_info *)f)->max_bounds.descent) | ||
| 710 | 728 | ||
| 711 | #define FRAME_DEFAULT_FACE(f) FACE_FROM_ID (f, DEFAULT_FACE_ID) | 729 | #define FRAME_DEFAULT_FACE(f) FACE_FROM_ID (f, DEFAULT_FACE_ID) |
| 712 | 730 | ||
| @@ -744,14 +762,10 @@ struct x_output | |||
| 744 | #define NS_TOP_POS(f) ((f)->top_pos) | 762 | #define NS_TOP_POS(f) ((f)->top_pos) |
| 745 | #endif | 763 | #endif |
| 746 | 764 | ||
| 747 | #define FRAME_NS_FONT_TABLE(f) (FRAME_NS_DISPLAY_INFO (f)->font_table) | 765 | #define FRAME_NS_FONT_TABLE(f) (FRAME_DISPLAY_INFO (f)->font_table) |
| 748 | 766 | ||
| 749 | #define FRAME_FONTSET(f) ((f)->output_data.ns->fontset) | 767 | #define FRAME_FONTSET(f) ((f)->output_data.ns->fontset) |
| 750 | 768 | ||
| 751 | #define FRAME_SMALLEST_CHAR_WIDTH(f) \ | ||
| 752 | (FRAME_NS_DISPLAY_INFO (f)->smallest_char_width) | ||
| 753 | #define FRAME_SMALLEST_FONT_HEIGHT(f) \ | ||
| 754 | (FRAME_NS_DISPLAY_INFO (f)->smallest_font_height) | ||
| 755 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.ns->baseline_offset) | 769 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.ns->baseline_offset) |
| 756 | #define BLACK_PIX_DEFAULT(f) 0x000000 | 770 | #define BLACK_PIX_DEFAULT(f) 0x000000 |
| 757 | #define WHITE_PIX_DEFAULT(f) 0xFFFFFF | 771 | #define WHITE_PIX_DEFAULT(f) 0xFFFFFF |
| @@ -876,7 +890,6 @@ extern int ns_select (int nfds, fd_set *readfds, fd_set *writefds, | |||
| 876 | sigset_t const *sigmask); | 890 | sigset_t const *sigmask); |
| 877 | extern unsigned long ns_get_rgb_color (struct frame *f, | 891 | extern unsigned long ns_get_rgb_color (struct frame *f, |
| 878 | float r, float g, float b, float a); | 892 | float r, float g, float b, float a); |
| 879 | extern NSPoint last_mouse_motion_position; | ||
| 880 | 893 | ||
| 881 | /* From nsterm.m, needed in nsfont.m. */ | 894 | /* From nsterm.m, needed in nsfont.m. */ |
| 882 | #ifdef __OBJC__ | 895 | #ifdef __OBJC__ |
| @@ -906,8 +919,4 @@ extern char gnustep_base_version[]; /* version tracking */ | |||
| 906 | ? (min) : (((x)>(max)) ? (max) : (x))) | 919 | ? (min) : (((x)>(max)) ? (max) : (x))) |
| 907 | #define SCREENMAXBOUND(x) (IN_BOUND (-SCREENMAX, x, SCREENMAX)) | 920 | #define SCREENMAXBOUND(x) (IN_BOUND (-SCREENMAX, x, SCREENMAX)) |
| 908 | 921 | ||
| 909 | /* needed somewhere... */ | ||
| 910 | #define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0) | ||
| 911 | |||
| 912 | |||
| 913 | #endif /* HAVE_NS */ | 922 | #endif /* HAVE_NS */ |
diff --git a/src/nsterm.m b/src/nsterm.m index 31053ca7a0d..65c67eb9b56 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -64,6 +64,12 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu) | |||
| 64 | #include "process.h" | 64 | #include "process.h" |
| 65 | #endif | 65 | #endif |
| 66 | 66 | ||
| 67 | #ifdef NS_IMPL_COCOA | ||
| 68 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 | ||
| 69 | #include "macfont.h" | ||
| 70 | #endif | ||
| 71 | #endif | ||
| 72 | |||
| 67 | /* call tracing */ | 73 | /* call tracing */ |
| 68 | #if 0 | 74 | #if 0 |
| 69 | int term_trace_num = 0; | 75 | int term_trace_num = 0; |
| @@ -185,11 +191,6 @@ Lisp_Object ns_display_name_list; | |||
| 185 | long context_menu_value = 0; | 191 | long context_menu_value = 0; |
| 186 | 192 | ||
| 187 | /* display update */ | 193 | /* display update */ |
| 188 | NSPoint last_mouse_motion_position; | ||
| 189 | static NSRect last_mouse_glyph; | ||
| 190 | static Time last_mouse_movement_time = 0; | ||
| 191 | static Lisp_Object last_mouse_motion_frame; | ||
| 192 | static EmacsScroller *last_mouse_scroll_bar = nil; | ||
| 193 | static struct frame *ns_updating_frame; | 194 | static struct frame *ns_updating_frame; |
| 194 | static NSView *focus_view = NULL; | 195 | static NSView *focus_view = NULL; |
| 195 | static int ns_window_num = 0; | 196 | static int ns_window_num = 0; |
| @@ -198,8 +199,6 @@ static NSRect uRect; | |||
| 198 | #endif | 199 | #endif |
| 199 | static BOOL gsaved = NO; | 200 | static BOOL gsaved = NO; |
| 200 | static BOOL ns_fake_keydown = NO; | 201 | static BOOL ns_fake_keydown = NO; |
| 201 | int ns_tmp_flags; /* FIXME */ | ||
| 202 | struct nsfont_info *ns_tmp_font; /* FIXME */ | ||
| 203 | #ifdef NS_IMPL_COCOA | 202 | #ifdef NS_IMPL_COCOA |
| 204 | static BOOL ns_menu_bar_is_hidden = NO; | 203 | static BOOL ns_menu_bar_is_hidden = NO; |
| 205 | #endif | 204 | #endif |
| @@ -801,18 +800,6 @@ ns_update_end (struct frame *f) | |||
| 801 | NSTRACE (ns_update_end); | 800 | NSTRACE (ns_update_end); |
| 802 | } | 801 | } |
| 803 | 802 | ||
| 804 | |||
| 805 | static void | ||
| 806 | ns_flush (struct frame *f) | ||
| 807 | /* -------------------------------------------------------------------------- | ||
| 808 | external (RIF) call | ||
| 809 | NS impl is no-op since currently we flush in ns_update_end and elsewhere | ||
| 810 | -------------------------------------------------------------------------- */ | ||
| 811 | { | ||
| 812 | NSTRACE (ns_flush); | ||
| 813 | } | ||
| 814 | |||
| 815 | |||
| 816 | static void | 803 | static void |
| 817 | ns_focus (struct frame *f, NSRect *r, int n) | 804 | ns_focus (struct frame *f, NSRect *r, int n) |
| 818 | /* -------------------------------------------------------------------------- | 805 | /* -------------------------------------------------------------------------- |
| @@ -1019,7 +1006,7 @@ ns_frame_rehighlight (struct frame *frame) | |||
| 1019 | External (hook): called on things like window switching within frame | 1006 | External (hook): called on things like window switching within frame |
| 1020 | -------------------------------------------------------------------------- */ | 1007 | -------------------------------------------------------------------------- */ |
| 1021 | { | 1008 | { |
| 1022 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (frame); | 1009 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); |
| 1023 | struct frame *old_highlight = dpyinfo->x_highlight_frame; | 1010 | struct frame *old_highlight = dpyinfo->x_highlight_frame; |
| 1024 | 1011 | ||
| 1025 | NSTRACE (ns_frame_rehighlight); | 1012 | NSTRACE (ns_frame_rehighlight); |
| @@ -1116,7 +1103,7 @@ x_iconify_frame (struct frame *f) | |||
| 1116 | NSTRACE (x_iconify_frame); | 1103 | NSTRACE (x_iconify_frame); |
| 1117 | check_window_system (f); | 1104 | check_window_system (f); |
| 1118 | view = FRAME_NS_VIEW (f); | 1105 | view = FRAME_NS_VIEW (f); |
| 1119 | dpyinfo = FRAME_NS_DISPLAY_INFO (f); | 1106 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1120 | 1107 | ||
| 1121 | if (dpyinfo->x_highlight_frame == f) | 1108 | if (dpyinfo->x_highlight_frame == f) |
| 1122 | dpyinfo->x_highlight_frame = 0; | 1109 | dpyinfo->x_highlight_frame = 0; |
| @@ -1148,7 +1135,7 @@ x_free_frame_resources (struct frame *f) | |||
| 1148 | NSTRACE (x_free_frame_resources); | 1135 | NSTRACE (x_free_frame_resources); |
| 1149 | check_window_system (f); | 1136 | check_window_system (f); |
| 1150 | view = FRAME_NS_VIEW (f); | 1137 | view = FRAME_NS_VIEW (f); |
| 1151 | dpyinfo = FRAME_NS_DISPLAY_INFO (f); | 1138 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1152 | hlinfo = MOUSE_HL_INFO (f); | 1139 | hlinfo = MOUSE_HL_INFO (f); |
| 1153 | 1140 | ||
| 1154 | [(EmacsView *)view setWindowClosing: YES]; /* may not have been informed */ | 1141 | [(EmacsView *)view setWindowClosing: YES]; /* may not have been informed */ |
| @@ -1368,7 +1355,7 @@ ns_fullscreen_hook (struct frame *f) | |||
| 1368 | NSColor * | 1355 | NSColor * |
| 1369 | ns_lookup_indexed_color (unsigned long idx, struct frame *f) | 1356 | ns_lookup_indexed_color (unsigned long idx, struct frame *f) |
| 1370 | { | 1357 | { |
| 1371 | struct ns_color_table *color_table = FRAME_NS_DISPLAY_INFO (f)->color_table; | 1358 | struct ns_color_table *color_table = FRAME_DISPLAY_INFO (f)->color_table; |
| 1372 | if (idx < 1 || idx >= color_table->avail) | 1359 | if (idx < 1 || idx >= color_table->avail) |
| 1373 | return nil; | 1360 | return nil; |
| 1374 | return color_table->colors[idx]; | 1361 | return color_table->colors[idx]; |
| @@ -1378,7 +1365,7 @@ ns_lookup_indexed_color (unsigned long idx, struct frame *f) | |||
| 1378 | unsigned long | 1365 | unsigned long |
| 1379 | ns_index_color (NSColor *color, struct frame *f) | 1366 | ns_index_color (NSColor *color, struct frame *f) |
| 1380 | { | 1367 | { |
| 1381 | struct ns_color_table *color_table = FRAME_NS_DISPLAY_INFO (f)->color_table; | 1368 | struct ns_color_table *color_table = FRAME_DISPLAY_INFO (f)->color_table; |
| 1382 | ptrdiff_t idx; | 1369 | ptrdiff_t idx; |
| 1383 | ptrdiff_t i; | 1370 | ptrdiff_t i; |
| 1384 | 1371 | ||
| @@ -1428,7 +1415,7 @@ ns_free_indexed_color (unsigned long idx, struct frame *f) | |||
| 1428 | if (!f) | 1415 | if (!f) |
| 1429 | return; | 1416 | return; |
| 1430 | 1417 | ||
| 1431 | color_table = FRAME_NS_DISPLAY_INFO (f)->color_table; | 1418 | color_table = FRAME_DISPLAY_INFO (f)->color_table; |
| 1432 | 1419 | ||
| 1433 | if (idx <= 0 || idx >= color_table->size) { | 1420 | if (idx <= 0 || idx >= color_table->size) { |
| 1434 | message1 ("ns_free_indexed_color: Color index out of range.\n"); | 1421 | message1 ("ns_free_indexed_color: Color index out of range.\n"); |
| @@ -1663,7 +1650,7 @@ x_set_frame_alpha (struct frame *f) | |||
| 1663 | change the entire-frame transparency | 1650 | change the entire-frame transparency |
| 1664 | -------------------------------------------------------------------------- */ | 1651 | -------------------------------------------------------------------------- */ |
| 1665 | { | 1652 | { |
| 1666 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (f); | 1653 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1667 | double alpha = 1.0; | 1654 | double alpha = 1.0; |
| 1668 | double alpha_min = 1.0; | 1655 | double alpha_min = 1.0; |
| 1669 | 1656 | ||
| @@ -1748,24 +1735,26 @@ note_mouse_movement (struct frame *frame, CGFloat x, CGFloat y) | |||
| 1748 | known as last_mouse_glyph. | 1735 | known as last_mouse_glyph. |
| 1749 | ------------------------------------------------------------------------ */ | 1736 | ------------------------------------------------------------------------ */ |
| 1750 | { | 1737 | { |
| 1738 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); | ||
| 1739 | NSRect *r; | ||
| 1740 | |||
| 1751 | // NSTRACE (note_mouse_movement); | 1741 | // NSTRACE (note_mouse_movement); |
| 1752 | 1742 | ||
| 1753 | XSETFRAME (last_mouse_motion_frame, frame); | 1743 | dpyinfo->last_mouse_motion_frame = frame; |
| 1744 | r = &dpyinfo->last_mouse_glyph; | ||
| 1754 | 1745 | ||
| 1755 | /* Note, this doesn't get called for enter/leave, since we don't have a | 1746 | /* Note, this doesn't get called for enter/leave, since we don't have a |
| 1756 | position. Those are taken care of in the corresponding NSView methods. */ | 1747 | position. Those are taken care of in the corresponding NSView methods. */ |
| 1757 | 1748 | ||
| 1758 | /* has movement gone beyond last rect we were tracking? */ | 1749 | /* has movement gone beyond last rect we were tracking? */ |
| 1759 | if (x < last_mouse_glyph.origin.x || | 1750 | if (x < r->origin.x || x >= r->origin.x + r->size.width |
| 1760 | x >= (last_mouse_glyph.origin.x + last_mouse_glyph.size.width) || | 1751 | || y < r->origin.y || y >= r->origin.y + r->size.height) |
| 1761 | y < last_mouse_glyph.origin.y || | ||
| 1762 | y >= (last_mouse_glyph.origin.y + last_mouse_glyph.size.height)) | ||
| 1763 | { | 1752 | { |
| 1764 | ns_update_begin(frame); | 1753 | ns_update_begin (frame); |
| 1765 | frame->mouse_moved = 1; | 1754 | frame->mouse_moved = 1; |
| 1766 | note_mouse_highlight (frame, x, y); | 1755 | note_mouse_highlight (frame, x, y); |
| 1767 | remember_mouse_glyph (frame, x, y, &last_mouse_glyph); | 1756 | remember_mouse_glyph (frame, x, y, r); |
| 1768 | ns_update_end(frame); | 1757 | ns_update_end (frame); |
| 1769 | return 1; | 1758 | return 1; |
| 1770 | } | 1759 | } |
| 1771 | 1760 | ||
| @@ -1798,18 +1787,19 @@ ns_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 1798 | return; | 1787 | return; |
| 1799 | } | 1788 | } |
| 1800 | 1789 | ||
| 1801 | dpyinfo = FRAME_NS_DISPLAY_INFO (*fp); | 1790 | dpyinfo = FRAME_DISPLAY_INFO (*fp); |
| 1802 | 1791 | ||
| 1803 | block_input (); | 1792 | block_input (); |
| 1804 | 1793 | ||
| 1805 | if (last_mouse_scroll_bar != nil && insist == 0) | 1794 | if (dpyinfo->last_mouse_scroll_bar != nil && insist == 0) |
| 1806 | { | 1795 | { |
| 1807 | /* TODO: we do not use this path at the moment because drag events will | 1796 | /* TODO: we do not use this path at the moment because drag events will |
| 1808 | go directly to the EmacsScroller. Leaving code in for now. */ | 1797 | go directly to the EmacsScroller. Leaving code in for now. */ |
| 1809 | [last_mouse_scroll_bar getMouseMotionPart: (int *)part window: bar_window | 1798 | [dpyinfo->last_mouse_scroll_bar |
| 1810 | x: x y: y]; | 1799 | getMouseMotionPart: (int *)part window: bar_window x: x y: y]; |
| 1811 | if (time) *time = last_mouse_movement_time; | 1800 | if (time) |
| 1812 | last_mouse_scroll_bar = nil; | 1801 | *time = dpyinfo->last_mouse_movement_time; |
| 1802 | dpyinfo->last_mouse_scroll_bar = nil; | ||
| 1813 | } | 1803 | } |
| 1814 | else | 1804 | else |
| 1815 | { | 1805 | { |
| @@ -1819,9 +1809,10 @@ ns_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 1819 | && FRAME_NS_DISPLAY (XFRAME (frame)) == FRAME_NS_DISPLAY (*fp)) | 1809 | && FRAME_NS_DISPLAY (XFRAME (frame)) == FRAME_NS_DISPLAY (*fp)) |
| 1820 | XFRAME (frame)->mouse_moved = 0; | 1810 | XFRAME (frame)->mouse_moved = 0; |
| 1821 | 1811 | ||
| 1822 | last_mouse_scroll_bar = nil; | 1812 | dpyinfo->last_mouse_scroll_bar = nil; |
| 1823 | if (last_mouse_frame && FRAME_LIVE_P (last_mouse_frame)) | 1813 | if (dpyinfo->last_mouse_frame |
| 1824 | f = last_mouse_frame; | 1814 | && FRAME_LIVE_P (dpyinfo->last_mouse_frame)) |
| 1815 | f = dpyinfo->last_mouse_frame; | ||
| 1825 | else | 1816 | else |
| 1826 | f = dpyinfo->x_focus_frame ? dpyinfo->x_focus_frame | 1817 | f = dpyinfo->x_focus_frame ? dpyinfo->x_focus_frame |
| 1827 | : SELECTED_FRAME (); | 1818 | : SELECTED_FRAME (); |
| @@ -1832,7 +1823,8 @@ ns_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 1832 | 1823 | ||
| 1833 | position = [[view window] mouseLocationOutsideOfEventStream]; | 1824 | position = [[view window] mouseLocationOutsideOfEventStream]; |
| 1834 | position = [view convertPoint: position fromView: nil]; | 1825 | position = [view convertPoint: position fromView: nil]; |
| 1835 | remember_mouse_glyph (f, position.x, position.y, &last_mouse_glyph); | 1826 | remember_mouse_glyph (f, position.x, position.y, |
| 1827 | &dpyinfo->last_mouse_glyph); | ||
| 1836 | /*fprintf (stderr, "ns_mouse_position: %.0f, %.0f\n", position.x, position.y); */ | 1828 | /*fprintf (stderr, "ns_mouse_position: %.0f, %.0f\n", position.x, position.y); */ |
| 1837 | 1829 | ||
| 1838 | if (bar_window) *bar_window = Qnil; | 1830 | if (bar_window) *bar_window = Qnil; |
| @@ -1840,7 +1832,8 @@ ns_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 1840 | 1832 | ||
| 1841 | if (x) XSETINT (*x, lrint (position.x)); | 1833 | if (x) XSETINT (*x, lrint (position.x)); |
| 1842 | if (y) XSETINT (*y, lrint (position.y)); | 1834 | if (y) XSETINT (*y, lrint (position.y)); |
| 1843 | if (time) *time = last_mouse_movement_time; | 1835 | if (time) |
| 1836 | *time = dpyinfo->last_mouse_movement_time; | ||
| 1844 | *fp = f; | 1837 | *fp = f; |
| 1845 | } | 1838 | } |
| 1846 | } | 1839 | } |
| @@ -2170,8 +2163,11 @@ ns_compute_glyph_string_overhangs (struct glyph_string *s) | |||
| 2170 | else | 2163 | else |
| 2171 | { | 2164 | { |
| 2172 | s->left_overhang = 0; | 2165 | s->left_overhang = 0; |
| 2173 | s->right_overhang = ((struct nsfont_info *)font)->ital ? | 2166 | if (EQ (font->driver->type, Qns)) |
| 2174 | FONT_HEIGHT (font) * 0.2 : 0; | 2167 | s->right_overhang = ((struct nsfont_info *)font)->ital ? |
| 2168 | FONT_HEIGHT (font) * 0.2 : 0; | ||
| 2169 | else | ||
| 2170 | s->right_overhang = 0; | ||
| 2175 | } | 2171 | } |
| 2176 | } | 2172 | } |
| 2177 | 2173 | ||
| @@ -2889,7 +2885,7 @@ ns_maybe_dumpglyphs_background (struct glyph_string *s, char force_p) | |||
| 2889 | : FRAME_BACKGROUND_COLOR (s->f)) set]; | 2885 | : FRAME_BACKGROUND_COLOR (s->f)) set]; |
| 2890 | else | 2886 | else |
| 2891 | { | 2887 | { |
| 2892 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (s->f); | 2888 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f); |
| 2893 | [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set]; | 2889 | [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set]; |
| 2894 | } | 2890 | } |
| 2895 | 2891 | ||
| @@ -3145,8 +3141,10 @@ ns_draw_glyph_string (struct glyph_string *s) | |||
| 3145 | { | 3141 | { |
| 3146 | /* TODO (optimize): focus for box and contents draw */ | 3142 | /* TODO (optimize): focus for box and contents draw */ |
| 3147 | NSRect r[2]; | 3143 | NSRect r[2]; |
| 3148 | int n; | 3144 | int n, flags; |
| 3149 | char box_drawn_p = 0; | 3145 | char box_drawn_p = 0; |
| 3146 | struct font *font = s->face->font; | ||
| 3147 | if (! font) font = FRAME_FONT (s->f); | ||
| 3150 | 3148 | ||
| 3151 | NSTRACE (ns_draw_glyph_string); | 3149 | NSTRACE (ns_draw_glyph_string); |
| 3152 | 3150 | ||
| @@ -3213,13 +3211,10 @@ ns_draw_glyph_string (struct glyph_string *s) | |||
| 3213 | ns_maybe_dumpglyphs_background | 3211 | ns_maybe_dumpglyphs_background |
| 3214 | (s, s->first_glyph->type == COMPOSITE_GLYPH); | 3212 | (s, s->first_glyph->type == COMPOSITE_GLYPH); |
| 3215 | 3213 | ||
| 3216 | ns_tmp_flags = s->hl == DRAW_CURSOR ? NS_DUMPGLYPH_CURSOR : | 3214 | flags = s->hl == DRAW_CURSOR ? NS_DUMPGLYPH_CURSOR : |
| 3217 | (s->hl == DRAW_MOUSE_FACE ? NS_DUMPGLYPH_MOUSEFACE : | 3215 | (s->hl == DRAW_MOUSE_FACE ? NS_DUMPGLYPH_MOUSEFACE : |
| 3218 | (s->for_overlaps ? NS_DUMPGLYPH_FOREGROUND : | 3216 | (s->for_overlaps ? NS_DUMPGLYPH_FOREGROUND : |
| 3219 | NS_DUMPGLYPH_NORMAL)); | 3217 | NS_DUMPGLYPH_NORMAL)); |
| 3220 | ns_tmp_font = (struct nsfont_info *)s->face->font; | ||
| 3221 | if (ns_tmp_font == NULL) | ||
| 3222 | ns_tmp_font = (struct nsfont_info *)FRAME_FONT (s->f); | ||
| 3223 | 3218 | ||
| 3224 | if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) | 3219 | if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) |
| 3225 | { | 3220 | { |
| @@ -3228,10 +3223,21 @@ ns_draw_glyph_string (struct glyph_string *s) | |||
| 3228 | NS_FACE_FOREGROUND (s->face) = tmp; | 3223 | NS_FACE_FOREGROUND (s->face) = tmp; |
| 3229 | } | 3224 | } |
| 3230 | 3225 | ||
| 3231 | ns_tmp_font->font.driver->draw | 3226 | font->driver->draw |
| 3232 | (s, 0, s->nchars, s->x, s->y, | 3227 | (s, 0, s->nchars, s->x, s->y, |
| 3233 | (ns_tmp_flags == NS_DUMPGLYPH_NORMAL && !s->background_filled_p) | 3228 | (flags == NS_DUMPGLYPH_NORMAL && !s->background_filled_p) |
| 3234 | || ns_tmp_flags == NS_DUMPGLYPH_MOUSEFACE); | 3229 | || flags == NS_DUMPGLYPH_MOUSEFACE); |
| 3230 | |||
| 3231 | { | ||
| 3232 | NSColor *col = (NS_FACE_FOREGROUND (s->face) != 0 | ||
| 3233 | ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (s->face), | ||
| 3234 | s->f) | ||
| 3235 | : FRAME_FOREGROUND_COLOR (s->f)); | ||
| 3236 | [col set]; | ||
| 3237 | |||
| 3238 | /* Draw underline, overline, strike-through. */ | ||
| 3239 | ns_draw_text_decoration (s, s->face, col, s->width, s->x); | ||
| 3240 | } | ||
| 3235 | 3241 | ||
| 3236 | if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) | 3242 | if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) |
| 3237 | { | 3243 | { |
| @@ -3963,8 +3969,7 @@ static struct redisplay_interface ns_redisplay_interface = | |||
| 3963 | ns_after_update_window_line, | 3969 | ns_after_update_window_line, |
| 3964 | ns_update_window_begin, | 3970 | ns_update_window_begin, |
| 3965 | ns_update_window_end, | 3971 | ns_update_window_end, |
| 3966 | ns_flush, | 3972 | 0, /* flush_display */ |
| 3967 | 0, /* flush_display_optional */ | ||
| 3968 | x_clear_window_mouse_face, | 3973 | x_clear_window_mouse_face, |
| 3969 | x_get_glyph_overhangs, | 3974 | x_get_glyph_overhangs, |
| 3970 | x_fix_overlapping_area, | 3975 | x_fix_overlapping_area, |
| @@ -3972,7 +3977,7 @@ static struct redisplay_interface ns_redisplay_interface = | |||
| 3972 | 0, /* define_fringe_bitmap */ /* FIXME: simplify ns_draw_fringe_bitmap */ | 3977 | 0, /* define_fringe_bitmap */ /* FIXME: simplify ns_draw_fringe_bitmap */ |
| 3973 | 0, /* destroy_fringe_bitmap */ | 3978 | 0, /* destroy_fringe_bitmap */ |
| 3974 | ns_compute_glyph_string_overhangs, | 3979 | ns_compute_glyph_string_overhangs, |
| 3975 | ns_draw_glyph_string, /* interface to nsfont.m */ | 3980 | ns_draw_glyph_string, |
| 3976 | ns_define_frame_cursor, | 3981 | ns_define_frame_cursor, |
| 3977 | ns_clear_frame_area, | 3982 | ns_clear_frame_area, |
| 3978 | ns_draw_window_cursor, | 3983 | ns_draw_window_cursor, |
| @@ -4822,17 +4827,26 @@ not_in_argv (NSString *arg) | |||
| 4822 | /* called on font panel selection */ | 4827 | /* called on font panel selection */ |
| 4823 | - (void)changeFont: (id)sender | 4828 | - (void)changeFont: (id)sender |
| 4824 | { | 4829 | { |
| 4825 | NSEvent *e =[[self window] currentEvent]; | 4830 | NSEvent *e = [[self window] currentEvent]; |
| 4826 | struct face *face =FRAME_DEFAULT_FACE (emacsframe); | 4831 | struct face *face = FRAME_DEFAULT_FACE (emacsframe); |
| 4832 | struct font *font = face->font; | ||
| 4827 | id newFont; | 4833 | id newFont; |
| 4828 | CGFloat size; | 4834 | CGFloat size; |
| 4835 | NSFont *nsfont; | ||
| 4829 | 4836 | ||
| 4830 | NSTRACE (changeFont); | 4837 | NSTRACE (changeFont); |
| 4838 | |||
| 4831 | if (!emacs_event) | 4839 | if (!emacs_event) |
| 4832 | return; | 4840 | return; |
| 4833 | 4841 | ||
| 4834 | if ((newFont = [sender convertFont: | 4842 | if (EQ (font->driver->type, Qns)) |
| 4835 | ((struct nsfont_info *)face->font)->nsfont])) | 4843 | nsfont = ((struct nsfont_info *)font)->nsfont; |
| 4844 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 | ||
| 4845 | else | ||
| 4846 | nsfont = (NSFont *) macfont_get_nsctfont (font); | ||
| 4847 | #endif | ||
| 4848 | |||
| 4849 | if ((newFont = [sender convertFont: nsfont])) | ||
| 4836 | { | 4850 | { |
| 4837 | SET_FRAME_GARBAGED (emacsframe); /* now needed as of 2008/10 */ | 4851 | SET_FRAME_GARBAGED (emacsframe); /* now needed as of 2008/10 */ |
| 4838 | 4852 | ||
| @@ -5194,8 +5208,10 @@ not_in_argv (NSString *arg) | |||
| 5194 | NSString *str = [aString respondsToSelector: @selector (string)] ? | 5208 | NSString *str = [aString respondsToSelector: @selector (string)] ? |
| 5195 | [aString string] : aString; | 5209 | [aString string] : aString; |
| 5196 | if (NS_KEYLOG) | 5210 | if (NS_KEYLOG) |
| 5197 | NSLog (@"setMarkedText '%@' len =%d range %d from %d", str, [str length], | 5211 | NSLog (@"setMarkedText '%@' len =%lu range %lu from %lu", |
| 5198 | selRange.length, selRange.location); | 5212 | str, (unsigned long)[str length], |
| 5213 | (unsigned long)selRange.length, | ||
| 5214 | (unsigned long)selRange.location); | ||
| 5199 | 5215 | ||
| 5200 | if (workingText != nil) | 5216 | if (workingText != nil) |
| 5201 | [self deleteWorkingText]; | 5217 | [self deleteWorkingText]; |
| @@ -5221,7 +5237,7 @@ not_in_argv (NSString *arg) | |||
| 5221 | if (workingText == nil) | 5237 | if (workingText == nil) |
| 5222 | return; | 5238 | return; |
| 5223 | if (NS_KEYLOG) | 5239 | if (NS_KEYLOG) |
| 5224 | NSLog(@"deleteWorkingText len =%d\n", [workingText length]); | 5240 | NSLog(@"deleteWorkingText len =%lu\n", (unsigned long)[workingText length]); |
| 5225 | [workingText release]; | 5241 | [workingText release]; |
| 5226 | workingText = nil; | 5242 | workingText = nil; |
| 5227 | processingCompose = NO; | 5243 | processingCompose = NO; |
| @@ -5349,6 +5365,7 @@ not_in_argv (NSString *arg) | |||
| 5349 | /* This is what happens when the user presses a mouse button. */ | 5365 | /* This is what happens when the user presses a mouse button. */ |
| 5350 | - (void)mouseDown: (NSEvent *)theEvent | 5366 | - (void)mouseDown: (NSEvent *)theEvent |
| 5351 | { | 5367 | { |
| 5368 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe); | ||
| 5352 | NSPoint p = [self convertPoint: [theEvent locationInWindow] fromView: nil]; | 5369 | NSPoint p = [self convertPoint: [theEvent locationInWindow] fromView: nil]; |
| 5353 | 5370 | ||
| 5354 | NSTRACE (mouseDown); | 5371 | NSTRACE (mouseDown); |
| @@ -5358,10 +5375,10 @@ not_in_argv (NSString *arg) | |||
| 5358 | if (!emacs_event) | 5375 | if (!emacs_event) |
| 5359 | return; | 5376 | return; |
| 5360 | 5377 | ||
| 5361 | last_mouse_frame = emacsframe; | 5378 | dpyinfo->last_mouse_frame = emacsframe; |
| 5362 | /* appears to be needed to prevent spurious movement events generated on | 5379 | /* appears to be needed to prevent spurious movement events generated on |
| 5363 | button clicks */ | 5380 | button clicks */ |
| 5364 | last_mouse_frame->mouse_moved = 0; | 5381 | emacsframe->mouse_moved = 0; |
| 5365 | 5382 | ||
| 5366 | if ([theEvent type] == NSScrollWheel) | 5383 | if ([theEvent type] == NSScrollWheel) |
| 5367 | { | 5384 | { |
| @@ -5433,13 +5450,16 @@ not_in_argv (NSString *arg) | |||
| 5433 | - (void)mouseMoved: (NSEvent *)e | 5450 | - (void)mouseMoved: (NSEvent *)e |
| 5434 | { | 5451 | { |
| 5435 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (emacsframe); | 5452 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (emacsframe); |
| 5453 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe); | ||
| 5436 | Lisp_Object frame; | 5454 | Lisp_Object frame; |
| 5455 | NSPoint pt; | ||
| 5437 | 5456 | ||
| 5438 | // NSTRACE (mouseMoved); | 5457 | // NSTRACE (mouseMoved); |
| 5439 | 5458 | ||
| 5440 | last_mouse_movement_time = EV_TIMESTAMP (e); | 5459 | dpyinfo->last_mouse_movement_time = EV_TIMESTAMP (e); |
| 5441 | last_mouse_motion_position | 5460 | pt = [self convertPoint: [e locationInWindow] fromView: nil]; |
| 5442 | = [self convertPoint: [e locationInWindow] fromView: nil]; | 5461 | dpyinfo->last_mouse_motion_x = pt.x; |
| 5462 | dpyinfo->last_mouse_motion_y = pt.y; | ||
| 5443 | 5463 | ||
| 5444 | /* update any mouse face */ | 5464 | /* update any mouse face */ |
| 5445 | if (hlinfo->mouse_face_hidden) | 5465 | if (hlinfo->mouse_face_hidden) |
| @@ -5456,9 +5476,8 @@ not_in_argv (NSString *arg) | |||
| 5456 | { | 5476 | { |
| 5457 | NSTRACE (mouse_autoselect_window); | 5477 | NSTRACE (mouse_autoselect_window); |
| 5458 | static Lisp_Object last_mouse_window; | 5478 | static Lisp_Object last_mouse_window; |
| 5459 | Lisp_Object window = window_from_coordinates | 5479 | Lisp_Object window |
| 5460 | (emacsframe, last_mouse_motion_position.x, | 5480 | = window_from_coordinates (emacsframe, pt.x, pt.y, 0, 0); |
| 5461 | last_mouse_motion_position.y, 0, 0); | ||
| 5462 | 5481 | ||
| 5463 | if (WINDOWP (window) | 5482 | if (WINDOWP (window) |
| 5464 | && !EQ (window, last_mouse_window) | 5483 | && !EQ (window, last_mouse_window) |
| @@ -5476,8 +5495,7 @@ not_in_argv (NSString *arg) | |||
| 5476 | last_mouse_window = window; | 5495 | last_mouse_window = window; |
| 5477 | } | 5496 | } |
| 5478 | 5497 | ||
| 5479 | if (!note_mouse_movement (emacsframe, last_mouse_motion_position.x, | 5498 | if (!note_mouse_movement (emacsframe, pt.x, pt.y)) |
| 5480 | last_mouse_motion_position.y)) | ||
| 5481 | help_echo_string = previous_help_echo_string; | 5499 | help_echo_string = previous_help_echo_string; |
| 5482 | 5500 | ||
| 5483 | XSETFRAME (frame, emacsframe); | 5501 | XSETFRAME (frame, emacsframe); |
| @@ -5718,7 +5736,7 @@ if (cols > 0 && rows > 0) | |||
| 5718 | - (void)windowDidBecomeKey: (NSNotification *)notification | 5736 | - (void)windowDidBecomeKey: (NSNotification *)notification |
| 5719 | /* cf. x_detect_focus_change(), x_focus_changed(), x_new_focus_frame() */ | 5737 | /* cf. x_detect_focus_change(), x_focus_changed(), x_new_focus_frame() */ |
| 5720 | { | 5738 | { |
| 5721 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (emacsframe); | 5739 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe); |
| 5722 | struct frame *old_focus = dpyinfo->x_focus_frame; | 5740 | struct frame *old_focus = dpyinfo->x_focus_frame; |
| 5723 | 5741 | ||
| 5724 | NSTRACE (windowDidBecomeKey); | 5742 | NSTRACE (windowDidBecomeKey); |
| @@ -5739,7 +5757,7 @@ if (cols > 0 && rows > 0) | |||
| 5739 | - (void)windowDidResignKey: (NSNotification *)notification | 5757 | - (void)windowDidResignKey: (NSNotification *)notification |
| 5740 | /* cf. x_detect_focus_change(), x_focus_changed(), x_new_focus_frame() */ | 5758 | /* cf. x_detect_focus_change(), x_focus_changed(), x_new_focus_frame() */ |
| 5741 | { | 5759 | { |
| 5742 | struct ns_display_info *dpyinfo = FRAME_NS_DISPLAY_INFO (emacsframe); | 5760 | struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe); |
| 5743 | BOOL is_focus_frame = dpyinfo->x_focus_frame == emacsframe; | 5761 | BOOL is_focus_frame = dpyinfo->x_focus_frame == emacsframe; |
| 5744 | NSTRACE (windowDidResignKey); | 5762 | NSTRACE (windowDidResignKey); |
| 5745 | 5763 | ||
| @@ -6322,7 +6340,9 @@ if (cols > 0 && rows > 0) | |||
| 6322 | - (void)mouseEntered: (NSEvent *)theEvent | 6340 | - (void)mouseEntered: (NSEvent *)theEvent |
| 6323 | { | 6341 | { |
| 6324 | NSTRACE (mouseEntered); | 6342 | NSTRACE (mouseEntered); |
| 6325 | last_mouse_movement_time = EV_TIMESTAMP (theEvent); | 6343 | if (emacsframe) |
| 6344 | FRAME_DISPLAY_INFO (emacsframe)->last_mouse_movement_time | ||
| 6345 | = EV_TIMESTAMP (theEvent); | ||
| 6326 | } | 6346 | } |
| 6327 | 6347 | ||
| 6328 | 6348 | ||
| @@ -6335,7 +6355,8 @@ if (cols > 0 && rows > 0) | |||
| 6335 | if (!hlinfo) | 6355 | if (!hlinfo) |
| 6336 | return; | 6356 | return; |
| 6337 | 6357 | ||
| 6338 | last_mouse_movement_time = EV_TIMESTAMP (theEvent); | 6358 | FRAME_DISPLAY_INFO (emacsframe)->last_mouse_movement_time |
| 6359 | = EV_TIMESTAMP (theEvent); | ||
| 6339 | 6360 | ||
| 6340 | if (emacsframe == hlinfo->mouse_face_mouse_frame) | 6361 | if (emacsframe == hlinfo->mouse_face_mouse_frame) |
| 6341 | { | 6362 | { |
| @@ -7401,9 +7422,6 @@ allowing it to be used at a lower level for accented character entry."); | |||
| 7401 | staticpro (&ns_display_name_list); | 7422 | staticpro (&ns_display_name_list); |
| 7402 | ns_display_name_list = Qnil; | 7423 | ns_display_name_list = Qnil; |
| 7403 | 7424 | ||
| 7404 | staticpro (&last_mouse_motion_frame); | ||
| 7405 | last_mouse_motion_frame = Qnil; | ||
| 7406 | |||
| 7407 | DEFVAR_LISP ("ns-auto-hide-menu-bar", ns_auto_hide_menu_bar, | 7425 | DEFVAR_LISP ("ns-auto-hide-menu-bar", ns_auto_hide_menu_bar, |
| 7408 | doc: /* Non-nil means that the menu bar is hidden, but appears when the mouse is near. | 7426 | doc: /* Non-nil means that the menu bar is hidden, but appears when the mouse is near. |
| 7409 | Only works on OSX 10.6 or later. */); | 7427 | Only works on OSX 10.6 or later. */); |
| @@ -7446,6 +7464,14 @@ variable `x-use-underline-position-properties', which is usually at the | |||
| 7446 | baseline level. The default value is nil. */); | 7464 | baseline level. The default value is nil. */); |
| 7447 | x_underline_at_descent_line = 0; | 7465 | x_underline_at_descent_line = 0; |
| 7448 | 7466 | ||
| 7449 | /* Tell emacs about this window system. */ | 7467 | /* Tell Emacs about this window system. */ |
| 7450 | Fprovide (intern ("ns"), Qnil); | 7468 | Fprovide (Qns, Qnil); |
| 7469 | |||
| 7470 | syms_of_nsfont (); | ||
| 7471 | #ifdef NS_IMPL_COCOA | ||
| 7472 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | ||
| 7473 | syms_of_macfont (); | ||
| 7474 | #endif | ||
| 7475 | #endif | ||
| 7476 | |||
| 7451 | } | 7477 | } |
diff --git a/src/process.c b/src/process.c index 20f84990d6f..2ed8a690193 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -21,8 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 21 | 21 | ||
| 22 | #include <config.h> | 22 | #include <config.h> |
| 23 | 23 | ||
| 24 | #define PROCESS_INLINE EXTERN_INLINE | ||
| 25 | |||
| 26 | #include <stdio.h> | 24 | #include <stdio.h> |
| 27 | #include <errno.h> | 25 | #include <errno.h> |
| 28 | #include <sys/types.h> /* Some typedefs are used in sys/file.h. */ | 26 | #include <sys/types.h> /* Some typedefs are used in sys/file.h. */ |
| @@ -1335,15 +1333,15 @@ Returns nil if format of ADDRESS is invalid. */) | |||
| 1335 | 1333 | ||
| 1336 | for (i = 0; i < nargs; i++) | 1334 | for (i = 0; i < nargs; i++) |
| 1337 | { | 1335 | { |
| 1338 | if (! RANGED_INTEGERP (0, p->contents[i], 65535)) | 1336 | if (! RANGED_INTEGERP (0, p->u.contents[i], 65535)) |
| 1339 | return Qnil; | 1337 | return Qnil; |
| 1340 | 1338 | ||
| 1341 | if (nargs <= 5 /* IPv4 */ | 1339 | if (nargs <= 5 /* IPv4 */ |
| 1342 | && i < 4 /* host, not port */ | 1340 | && i < 4 /* host, not port */ |
| 1343 | && XINT (p->contents[i]) > 255) | 1341 | && XINT (p->u.contents[i]) > 255) |
| 1344 | return Qnil; | 1342 | return Qnil; |
| 1345 | 1343 | ||
| 1346 | args[i+1] = p->contents[i]; | 1344 | args[i+1] = p->u.contents[i]; |
| 1347 | } | 1345 | } |
| 1348 | 1346 | ||
| 1349 | return Fformat (nargs+1, args); | 1347 | return Fformat (nargs+1, args); |
| @@ -1982,7 +1980,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len) | |||
| 1982 | len = sizeof (sin->sin_addr) + 1; | 1980 | len = sizeof (sin->sin_addr) + 1; |
| 1983 | address = Fmake_vector (make_number (len), Qnil); | 1981 | address = Fmake_vector (make_number (len), Qnil); |
| 1984 | p = XVECTOR (address); | 1982 | p = XVECTOR (address); |
| 1985 | p->contents[--len] = make_number (ntohs (sin->sin_port)); | 1983 | p->u.contents[--len] = make_number (ntohs (sin->sin_port)); |
| 1986 | cp = (unsigned char *) &sin->sin_addr; | 1984 | cp = (unsigned char *) &sin->sin_addr; |
| 1987 | break; | 1985 | break; |
| 1988 | } | 1986 | } |
| @@ -1994,9 +1992,9 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len) | |||
| 1994 | len = sizeof (sin6->sin6_addr)/2 + 1; | 1992 | len = sizeof (sin6->sin6_addr)/2 + 1; |
| 1995 | address = Fmake_vector (make_number (len), Qnil); | 1993 | address = Fmake_vector (make_number (len), Qnil); |
| 1996 | p = XVECTOR (address); | 1994 | p = XVECTOR (address); |
| 1997 | p->contents[--len] = make_number (ntohs (sin6->sin6_port)); | 1995 | p->u.contents[--len] = make_number (ntohs (sin6->sin6_port)); |
| 1998 | for (i = 0; i < len; i++) | 1996 | for (i = 0; i < len; i++) |
| 1999 | p->contents[i] = make_number (ntohs (ip6[i])); | 1997 | p->u.contents[i] = make_number (ntohs (ip6[i])); |
| 2000 | return address; | 1998 | return address; |
| 2001 | } | 1999 | } |
| 2002 | #endif | 2000 | #endif |
| @@ -2021,7 +2019,7 @@ conv_sockaddr_to_lisp (struct sockaddr *sa, int len) | |||
| 2021 | 2019 | ||
| 2022 | i = 0; | 2020 | i = 0; |
| 2023 | while (i < len) | 2021 | while (i < len) |
| 2024 | p->contents[i++] = make_number (*cp++); | 2022 | p->u.contents[i++] = make_number (*cp++); |
| 2025 | 2023 | ||
| 2026 | return address; | 2024 | return address; |
| 2027 | } | 2025 | } |
| @@ -2092,7 +2090,7 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int | |||
| 2092 | { | 2090 | { |
| 2093 | struct sockaddr_in *sin = (struct sockaddr_in *) sa; | 2091 | struct sockaddr_in *sin = (struct sockaddr_in *) sa; |
| 2094 | len = sizeof (sin->sin_addr) + 1; | 2092 | len = sizeof (sin->sin_addr) + 1; |
| 2095 | hostport = XINT (p->contents[--len]); | 2093 | hostport = XINT (p->u.contents[--len]); |
| 2096 | sin->sin_port = htons (hostport); | 2094 | sin->sin_port = htons (hostport); |
| 2097 | cp = (unsigned char *)&sin->sin_addr; | 2095 | cp = (unsigned char *)&sin->sin_addr; |
| 2098 | sa->sa_family = family; | 2096 | sa->sa_family = family; |
| @@ -2103,12 +2101,12 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int | |||
| 2103 | struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa; | 2101 | struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa; |
| 2104 | uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr; | 2102 | uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr; |
| 2105 | len = sizeof (sin6->sin6_addr) + 1; | 2103 | len = sizeof (sin6->sin6_addr) + 1; |
| 2106 | hostport = XINT (p->contents[--len]); | 2104 | hostport = XINT (p->u.contents[--len]); |
| 2107 | sin6->sin6_port = htons (hostport); | 2105 | sin6->sin6_port = htons (hostport); |
| 2108 | for (i = 0; i < len; i++) | 2106 | for (i = 0; i < len; i++) |
| 2109 | if (INTEGERP (p->contents[i])) | 2107 | if (INTEGERP (p->u.contents[i])) |
| 2110 | { | 2108 | { |
| 2111 | int j = XFASTINT (p->contents[i]) & 0xffff; | 2109 | int j = XFASTINT (p->u.contents[i]) & 0xffff; |
| 2112 | ip6[i] = ntohs (j); | 2110 | ip6[i] = ntohs (j); |
| 2113 | } | 2111 | } |
| 2114 | sa->sa_family = family; | 2112 | sa->sa_family = family; |
| @@ -2139,8 +2137,8 @@ conv_lisp_to_sockaddr (int family, Lisp_Object address, struct sockaddr *sa, int | |||
| 2139 | } | 2137 | } |
| 2140 | 2138 | ||
| 2141 | for (i = 0; i < len; i++) | 2139 | for (i = 0; i < len; i++) |
| 2142 | if (INTEGERP (p->contents[i])) | 2140 | if (INTEGERP (p->u.contents[i])) |
| 2143 | *cp++ = XFASTINT (p->contents[i]) & 0xff; | 2141 | *cp++ = XFASTINT (p->u.contents[i]) & 0xff; |
| 2144 | } | 2142 | } |
| 2145 | 2143 | ||
| 2146 | #ifdef DATAGRAM_SOCKETS | 2144 | #ifdef DATAGRAM_SOCKETS |
| @@ -3731,7 +3729,7 @@ FLAGS is the current flags of the interface. */) | |||
| 3731 | 3729 | ||
| 3732 | any = 1; | 3730 | any = 1; |
| 3733 | for (n = 0; n < 6; n++) | 3731 | for (n = 0; n < 6; n++) |
| 3734 | p->contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); | 3732 | p->u.contents[n] = make_number (((unsigned char *)&rq.ifr_hwaddr.sa_data[0])[n]); |
| 3735 | elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); | 3733 | elt = Fcons (make_number (rq.ifr_hwaddr.sa_family), hwaddr); |
| 3736 | } | 3734 | } |
| 3737 | #elif defined (HAVE_GETIFADDRS) && defined (LLADDR) | 3735 | #elif defined (HAVE_GETIFADDRS) && defined (LLADDR) |
| @@ -3754,7 +3752,7 @@ FLAGS is the current flags of the interface. */) | |||
| 3754 | 3752 | ||
| 3755 | memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen); | 3753 | memcpy (linkaddr, LLADDR (sdl), sdl->sdl_alen); |
| 3756 | for (n = 0; n < 6; n++) | 3754 | for (n = 0; n < 6; n++) |
| 3757 | p->contents[n] = make_number (linkaddr[n]); | 3755 | p->u.contents[n] = make_number (linkaddr[n]); |
| 3758 | 3756 | ||
| 3759 | elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr); | 3757 | elt = Fcons (make_number (it->ifa_addr->sa_family), hwaddr); |
| 3760 | break; | 3758 | break; |
| @@ -4849,7 +4847,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, | |||
| 4849 | #else | 4847 | #else |
| 4850 | { | 4848 | { |
| 4851 | struct sockaddr pname; | 4849 | struct sockaddr pname; |
| 4852 | int pnamelen = sizeof (pname); | 4850 | socklen_t pnamelen = sizeof (pname); |
| 4853 | 4851 | ||
| 4854 | /* If connection failed, getpeername will fail. */ | 4852 | /* If connection failed, getpeername will fail. */ |
| 4855 | xerrno = 0; | 4853 | xerrno = 0; |
diff --git a/src/process.h b/src/process.h index 6aff95686a2..a9b15f03da4 100644 --- a/src/process.h +++ b/src/process.h | |||
| @@ -27,9 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | #endif | 27 | #endif |
| 28 | 28 | ||
| 29 | INLINE_HEADER_BEGIN | 29 | INLINE_HEADER_BEGIN |
| 30 | #ifndef PROCESS_INLINE | ||
| 31 | # define PROCESS_INLINE INLINE | ||
| 32 | #endif | ||
| 33 | 30 | ||
| 34 | /* Bound on number of file descriptors opened on behalf of a process, | 31 | /* Bound on number of file descriptors opened on behalf of a process, |
| 35 | that need to be closed. */ | 32 | that need to be closed. */ |
| @@ -179,14 +176,14 @@ struct Lisp_Process | |||
| 179 | /* Most code should use these functions to set Lisp fields in struct | 176 | /* Most code should use these functions to set Lisp fields in struct |
| 180 | process. */ | 177 | process. */ |
| 181 | 178 | ||
| 182 | PROCESS_INLINE void | 179 | INLINE void |
| 183 | pset_childp (struct Lisp_Process *p, Lisp_Object val) | 180 | pset_childp (struct Lisp_Process *p, Lisp_Object val) |
| 184 | { | 181 | { |
| 185 | p->childp = val; | 182 | p->childp = val; |
| 186 | } | 183 | } |
| 187 | 184 | ||
| 188 | #ifdef HAVE_GNUTLS | 185 | #ifdef HAVE_GNUTLS |
| 189 | PROCESS_INLINE void | 186 | INLINE void |
| 190 | pset_gnutls_cred_type (struct Lisp_Process *p, Lisp_Object val) | 187 | pset_gnutls_cred_type (struct Lisp_Process *p, Lisp_Object val) |
| 191 | { | 188 | { |
| 192 | p->gnutls_cred_type = val; | 189 | p->gnutls_cred_type = val; |
diff --git a/src/ralloc.c b/src/ralloc.c index 5f25ef2c320..5b7d6a512d7 100644 --- a/src/ralloc.c +++ b/src/ralloc.c | |||
| @@ -85,7 +85,7 @@ static int extra_bytes; | |||
| 85 | /* Macros for rounding. Note that rounding to any value is possible | 85 | /* Macros for rounding. Note that rounding to any value is possible |
| 86 | by changing the definition of PAGE. */ | 86 | by changing the definition of PAGE. */ |
| 87 | #define PAGE (getpagesize ()) | 87 | #define PAGE (getpagesize ()) |
| 88 | #define ROUNDUP(size) (((size_t) (size) + page_size - 1) \ | 88 | #define PAGE_ROUNDUP(size) (((size_t) (size) + page_size - 1) \ |
| 89 | & ~((size_t) (page_size - 1))) | 89 | & ~((size_t) (page_size - 1))) |
| 90 | 90 | ||
| 91 | #define MEM_ALIGN sizeof (double) | 91 | #define MEM_ALIGN sizeof (double) |
| @@ -281,7 +281,7 @@ obtain (void *address, size_t size) | |||
| 281 | Get some extra, so we can come here less often. */ | 281 | Get some extra, so we can come here less often. */ |
| 282 | 282 | ||
| 283 | get = size + extra_bytes - already_available; | 283 | get = size + extra_bytes - already_available; |
| 284 | get = (char *) ROUNDUP ((char *) last_heap->end + get) | 284 | get = (char *) PAGE_ROUNDUP ((char *) last_heap->end + get) |
| 285 | - (char *) last_heap->end; | 285 | - (char *) last_heap->end; |
| 286 | 286 | ||
| 287 | if (real_morecore (get) != last_heap->end) | 287 | if (real_morecore (get) != last_heap->end) |
| @@ -344,7 +344,7 @@ relinquish (void) | |||
| 344 | else | 344 | else |
| 345 | { | 345 | { |
| 346 | excess = ((char *) last_heap->end | 346 | excess = ((char *) last_heap->end |
| 347 | - (char *) ROUNDUP ((char *) last_heap->end - excess)); | 347 | - (char *) PAGE_ROUNDUP ((char *) last_heap->end - excess)); |
| 348 | /* If the system doesn't want that much memory back, leave | 348 | /* If the system doesn't want that much memory back, leave |
| 349 | the end of the last heap unchanged to reflect that. This | 349 | the end of the last heap unchanged to reflect that. This |
| 350 | can occur if break_value is still within the original | 350 | can occur if break_value is still within the original |
| @@ -768,9 +768,9 @@ r_alloc_sbrk (ptrdiff_t size) | |||
| 768 | not always find a space which is contiguous to the previous. */ | 768 | not always find a space which is contiguous to the previous. */ |
| 769 | void *new_bloc_start; | 769 | void *new_bloc_start; |
| 770 | heap_ptr h = first_heap; | 770 | heap_ptr h = first_heap; |
| 771 | size_t get = ROUNDUP (size); | 771 | size_t get = PAGE_ROUNDUP (size); |
| 772 | 772 | ||
| 773 | address = (void *) ROUNDUP (virtual_break_value); | 773 | address = (void *) PAGE_ROUNDUP (virtual_break_value); |
| 774 | 774 | ||
| 775 | /* Search the list upward for a heap which is large enough. */ | 775 | /* Search the list upward for a heap which is large enough. */ |
| 776 | while ((char *) h->end < (char *) MEM_ROUNDUP ((char *) address + get)) | 776 | while ((char *) h->end < (char *) MEM_ROUNDUP ((char *) address + get)) |
| @@ -778,7 +778,7 @@ r_alloc_sbrk (ptrdiff_t size) | |||
| 778 | h = h->next; | 778 | h = h->next; |
| 779 | if (h == NIL_HEAP) | 779 | if (h == NIL_HEAP) |
| 780 | break; | 780 | break; |
| 781 | address = (void *) ROUNDUP (h->start); | 781 | address = (void *) PAGE_ROUNDUP (h->start); |
| 782 | } | 782 | } |
| 783 | 783 | ||
| 784 | /* If not found, obtain more space. */ | 784 | /* If not found, obtain more space. */ |
| @@ -790,9 +790,9 @@ r_alloc_sbrk (ptrdiff_t size) | |||
| 790 | return 0; | 790 | return 0; |
| 791 | 791 | ||
| 792 | if (first_heap == last_heap) | 792 | if (first_heap == last_heap) |
| 793 | address = (void *) ROUNDUP (virtual_break_value); | 793 | address = (void *) PAGE_ROUNDUP (virtual_break_value); |
| 794 | else | 794 | else |
| 795 | address = (void *) ROUNDUP (last_heap->start); | 795 | address = (void *) PAGE_ROUNDUP (last_heap->start); |
| 796 | h = last_heap; | 796 | h = last_heap; |
| 797 | } | 797 | } |
| 798 | 798 | ||
| @@ -1054,7 +1054,7 @@ r_alloc_check (void) | |||
| 1054 | for (h = first_heap; h; h = h->next) | 1054 | for (h = first_heap; h; h = h->next) |
| 1055 | { | 1055 | { |
| 1056 | assert (h->prev == ph); | 1056 | assert (h->prev == ph); |
| 1057 | assert ((void *) ROUNDUP (h->end) == h->end); | 1057 | assert ((void *) PAGE_ROUNDUP (h->end) == h->end); |
| 1058 | #if 0 /* ??? The code in ralloc.c does not really try to ensure | 1058 | #if 0 /* ??? The code in ralloc.c does not really try to ensure |
| 1059 | the heap start has any sort of alignment. | 1059 | the heap start has any sort of alignment. |
| 1060 | Perhaps it should. */ | 1060 | Perhaps it should. */ |
| @@ -1190,7 +1190,7 @@ r_alloc_init (void) | |||
| 1190 | if (break_value == NULL) | 1190 | if (break_value == NULL) |
| 1191 | emacs_abort (); | 1191 | emacs_abort (); |
| 1192 | 1192 | ||
| 1193 | extra_bytes = ROUNDUP (50000); | 1193 | extra_bytes = PAGE_ROUNDUP (50000); |
| 1194 | #endif | 1194 | #endif |
| 1195 | 1195 | ||
| 1196 | #ifdef DOUG_LEA_MALLOC | 1196 | #ifdef DOUG_LEA_MALLOC |
| @@ -1212,7 +1212,7 @@ r_alloc_init (void) | |||
| 1212 | #endif | 1212 | #endif |
| 1213 | 1213 | ||
| 1214 | #ifndef SYSTEM_MALLOC | 1214 | #ifndef SYSTEM_MALLOC |
| 1215 | first_heap->end = (void *) ROUNDUP (first_heap->start); | 1215 | first_heap->end = (void *) PAGE_ROUNDUP (first_heap->start); |
| 1216 | 1216 | ||
| 1217 | /* The extra call to real_morecore guarantees that the end of the | 1217 | /* The extra call to real_morecore guarantees that the end of the |
| 1218 | address space is a multiple of page_size, even if page_size is | 1218 | address space is a multiple of page_size, even if page_size is |
diff --git a/src/regex.c b/src/regex.c index 1befececd22..4ab98bbf098 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -131,12 +131,12 @@ | |||
| 131 | # include "character.h" | 131 | # include "character.h" |
| 132 | # include "buffer.h" | 132 | # include "buffer.h" |
| 133 | 133 | ||
| 134 | /* Make syntax table lookup grant data in gl_state. */ | ||
| 135 | # define SYNTAX_ENTRY_VIA_PROPERTY | ||
| 136 | |||
| 137 | # include "syntax.h" | 134 | # include "syntax.h" |
| 138 | # include "category.h" | 135 | # include "category.h" |
| 139 | 136 | ||
| 137 | /* Make syntax table lookup grant data in gl_state. */ | ||
| 138 | # define SYNTAX(c) syntax_property (c, 1) | ||
| 139 | |||
| 140 | # ifdef malloc | 140 | # ifdef malloc |
| 141 | # undef malloc | 141 | # undef malloc |
| 142 | # endif | 142 | # endif |
diff --git a/src/syntax.c b/src/syntax.c index 31eb86faed8..e18db029309 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -20,8 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define SYNTAX_INLINE EXTERN_INLINE | ||
| 24 | |||
| 25 | #include <sys/types.h> | 23 | #include <sys/types.h> |
| 26 | 24 | ||
| 27 | #include "lisp.h" | 25 | #include "lisp.h" |
| @@ -31,13 +29,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 31 | #include "keymap.h" | 29 | #include "keymap.h" |
| 32 | #include "regex.h" | 30 | #include "regex.h" |
| 33 | 31 | ||
| 34 | /* Make syntax table lookup grant data in gl_state. */ | ||
| 35 | #define SYNTAX_ENTRY_VIA_PROPERTY | ||
| 36 | |||
| 37 | #include "syntax.h" | 32 | #include "syntax.h" |
| 38 | #include "intervals.h" | 33 | #include "intervals.h" |
| 39 | #include "category.h" | 34 | #include "category.h" |
| 40 | 35 | ||
| 36 | /* Make syntax table lookup grant data in gl_state. */ | ||
| 37 | #define SYNTAX(c) syntax_property (c, 1) | ||
| 38 | #define SYNTAX_ENTRY(c) syntax_property_entry (c, 1) | ||
| 39 | #define SYNTAX_WITH_FLAGS(c) syntax_property_with_flags (c, 1) | ||
| 40 | |||
| 41 | /* Eight single-bit flags have the following meanings: | 41 | /* Eight single-bit flags have the following meanings: |
| 42 | 1. This character is the first of a two-character comment-start sequence. | 42 | 1. This character is the first of a two-character comment-start sequence. |
| 43 | 2. This character is the second of a two-character comment-start sequence. | 43 | 2. This character is the second of a two-character comment-start sequence. |
diff --git a/src/syntax.h b/src/syntax.h index 1b96284af42..73fbb153338 100644 --- a/src/syntax.h +++ b/src/syntax.h | |||
| @@ -19,9 +19,6 @@ You should have received a copy of the GNU General Public License | |||
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 20 | 20 | ||
| 21 | INLINE_HEADER_BEGIN | 21 | INLINE_HEADER_BEGIN |
| 22 | #ifndef SYNTAX_INLINE | ||
| 23 | # define SYNTAX_INLINE INLINE | ||
| 24 | #endif | ||
| 25 | 22 | ||
| 26 | extern void update_syntax_table (ptrdiff_t, EMACS_INT, bool, Lisp_Object); | 23 | extern void update_syntax_table (ptrdiff_t, EMACS_INT, bool, Lisp_Object); |
| 27 | 24 | ||
| @@ -86,35 +83,49 @@ struct gl_state_s | |||
| 86 | extern struct gl_state_s gl_state; | 83 | extern struct gl_state_s gl_state; |
| 87 | 84 | ||
| 88 | /* Fetch the information from the entry for character C | 85 | /* Fetch the information from the entry for character C |
| 89 | in syntax table TABLE, or from globally kept data (gl_state). | 86 | in the current buffer's syntax table, |
| 87 | or (if VIA_PROPERTY) from globally kept data (gl_state). | ||
| 90 | Does inheritance. */ | 88 | Does inheritance. */ |
| 91 | 89 | ||
| 92 | SYNTAX_INLINE Lisp_Object | 90 | INLINE Lisp_Object |
| 93 | SYNTAX_ENTRY (int c) | 91 | syntax_property_entry (int c, bool via_property) |
| 94 | { | 92 | { |
| 95 | #ifdef SYNTAX_ENTRY_VIA_PROPERTY | 93 | if (via_property) |
| 96 | return (gl_state.use_global | 94 | return (gl_state.use_global |
| 97 | ? gl_state.global_code | 95 | ? gl_state.global_code |
| 98 | : CHAR_TABLE_REF (gl_state.current_syntax_table, c)); | 96 | : CHAR_TABLE_REF (gl_state.current_syntax_table, c)); |
| 99 | #else | ||
| 100 | return CHAR_TABLE_REF (BVAR (current_buffer, syntax_table), c); | 97 | return CHAR_TABLE_REF (BVAR (current_buffer, syntax_table), c); |
| 101 | #endif | 98 | } |
| 99 | INLINE Lisp_Object | ||
| 100 | SYNTAX_ENTRY (int c) | ||
| 101 | { | ||
| 102 | return syntax_property_entry (c, 0); | ||
| 102 | } | 103 | } |
| 103 | 104 | ||
| 104 | /* Extract the information from the entry for character C | 105 | /* Extract the information from the entry for character C |
| 105 | in the current syntax table. */ | 106 | in the current syntax table. */ |
| 106 | 107 | ||
| 107 | SYNTAX_INLINE int | 108 | INLINE int |
| 108 | SYNTAX_WITH_FLAGS (int c) | 109 | syntax_property_with_flags (int c, bool via_property) |
| 109 | { | 110 | { |
| 110 | Lisp_Object ent = SYNTAX_ENTRY (c); | 111 | Lisp_Object ent = syntax_property_entry (c, via_property); |
| 111 | return CONSP (ent) ? XINT (XCAR (ent)) : Swhitespace; | 112 | return CONSP (ent) ? XINT (XCAR (ent)) : Swhitespace; |
| 112 | } | 113 | } |
| 114 | INLINE int | ||
| 115 | SYNTAX_WITH_FLAGS (int c) | ||
| 116 | { | ||
| 117 | return syntax_property_with_flags (c, 0); | ||
| 118 | } | ||
| 113 | 119 | ||
| 114 | SYNTAX_INLINE enum syntaxcode | 120 | INLINE enum syntaxcode |
| 121 | syntax_property (int c, bool via_property) | ||
| 122 | { | ||
| 123 | return syntax_property_with_flags (c, via_property) & 0xff; | ||
| 124 | } | ||
| 125 | INLINE enum syntaxcode | ||
| 115 | SYNTAX (int c) | 126 | SYNTAX (int c) |
| 116 | { | 127 | { |
| 117 | return SYNTAX_WITH_FLAGS (c) & 0xff; | 128 | return syntax_property (c, 0); |
| 118 | } | 129 | } |
| 119 | 130 | ||
| 120 | 131 | ||
| @@ -137,7 +148,7 @@ extern char const syntax_code_spec[16]; | |||
| 137 | The value is meant for use in code that does nothing when | 148 | The value is meant for use in code that does nothing when |
| 138 | parse_sexp_lookup_properties is 0, so return 0 in that case, for speed. */ | 149 | parse_sexp_lookup_properties is 0, so return 0 in that case, for speed. */ |
| 139 | 150 | ||
| 140 | SYNTAX_INLINE ptrdiff_t | 151 | INLINE ptrdiff_t |
| 141 | SYNTAX_TABLE_BYTE_TO_CHAR (ptrdiff_t bytepos) | 152 | SYNTAX_TABLE_BYTE_TO_CHAR (ptrdiff_t bytepos) |
| 142 | { | 153 | { |
| 143 | return (! parse_sexp_lookup_properties | 154 | return (! parse_sexp_lookup_properties |
| @@ -157,7 +168,7 @@ SYNTAX_TABLE_BYTE_TO_CHAR (ptrdiff_t bytepos) | |||
| 157 | /* Make syntax table state (gl_state) good for CHARPOS, assuming it is | 168 | /* Make syntax table state (gl_state) good for CHARPOS, assuming it is |
| 158 | currently good for a position before CHARPOS. */ | 169 | currently good for a position before CHARPOS. */ |
| 159 | 170 | ||
| 160 | SYNTAX_INLINE void | 171 | INLINE void |
| 161 | UPDATE_SYNTAX_TABLE_FORWARD (ptrdiff_t charpos) | 172 | UPDATE_SYNTAX_TABLE_FORWARD (ptrdiff_t charpos) |
| 162 | { | 173 | { |
| 163 | if (parse_sexp_lookup_properties && charpos >= gl_state.e_property) | 174 | if (parse_sexp_lookup_properties && charpos >= gl_state.e_property) |
| @@ -167,7 +178,7 @@ UPDATE_SYNTAX_TABLE_FORWARD (ptrdiff_t charpos) | |||
| 167 | /* Make syntax table state (gl_state) good for CHARPOS, assuming it is | 178 | /* Make syntax table state (gl_state) good for CHARPOS, assuming it is |
| 168 | currently good for a position after CHARPOS. */ | 179 | currently good for a position after CHARPOS. */ |
| 169 | 180 | ||
| 170 | SYNTAX_INLINE void | 181 | INLINE void |
| 171 | UPDATE_SYNTAX_TABLE_BACKWARD (ptrdiff_t charpos) | 182 | UPDATE_SYNTAX_TABLE_BACKWARD (ptrdiff_t charpos) |
| 172 | { | 183 | { |
| 173 | if (parse_sexp_lookup_properties && charpos < gl_state.b_property) | 184 | if (parse_sexp_lookup_properties && charpos < gl_state.b_property) |
| @@ -176,7 +187,7 @@ UPDATE_SYNTAX_TABLE_BACKWARD (ptrdiff_t charpos) | |||
| 176 | 187 | ||
| 177 | /* Make syntax table good for CHARPOS. */ | 188 | /* Make syntax table good for CHARPOS. */ |
| 178 | 189 | ||
| 179 | SYNTAX_INLINE void | 190 | INLINE void |
| 180 | UPDATE_SYNTAX_TABLE (ptrdiff_t charpos) | 191 | UPDATE_SYNTAX_TABLE (ptrdiff_t charpos) |
| 181 | { | 192 | { |
| 182 | UPDATE_SYNTAX_TABLE_BACKWARD (charpos); | 193 | UPDATE_SYNTAX_TABLE_BACKWARD (charpos); |
| @@ -185,7 +196,7 @@ UPDATE_SYNTAX_TABLE (ptrdiff_t charpos) | |||
| 185 | 196 | ||
| 186 | /* Set up the buffer-global syntax table. */ | 197 | /* Set up the buffer-global syntax table. */ |
| 187 | 198 | ||
| 188 | SYNTAX_INLINE void | 199 | INLINE void |
| 189 | SETUP_BUFFER_SYNTAX_TABLE (void) | 200 | SETUP_BUFFER_SYNTAX_TABLE (void) |
| 190 | { | 201 | { |
| 191 | gl_state.use_global = 0; | 202 | gl_state.use_global = 0; |
diff --git a/src/sysdep.c b/src/sysdep.c index 6439697501e..84859813249 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -19,8 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | 19 | ||
| 20 | #include <config.h> | 20 | #include <config.h> |
| 21 | 21 | ||
| 22 | #define SYSTIME_INLINE EXTERN_INLINE | ||
| 23 | |||
| 24 | #include <execinfo.h> | 22 | #include <execinfo.h> |
| 25 | #include "sysstdio.h" | 23 | #include "sysstdio.h" |
| 26 | #ifdef HAVE_PWD_H | 24 | #ifdef HAVE_PWD_H |
diff --git a/src/systime.h b/src/systime.h index b1c3d940b0e..a9bdf53b09f 100644 --- a/src/systime.h +++ b/src/systime.h | |||
| @@ -22,9 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | #include <timespec.h> | 22 | #include <timespec.h> |
| 23 | 23 | ||
| 24 | INLINE_HEADER_BEGIN | 24 | INLINE_HEADER_BEGIN |
| 25 | #ifndef SYSTIME_INLINE | ||
| 26 | # define SYSTIME_INLINE INLINE | ||
| 27 | #endif | ||
| 28 | 25 | ||
| 29 | #ifdef emacs | 26 | #ifdef emacs |
| 30 | # ifdef HAVE_X_WINDOWS | 27 | # ifdef HAVE_X_WINDOWS |
| @@ -54,7 +51,7 @@ typedef unsigned long Time; | |||
| 54 | should be an absolute time since the epoch and B a nonnegative offset. */ | 51 | should be an absolute time since the epoch and B a nonnegative offset. */ |
| 55 | 52 | ||
| 56 | /* Return an invalid timespec. */ | 53 | /* Return an invalid timespec. */ |
| 57 | SYSTIME_INLINE struct timespec | 54 | INLINE struct timespec |
| 58 | invalid_timespec (void) | 55 | invalid_timespec (void) |
| 59 | { | 56 | { |
| 60 | return make_timespec (0, -1); | 57 | return make_timespec (0, -1); |
| @@ -63,14 +60,14 @@ invalid_timespec (void) | |||
| 63 | /* Return 1 if TIME is a valid timespec. This currently doesn't worry | 60 | /* Return 1 if TIME is a valid timespec. This currently doesn't worry |
| 64 | about whether tv_nsec is less than TIMESPEC_RESOLUTION; leap seconds | 61 | about whether tv_nsec is less than TIMESPEC_RESOLUTION; leap seconds |
| 65 | might cause a problem if it did. */ | 62 | might cause a problem if it did. */ |
| 66 | SYSTIME_INLINE int | 63 | INLINE int |
| 67 | timespec_valid_p (struct timespec t) | 64 | timespec_valid_p (struct timespec t) |
| 68 | { | 65 | { |
| 69 | return t.tv_nsec >= 0; | 66 | return t.tv_nsec >= 0; |
| 70 | } | 67 | } |
| 71 | 68 | ||
| 72 | /* Return current system time. */ | 69 | /* Return current system time. */ |
| 73 | SYSTIME_INLINE struct timespec | 70 | INLINE struct timespec |
| 74 | current_timespec (void) | 71 | current_timespec (void) |
| 75 | { | 72 | { |
| 76 | struct timespec r; | 73 | struct timespec r; |
diff --git a/src/term.c b/src/term.c index 830ecf10dcb..116a2e6bba1 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -1810,27 +1810,10 @@ append_glyphless_glyph (struct it *it, int face_id, const char *str) | |||
| 1810 | static void | 1810 | static void |
| 1811 | produce_glyphless_glyph (struct it *it, Lisp_Object acronym) | 1811 | produce_glyphless_glyph (struct it *it, Lisp_Object acronym) |
| 1812 | { | 1812 | { |
| 1813 | int face_id; | 1813 | int len, face_id = merge_glyphless_glyph_face (it); |
| 1814 | int len; | ||
| 1815 | char buf[sizeof "\\x" + max (6, (sizeof it->c * CHAR_BIT + 3) / 4)]; | 1814 | char buf[sizeof "\\x" + max (6, (sizeof it->c * CHAR_BIT + 3) / 4)]; |
| 1816 | char const *str = " "; | 1815 | char const *str = " "; |
| 1817 | 1816 | ||
| 1818 | /* Get a face ID for the glyph by utilizing a cache (the same way as | ||
| 1819 | done for `escape-glyph' in get_next_display_element). */ | ||
| 1820 | if (it->f == last_glyphless_glyph_frame | ||
| 1821 | && it->face_id == last_glyphless_glyph_face_id) | ||
| 1822 | { | ||
| 1823 | face_id = last_glyphless_glyph_merged_face_id; | ||
| 1824 | } | ||
| 1825 | else | ||
| 1826 | { | ||
| 1827 | /* Merge the `glyphless-char' face into the current face. */ | ||
| 1828 | face_id = merge_faces (it->f, Qglyphless_char, 0, it->face_id); | ||
| 1829 | last_glyphless_glyph_frame = it->f; | ||
| 1830 | last_glyphless_glyph_face_id = it->face_id; | ||
| 1831 | last_glyphless_glyph_merged_face_id = face_id; | ||
| 1832 | } | ||
| 1833 | |||
| 1834 | if (it->glyphless_method == GLYPHLESS_DISPLAY_THIN_SPACE) | 1817 | if (it->glyphless_method == GLYPHLESS_DISPLAY_THIN_SPACE) |
| 1835 | { | 1818 | { |
| 1836 | /* As there's no way to produce a thin space, we produce a space | 1819 | /* As there's no way to produce a thin space, we produce a space |
| @@ -4061,12 +4044,8 @@ dissociate_if_controlling_tty (int fd) | |||
| 4061 | struct terminal * | 4044 | struct terminal * |
| 4062 | init_tty (const char *name, const char *terminal_type, bool must_succeed) | 4045 | init_tty (const char *name, const char *terminal_type, bool must_succeed) |
| 4063 | { | 4046 | { |
| 4064 | #ifdef TERMINFO | ||
| 4065 | char **address = 0; | ||
| 4066 | #else | ||
| 4067 | char *area; | 4047 | char *area; |
| 4068 | char **address = &area; | 4048 | char **address = &area; |
| 4069 | #endif | ||
| 4070 | int status; | 4049 | int status; |
| 4071 | struct tty_display_info *tty = NULL; | 4050 | struct tty_display_info *tty = NULL; |
| 4072 | struct terminal *terminal = NULL; | 4051 | struct terminal *terminal = NULL; |
| @@ -4157,13 +4136,9 @@ init_tty (const char *name, const char *terminal_type, bool must_succeed) | |||
| 4157 | /* On some systems, tgetent tries to access the controlling | 4136 | /* On some systems, tgetent tries to access the controlling |
| 4158 | terminal. */ | 4137 | terminal. */ |
| 4159 | block_tty_out_signal (); | 4138 | block_tty_out_signal (); |
| 4160 | #ifdef TERMINFO | ||
| 4161 | status = tgetent (0, terminal_type); | ||
| 4162 | #else | ||
| 4163 | status = tgetent (tty->termcap_term_buffer, terminal_type); | 4139 | status = tgetent (tty->termcap_term_buffer, terminal_type); |
| 4164 | if (tty->termcap_term_buffer[TERMCAP_BUFFER_SIZE - 1]) | 4140 | if (tty->termcap_term_buffer[TERMCAP_BUFFER_SIZE - 1]) |
| 4165 | emacs_abort (); | 4141 | emacs_abort (); |
| 4166 | #endif | ||
| 4167 | unblock_tty_out_signal (); | 4142 | unblock_tty_out_signal (); |
| 4168 | 4143 | ||
| 4169 | if (status < 0) | 4144 | if (status < 0) |
| @@ -4194,9 +4169,7 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\ | |||
| 4194 | terminal_type); | 4169 | terminal_type); |
| 4195 | } | 4170 | } |
| 4196 | 4171 | ||
| 4197 | #ifndef TERMINFO | ||
| 4198 | area = tty->termcap_strings_buffer; | 4172 | area = tty->termcap_strings_buffer; |
| 4199 | #endif | ||
| 4200 | tty->TS_ins_line = tgetstr ("al", address); | 4173 | tty->TS_ins_line = tgetstr ("al", address); |
| 4201 | tty->TS_ins_multi_lines = tgetstr ("AL", address); | 4174 | tty->TS_ins_multi_lines = tgetstr ("AL", address); |
| 4202 | tty->TS_bell = tgetstr ("bl", address); | 4175 | tty->TS_bell = tgetstr ("bl", address); |
diff --git a/src/termchar.h b/src/termchar.h index 9dea46f0b76..031f4e4034b 100644 --- a/src/termchar.h +++ b/src/termchar.h | |||
| @@ -30,9 +30,7 @@ struct tty_output | |||
| 30 | /* There is nothing else here at the moment... */ | 30 | /* There is nothing else here at the moment... */ |
| 31 | }; | 31 | }; |
| 32 | 32 | ||
| 33 | #ifndef TERMINFO | ||
| 34 | enum { TERMCAP_BUFFER_SIZE = 4096 }; | 33 | enum { TERMCAP_BUFFER_SIZE = 4096 }; |
| 35 | #endif | ||
| 36 | 34 | ||
| 37 | /* Parameters that are shared between frames on the same tty device. */ | 35 | /* Parameters that are shared between frames on the same tty device. */ |
| 38 | 36 | ||
| @@ -78,7 +76,6 @@ struct tty_display_info | |||
| 78 | mouse-face. */ | 76 | mouse-face. */ |
| 79 | Mouse_HLInfo mouse_highlight; | 77 | Mouse_HLInfo mouse_highlight; |
| 80 | 78 | ||
| 81 | #ifndef TERMINFO | ||
| 82 | /* Buffer used internally by termcap (see tgetent in the Termcap | 79 | /* Buffer used internally by termcap (see tgetent in the Termcap |
| 83 | manual). Only init_tty should use this. */ | 80 | manual). Only init_tty should use this. */ |
| 84 | char termcap_term_buffer[TERMCAP_BUFFER_SIZE]; | 81 | char termcap_term_buffer[TERMCAP_BUFFER_SIZE]; |
| @@ -86,7 +83,6 @@ struct tty_display_info | |||
| 86 | /* Buffer storing terminal description strings (see tgetstr in the | 83 | /* Buffer storing terminal description strings (see tgetstr in the |
| 87 | Termcap manual). Only init_tty should use this. */ | 84 | Termcap manual). Only init_tty should use this. */ |
| 88 | char termcap_strings_buffer[TERMCAP_BUFFER_SIZE]; | 85 | char termcap_strings_buffer[TERMCAP_BUFFER_SIZE]; |
| 89 | #endif | ||
| 90 | 86 | ||
| 91 | /* Strings, numbers and flags taken from the termcap entry. */ | 87 | /* Strings, numbers and flags taken from the termcap entry. */ |
| 92 | 88 | ||
diff --git a/src/termhooks.h b/src/termhooks.h index 3e4ec1d7e6d..9cea0c188ec 100644 --- a/src/termhooks.h +++ b/src/termhooks.h | |||
| @@ -26,11 +26,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | #include "systime.h" /* for Time */ | 26 | #include "systime.h" /* for Time */ |
| 27 | 27 | ||
| 28 | INLINE_HEADER_BEGIN | 28 | INLINE_HEADER_BEGIN |
| 29 | #ifndef TERMHOOKS_INLINE | ||
| 30 | # define TERMHOOKS_INLINE INLINE | ||
| 31 | #endif | ||
| 32 | 29 | ||
| 33 | enum scroll_bar_part { | 30 | enum scroll_bar_part { |
| 31 | scroll_bar_nowhere = -1, | ||
| 34 | scroll_bar_above_handle, | 32 | scroll_bar_above_handle, |
| 35 | scroll_bar_handle, | 33 | scroll_bar_handle, |
| 36 | scroll_bar_below_handle, | 34 | scroll_bar_below_handle, |
| @@ -42,11 +40,6 @@ enum scroll_bar_part { | |||
| 42 | scroll_bar_move_ratio | 40 | scroll_bar_move_ratio |
| 43 | }; | 41 | }; |
| 44 | 42 | ||
| 45 | /* If the value of the frame parameter changed, whis hook is called. | ||
| 46 | For example, if going from fullscreen to not fullscreen this hook | ||
| 47 | may do something OS dependent, like extended window manager hints on X11. */ | ||
| 48 | extern void (*fullscreen_hook) (struct frame *f); | ||
| 49 | |||
| 50 | /* Output method of a terminal (and frames on this terminal, respectively). */ | 43 | /* Output method of a terminal (and frames on this terminal, respectively). */ |
| 51 | 44 | ||
| 52 | enum output_method | 45 | enum output_method |
| @@ -498,7 +491,7 @@ struct terminal | |||
| 498 | windows. */ | 491 | windows. */ |
| 499 | void (*frame_raise_lower_hook) (struct frame *f, int raise_flag); | 492 | void (*frame_raise_lower_hook) (struct frame *f, int raise_flag); |
| 500 | 493 | ||
| 501 | /* If the value of the frame parameter changed, whis hook is called. | 494 | /* If the value of the frame parameter changed, this hook is called. |
| 502 | For example, if going from fullscreen to not fullscreen this hook | 495 | For example, if going from fullscreen to not fullscreen this hook |
| 503 | may do something OS dependent, like extended window manager hints on X11. */ | 496 | may do something OS dependent, like extended window manager hints on X11. */ |
| 504 | void (*fullscreen_hook) (struct frame *f); | 497 | void (*fullscreen_hook) (struct frame *f); |
| @@ -612,12 +605,12 @@ struct terminal | |||
| 612 | 605 | ||
| 613 | /* Most code should use these functions to set Lisp fields in struct | 606 | /* Most code should use these functions to set Lisp fields in struct |
| 614 | terminal. */ | 607 | terminal. */ |
| 615 | TERMHOOKS_INLINE void | 608 | INLINE void |
| 616 | tset_charset_list (struct terminal *t, Lisp_Object val) | 609 | tset_charset_list (struct terminal *t, Lisp_Object val) |
| 617 | { | 610 | { |
| 618 | t->charset_list = val; | 611 | t->charset_list = val; |
| 619 | } | 612 | } |
| 620 | TERMHOOKS_INLINE void | 613 | INLINE void |
| 621 | tset_selection_alist (struct terminal *t, Lisp_Object val) | 614 | tset_selection_alist (struct terminal *t, Lisp_Object val) |
| 622 | { | 615 | { |
| 623 | t->Vselection_alist = val; | 616 | t->Vselection_alist = val; |
diff --git a/src/terminal.c b/src/terminal.c index 4b5532e3a44..61c5d050945 100644 --- a/src/terminal.c +++ b/src/terminal.c | |||
| @@ -18,8 +18,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 18 | 18 | ||
| 19 | #include <config.h> | 19 | #include <config.h> |
| 20 | 20 | ||
| 21 | #define TERMHOOKS_INLINE EXTERN_INLINE | ||
| 22 | |||
| 23 | #include <stdio.h> | 21 | #include <stdio.h> |
| 24 | 22 | ||
| 25 | #include "lisp.h" | 23 | #include "lisp.h" |
diff --git a/src/w32console.c b/src/w32console.c index 94bb5df07a4..285abb310fe 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -630,7 +630,6 @@ void | |||
| 630 | initialize_w32_display (struct terminal *term, int *width, int *height) | 630 | initialize_w32_display (struct terminal *term, int *width, int *height) |
| 631 | { | 631 | { |
| 632 | CONSOLE_SCREEN_BUFFER_INFO info; | 632 | CONSOLE_SCREEN_BUFFER_INFO info; |
| 633 | Mouse_HLInfo *hlinfo; | ||
| 634 | 633 | ||
| 635 | term->rif = 0; /* No window based redisplay on the console. */ | 634 | term->rif = 0; /* No window based redisplay on the console. */ |
| 636 | term->cursor_to_hook = w32con_move_cursor; | 635 | term->cursor_to_hook = w32con_move_cursor; |
diff --git a/src/w32fns.c b/src/w32fns.c index 8ec911280a0..6e52453caea 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -277,7 +277,7 @@ check_x_display_info (Lisp_Object frame) | |||
| 277 | struct frame *sf = XFRAME (selected_frame); | 277 | struct frame *sf = XFRAME (selected_frame); |
| 278 | 278 | ||
| 279 | if (FRAME_W32_P (sf) && FRAME_LIVE_P (sf)) | 279 | if (FRAME_W32_P (sf) && FRAME_LIVE_P (sf)) |
| 280 | return FRAME_W32_DISPLAY_INFO (sf); | 280 | return FRAME_DISPLAY_INFO (sf); |
| 281 | else | 281 | else |
| 282 | return &one_w32_display_info; | 282 | return &one_w32_display_info; |
| 283 | } | 283 | } |
| @@ -291,7 +291,7 @@ check_x_display_info (Lisp_Object frame) | |||
| 291 | f = XFRAME (frame); | 291 | f = XFRAME (frame); |
| 292 | if (! FRAME_W32_P (f)) | 292 | if (! FRAME_W32_P (f)) |
| 293 | error ("Non-W32 frame used"); | 293 | error ("Non-W32 frame used"); |
| 294 | return FRAME_W32_DISPLAY_INFO (f); | 294 | return FRAME_DISPLAY_INFO (f); |
| 295 | } | 295 | } |
| 296 | } | 296 | } |
| 297 | 297 | ||
| @@ -307,7 +307,7 @@ x_window_to_frame (struct w32_display_info *dpyinfo, HWND wdesc) | |||
| 307 | FOR_EACH_FRAME (tail, frame) | 307 | FOR_EACH_FRAME (tail, frame) |
| 308 | { | 308 | { |
| 309 | f = XFRAME (frame); | 309 | f = XFRAME (frame); |
| 310 | if (!FRAME_W32_P (f) || FRAME_W32_DISPLAY_INFO (f) != dpyinfo) | 310 | if (!FRAME_W32_P (f) || FRAME_DISPLAY_INFO (f) != dpyinfo) |
| 311 | continue; | 311 | continue; |
| 312 | 312 | ||
| 313 | if (FRAME_W32_WINDOW (f) == wdesc) | 313 | if (FRAME_W32_WINDOW (f) == wdesc) |
| @@ -1027,18 +1027,18 @@ w32_regenerate_palette (struct frame *f) | |||
| 1027 | int i; | 1027 | int i; |
| 1028 | 1028 | ||
| 1029 | /* don't bother trying to create palette if not supported */ | 1029 | /* don't bother trying to create palette if not supported */ |
| 1030 | if (! FRAME_W32_DISPLAY_INFO (f)->has_palette) | 1030 | if (! FRAME_DISPLAY_INFO (f)->has_palette) |
| 1031 | return; | 1031 | return; |
| 1032 | 1032 | ||
| 1033 | log_palette = (LOGPALETTE *) | 1033 | log_palette = (LOGPALETTE *) |
| 1034 | alloca (sizeof (LOGPALETTE) + | 1034 | alloca (sizeof (LOGPALETTE) + |
| 1035 | FRAME_W32_DISPLAY_INFO (f)->num_colors * sizeof (PALETTEENTRY)); | 1035 | FRAME_DISPLAY_INFO (f)->num_colors * sizeof (PALETTEENTRY)); |
| 1036 | log_palette->palVersion = 0x300; | 1036 | log_palette->palVersion = 0x300; |
| 1037 | log_palette->palNumEntries = FRAME_W32_DISPLAY_INFO (f)->num_colors; | 1037 | log_palette->palNumEntries = FRAME_DISPLAY_INFO (f)->num_colors; |
| 1038 | 1038 | ||
| 1039 | list = FRAME_W32_DISPLAY_INFO (f)->color_list; | 1039 | list = FRAME_DISPLAY_INFO (f)->color_list; |
| 1040 | for (i = 0; | 1040 | for (i = 0; |
| 1041 | i < FRAME_W32_DISPLAY_INFO (f)->num_colors; | 1041 | i < FRAME_DISPLAY_INFO (f)->num_colors; |
| 1042 | i++, list = list->next) | 1042 | i++, list = list->next) |
| 1043 | log_palette->palPalEntry[i] = list->entry; | 1043 | log_palette->palPalEntry[i] = list->entry; |
| 1044 | 1044 | ||
| @@ -1046,9 +1046,9 @@ w32_regenerate_palette (struct frame *f) | |||
| 1046 | 1046 | ||
| 1047 | enter_crit (); | 1047 | enter_crit (); |
| 1048 | 1048 | ||
| 1049 | if (FRAME_W32_DISPLAY_INFO (f)->palette) | 1049 | if (FRAME_DISPLAY_INFO (f)->palette) |
| 1050 | DeleteObject (FRAME_W32_DISPLAY_INFO (f)->palette); | 1050 | DeleteObject (FRAME_DISPLAY_INFO (f)->palette); |
| 1051 | FRAME_W32_DISPLAY_INFO (f)->palette = new_palette; | 1051 | FRAME_DISPLAY_INFO (f)->palette = new_palette; |
| 1052 | 1052 | ||
| 1053 | /* Realize display palette and garbage all frames. */ | 1053 | /* Realize display palette and garbage all frames. */ |
| 1054 | release_frame_dc (f, get_frame_dc (f)); | 1054 | release_frame_dc (f, get_frame_dc (f)); |
| @@ -1071,7 +1071,7 @@ w32_regenerate_palette (struct frame *f) | |||
| 1071 | void | 1071 | void |
| 1072 | w32_map_color (struct frame *f, COLORREF color) | 1072 | w32_map_color (struct frame *f, COLORREF color) |
| 1073 | { | 1073 | { |
| 1074 | struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list; | 1074 | struct w32_palette_entry * list = FRAME_DISPLAY_INFO (f)->color_list; |
| 1075 | 1075 | ||
| 1076 | if (NILP (Vw32_enable_palette)) | 1076 | if (NILP (Vw32_enable_palette)) |
| 1077 | return; | 1077 | return; |
| @@ -1091,19 +1091,19 @@ w32_map_color (struct frame *f, COLORREF color) | |||
| 1091 | list = xmalloc (sizeof (struct w32_palette_entry)); | 1091 | list = xmalloc (sizeof (struct w32_palette_entry)); |
| 1092 | SET_W32_COLOR (list->entry, color); | 1092 | SET_W32_COLOR (list->entry, color); |
| 1093 | list->refcount = 1; | 1093 | list->refcount = 1; |
| 1094 | list->next = FRAME_W32_DISPLAY_INFO (f)->color_list; | 1094 | list->next = FRAME_DISPLAY_INFO (f)->color_list; |
| 1095 | FRAME_W32_DISPLAY_INFO (f)->color_list = list; | 1095 | FRAME_DISPLAY_INFO (f)->color_list = list; |
| 1096 | FRAME_W32_DISPLAY_INFO (f)->num_colors++; | 1096 | FRAME_DISPLAY_INFO (f)->num_colors++; |
| 1097 | 1097 | ||
| 1098 | /* set flag that palette must be regenerated */ | 1098 | /* set flag that palette must be regenerated */ |
| 1099 | FRAME_W32_DISPLAY_INFO (f)->regen_palette = TRUE; | 1099 | FRAME_DISPLAY_INFO (f)->regen_palette = TRUE; |
| 1100 | } | 1100 | } |
| 1101 | 1101 | ||
| 1102 | void | 1102 | void |
| 1103 | w32_unmap_color (struct frame *f, COLORREF color) | 1103 | w32_unmap_color (struct frame *f, COLORREF color) |
| 1104 | { | 1104 | { |
| 1105 | struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list; | 1105 | struct w32_palette_entry * list = FRAME_DISPLAY_INFO (f)->color_list; |
| 1106 | struct w32_palette_entry **prev = &FRAME_W32_DISPLAY_INFO (f)->color_list; | 1106 | struct w32_palette_entry **prev = &FRAME_DISPLAY_INFO (f)->color_list; |
| 1107 | 1107 | ||
| 1108 | if (NILP (Vw32_enable_palette)) | 1108 | if (NILP (Vw32_enable_palette)) |
| 1109 | return; | 1109 | return; |
| @@ -1117,7 +1117,7 @@ w32_unmap_color (struct frame *f, COLORREF color) | |||
| 1117 | { | 1117 | { |
| 1118 | *prev = list->next; | 1118 | *prev = list->next; |
| 1119 | xfree (list); | 1119 | xfree (list); |
| 1120 | FRAME_W32_DISPLAY_INFO (f)->num_colors--; | 1120 | FRAME_DISPLAY_INFO (f)->num_colors--; |
| 1121 | break; | 1121 | break; |
| 1122 | } | 1122 | } |
| 1123 | else | 1123 | else |
| @@ -1128,7 +1128,7 @@ w32_unmap_color (struct frame *f, COLORREF color) | |||
| 1128 | } | 1128 | } |
| 1129 | 1129 | ||
| 1130 | /* set flag that palette must be regenerated */ | 1130 | /* set flag that palette must be regenerated */ |
| 1131 | FRAME_W32_DISPLAY_INFO (f)->regen_palette = TRUE; | 1131 | FRAME_DISPLAY_INFO (f)->regen_palette = TRUE; |
| 1132 | } | 1132 | } |
| 1133 | #endif | 1133 | #endif |
| 1134 | 1134 | ||
| @@ -1235,7 +1235,7 @@ x_decode_color (struct frame *f, Lisp_Object arg, int def) | |||
| 1235 | else if (strcmp (SDATA (arg), "white") == 0) | 1235 | else if (strcmp (SDATA (arg), "white") == 0) |
| 1236 | return WHITE_PIX_DEFAULT (f); | 1236 | return WHITE_PIX_DEFAULT (f); |
| 1237 | 1237 | ||
| 1238 | if ((FRAME_W32_DISPLAY_INFO (f)->n_planes * FRAME_W32_DISPLAY_INFO (f)->n_cbits) == 1) | 1238 | if ((FRAME_DISPLAY_INFO (f)->n_planes * FRAME_DISPLAY_INFO (f)->n_cbits) == 1) |
| 1239 | return def; | 1239 | return def; |
| 1240 | 1240 | ||
| 1241 | /* w32_defined_color is responsible for coping with failures | 1241 | /* w32_defined_color is responsible for coping with failures |
| @@ -1637,7 +1637,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1637 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); | 1637 | x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
| 1638 | do_pending_window_change (0); | 1638 | do_pending_window_change (0); |
| 1639 | } | 1639 | } |
| 1640 | adjust_glyphs (f); | 1640 | adjust_frame_glyphs (f); |
| 1641 | } | 1641 | } |
| 1642 | 1642 | ||
| 1643 | 1643 | ||
| @@ -1679,7 +1679,7 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1679 | 1679 | ||
| 1680 | FRAME_TOOL_BAR_LINES (f) = nlines; | 1680 | FRAME_TOOL_BAR_LINES (f) = nlines; |
| 1681 | resize_frame_windows (f, FRAME_LINES (f), 0); | 1681 | resize_frame_windows (f, FRAME_LINES (f), 0); |
| 1682 | adjust_glyphs (f); | 1682 | adjust_frame_glyphs (f); |
| 1683 | 1683 | ||
| 1684 | /* We also have to make sure that the internal border at the top of | 1684 | /* We also have to make sure that the internal border at the top of |
| 1685 | the frame, below the menu bar or tool bar, is redrawn when the | 1685 | the frame, below the menu bar or tool bar, is redrawn when the |
| @@ -1752,10 +1752,10 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit) | |||
| 1752 | { | 1752 | { |
| 1753 | /* Check for no change needed in this very common case | 1753 | /* Check for no change needed in this very common case |
| 1754 | before we do any consing. */ | 1754 | before we do any consing. */ |
| 1755 | if (!strcmp (FRAME_W32_DISPLAY_INFO (f)->w32_id_name, | 1755 | if (!strcmp (FRAME_DISPLAY_INFO (f)->w32_id_name, |
| 1756 | SDATA (f->name))) | 1756 | SDATA (f->name))) |
| 1757 | return; | 1757 | return; |
| 1758 | name = build_string (FRAME_W32_DISPLAY_INFO (f)->w32_id_name); | 1758 | name = build_string (FRAME_DISPLAY_INFO (f)->w32_id_name); |
| 1759 | } | 1759 | } |
| 1760 | else | 1760 | else |
| 1761 | CHECK_STRING (name); | 1761 | CHECK_STRING (name); |
| @@ -1890,16 +1890,11 @@ w32_init_class (HINSTANCE hinst) | |||
| 1890 | static HWND | 1890 | static HWND |
| 1891 | w32_createscrollbar (struct frame *f, struct scroll_bar * bar) | 1891 | w32_createscrollbar (struct frame *f, struct scroll_bar * bar) |
| 1892 | { | 1892 | { |
| 1893 | return (CreateWindow ("SCROLLBAR", "", SBS_VERT | WS_CHILD | WS_VISIBLE, | 1893 | return CreateWindow ("SCROLLBAR", "", SBS_VERT | WS_CHILD | WS_VISIBLE, |
| 1894 | /* Position and size of scroll bar. */ | 1894 | /* Position and size of scroll bar. */ |
| 1895 | XINT (bar->left) + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 1895 | XINT (bar->left), XINT (bar->top), |
| 1896 | XINT (bar->top), | 1896 | XINT (bar->width), XINT (bar->height), |
| 1897 | XINT (bar->width) - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | 1897 | FRAME_W32_WINDOW (f), NULL, hinst, NULL); |
| 1898 | XINT (bar->height), | ||
| 1899 | FRAME_W32_WINDOW (f), | ||
| 1900 | NULL, | ||
| 1901 | hinst, | ||
| 1902 | NULL)); | ||
| 1903 | } | 1898 | } |
| 1904 | 1899 | ||
| 1905 | static void | 1900 | static void |
| @@ -4232,7 +4227,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 4232 | if (NILP (Fmemq (frame, Vframe_list))) | 4227 | if (NILP (Fmemq (frame, Vframe_list))) |
| 4233 | { | 4228 | { |
| 4234 | #ifdef GLYPH_DEBUG | 4229 | #ifdef GLYPH_DEBUG |
| 4235 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 4230 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 4236 | #endif | 4231 | #endif |
| 4237 | 4232 | ||
| 4238 | x_free_frame_resources (f); | 4233 | x_free_frame_resources (f); |
| @@ -4258,7 +4253,7 @@ do_unwind_create_frame (Lisp_Object frame) | |||
| 4258 | static void | 4253 | static void |
| 4259 | x_default_font_parameter (struct frame *f, Lisp_Object parms) | 4254 | x_default_font_parameter (struct frame *f, Lisp_Object parms) |
| 4260 | { | 4255 | { |
| 4261 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 4256 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 4262 | Lisp_Object font_param = x_get_arg (dpyinfo, parms, Qfont, NULL, NULL, | 4257 | Lisp_Object font_param = x_get_arg (dpyinfo, parms, Qfont, NULL, NULL, |
| 4263 | RES_TYPE_STRING); | 4258 | RES_TYPE_STRING); |
| 4264 | Lisp_Object font; | 4259 | Lisp_Object font; |
| @@ -4392,9 +4387,9 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4392 | if (! STRINGP (f->icon_name)) | 4387 | if (! STRINGP (f->icon_name)) |
| 4393 | fset_icon_name (f, Qnil); | 4388 | fset_icon_name (f, Qnil); |
| 4394 | 4389 | ||
| 4395 | /* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */ | 4390 | /* FRAME_DISPLAY_INFO (f) = dpyinfo; */ |
| 4396 | 4391 | ||
| 4397 | /* With FRAME_X_DISPLAY_INFO set up, this unwind-protect is safe. */ | 4392 | /* With FRAME_DISPLAY_INFO set up, this unwind-protect is safe. */ |
| 4398 | record_unwind_protect (do_unwind_create_frame, frame); | 4393 | record_unwind_protect (do_unwind_create_frame, frame); |
| 4399 | #ifdef GLYPH_DEBUG | 4394 | #ifdef GLYPH_DEBUG |
| 4400 | image_cache_refcount = | 4395 | image_cache_refcount = |
| @@ -4411,7 +4406,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4411 | } | 4406 | } |
| 4412 | else | 4407 | else |
| 4413 | { | 4408 | { |
| 4414 | f->output_data.w32->parent_desc = FRAME_W32_DISPLAY_INFO (f)->root_window; | 4409 | f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 4415 | f->output_data.w32->explicit_parent = 0; | 4410 | f->output_data.w32->explicit_parent = 0; |
| 4416 | } | 4411 | } |
| 4417 | 4412 | ||
| @@ -4506,7 +4501,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4506 | "fullscreen", "Fullscreen", RES_TYPE_SYMBOL); | 4501 | "fullscreen", "Fullscreen", RES_TYPE_SYMBOL); |
| 4507 | 4502 | ||
| 4508 | f->output_data.w32->dwStyle = WS_OVERLAPPEDWINDOW; | 4503 | f->output_data.w32->dwStyle = WS_OVERLAPPEDWINDOW; |
| 4509 | f->output_data.w32->parent_desc = FRAME_W32_DISPLAY_INFO (f)->root_window; | 4504 | f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 4510 | 4505 | ||
| 4511 | f->output_data.w32->text_cursor = w32_load_cursor (IDC_IBEAM); | 4506 | f->output_data.w32->text_cursor = w32_load_cursor (IDC_IBEAM); |
| 4512 | f->output_data.w32->nontext_cursor = w32_load_cursor (IDC_ARROW); | 4507 | f->output_data.w32->nontext_cursor = w32_load_cursor (IDC_ARROW); |
| @@ -4529,7 +4524,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4529 | 4524 | ||
| 4530 | /* Now consider the frame official. */ | 4525 | /* Now consider the frame official. */ |
| 4531 | f->terminal->reference_count++; | 4526 | f->terminal->reference_count++; |
| 4532 | FRAME_W32_DISPLAY_INFO (f)->reference_count++; | 4527 | FRAME_DISPLAY_INFO (f)->reference_count++; |
| 4533 | Vframe_list = Fcons (frame, Vframe_list); | 4528 | Vframe_list = Fcons (frame, Vframe_list); |
| 4534 | 4529 | ||
| 4535 | /* We need to do this after creating the window, so that the | 4530 | /* We need to do this after creating the window, so that the |
| @@ -4613,7 +4608,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4613 | Lisp_Object | 4608 | Lisp_Object |
| 4614 | x_get_focus_frame (struct frame *frame) | 4609 | x_get_focus_frame (struct frame *frame) |
| 4615 | { | 4610 | { |
| 4616 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (frame); | 4611 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); |
| 4617 | Lisp_Object xfocus; | 4612 | Lisp_Object xfocus; |
| 4618 | if (! dpyinfo->w32_focus_frame) | 4613 | if (! dpyinfo->w32_focus_frame) |
| 4619 | return Qnil; | 4614 | return Qnil; |
| @@ -4622,15 +4617,6 @@ x_get_focus_frame (struct frame *frame) | |||
| 4622 | return xfocus; | 4617 | return xfocus; |
| 4623 | } | 4618 | } |
| 4624 | 4619 | ||
| 4625 | DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, | ||
| 4626 | doc: /* Give FRAME input focus, raising to foreground if necessary. */) | ||
| 4627 | (Lisp_Object frame) | ||
| 4628 | { | ||
| 4629 | x_focus_on_frame (decode_window_system_frame (frame)); | ||
| 4630 | return Qnil; | ||
| 4631 | } | ||
| 4632 | |||
| 4633 | |||
| 4634 | DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, | 4620 | DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, |
| 4635 | doc: /* Internal function called by `color-defined-p', which see. | 4621 | doc: /* Internal function called by `color-defined-p', which see. |
| 4636 | \(Note that the Nextstep version of this function ignores FRAME.) */) | 4622 | \(Note that the Nextstep version of this function ignores FRAME.) */) |
| @@ -5131,7 +5117,7 @@ SOUND is nil to use the normal beep. */) | |||
| 5131 | int | 5117 | int |
| 5132 | x_screen_planes (register struct frame *f) | 5118 | x_screen_planes (register struct frame *f) |
| 5133 | { | 5119 | { |
| 5134 | return FRAME_W32_DISPLAY_INFO (f)->n_planes; | 5120 | return FRAME_DISPLAY_INFO (f)->n_planes; |
| 5135 | } | 5121 | } |
| 5136 | 5122 | ||
| 5137 | /* Return the display structure for the display named NAME. | 5123 | /* Return the display structure for the display named NAME. |
| @@ -5201,11 +5187,6 @@ terminate Emacs if we can't open the connection. | |||
| 5201 | if (! NILP (xrm_string)) | 5187 | if (! NILP (xrm_string)) |
| 5202 | CHECK_STRING (xrm_string); | 5188 | CHECK_STRING (xrm_string); |
| 5203 | 5189 | ||
| 5204 | #if 0 | ||
| 5205 | if (! EQ (Vwindow_system, intern ("w32"))) | ||
| 5206 | error ("Not using Microsoft Windows"); | ||
| 5207 | #endif | ||
| 5208 | |||
| 5209 | /* Allow color mapping to be defined externally; first look in user's | 5190 | /* Allow color mapping to be defined externally; first look in user's |
| 5210 | HOME directory, then in Emacs etc dir for a file called rgb.txt. */ | 5191 | HOME directory, then in Emacs etc dir for a file called rgb.txt. */ |
| 5211 | { | 5192 | { |
| @@ -5668,7 +5649,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, | |||
| 5668 | dpyinfo_refcount = dpyinfo->reference_count; | 5649 | dpyinfo_refcount = dpyinfo->reference_count; |
| 5669 | #endif /* GLYPH_DEBUG */ | 5650 | #endif /* GLYPH_DEBUG */ |
| 5670 | FRAME_KBOARD (f) = kb; | 5651 | FRAME_KBOARD (f) = kb; |
| 5671 | f->output_data.w32->parent_desc = FRAME_W32_DISPLAY_INFO (f)->root_window; | 5652 | f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 5672 | f->output_data.w32->explicit_parent = 0; | 5653 | f->output_data.w32->explicit_parent = 0; |
| 5673 | 5654 | ||
| 5674 | /* Set the name; the functions to which we pass f expect the name to | 5655 | /* Set the name; the functions to which we pass f expect the name to |
| @@ -5737,7 +5718,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, | |||
| 5737 | init_frame_faces (f); | 5718 | init_frame_faces (f); |
| 5738 | 5719 | ||
| 5739 | f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED; | 5720 | f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED; |
| 5740 | f->output_data.w32->parent_desc = FRAME_W32_DISPLAY_INFO (f)->root_window; | 5721 | f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 5741 | 5722 | ||
| 5742 | window_prompting = x_figure_window_size (f, parms, 0); | 5723 | window_prompting = x_figure_window_size (f, parms, 0); |
| 5743 | 5724 | ||
| @@ -5804,7 +5785,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, | |||
| 5804 | 5785 | ||
| 5805 | /* Now that the frame is official, it counts as a reference to | 5786 | /* Now that the frame is official, it counts as a reference to |
| 5806 | its display. */ | 5787 | its display. */ |
| 5807 | FRAME_W32_DISPLAY_INFO (f)->reference_count++; | 5788 | FRAME_DISPLAY_INFO (f)->reference_count++; |
| 5808 | f->terminal->reference_count++; | 5789 | f->terminal->reference_count++; |
| 5809 | 5790 | ||
| 5810 | /* It is now ok to make the frame official even if we get an error | 5791 | /* It is now ok to make the frame official even if we get an error |
| @@ -5851,8 +5832,8 @@ compute_tip_xy (struct frame *f, | |||
| 5851 | /* Default min and max values. */ | 5832 | /* Default min and max values. */ |
| 5852 | min_x = 0; | 5833 | min_x = 0; |
| 5853 | min_y = 0; | 5834 | min_y = 0; |
| 5854 | max_x = x_display_pixel_width (FRAME_W32_DISPLAY_INFO (f)); | 5835 | max_x = x_display_pixel_width (FRAME_DISPLAY_INFO (f)); |
| 5855 | max_y = x_display_pixel_height (FRAME_W32_DISPLAY_INFO (f)); | 5836 | max_y = x_display_pixel_height (FRAME_DISPLAY_INFO (f)); |
| 5856 | 5837 | ||
| 5857 | block_input (); | 5838 | block_input (); |
| 5858 | GetCursorPos (&pt); | 5839 | GetCursorPos (&pt); |
| @@ -6038,7 +6019,7 @@ Text larger than the specified size is clipped. */) | |||
| 6038 | 6019 | ||
| 6039 | /* Create a frame for the tooltip, and record it in the global | 6020 | /* Create a frame for the tooltip, and record it in the global |
| 6040 | variable tip_frame. */ | 6021 | variable tip_frame. */ |
| 6041 | frame = x_create_tip_frame (FRAME_W32_DISPLAY_INFO (f), parms, string); | 6022 | frame = x_create_tip_frame (FRAME_DISPLAY_INFO (f), parms, string); |
| 6042 | f = XFRAME (frame); | 6023 | f = XFRAME (frame); |
| 6043 | 6024 | ||
| 6044 | /* Set up the frame's root window. */ | 6025 | /* Set up the frame's root window. */ |
| @@ -6062,7 +6043,7 @@ Text larger than the specified size is clipped. */) | |||
| 6062 | } | 6043 | } |
| 6063 | 6044 | ||
| 6064 | FRAME_TOTAL_COLS (f) = WINDOW_TOTAL_COLS (w); | 6045 | FRAME_TOTAL_COLS (f) = WINDOW_TOTAL_COLS (w); |
| 6065 | adjust_glyphs (f); | 6046 | adjust_frame_glyphs (f); |
| 6066 | w->pseudo_window_p = 1; | 6047 | w->pseudo_window_p = 1; |
| 6067 | 6048 | ||
| 6068 | /* Display the tooltip text in a temporary buffer. */ | 6049 | /* Display the tooltip text in a temporary buffer. */ |
| @@ -6131,7 +6112,7 @@ Text larger than the specified size is clipped. */) | |||
| 6131 | width /= WINDOW_FRAME_COLUMN_WIDTH (w); | 6112 | width /= WINDOW_FRAME_COLUMN_WIDTH (w); |
| 6132 | w->total_cols = width; | 6113 | w->total_cols = width; |
| 6133 | FRAME_TOTAL_COLS (f) = width; | 6114 | FRAME_TOTAL_COLS (f) = width; |
| 6134 | adjust_glyphs (f); | 6115 | adjust_frame_glyphs (f); |
| 6135 | w->pseudo_window_p = 1; | 6116 | w->pseudo_window_p = 1; |
| 6136 | clear_glyph_matrix (w->desired_matrix); | 6117 | clear_glyph_matrix (w->desired_matrix); |
| 6137 | clear_glyph_matrix (w->current_matrix); | 6118 | clear_glyph_matrix (w->current_matrix); |
| @@ -7865,7 +7846,6 @@ only be necessary if the default setting causes problems. */); | |||
| 7865 | defsubr (&Sx_close_connection); | 7846 | defsubr (&Sx_close_connection); |
| 7866 | defsubr (&Sx_display_list); | 7847 | defsubr (&Sx_display_list); |
| 7867 | defsubr (&Sx_synchronize); | 7848 | defsubr (&Sx_synchronize); |
| 7868 | defsubr (&Sx_focus_frame); | ||
| 7869 | 7849 | ||
| 7870 | /* W32 specific functions */ | 7850 | /* W32 specific functions */ |
| 7871 | 7851 | ||
diff --git a/src/w32font.c b/src/w32font.c index 4a97fd90a4e..845df68f09d 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -299,7 +299,7 @@ intern_font_name (char * string) | |||
| 299 | Lisp_Object | 299 | Lisp_Object |
| 300 | w32font_get_cache (struct frame *f) | 300 | w32font_get_cache (struct frame *f) |
| 301 | { | 301 | { |
| 302 | struct w32_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 302 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 303 | 303 | ||
| 304 | return (dpyinfo->name_list_element); | 304 | return (dpyinfo->name_list_element); |
| 305 | } | 305 | } |
diff --git a/src/w32menu.c b/src/w32menu.c index f804e830ac0..ad2eb96495a 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -231,7 +231,7 @@ otherwise it is "Question". */) | |||
| 231 | unblock_input (); | 231 | unblock_input (); |
| 232 | 232 | ||
| 233 | discard_menu_items (); | 233 | discard_menu_items (); |
| 234 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 234 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 235 | 235 | ||
| 236 | if (error_name) error (error_name); | 236 | if (error_name) error (error_name); |
| 237 | return selection; | 237 | return selection; |
| @@ -421,7 +421,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p) | |||
| 421 | 421 | ||
| 422 | /* Save the frame's previous menu bar contents data. */ | 422 | /* Save the frame's previous menu bar contents data. */ |
| 423 | if (previous_menu_items_used) | 423 | if (previous_menu_items_used) |
| 424 | memcpy (previous_items, XVECTOR (f->menu_bar_vector)->contents, | 424 | memcpy (previous_items, XVECTOR (f->menu_bar_vector)->u.contents, |
| 425 | previous_menu_items_used * word_size); | 425 | previous_menu_items_used * word_size); |
| 426 | 426 | ||
| 427 | /* Fill in menu_items with the current menu bar contents. | 427 | /* Fill in menu_items with the current menu bar contents. |
| @@ -885,7 +885,7 @@ w32_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 885 | /* Clean up extraneous mouse events which might have been generated | 885 | /* Clean up extraneous mouse events which might have been generated |
| 886 | during the call. */ | 886 | during the call. */ |
| 887 | discard_mouse_events (); | 887 | discard_mouse_events (); |
| 888 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 888 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 889 | 889 | ||
| 890 | /* Free the widget_value objects we used to specify the contents. */ | 890 | /* Free the widget_value objects we used to specify the contents. */ |
| 891 | free_menubar_widget_value_tree (first_wv); | 891 | free_menubar_widget_value_tree (first_wv); |
| @@ -1130,7 +1130,7 @@ w32_dialog_show (struct frame *f, int keymaps, | |||
| 1130 | lw_pop_up_all_widgets (dialog_id); | 1130 | lw_pop_up_all_widgets (dialog_id); |
| 1131 | 1131 | ||
| 1132 | /* Process events that apply to the menu. */ | 1132 | /* Process events that apply to the menu. */ |
| 1133 | popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), dialog_id); | 1133 | popup_get_selection ((XEvent *) 0, FRAME_DISPLAY_INFO (f), dialog_id); |
| 1134 | 1134 | ||
| 1135 | lw_destroy_all_widgets (dialog_id); | 1135 | lw_destroy_all_widgets (dialog_id); |
| 1136 | 1136 | ||
diff --git a/src/w32proc.c b/src/w32proc.c index dabaa62f71c..221b42fb7b2 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -1144,7 +1144,7 @@ create_child (char *exe, char *cmdline, char *env, int is_gui_app, | |||
| 1144 | return FALSE; | 1144 | return FALSE; |
| 1145 | } | 1145 | } |
| 1146 | 1146 | ||
| 1147 | /* create_child doesn't know what emacs' file handle will be for waiting | 1147 | /* create_child doesn't know what emacs's file handle will be for waiting |
| 1148 | on output from the child, so we need to make this additional call | 1148 | on output from the child, so we need to make this additional call |
| 1149 | to register the handle with the process | 1149 | to register the handle with the process |
| 1150 | This way the select emulator knows how to match file handles with | 1150 | This way the select emulator knows how to match file handles with |
diff --git a/src/w32reg.c b/src/w32reg.c index e7c4e9ea351..c41675019dd 100644 --- a/src/w32reg.c +++ b/src/w32reg.c | |||
| @@ -56,7 +56,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 56 | */ | 56 | */ |
| 57 | 57 | ||
| 58 | static char * | 58 | static char * |
| 59 | w32_get_rdb_resource (char *rdb, char *resource) | 59 | w32_get_rdb_resource (char *rdb, const char *resource) |
| 60 | { | 60 | { |
| 61 | char *value = rdb; | 61 | char *value = rdb; |
| 62 | int len = strlen (resource); | 62 | int len = strlen (resource); |
| @@ -74,7 +74,7 @@ w32_get_rdb_resource (char *rdb, char *resource) | |||
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | static LPBYTE | 76 | static LPBYTE |
| 77 | w32_get_string_resource (char *name, char *class, DWORD dwexptype) | 77 | w32_get_string_resource (const char *name, const char *class, DWORD dwexptype) |
| 78 | { | 78 | { |
| 79 | LPBYTE lpvalue = NULL; | 79 | LPBYTE lpvalue = NULL; |
| 80 | HKEY hrootkey = NULL; | 80 | HKEY hrootkey = NULL; |
| @@ -92,7 +92,7 @@ w32_get_string_resource (char *name, char *class, DWORD dwexptype) | |||
| 92 | 92 | ||
| 93 | if (RegOpenKeyEx (hive, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS) | 93 | if (RegOpenKeyEx (hive, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS) |
| 94 | { | 94 | { |
| 95 | char *keyname; | 95 | const char *keyname; |
| 96 | 96 | ||
| 97 | if (RegQueryValueEx (hrootkey, name, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS | 97 | if (RegQueryValueEx (hrootkey, name, NULL, &dwType, NULL, &cbData) == ERROR_SUCCESS |
| 98 | && dwType == dwexptype) | 98 | && dwType == dwexptype) |
| @@ -141,7 +141,7 @@ w32_get_string_resource (char *name, char *class, DWORD dwexptype) | |||
| 141 | database RDB. */ | 141 | database RDB. */ |
| 142 | 142 | ||
| 143 | char * | 143 | char * |
| 144 | x_get_string_resource (XrmDatabase rdb, char *name, char *class) | 144 | x_get_string_resource (XrmDatabase rdb, const char *name, const char *class) |
| 145 | { | 145 | { |
| 146 | if (rdb) | 146 | if (rdb) |
| 147 | { | 147 | { |
diff --git a/src/w32term.c b/src/w32term.c index 532ded7cdad..be8ebfe6ab6 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -149,9 +149,6 @@ BOOL (WINAPI *pfnSetLayeredWindowAttributes) (HWND, COLORREF, BYTE, DWORD); | |||
| 149 | #define SM_CYVIRTUALSCREEN 79 | 149 | #define SM_CYVIRTUALSCREEN 79 |
| 150 | #endif | 150 | #endif |
| 151 | 151 | ||
| 152 | /* This is a frame waiting to be autoraised, within w32_read_socket. */ | ||
| 153 | struct frame *pending_autoraise_frame; | ||
| 154 | |||
| 155 | /* The handle of the frame that currently owns the system caret. */ | 152 | /* The handle of the frame that currently owns the system caret. */ |
| 156 | HWND w32_system_caret_hwnd; | 153 | HWND w32_system_caret_hwnd; |
| 157 | int w32_system_caret_height; | 154 | int w32_system_caret_height; |
| @@ -174,31 +171,6 @@ int last_scroll_bar_drag_pos; | |||
| 174 | /* Keyboard code page - may be changed by language-change events. */ | 171 | /* Keyboard code page - may be changed by language-change events. */ |
| 175 | int w32_keyboard_codepage; | 172 | int w32_keyboard_codepage; |
| 176 | 173 | ||
| 177 | /* Mouse movement. */ | ||
| 178 | |||
| 179 | /* Where the mouse was last time we reported a mouse event. */ | ||
| 180 | static RECT last_mouse_glyph; | ||
| 181 | static struct frame *last_mouse_glyph_frame; | ||
| 182 | |||
| 183 | /* The scroll bar in which the last motion event occurred. | ||
| 184 | |||
| 185 | If the last motion event occurred in a scroll bar, we set this | ||
| 186 | so w32_mouse_position can know whether to report a scroll bar motion or | ||
| 187 | an ordinary motion. | ||
| 188 | |||
| 189 | If the last motion event didn't occur in a scroll bar, we set this | ||
| 190 | to Qnil, to tell w32_mouse_position to return an ordinary motion event. */ | ||
| 191 | static Lisp_Object last_mouse_scroll_bar; | ||
| 192 | static int last_mouse_scroll_bar_pos; | ||
| 193 | |||
| 194 | /* This is a hack. We would really prefer that w32_mouse_position would | ||
| 195 | return the time associated with the position it returns, but there | ||
| 196 | doesn't seem to be any way to wrest the time-stamp from the server | ||
| 197 | along with the position query. So, we just keep track of the time | ||
| 198 | of the last movement we received, and return that in hopes that | ||
| 199 | it's somewhat accurate. */ | ||
| 200 | static Time last_mouse_movement_time; | ||
| 201 | |||
| 202 | /* Incremented by w32_read_socket whenever it really tries to read | 174 | /* Incremented by w32_read_socket whenever it really tries to read |
| 203 | events. */ | 175 | events. */ |
| 204 | static int volatile input_signal_count; | 176 | static int volatile input_signal_count; |
| @@ -477,7 +449,7 @@ w32_clear_window (struct frame *f) | |||
| 477 | void | 449 | void |
| 478 | x_set_frame_alpha (struct frame *f) | 450 | x_set_frame_alpha (struct frame *f) |
| 479 | { | 451 | { |
| 480 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 452 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 481 | double alpha = 1.0; | 453 | double alpha = 1.0; |
| 482 | double alpha_min = 1.0; | 454 | double alpha_min = 1.0; |
| 483 | BYTE opac; | 455 | BYTE opac; |
| @@ -557,7 +529,7 @@ x_display_pixel_width (struct w32_display_info *dpyinfo) | |||
| 557 | static void | 529 | static void |
| 558 | x_update_begin (struct frame *f) | 530 | x_update_begin (struct frame *f) |
| 559 | { | 531 | { |
| 560 | struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f); | 532 | struct w32_display_info *display_info = FRAME_DISPLAY_INFO (f); |
| 561 | 533 | ||
| 562 | if (! FRAME_W32_P (f)) | 534 | if (! FRAME_W32_P (f)) |
| 563 | return; | 535 | return; |
| @@ -1003,14 +975,14 @@ x_set_cursor_gc (struct glyph_string *s) | |||
| 1003 | xgcv.font = s->font; | 975 | xgcv.font = s->font; |
| 1004 | mask = GCForeground | GCBackground | GCFont; | 976 | mask = GCForeground | GCBackground | GCFont; |
| 1005 | 977 | ||
| 1006 | if (FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc) | 978 | if (FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
| 1007 | XChangeGC (NULL, FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc, | 979 | XChangeGC (NULL, FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
| 1008 | mask, &xgcv); | 980 | mask, &xgcv); |
| 1009 | else | 981 | else |
| 1010 | FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc | 982 | FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc |
| 1011 | = XCreateGC (NULL, s->window, mask, &xgcv); | 983 | = XCreateGC (NULL, s->window, mask, &xgcv); |
| 1012 | 984 | ||
| 1013 | s->gc = FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc; | 985 | s->gc = FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
| 1014 | } | 986 | } |
| 1015 | } | 987 | } |
| 1016 | 988 | ||
| @@ -1052,14 +1024,14 @@ x_set_mouse_face_gc (struct glyph_string *s) | |||
| 1052 | xgcv.font = s->font; | 1024 | xgcv.font = s->font; |
| 1053 | mask = GCForeground | GCBackground | GCFont; | 1025 | mask = GCForeground | GCBackground | GCFont; |
| 1054 | 1026 | ||
| 1055 | if (FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc) | 1027 | if (FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
| 1056 | XChangeGC (NULL, FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc, | 1028 | XChangeGC (NULL, FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
| 1057 | mask, &xgcv); | 1029 | mask, &xgcv); |
| 1058 | else | 1030 | else |
| 1059 | FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc | 1031 | FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc |
| 1060 | = XCreateGC (NULL, s->window, mask, &xgcv); | 1032 | = XCreateGC (NULL, s->window, mask, &xgcv); |
| 1061 | 1033 | ||
| 1062 | s->gc = FRAME_W32_DISPLAY_INFO (s->f)->scratch_cursor_gc; | 1034 | s->gc = FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
| 1063 | } | 1035 | } |
| 1064 | 1036 | ||
| 1065 | eassert (s->gc != 0); | 1037 | eassert (s->gc != 0); |
| @@ -1623,7 +1595,7 @@ w32_setup_relief_color (struct frame *f, struct relief *relief, double factor, | |||
| 1623 | unsigned long mask = GCForeground; | 1595 | unsigned long mask = GCForeground; |
| 1624 | COLORREF pixel; | 1596 | COLORREF pixel; |
| 1625 | COLORREF background = di->relief_background; | 1597 | COLORREF background = di->relief_background; |
| 1626 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 1598 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1627 | 1599 | ||
| 1628 | /* TODO: Free colors (if using palette)? */ | 1600 | /* TODO: Free colors (if using palette)? */ |
| 1629 | 1601 | ||
| @@ -2823,9 +2795,9 @@ x_new_focus_frame (struct w32_display_info *dpyinfo, struct frame *frame) | |||
| 2823 | x_lower_frame (old_focus); | 2795 | x_lower_frame (old_focus); |
| 2824 | 2796 | ||
| 2825 | if (dpyinfo->w32_focus_frame && dpyinfo->w32_focus_frame->auto_raise) | 2797 | if (dpyinfo->w32_focus_frame && dpyinfo->w32_focus_frame->auto_raise) |
| 2826 | pending_autoraise_frame = dpyinfo->w32_focus_frame; | 2798 | dpyinfo->w32_pending_autoraise_frame = dpyinfo->w32_focus_frame; |
| 2827 | else | 2799 | else |
| 2828 | pending_autoraise_frame = 0; | 2800 | dpyinfo->w32_pending_autoraise_frame = NULL; |
| 2829 | } | 2801 | } |
| 2830 | 2802 | ||
| 2831 | x_frame_rehighlight (dpyinfo); | 2803 | x_frame_rehighlight (dpyinfo); |
| @@ -2930,7 +2902,7 @@ w32_frame_rehighlight (struct frame *frame) | |||
| 2930 | { | 2902 | { |
| 2931 | if (! FRAME_W32_P (frame)) | 2903 | if (! FRAME_W32_P (frame)) |
| 2932 | return; | 2904 | return; |
| 2933 | x_frame_rehighlight (FRAME_W32_DISPLAY_INFO (frame)); | 2905 | x_frame_rehighlight (FRAME_DISPLAY_INFO (frame)); |
| 2934 | } | 2906 | } |
| 2935 | 2907 | ||
| 2936 | static void | 2908 | static void |
| @@ -3307,47 +3279,47 @@ queue_notifications (struct input_event *event, W32Msg *msg, struct frame *f, | |||
| 3307 | the mainstream emacs code by setting mouse_moved. If not, ask for | 3279 | the mainstream emacs code by setting mouse_moved. If not, ask for |
| 3308 | another motion event, so we can check again the next time it moves. */ | 3280 | another motion event, so we can check again the next time it moves. */ |
| 3309 | 3281 | ||
| 3310 | static MSG last_mouse_motion_event; | ||
| 3311 | static Lisp_Object last_mouse_motion_frame; | ||
| 3312 | |||
| 3313 | static int | 3282 | static int |
| 3314 | note_mouse_movement (struct frame *frame, MSG *msg) | 3283 | note_mouse_movement (struct frame *frame, MSG *msg) |
| 3315 | { | 3284 | { |
| 3285 | struct w32_display_info *dpyinfo; | ||
| 3316 | int mouse_x = LOWORD (msg->lParam); | 3286 | int mouse_x = LOWORD (msg->lParam); |
| 3317 | int mouse_y = HIWORD (msg->lParam); | 3287 | int mouse_y = HIWORD (msg->lParam); |
| 3318 | 3288 | RECT *r; | |
| 3319 | last_mouse_movement_time = msg->time; | ||
| 3320 | memcpy (&last_mouse_motion_event, msg, sizeof (last_mouse_motion_event)); | ||
| 3321 | XSETFRAME (last_mouse_motion_frame, frame); | ||
| 3322 | 3289 | ||
| 3323 | if (!FRAME_X_OUTPUT (frame)) | 3290 | if (!FRAME_X_OUTPUT (frame)) |
| 3324 | return 0; | 3291 | return 0; |
| 3325 | 3292 | ||
| 3293 | dpyinfo = FRAME_DISPLAY_INFO (frame); | ||
| 3294 | dpyinfo->last_mouse_movement_time = msg->time; | ||
| 3295 | dpyinfo->last_mouse_motion_frame = frame; | ||
| 3296 | dpyinfo->last_mouse_motion_x = mouse_x; | ||
| 3297 | dpyinfo->last_mouse_motion_y = mouse_y; | ||
| 3298 | |||
| 3326 | if (msg->hwnd != FRAME_W32_WINDOW (frame)) | 3299 | if (msg->hwnd != FRAME_W32_WINDOW (frame)) |
| 3327 | { | 3300 | { |
| 3328 | frame->mouse_moved = 1; | 3301 | frame->mouse_moved = 1; |
| 3329 | last_mouse_scroll_bar = Qnil; | 3302 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3330 | note_mouse_highlight (frame, -1, -1); | 3303 | note_mouse_highlight (frame, -1, -1); |
| 3331 | last_mouse_glyph_frame = 0; | 3304 | dpyinfo->last_mouse_glyph_frame = NULL; |
| 3332 | return 1; | 3305 | return 1; |
| 3333 | } | 3306 | } |
| 3334 | 3307 | ||
| 3335 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 3308 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 3336 | if (frame != last_mouse_glyph_frame | 3309 | r = &dpyinfo->last_mouse_glyph; |
| 3337 | || mouse_x < last_mouse_glyph.left | 3310 | if (frame != dpyinfo->last_mouse_glyph_frame |
| 3338 | || mouse_x >= last_mouse_glyph.right | 3311 | || mouse_x < r->left || mouse_x >= r->right |
| 3339 | || mouse_y < last_mouse_glyph.top | 3312 | || mouse_y < r->top || mouse_y >= r->bottom) |
| 3340 | || mouse_y >= last_mouse_glyph.bottom) | ||
| 3341 | { | 3313 | { |
| 3342 | frame->mouse_moved = 1; | 3314 | frame->mouse_moved = 1; |
| 3343 | last_mouse_scroll_bar = Qnil; | 3315 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3344 | note_mouse_highlight (frame, mouse_x, mouse_y); | 3316 | note_mouse_highlight (frame, mouse_x, mouse_y); |
| 3345 | /* Remember the mouse position here, as w32_mouse_position only | 3317 | /* Remember the mouse position here, as w32_mouse_position only |
| 3346 | gets called when mouse tracking is enabled but we also need | 3318 | gets called when mouse tracking is enabled but we also need |
| 3347 | to keep track of the mouse for help_echo and highlighting at | 3319 | to keep track of the mouse for help_echo and highlighting at |
| 3348 | other times. */ | 3320 | other times. */ |
| 3349 | remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph); | 3321 | remember_mouse_glyph (frame, mouse_x, mouse_y, r); |
| 3350 | last_mouse_glyph_frame = frame; | 3322 | dpyinfo->last_mouse_glyph_frame = frame; |
| 3351 | return 1; | 3323 | return 1; |
| 3352 | } | 3324 | } |
| 3353 | 3325 | ||
| @@ -3367,16 +3339,6 @@ static void x_scroll_bar_report_motion (struct frame **, Lisp_Object *, | |||
| 3367 | static void x_check_fullscreen (struct frame *); | 3339 | static void x_check_fullscreen (struct frame *); |
| 3368 | 3340 | ||
| 3369 | static void | 3341 | static void |
| 3370 | redo_mouse_highlight (void) | ||
| 3371 | { | ||
| 3372 | if (!NILP (last_mouse_motion_frame) | ||
| 3373 | && FRAME_LIVE_P (XFRAME (last_mouse_motion_frame))) | ||
| 3374 | note_mouse_highlight (XFRAME (last_mouse_motion_frame), | ||
| 3375 | LOWORD (last_mouse_motion_event.lParam), | ||
| 3376 | HIWORD (last_mouse_motion_event.lParam)); | ||
| 3377 | } | ||
| 3378 | |||
| 3379 | static void | ||
| 3380 | w32_define_cursor (Window window, Cursor cursor) | 3342 | w32_define_cursor (Window window, Cursor cursor) |
| 3381 | { | 3343 | { |
| 3382 | PostMessage (window, WM_EMACS_SETCURSOR, (WPARAM) cursor, 0); | 3344 | PostMessage (window, WM_EMACS_SETCURSOR, (WPARAM) cursor, 0); |
| @@ -3407,10 +3369,11 @@ w32_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3407 | unsigned long *time) | 3369 | unsigned long *time) |
| 3408 | { | 3370 | { |
| 3409 | struct frame *f1; | 3371 | struct frame *f1; |
| 3372 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); | ||
| 3410 | 3373 | ||
| 3411 | block_input (); | 3374 | block_input (); |
| 3412 | 3375 | ||
| 3413 | if (! NILP (last_mouse_scroll_bar) && insist == 0) | 3376 | if (dpyinfo->last_mouse_scroll_bar && insist == 0) |
| 3414 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, time); | 3377 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, time); |
| 3415 | else | 3378 | else |
| 3416 | { | 3379 | { |
| @@ -3422,26 +3385,18 @@ w32_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3422 | FOR_EACH_FRAME (tail, frame) | 3385 | FOR_EACH_FRAME (tail, frame) |
| 3423 | XFRAME (frame)->mouse_moved = 0; | 3386 | XFRAME (frame)->mouse_moved = 0; |
| 3424 | 3387 | ||
| 3425 | last_mouse_scroll_bar = Qnil; | 3388 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3426 | 3389 | ||
| 3427 | GetCursorPos (&pt); | 3390 | GetCursorPos (&pt); |
| 3428 | 3391 | ||
| 3429 | /* Now we have a position on the root; find the innermost window | 3392 | /* Now we have a position on the root; find the innermost window |
| 3430 | containing the pointer. */ | 3393 | containing the pointer. */ |
| 3431 | { | 3394 | { |
| 3432 | if (FRAME_W32_DISPLAY_INFO (*fp)->grabbed && last_mouse_frame | 3395 | /* If mouse was grabbed on a frame, give coords for that |
| 3433 | && FRAME_LIVE_P (last_mouse_frame)) | 3396 | frame even if the mouse is now outside it. Otherwise |
| 3434 | { | 3397 | check for window under mouse on one of our frames. */ |
| 3435 | /* If mouse was grabbed on a frame, give coords for that frame | 3398 | f1 = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 3436 | even if the mouse is now outside it. */ | 3399 | : x_any_window_to_frame (dpyinfo, WindowFromPoint (pt))); |
| 3437 | f1 = last_mouse_frame; | ||
| 3438 | } | ||
| 3439 | else | ||
| 3440 | { | ||
| 3441 | /* Is window under mouse one of our frames? */ | ||
| 3442 | f1 = x_any_window_to_frame (FRAME_W32_DISPLAY_INFO (*fp), | ||
| 3443 | WindowFromPoint (pt)); | ||
| 3444 | } | ||
| 3445 | 3400 | ||
| 3446 | /* If not, is it one of our scroll bars? */ | 3401 | /* If not, is it one of our scroll bars? */ |
| 3447 | if (! f1) | 3402 | if (! f1) |
| @@ -3468,16 +3423,17 @@ w32_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3468 | on it, i.e. into the same rectangles that matrices on | 3423 | on it, i.e. into the same rectangles that matrices on |
| 3469 | the frame are divided into. */ | 3424 | the frame are divided into. */ |
| 3470 | 3425 | ||
| 3426 | dpyinfo = FRAME_DISPLAY_INFO (f1); | ||
| 3471 | ScreenToClient (FRAME_W32_WINDOW (f1), &pt); | 3427 | ScreenToClient (FRAME_W32_WINDOW (f1), &pt); |
| 3472 | remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph); | 3428 | remember_mouse_glyph (f1, pt.x, pt.y, &dpyinfo->last_mouse_glyph); |
| 3473 | last_mouse_glyph_frame = f1; | 3429 | dpyinfo->last_mouse_glyph_frame = f1; |
| 3474 | 3430 | ||
| 3475 | *bar_window = Qnil; | 3431 | *bar_window = Qnil; |
| 3476 | *part = 0; | 3432 | *part = 0; |
| 3477 | *fp = f1; | 3433 | *fp = f1; |
| 3478 | XSETINT (*x, pt.x); | 3434 | XSETINT (*x, pt.x); |
| 3479 | XSETINT (*y, pt.y); | 3435 | XSETINT (*y, pt.y); |
| 3480 | *time = last_mouse_movement_time; | 3436 | *time = dpyinfo->last_mouse_movement_time; |
| 3481 | } | 3437 | } |
| 3482 | } | 3438 | } |
| 3483 | } | 3439 | } |
| @@ -3866,8 +3822,7 @@ w32_set_vertical_scroll_bar (struct window *w, | |||
| 3866 | /* Make sure scroll bar is "visible" before moving, to ensure the | 3822 | /* Make sure scroll bar is "visible" before moving, to ensure the |
| 3867 | area of the parent window now exposed will be refreshed. */ | 3823 | area of the parent window now exposed will be refreshed. */ |
| 3868 | my_show_window (f, hwnd, SW_HIDE); | 3824 | my_show_window (f, hwnd, SW_HIDE); |
| 3869 | MoveWindow (hwnd, sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 3825 | MoveWindow (hwnd, sb_left, top, sb_width, |
| 3870 | top, sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | ||
| 3871 | max (height, 1), TRUE); | 3826 | max (height, 1), TRUE); |
| 3872 | 3827 | ||
| 3873 | si.cbSize = sizeof (si); | 3828 | si.cbSize = sizeof (si); |
| @@ -4037,9 +3992,7 @@ w32_scroll_bar_handle_click (struct scroll_bar *bar, W32Msg *msg, | |||
| 4037 | y = si.nPos; | 3992 | y = si.nPos; |
| 4038 | 3993 | ||
| 4039 | bar->dragging = Qnil; | 3994 | bar->dragging = Qnil; |
| 4040 | 3995 | FRAME_DISPLAY_INFO (f)->last_mouse_scroll_bar_pos = msg->msg.wParam; | |
| 4041 | |||
| 4042 | last_mouse_scroll_bar_pos = msg->msg.wParam; | ||
| 4043 | 3996 | ||
| 4044 | switch (LOWORD (msg->msg.wParam)) | 3997 | switch (LOWORD (msg->msg.wParam)) |
| 4045 | { | 3998 | { |
| @@ -4122,7 +4075,8 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 4122 | Lisp_Object *x, Lisp_Object *y, | 4075 | Lisp_Object *x, Lisp_Object *y, |
| 4123 | unsigned long *time) | 4076 | unsigned long *time) |
| 4124 | { | 4077 | { |
| 4125 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); | 4078 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); |
| 4079 | struct scroll_bar *bar = dpyinfo->last_mouse_scroll_bar; | ||
| 4126 | Window w = SCROLL_BAR_W32_WINDOW (bar); | 4080 | Window w = SCROLL_BAR_W32_WINDOW (bar); |
| 4127 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); | 4081 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); |
| 4128 | int pos; | 4082 | int pos; |
| @@ -4141,13 +4095,13 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 4141 | pos = si.nPos; | 4095 | pos = si.nPos; |
| 4142 | top_range = si.nMax - si.nPage + 1; | 4096 | top_range = si.nMax - si.nPage + 1; |
| 4143 | 4097 | ||
| 4144 | switch (LOWORD (last_mouse_scroll_bar_pos)) | 4098 | switch (LOWORD (dpyinfo->last_mouse_scroll_bar_pos)) |
| 4145 | { | 4099 | { |
| 4146 | case SB_THUMBPOSITION: | 4100 | case SB_THUMBPOSITION: |
| 4147 | case SB_THUMBTRACK: | 4101 | case SB_THUMBTRACK: |
| 4148 | *part = scroll_bar_handle; | 4102 | *part = scroll_bar_handle; |
| 4149 | if (VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)) <= 0xffff) | 4103 | if (VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)) <= 0xffff) |
| 4150 | pos = HIWORD (last_mouse_scroll_bar_pos); | 4104 | pos = HIWORD (dpyinfo->last_mouse_scroll_bar_pos); |
| 4151 | break; | 4105 | break; |
| 4152 | case SB_LINEDOWN: | 4106 | case SB_LINEDOWN: |
| 4153 | *part = scroll_bar_handle; | 4107 | *part = scroll_bar_handle; |
| @@ -4162,9 +4116,9 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 4162 | XSETINT (*y, top_range); | 4116 | XSETINT (*y, top_range); |
| 4163 | 4117 | ||
| 4164 | f->mouse_moved = 0; | 4118 | f->mouse_moved = 0; |
| 4165 | last_mouse_scroll_bar = Qnil; | 4119 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 4166 | 4120 | ||
| 4167 | *time = last_mouse_movement_time; | 4121 | *time = dpyinfo->last_mouse_movement_time; |
| 4168 | 4122 | ||
| 4169 | unblock_input (); | 4123 | unblock_input (); |
| 4170 | } | 4124 | } |
| @@ -4483,11 +4437,8 @@ w32_read_socket (struct terminal *terminal, | |||
| 4483 | previous_help_echo_string = help_echo_string; | 4437 | previous_help_echo_string = help_echo_string; |
| 4484 | help_echo_string = Qnil; | 4438 | help_echo_string = Qnil; |
| 4485 | 4439 | ||
| 4486 | if (dpyinfo->grabbed && last_mouse_frame | 4440 | f = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 4487 | && FRAME_LIVE_P (last_mouse_frame)) | 4441 | : x_window_to_frame (dpyinfo, msg.msg.hwnd)); |
| 4488 | f = last_mouse_frame; | ||
| 4489 | else | ||
| 4490 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 4491 | 4442 | ||
| 4492 | if (hlinfo->mouse_face_hidden) | 4443 | if (hlinfo->mouse_face_hidden) |
| 4493 | { | 4444 | { |
| @@ -4563,11 +4514,8 @@ w32_read_socket (struct terminal *terminal, | |||
| 4563 | int button; | 4514 | int button; |
| 4564 | int up; | 4515 | int up; |
| 4565 | 4516 | ||
| 4566 | if (dpyinfo->grabbed && last_mouse_frame | 4517 | f = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 4567 | && FRAME_LIVE_P (last_mouse_frame)) | 4518 | : x_window_to_frame (dpyinfo, msg.msg.hwnd)); |
| 4568 | f = last_mouse_frame; | ||
| 4569 | else | ||
| 4570 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 4571 | 4519 | ||
| 4572 | if (f) | 4520 | if (f) |
| 4573 | { | 4521 | { |
| @@ -4606,7 +4554,7 @@ w32_read_socket (struct terminal *terminal, | |||
| 4606 | else | 4554 | else |
| 4607 | { | 4555 | { |
| 4608 | dpyinfo->grabbed |= (1 << button); | 4556 | dpyinfo->grabbed |= (1 << button); |
| 4609 | last_mouse_frame = f; | 4557 | dpyinfo->last_mouse_frame = f; |
| 4610 | /* Ignore any mouse motion that happened | 4558 | /* Ignore any mouse motion that happened |
| 4611 | before this event; any subsequent mouse-movement | 4559 | before this event; any subsequent mouse-movement |
| 4612 | Emacs events should reflect only motion after | 4560 | Emacs events should reflect only motion after |
| @@ -4623,11 +4571,8 @@ w32_read_socket (struct terminal *terminal, | |||
| 4623 | case WM_MOUSEWHEEL: | 4571 | case WM_MOUSEWHEEL: |
| 4624 | case WM_MOUSEHWHEEL: | 4572 | case WM_MOUSEHWHEEL: |
| 4625 | { | 4573 | { |
| 4626 | if (dpyinfo->grabbed && last_mouse_frame | 4574 | f = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 4627 | && FRAME_LIVE_P (last_mouse_frame)) | 4575 | : x_window_to_frame (dpyinfo, msg.msg.hwnd)); |
| 4628 | f = last_mouse_frame; | ||
| 4629 | else | ||
| 4630 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 4631 | 4576 | ||
| 4632 | if (f) | 4577 | if (f) |
| 4633 | { | 4578 | { |
| @@ -4644,7 +4589,7 @@ w32_read_socket (struct terminal *terminal, | |||
| 4644 | ButtonPress. */ | 4589 | ButtonPress. */ |
| 4645 | f->mouse_moved = 0; | 4590 | f->mouse_moved = 0; |
| 4646 | } | 4591 | } |
| 4647 | last_mouse_frame = f; | 4592 | dpyinfo->last_mouse_frame = f; |
| 4648 | last_tool_bar_item = -1; | 4593 | last_tool_bar_item = -1; |
| 4649 | } | 4594 | } |
| 4650 | break; | 4595 | break; |
| @@ -4691,13 +4636,7 @@ w32_read_socket (struct terminal *terminal, | |||
| 4691 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | 4636 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); |
| 4692 | 4637 | ||
| 4693 | if (f && !FRAME_ICONIFIED_P (f)) | 4638 | if (f && !FRAME_ICONIFIED_P (f)) |
| 4694 | { | 4639 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 4695 | int x, y; | ||
| 4696 | |||
| 4697 | x_real_positions (f, &x, &y); | ||
| 4698 | f->left_pos = x; | ||
| 4699 | f->top_pos = y; | ||
| 4700 | } | ||
| 4701 | 4640 | ||
| 4702 | check_visibility = 1; | 4641 | check_visibility = 1; |
| 4703 | break; | 4642 | break; |
| @@ -4709,7 +4648,7 @@ w32_read_socket (struct terminal *terminal, | |||
| 4709 | if (!msg.msg.wParam && msg.msg.hwnd == tip_window) | 4648 | if (!msg.msg.wParam && msg.msg.hwnd == tip_window) |
| 4710 | { | 4649 | { |
| 4711 | tip_window = NULL; | 4650 | tip_window = NULL; |
| 4712 | redo_mouse_highlight (); | 4651 | x_redo_mouse_highlight (dpyinfo); |
| 4713 | } | 4652 | } |
| 4714 | 4653 | ||
| 4715 | /* If window has been obscured or exposed by another window | 4654 | /* If window has been obscured or exposed by another window |
| @@ -4760,16 +4699,12 @@ w32_read_socket (struct terminal *terminal, | |||
| 4760 | 4699 | ||
| 4761 | if (iconified) | 4700 | if (iconified) |
| 4762 | { | 4701 | { |
| 4763 | int x, y; | ||
| 4764 | |||
| 4765 | /* Reset top and left positions of the Window | 4702 | /* Reset top and left positions of the Window |
| 4766 | here since Windows sends a WM_MOVE message | 4703 | here since Windows sends a WM_MOVE message |
| 4767 | BEFORE telling us the Window is minimized | 4704 | BEFORE telling us the Window is minimized |
| 4768 | when the Window is iconified, with 3000,3000 | 4705 | when the Window is iconified, with 3000,3000 |
| 4769 | as the co-ords. */ | 4706 | as the co-ords. */ |
| 4770 | x_real_positions (f, &x, &y); | 4707 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 4771 | f->left_pos = x; | ||
| 4772 | f->top_pos = y; | ||
| 4773 | 4708 | ||
| 4774 | inev.kind = DEICONIFY_EVENT; | 4709 | inev.kind = DEICONIFY_EVENT; |
| 4775 | XSETFRAME (inev.frame_or_window, f); | 4710 | XSETFRAME (inev.frame_or_window, f); |
| @@ -4982,12 +4917,11 @@ w32_read_socket (struct terminal *terminal, | |||
| 4982 | } | 4917 | } |
| 4983 | 4918 | ||
| 4984 | /* If the focus was just given to an autoraising frame, | 4919 | /* If the focus was just given to an autoraising frame, |
| 4985 | raise it now. */ | 4920 | raise it now. FIXME: handle more than one such frame. */ |
| 4986 | /* ??? This ought to be able to handle more than one such frame. */ | 4921 | if (dpyinfo->w32_pending_autoraise_frame) |
| 4987 | if (pending_autoraise_frame) | ||
| 4988 | { | 4922 | { |
| 4989 | x_raise_frame (pending_autoraise_frame); | 4923 | x_raise_frame (dpyinfo->w32_pending_autoraise_frame); |
| 4990 | pending_autoraise_frame = 0; | 4924 | dpyinfo->w32_pending_autoraise_frame = NULL; |
| 4991 | } | 4925 | } |
| 4992 | 4926 | ||
| 4993 | /* Check which frames are still visible, if we have enqueued any user | 4927 | /* Check which frames are still visible, if we have enqueued any user |
| @@ -5539,13 +5473,13 @@ x_calc_absolute_position (struct frame *f) | |||
| 5539 | /* Treat negative positions as relative to the rightmost bottommost | 5473 | /* Treat negative positions as relative to the rightmost bottommost |
| 5540 | position that fits on the screen. */ | 5474 | position that fits on the screen. */ |
| 5541 | if (flags & XNegative) | 5475 | if (flags & XNegative) |
| 5542 | f->left_pos = (x_display_pixel_width (FRAME_W32_DISPLAY_INFO (f)) | 5476 | f->left_pos = (x_display_pixel_width (FRAME_DISPLAY_INFO (f)) |
| 5543 | - FRAME_PIXEL_WIDTH (f) | 5477 | - FRAME_PIXEL_WIDTH (f) |
| 5544 | + f->left_pos | 5478 | + f->left_pos |
| 5545 | - (left_right_borders_width - 1)); | 5479 | - (left_right_borders_width - 1)); |
| 5546 | 5480 | ||
| 5547 | if (flags & YNegative) | 5481 | if (flags & YNegative) |
| 5548 | f->top_pos = (x_display_pixel_height (FRAME_W32_DISPLAY_INFO (f)) | 5482 | f->top_pos = (x_display_pixel_height (FRAME_DISPLAY_INFO (f)) |
| 5549 | - FRAME_PIXEL_HEIGHT (f) | 5483 | - FRAME_PIXEL_HEIGHT (f) |
| 5550 | + f->top_pos | 5484 | + f->top_pos |
| 5551 | - (top_bottom_borders_height - 1)); | 5485 | - (top_bottom_borders_height - 1)); |
| @@ -5806,7 +5740,7 @@ x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y) | |||
| 5806 | /* focus shifting, raising and lowering. */ | 5740 | /* focus shifting, raising and lowering. */ |
| 5807 | 5741 | ||
| 5808 | void | 5742 | void |
| 5809 | x_focus_on_frame (struct frame *f) | 5743 | x_focus_frame (struct frame *f) |
| 5810 | { | 5744 | { |
| 5811 | struct w32_display_info *dpyinfo = &one_w32_display_info; | 5745 | struct w32_display_info *dpyinfo = &one_w32_display_info; |
| 5812 | 5746 | ||
| @@ -5920,13 +5854,9 @@ w32_frame_raise_lower (struct frame *f, int raise_flag) | |||
| 5920 | void | 5854 | void |
| 5921 | x_make_frame_visible (struct frame *f) | 5855 | x_make_frame_visible (struct frame *f) |
| 5922 | { | 5856 | { |
| 5923 | Lisp_Object type; | ||
| 5924 | |||
| 5925 | block_input (); | 5857 | block_input (); |
| 5926 | 5858 | ||
| 5927 | type = x_icon_type (f); | 5859 | x_set_bitmap_icon (f); |
| 5928 | if (!NILP (type)) | ||
| 5929 | x_bitmap_icon (f, type); | ||
| 5930 | 5860 | ||
| 5931 | if (! FRAME_VISIBLE_P (f)) | 5861 | if (! FRAME_VISIBLE_P (f)) |
| 5932 | { | 5862 | { |
| @@ -6013,8 +5943,8 @@ void | |||
| 6013 | x_make_frame_invisible (struct frame *f) | 5943 | x_make_frame_invisible (struct frame *f) |
| 6014 | { | 5944 | { |
| 6015 | /* Don't keep the highlight on an invisible frame. */ | 5945 | /* Don't keep the highlight on an invisible frame. */ |
| 6016 | if (FRAME_W32_DISPLAY_INFO (f)->x_highlight_frame == f) | 5946 | if (FRAME_DISPLAY_INFO (f)->x_highlight_frame == f) |
| 6017 | FRAME_W32_DISPLAY_INFO (f)->x_highlight_frame = 0; | 5947 | FRAME_DISPLAY_INFO (f)->x_highlight_frame = 0; |
| 6018 | 5948 | ||
| 6019 | block_input (); | 5949 | block_input (); |
| 6020 | 5950 | ||
| @@ -6036,20 +5966,16 @@ x_make_frame_invisible (struct frame *f) | |||
| 6036 | void | 5966 | void |
| 6037 | x_iconify_frame (struct frame *f) | 5967 | x_iconify_frame (struct frame *f) |
| 6038 | { | 5968 | { |
| 6039 | Lisp_Object type; | ||
| 6040 | |||
| 6041 | /* Don't keep the highlight on an invisible frame. */ | 5969 | /* Don't keep the highlight on an invisible frame. */ |
| 6042 | if (FRAME_W32_DISPLAY_INFO (f)->x_highlight_frame == f) | 5970 | if (FRAME_DISPLAY_INFO (f)->x_highlight_frame == f) |
| 6043 | FRAME_W32_DISPLAY_INFO (f)->x_highlight_frame = 0; | 5971 | FRAME_DISPLAY_INFO (f)->x_highlight_frame = 0; |
| 6044 | 5972 | ||
| 6045 | if (FRAME_ICONIFIED_P (f)) | 5973 | if (FRAME_ICONIFIED_P (f)) |
| 6046 | return; | 5974 | return; |
| 6047 | 5975 | ||
| 6048 | block_input (); | 5976 | block_input (); |
| 6049 | 5977 | ||
| 6050 | type = x_icon_type (f); | 5978 | x_set_bitmap_icon (f); |
| 6051 | if (!NILP (type)) | ||
| 6052 | x_bitmap_icon (f, type); | ||
| 6053 | 5979 | ||
| 6054 | /* Simulate the user minimizing the frame. */ | 5980 | /* Simulate the user minimizing the frame. */ |
| 6055 | SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0); | 5981 | SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0); |
| @@ -6066,7 +5992,7 @@ x_iconify_frame (struct frame *f) | |||
| 6066 | void | 5992 | void |
| 6067 | x_free_frame_resources (struct frame *f) | 5993 | x_free_frame_resources (struct frame *f) |
| 6068 | { | 5994 | { |
| 6069 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 5995 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 6070 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); | 5996 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); |
| 6071 | 5997 | ||
| 6072 | block_input (); | 5998 | block_input (); |
| @@ -6116,7 +6042,7 @@ x_free_frame_resources (struct frame *f) | |||
| 6116 | void | 6042 | void |
| 6117 | x_destroy_window (struct frame *f) | 6043 | x_destroy_window (struct frame *f) |
| 6118 | { | 6044 | { |
| 6119 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 6045 | struct w32_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 6120 | 6046 | ||
| 6121 | x_free_frame_resources (f); | 6047 | x_free_frame_resources (f); |
| 6122 | dpyinfo->reference_count--; | 6048 | dpyinfo->reference_count--; |
| @@ -6258,11 +6184,6 @@ w32_make_rdb (char *xrm_option) | |||
| 6258 | return buffer; | 6184 | return buffer; |
| 6259 | } | 6185 | } |
| 6260 | 6186 | ||
| 6261 | void | ||
| 6262 | x_flush (struct frame * f) | ||
| 6263 | { /* Nothing to do */ } | ||
| 6264 | |||
| 6265 | |||
| 6266 | extern frame_parm_handler w32_frame_parm_handlers[]; | 6187 | extern frame_parm_handler w32_frame_parm_handlers[]; |
| 6267 | 6188 | ||
| 6268 | static struct redisplay_interface w32_redisplay_interface = | 6189 | static struct redisplay_interface w32_redisplay_interface = |
| @@ -6276,8 +6197,7 @@ static struct redisplay_interface w32_redisplay_interface = | |||
| 6276 | x_after_update_window_line, | 6197 | x_after_update_window_line, |
| 6277 | x_update_window_begin, | 6198 | x_update_window_begin, |
| 6278 | x_update_window_end, | 6199 | x_update_window_end, |
| 6279 | x_flush, | 6200 | 0, /* flush_display */ |
| 6280 | 0, /* flush_display_optional */ | ||
| 6281 | x_clear_window_mouse_face, | 6201 | x_clear_window_mouse_face, |
| 6282 | x_get_glyph_overhangs, | 6202 | x_get_glyph_overhangs, |
| 6283 | x_fix_overlapping_area, | 6203 | x_fix_overlapping_area, |
| @@ -6344,7 +6264,7 @@ w32_create_terminal (struct w32_display_info *dpyinfo) | |||
| 6344 | terminal like X does. */ | 6264 | terminal like X does. */ |
| 6345 | terminal->kboard = xmalloc (sizeof (KBOARD)); | 6265 | terminal->kboard = xmalloc (sizeof (KBOARD)); |
| 6346 | init_kboard (terminal->kboard); | 6266 | init_kboard (terminal->kboard); |
| 6347 | kset_window_system (terminal->kboard, intern ("w32")); | 6267 | kset_window_system (terminal->kboard, Qw32); |
| 6348 | terminal->kboard->next_kboard = all_kboards; | 6268 | terminal->kboard->next_kboard = all_kboards; |
| 6349 | all_kboards = terminal->kboard; | 6269 | all_kboards = terminal->kboard; |
| 6350 | /* Don't let the initial kboard remain current longer than necessary. | 6270 | /* Don't let the initial kboard remain current longer than necessary. |
| @@ -6608,9 +6528,6 @@ syms_of_w32term (void) | |||
| 6608 | staticpro (&w32_display_name_list); | 6528 | staticpro (&w32_display_name_list); |
| 6609 | w32_display_name_list = Qnil; | 6529 | w32_display_name_list = Qnil; |
| 6610 | 6530 | ||
| 6611 | staticpro (&last_mouse_scroll_bar); | ||
| 6612 | last_mouse_scroll_bar = Qnil; | ||
| 6613 | |||
| 6614 | DEFSYM (Qvendor_specific_keysyms, "vendor-specific-keysyms"); | 6531 | DEFSYM (Qvendor_specific_keysyms, "vendor-specific-keysyms"); |
| 6615 | 6532 | ||
| 6616 | DEFSYM (Qadded, "added"); | 6533 | DEFSYM (Qadded, "added"); |
| @@ -6694,8 +6611,6 @@ X toolkit. Possible values are: gtk, motif, xaw, or xaw3d. | |||
| 6694 | With MS Windows or Nextstep, the value is t. */); | 6611 | With MS Windows or Nextstep, the value is t. */); |
| 6695 | Vx_toolkit_scroll_bars = Qt; | 6612 | Vx_toolkit_scroll_bars = Qt; |
| 6696 | 6613 | ||
| 6697 | staticpro (&last_mouse_motion_frame); | 6614 | /* Tell Emacs about this window system. */ |
| 6698 | last_mouse_motion_frame = Qnil; | 6615 | Fprovide (Qw32, Qnil); |
| 6699 | |||
| 6700 | Fprovide (intern_c_string ("w32"), Qnil); | ||
| 6701 | } | 6616 | } |
diff --git a/src/w32term.h b/src/w32term.h index e65c1146294..095ca54e3e8 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -179,6 +179,37 @@ struct w32_display_info | |||
| 179 | frame. It differs from w32_focus_frame when we're using a global | 179 | frame. It differs from w32_focus_frame when we're using a global |
| 180 | minibuffer. */ | 180 | minibuffer. */ |
| 181 | struct frame *x_highlight_frame; | 181 | struct frame *x_highlight_frame; |
| 182 | |||
| 183 | /* The frame waiting to be auto-raised in w32_read_socket. */ | ||
| 184 | struct frame *w32_pending_autoraise_frame; | ||
| 185 | |||
| 186 | /* The frame where the mouse was last time we reported a mouse event. */ | ||
| 187 | struct frame *last_mouse_frame; | ||
| 188 | |||
| 189 | /* The frame where the mouse was last time we reported a mouse motion. */ | ||
| 190 | struct frame *last_mouse_motion_frame; | ||
| 191 | |||
| 192 | /* The frame where the mouse was last time we reported a mouse position. */ | ||
| 193 | struct frame *last_mouse_glyph_frame; | ||
| 194 | |||
| 195 | /* Position where the mouse was last time we reported a motion. | ||
| 196 | This is a position on last_mouse_motion_frame. */ | ||
| 197 | int last_mouse_motion_x; | ||
| 198 | int last_mouse_motion_y; | ||
| 199 | |||
| 200 | /* Where the mouse was last time we reported a mouse position. | ||
| 201 | This is a rectangle on last_mouse_glyph_frame. */ | ||
| 202 | RECT last_mouse_glyph; | ||
| 203 | |||
| 204 | /* The scroll bar in which the last motion event occurred. */ | ||
| 205 | struct scroll_bar *last_mouse_scroll_bar; | ||
| 206 | |||
| 207 | /* Mouse position on the scroll bar above. | ||
| 208 | FIXME: shouldn't it be a member of struct scroll_bar? */ | ||
| 209 | int last_mouse_scroll_bar_pos; | ||
| 210 | |||
| 211 | /* Time of last mouse movement. */ | ||
| 212 | Time last_mouse_movement_time; | ||
| 182 | }; | 213 | }; |
| 183 | 214 | ||
| 184 | /* This is a chain of structures for all the displays currently in use. */ | 215 | /* This is a chain of structures for all the displays currently in use. */ |
| @@ -199,8 +230,6 @@ Lisp_Object display_x_get_resource (struct w32_display_info *, | |||
| 199 | Lisp_Object, Lisp_Object, | 230 | Lisp_Object, Lisp_Object, |
| 200 | Lisp_Object, Lisp_Object); | 231 | Lisp_Object, Lisp_Object); |
| 201 | 232 | ||
| 202 | extern void x_focus_on_frame (struct frame *f); | ||
| 203 | |||
| 204 | /* also defined in xterm.h XXX: factor out to common header */ | 233 | /* also defined in xterm.h XXX: factor out to common header */ |
| 205 | 234 | ||
| 206 | extern struct w32_display_info *w32_term_init (Lisp_Object, | 235 | extern struct w32_display_info *w32_term_init (Lisp_Object, |
| @@ -211,7 +240,6 @@ extern void x_set_window_size (struct frame *f, int change_grav, | |||
| 211 | int cols, int rows); | 240 | int cols, int rows); |
| 212 | extern int x_display_pixel_height (struct w32_display_info *); | 241 | extern int x_display_pixel_height (struct w32_display_info *); |
| 213 | extern int x_display_pixel_width (struct w32_display_info *); | 242 | extern int x_display_pixel_width (struct w32_display_info *); |
| 214 | extern void x_sync (struct frame *); | ||
| 215 | extern Lisp_Object x_get_focus_frame (struct frame *); | 243 | extern Lisp_Object x_get_focus_frame (struct frame *); |
| 216 | extern void x_set_mouse_position (struct frame *f, int h, int v); | 244 | extern void x_set_mouse_position (struct frame *f, int h, int v); |
| 217 | extern void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); | 245 | extern void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); |
| @@ -384,22 +412,11 @@ extern struct w32_output w32term_display; | |||
| 384 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.w32->baseline_offset) | 412 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.w32->baseline_offset) |
| 385 | 413 | ||
| 386 | /* This gives the w32_display_info structure for the display F is on. */ | 414 | /* This gives the w32_display_info structure for the display F is on. */ |
| 387 | #define FRAME_W32_DISPLAY_INFO(f) (&one_w32_display_info) | 415 | #define FRAME_DISPLAY_INFO(f) (&one_w32_display_info) |
| 388 | #define FRAME_X_DISPLAY_INFO(f) (&one_w32_display_info) | ||
| 389 | 416 | ||
| 390 | /* This is the `Display *' which frame F is on. */ | 417 | /* This is the `Display *' which frame F is on. */ |
| 391 | #define FRAME_X_DISPLAY(f) (0) | 418 | #define FRAME_X_DISPLAY(f) (0) |
| 392 | 419 | ||
| 393 | /* Value is the smallest width of any character in any font on frame F. */ | ||
| 394 | |||
| 395 | #define FRAME_SMALLEST_CHAR_WIDTH(F) \ | ||
| 396 | FRAME_W32_DISPLAY_INFO(F)->smallest_char_width | ||
| 397 | |||
| 398 | /* Value is the smallest height of any font on frame F. */ | ||
| 399 | |||
| 400 | #define FRAME_SMALLEST_FONT_HEIGHT(F) \ | ||
| 401 | FRAME_W32_DISPLAY_INFO(F)->smallest_font_height | ||
| 402 | |||
| 403 | #define FRAME_NORMAL_PLACEMENT(F) ((F)->output_data.w32->normal_placement) | 420 | #define FRAME_NORMAL_PLACEMENT(F) ((F)->output_data.w32->normal_placement) |
| 404 | #define FRAME_PREV_FSMODE(F) ((F)->output_data.w32->prev_fsmode) | 421 | #define FRAME_PREV_FSMODE(F) ((F)->output_data.w32->prev_fsmode) |
| 405 | 422 | ||
| @@ -491,21 +508,12 @@ struct scroll_bar { | |||
| 491 | #define SET_SCROLL_BAR_W32_WINDOW(ptr, id) \ | 508 | #define SET_SCROLL_BAR_W32_WINDOW(ptr, id) \ |
| 492 | (SCROLL_BAR_UNPACK ((ptr)->w32_window_low, (ptr)->w32_window_high, (intptr_t) id)) | 509 | (SCROLL_BAR_UNPACK ((ptr)->w32_window_low, (ptr)->w32_window_high, (intptr_t) id)) |
| 493 | 510 | ||
| 494 | /* Extract the X widget of the scroll bar from a struct scroll_bar. */ | ||
| 495 | #define SCROLL_BAR_X_WIDGET(ptr) \ | ||
| 496 | ((Widget) SCROLL_BAR_PACK ((ptr)->x_widget_low, (ptr)->x_widget_high)) | ||
| 497 | |||
| 498 | /* Store a widget id in a struct scroll_bar. */ | ||
| 499 | #define SET_SCROLL_BAR_X_WIDGET(ptr, w) \ | ||
| 500 | (SCROLL_BAR_UNPACK ((ptr)->x_widget_low, (ptr)->x_widget_high, (int) w)) | ||
| 501 | |||
| 502 | /* Return the inside width of a vertical scroll bar, given the outside | 511 | /* Return the inside width of a vertical scroll bar, given the outside |
| 503 | width. */ | 512 | width. */ |
| 504 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f,width) \ | 513 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f,width) \ |
| 505 | ((width) \ | 514 | ((width) \ |
| 506 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ | 515 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ |
| 507 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ | 516 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER) |
| 508 | - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2) | ||
| 509 | 517 | ||
| 510 | /* Return the length of the rectangle within which the top of the | 518 | /* Return the length of the rectangle within which the top of the |
| 511 | handle must stay. This isn't equivalent to the inside height, | 519 | handle must stay. This isn't equivalent to the inside height, |
| @@ -542,11 +550,6 @@ struct scroll_bar { | |||
| 542 | /* Minimum lengths for scroll bar handles, in pixels. */ | 550 | /* Minimum lengths for scroll bar handles, in pixels. */ |
| 543 | #define VERTICAL_SCROLL_BAR_MIN_HANDLE (vertical_scroll_bar_min_handle) | 551 | #define VERTICAL_SCROLL_BAR_MIN_HANDLE (vertical_scroll_bar_min_handle) |
| 544 | 552 | ||
| 545 | /* Trimming off a few pixels from each side prevents | ||
| 546 | text from glomming up against the scroll bar */ | ||
| 547 | #define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0) | ||
| 548 | |||
| 549 | |||
| 550 | struct frame; /* from frame.h */ | 553 | struct frame; /* from frame.h */ |
| 551 | 554 | ||
| 552 | extern void w32_fill_rect (struct frame *, HDC, COLORREF, RECT *); | 555 | extern void w32_fill_rect (struct frame *, HDC, COLORREF, RECT *); |
diff --git a/src/w32xfns.c b/src/w32xfns.c index 19c6b72bf89..07f75477863 100644 --- a/src/w32xfns.c +++ b/src/w32xfns.c | |||
| @@ -92,7 +92,7 @@ signal_quit (void) | |||
| 92 | void | 92 | void |
| 93 | select_palette (struct frame *f, HDC hdc) | 93 | select_palette (struct frame *f, HDC hdc) |
| 94 | { | 94 | { |
| 95 | struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f); | 95 | struct w32_display_info *display_info = FRAME_DISPLAY_INFO (f); |
| 96 | 96 | ||
| 97 | if (!display_info->has_palette) | 97 | if (!display_info->has_palette) |
| 98 | return; | 98 | return; |
| @@ -333,9 +333,3 @@ drain_message_queue (void) | |||
| 333 | } | 333 | } |
| 334 | return retval; | 334 | return retval; |
| 335 | } | 335 | } |
| 336 | |||
| 337 | /* x_sync is a no-op on W32. */ | ||
| 338 | void | ||
| 339 | x_sync (struct frame *f) | ||
| 340 | { | ||
| 341 | } | ||
diff --git a/src/widget.c b/src/widget.c index ec0b506046b..d6469d7eec5 100644 --- a/src/widget.c +++ b/src/widget.c | |||
| @@ -525,7 +525,7 @@ setup_frame_gcs (EmacsFrame ew) | |||
| 525 | font = Ffont_xlfd_name (font, Qnil); | 525 | font = Ffont_xlfd_name (font, Qnil); |
| 526 | if (STRINGP (font)) | 526 | if (STRINGP (font)) |
| 527 | { | 527 | { |
| 528 | XFontStruct *xfont = XLoadQueryFont (FRAME_X_DISPLAY_INFO (s)->display, | 528 | XFontStruct *xfont = XLoadQueryFont (FRAME_DISPLAY_INFO (s)->display, |
| 529 | SSDATA (font)); | 529 | SSDATA (font)); |
| 530 | if (xfont) | 530 | if (xfont) |
| 531 | { | 531 | { |
diff --git a/src/window.c b/src/window.c index 6828f5d0792..670369cd322 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -20,8 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | 22 | ||
| 23 | #define WINDOW_INLINE EXTERN_INLINE | ||
| 24 | |||
| 25 | #include <stdio.h> | 23 | #include <stdio.h> |
| 26 | 24 | ||
| 27 | #include "lisp.h" | 25 | #include "lisp.h" |
| @@ -39,19 +37,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 39 | #include "blockinput.h" | 37 | #include "blockinput.h" |
| 40 | #include "intervals.h" | 38 | #include "intervals.h" |
| 41 | #include "termhooks.h" /* For FRAME_TERMINAL. */ | 39 | #include "termhooks.h" /* For FRAME_TERMINAL. */ |
| 42 | 40 | #ifdef HAVE_WINDOW_SYSTEM | |
| 43 | #ifdef HAVE_X_WINDOWS | 41 | #include TERM_HEADER |
| 44 | #include "xterm.h" | 42 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 45 | #endif /* HAVE_X_WINDOWS */ | ||
| 46 | #ifdef HAVE_NTGUI | ||
| 47 | #include "w32term.h" | ||
| 48 | #endif | ||
| 49 | #ifdef MSDOS | 43 | #ifdef MSDOS |
| 50 | #include "msdos.h" | 44 | #include "msdos.h" |
| 51 | #endif | 45 | #endif |
| 52 | #ifdef HAVE_NS | ||
| 53 | #include "nsterm.h" | ||
| 54 | #endif | ||
| 55 | 46 | ||
| 56 | Lisp_Object Qwindowp, Qwindow_live_p; | 47 | Lisp_Object Qwindowp, Qwindow_live_p; |
| 57 | static Lisp_Object Qwindow_valid_p; | 48 | static Lisp_Object Qwindow_valid_p; |
| @@ -1386,6 +1377,7 @@ window_from_coordinates (struct frame *f, int x, int y, | |||
| 1386 | cw.window = &window, cw.x = x, cw.y = y; cw.part = part; | 1377 | cw.window = &window, cw.x = x, cw.y = y; cw.part = part; |
| 1387 | foreach_window (f, check_window_containing, &cw); | 1378 | foreach_window (f, check_window_containing, &cw); |
| 1388 | 1379 | ||
| 1380 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 1389 | /* If not found above, see if it's in the tool bar window, if a tool | 1381 | /* If not found above, see if it's in the tool bar window, if a tool |
| 1390 | bar exists. */ | 1382 | bar exists. */ |
| 1391 | if (NILP (window) | 1383 | if (NILP (window) |
| @@ -1398,6 +1390,7 @@ window_from_coordinates (struct frame *f, int x, int y, | |||
| 1398 | *part = ON_TEXT; | 1390 | *part = ON_TEXT; |
| 1399 | window = f->tool_bar_window; | 1391 | window = f->tool_bar_window; |
| 1400 | } | 1392 | } |
| 1393 | #endif | ||
| 1401 | 1394 | ||
| 1402 | return window; | 1395 | return window; |
| 1403 | } | 1396 | } |
| @@ -2952,7 +2945,7 @@ window-start value is reasonable when this function is called. */) | |||
| 2952 | } | 2945 | } |
| 2953 | } | 2946 | } |
| 2954 | 2947 | ||
| 2955 | adjust_glyphs (f); | 2948 | adjust_frame_glyphs (f); |
| 2956 | unblock_input (); | 2949 | unblock_input (); |
| 2957 | 2950 | ||
| 2958 | run_window_configuration_change_hook (f); | 2951 | run_window_configuration_change_hook (f); |
| @@ -3426,6 +3419,7 @@ make_window (void) | |||
| 3426 | non-Lisp data, so do it only for slots which should not be zero. */ | 3419 | non-Lisp data, so do it only for slots which should not be zero. */ |
| 3427 | w->nrows_scale_factor = w->ncols_scale_factor = 1; | 3420 | w->nrows_scale_factor = w->ncols_scale_factor = 1; |
| 3428 | w->left_fringe_width = w->right_fringe_width = -1; | 3421 | w->left_fringe_width = w->right_fringe_width = -1; |
| 3422 | w->mode_line_height = w->header_line_height = -1; | ||
| 3429 | w->phys_cursor_type = -1; | 3423 | w->phys_cursor_type = -1; |
| 3430 | w->phys_cursor_width = -1; | 3424 | w->phys_cursor_width = -1; |
| 3431 | w->scroll_bar_width = -1; | 3425 | w->scroll_bar_width = -1; |
| @@ -3651,7 +3645,7 @@ be applied on the Elisp level. */) | |||
| 3651 | windows_or_buffers_changed++; | 3645 | windows_or_buffers_changed++; |
| 3652 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; | 3646 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; |
| 3653 | 3647 | ||
| 3654 | adjust_glyphs (f); | 3648 | adjust_frame_glyphs (f); |
| 3655 | unblock_input (); | 3649 | unblock_input (); |
| 3656 | 3650 | ||
| 3657 | run_window_configuration_change_hook (f); | 3651 | run_window_configuration_change_hook (f); |
| @@ -3921,7 +3915,7 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3921 | 3915 | ||
| 3922 | block_input (); | 3916 | block_input (); |
| 3923 | window_resize_apply (p, horflag); | 3917 | window_resize_apply (p, horflag); |
| 3924 | adjust_glyphs (f); | 3918 | adjust_frame_glyphs (f); |
| 3925 | /* Set buffer of NEW to buffer of reference window. Don't run | 3919 | /* Set buffer of NEW to buffer of reference window. Don't run |
| 3926 | any hooks. */ | 3920 | any hooks. */ |
| 3927 | set_window_buffer (new, r->contents, 0, 1); | 3921 | set_window_buffer (new, r->contents, 0, 1); |
| @@ -4050,7 +4044,7 @@ Signal an error when WINDOW is the only window on its frame. */) | |||
| 4050 | recombine_windows (sibling); | 4044 | recombine_windows (sibling); |
| 4051 | } | 4045 | } |
| 4052 | 4046 | ||
| 4053 | adjust_glyphs (f); | 4047 | adjust_frame_glyphs (f); |
| 4054 | 4048 | ||
| 4055 | if (!WINDOW_LIVE_P (FRAME_SELECTED_WINDOW (f))) | 4049 | if (!WINDOW_LIVE_P (FRAME_SELECTED_WINDOW (f))) |
| 4056 | /* We deleted the frame's selected window. */ | 4050 | /* We deleted the frame's selected window. */ |
| @@ -4137,7 +4131,7 @@ grow_mini_window (struct window *w, int delta) | |||
| 4137 | w->total_lines -= XINT (value); | 4131 | w->total_lines -= XINT (value); |
| 4138 | /* Enforce full redisplay. FIXME: make it more selective. */ | 4132 | /* Enforce full redisplay. FIXME: make it more selective. */ |
| 4139 | windows_or_buffers_changed++; | 4133 | windows_or_buffers_changed++; |
| 4140 | adjust_glyphs (f); | 4134 | adjust_frame_glyphs (f); |
| 4141 | unblock_input (); | 4135 | unblock_input (); |
| 4142 | } | 4136 | } |
| 4143 | } | 4137 | } |
| @@ -4171,7 +4165,7 @@ shrink_mini_window (struct window *w) | |||
| 4171 | w->total_lines = 1; | 4165 | w->total_lines = 1; |
| 4172 | /* Enforce full redisplay. FIXME: make it more selective. */ | 4166 | /* Enforce full redisplay. FIXME: make it more selective. */ |
| 4173 | windows_or_buffers_changed++; | 4167 | windows_or_buffers_changed++; |
| 4174 | adjust_glyphs (f); | 4168 | adjust_frame_glyphs (f); |
| 4175 | unblock_input (); | 4169 | unblock_input (); |
| 4176 | } | 4170 | } |
| 4177 | /* If the above failed for whatever strange reason we must make a | 4171 | /* If the above failed for whatever strange reason we must make a |
| @@ -4212,7 +4206,7 @@ DEFUN ("resize-mini-window-internal", Fresize_mini_window_internal, Sresize_mini | |||
| 4212 | 4206 | ||
| 4213 | windows_or_buffers_changed++; | 4207 | windows_or_buffers_changed++; |
| 4214 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; | 4208 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; |
| 4215 | adjust_glyphs (f); | 4209 | adjust_frame_glyphs (f); |
| 4216 | unblock_input (); | 4210 | unblock_input (); |
| 4217 | 4211 | ||
| 4218 | run_window_configuration_change_hook (f); | 4212 | run_window_configuration_change_hook (f); |
| @@ -4483,7 +4477,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, int noerror) | |||
| 4483 | visible. */ | 4477 | visible. */ |
| 4484 | w->vscroll = (it.last_visible_y | 4478 | w->vscroll = (it.last_visible_y |
| 4485 | - it.current_y + it.max_ascent + it.max_descent); | 4479 | - it.current_y + it.max_ascent + it.max_descent); |
| 4486 | adjust_glyphs (it.f); | 4480 | adjust_frame_glyphs (it.f); |
| 4487 | } | 4481 | } |
| 4488 | else | 4482 | else |
| 4489 | { | 4483 | { |
| @@ -5118,9 +5112,9 @@ and redisplay normally--don't erase and redraw the frame. */) | |||
| 5118 | /* Invalidate pixel data calculated for all compositions. */ | 5112 | /* Invalidate pixel data calculated for all compositions. */ |
| 5119 | for (i = 0; i < n_compositions; i++) | 5113 | for (i = 0; i < n_compositions; i++) |
| 5120 | composition_table[i]->font = NULL; | 5114 | composition_table[i]->font = NULL; |
| 5121 | 5115 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | |
| 5122 | WINDOW_XFRAME (w)->minimize_tool_bar_window_p = 1; | 5116 | WINDOW_XFRAME (w)->minimize_tool_bar_window_p = 1; |
| 5123 | 5117 | #endif | |
| 5124 | Fredraw_frame (WINDOW_FRAME (w)); | 5118 | Fredraw_frame (WINDOW_FRAME (w)); |
| 5125 | SET_FRAME_GARBAGED (WINDOW_XFRAME (w)); | 5119 | SET_FRAME_GARBAGED (WINDOW_XFRAME (w)); |
| 5126 | } | 5120 | } |
| @@ -5407,7 +5401,7 @@ struct saved_window | |||
| 5407 | }; | 5401 | }; |
| 5408 | 5402 | ||
| 5409 | #define SAVED_WINDOW_N(swv,n) \ | 5403 | #define SAVED_WINDOW_N(swv,n) \ |
| 5410 | ((struct saved_window *) (XVECTOR ((swv)->contents[(n)]))) | 5404 | ((struct saved_window *) (XVECTOR ((swv)->u.contents[(n)]))) |
| 5411 | 5405 | ||
| 5412 | DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_p, 1, 1, 0, | 5406 | DEFUN ("window-configuration-p", Fwindow_configuration_p, Swindow_configuration_p, 1, 1, 0, |
| 5413 | doc: /* Return t if OBJECT is a window-configuration object. */) | 5407 | doc: /* Return t if OBJECT is a window-configuration object. */) |
| @@ -5773,7 +5767,7 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5773 | ++n; | 5767 | ++n; |
| 5774 | } | 5768 | } |
| 5775 | 5769 | ||
| 5776 | adjust_glyphs (f); | 5770 | adjust_frame_glyphs (f); |
| 5777 | unblock_input (); | 5771 | unblock_input (); |
| 5778 | 5772 | ||
| 5779 | /* Scan dead buffer windows. */ | 5773 | /* Scan dead buffer windows. */ |
| @@ -6102,7 +6096,7 @@ apply_window_adjustment (struct window *w) | |||
| 6102 | clear_glyph_matrix (w->current_matrix); | 6096 | clear_glyph_matrix (w->current_matrix); |
| 6103 | w->window_end_valid = 0; | 6097 | w->window_end_valid = 0; |
| 6104 | windows_or_buffers_changed++; | 6098 | windows_or_buffers_changed++; |
| 6105 | adjust_glyphs (XFRAME (WINDOW_FRAME (w))); | 6099 | adjust_frame_glyphs (XFRAME (WINDOW_FRAME (w))); |
| 6106 | } | 6100 | } |
| 6107 | 6101 | ||
| 6108 | 6102 | ||
| @@ -6368,7 +6362,7 @@ If PIXELS-P is non-nil, the return value is VSCROLL. */) | |||
| 6368 | /* Adjust glyph matrix of the frame if the virtual display | 6362 | /* Adjust glyph matrix of the frame if the virtual display |
| 6369 | area becomes larger than before. */ | 6363 | area becomes larger than before. */ |
| 6370 | if (w->vscroll < 0 && w->vscroll < old_dy) | 6364 | if (w->vscroll < 0 && w->vscroll < old_dy) |
| 6371 | adjust_glyphs (f); | 6365 | adjust_frame_glyphs (f); |
| 6372 | 6366 | ||
| 6373 | /* Prevent redisplay shortcuts. */ | 6367 | /* Prevent redisplay shortcuts. */ |
| 6374 | XBUFFER (w->contents)->prevent_redisplay_optimizations_p = 1; | 6368 | XBUFFER (w->contents)->prevent_redisplay_optimizations_p = 1; |
| @@ -6524,7 +6518,6 @@ init_window_once (void) | |||
| 6524 | Vterminal_frame = selected_frame; | 6518 | Vterminal_frame = selected_frame; |
| 6525 | minibuf_window = f->minibuffer_window; | 6519 | minibuf_window = f->minibuffer_window; |
| 6526 | selected_window = f->selected_window; | 6520 | selected_window = f->selected_window; |
| 6527 | last_nonminibuf_frame = f; | ||
| 6528 | 6521 | ||
| 6529 | window_initialized = 1; | 6522 | window_initialized = 1; |
| 6530 | } | 6523 | } |
diff --git a/src/window.h b/src/window.h index efe03737052..6d2478ecaf9 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -23,9 +23,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 23 | #include "dispextern.h" | 23 | #include "dispextern.h" |
| 24 | 24 | ||
| 25 | INLINE_HEADER_BEGIN | 25 | INLINE_HEADER_BEGIN |
| 26 | #ifndef WINDOW_INLINE | ||
| 27 | # define WINDOW_INLINE INLINE | ||
| 28 | #endif | ||
| 29 | 26 | ||
| 30 | /* Windows are allocated as if they were vectors, but then the | 27 | /* Windows are allocated as if they were vectors, but then the |
| 31 | Lisp data type is changed to Lisp_Window. They are garbage | 28 | Lisp data type is changed to Lisp_Window. They are garbage |
| @@ -264,6 +261,12 @@ struct window | |||
| 264 | A value of -1 means use frame values. */ | 261 | A value of -1 means use frame values. */ |
| 265 | int scroll_bar_width; | 262 | int scroll_bar_width; |
| 266 | 263 | ||
| 264 | /* Effective height of the mode line, or -1 if not known. */ | ||
| 265 | int mode_line_height; | ||
| 266 | |||
| 267 | /* Effective height of the header line, or -1 if not known. */ | ||
| 268 | int header_line_height; | ||
| 269 | |||
| 267 | /* Z - the buffer position of the last glyph in the current | 270 | /* Z - the buffer position of the last glyph in the current |
| 268 | matrix of W. Only valid if window_end_valid is nonzero. */ | 271 | matrix of W. Only valid if window_end_valid is nonzero. */ |
| 269 | ptrdiff_t window_end_pos; | 272 | ptrdiff_t window_end_pos; |
| @@ -343,37 +346,37 @@ struct window | |||
| 343 | 346 | ||
| 344 | /* Most code should use these functions to set Lisp fields in struct | 347 | /* Most code should use these functions to set Lisp fields in struct |
| 345 | window. */ | 348 | window. */ |
| 346 | WINDOW_INLINE void | 349 | INLINE void |
| 347 | wset_frame (struct window *w, Lisp_Object val) | 350 | wset_frame (struct window *w, Lisp_Object val) |
| 348 | { | 351 | { |
| 349 | w->frame = val; | 352 | w->frame = val; |
| 350 | } | 353 | } |
| 351 | WINDOW_INLINE void | 354 | INLINE void |
| 352 | wset_next (struct window *w, Lisp_Object val) | 355 | wset_next (struct window *w, Lisp_Object val) |
| 353 | { | 356 | { |
| 354 | w->next = val; | 357 | w->next = val; |
| 355 | } | 358 | } |
| 356 | WINDOW_INLINE void | 359 | INLINE void |
| 357 | wset_prev (struct window *w, Lisp_Object val) | 360 | wset_prev (struct window *w, Lisp_Object val) |
| 358 | { | 361 | { |
| 359 | w->prev = val; | 362 | w->prev = val; |
| 360 | } | 363 | } |
| 361 | WINDOW_INLINE void | 364 | INLINE void |
| 362 | wset_redisplay_end_trigger (struct window *w, Lisp_Object val) | 365 | wset_redisplay_end_trigger (struct window *w, Lisp_Object val) |
| 363 | { | 366 | { |
| 364 | w->redisplay_end_trigger = val; | 367 | w->redisplay_end_trigger = val; |
| 365 | } | 368 | } |
| 366 | WINDOW_INLINE void | 369 | INLINE void |
| 367 | wset_vertical_scroll_bar (struct window *w, Lisp_Object val) | 370 | wset_vertical_scroll_bar (struct window *w, Lisp_Object val) |
| 368 | { | 371 | { |
| 369 | w->vertical_scroll_bar = val; | 372 | w->vertical_scroll_bar = val; |
| 370 | } | 373 | } |
| 371 | WINDOW_INLINE void | 374 | INLINE void |
| 372 | wset_prev_buffers (struct window *w, Lisp_Object val) | 375 | wset_prev_buffers (struct window *w, Lisp_Object val) |
| 373 | { | 376 | { |
| 374 | w->prev_buffers = val; | 377 | w->prev_buffers = val; |
| 375 | } | 378 | } |
| 376 | WINDOW_INLINE void | 379 | INLINE void |
| 377 | wset_next_buffers (struct window *w, Lisp_Object val) | 380 | wset_next_buffers (struct window *w, Lisp_Object val) |
| 378 | { | 381 | { |
| 379 | w->next_buffers = val; | 382 | w->next_buffers = val; |
| @@ -519,10 +522,13 @@ wset_next_buffers (struct window *w, Lisp_Object val) | |||
| 519 | #endif | 522 | #endif |
| 520 | 523 | ||
| 521 | /* 1 if W is a tool bar window. */ | 524 | /* 1 if W is a tool bar window. */ |
| 522 | 525 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) | |
| 523 | #define WINDOW_TOOL_BAR_P(W) \ | 526 | #define WINDOW_TOOL_BAR_P(W) \ |
| 524 | (WINDOWP (WINDOW_XFRAME (W)->tool_bar_window) \ | 527 | (WINDOWP (WINDOW_XFRAME (W)->tool_bar_window) \ |
| 525 | && (W) == XWINDOW (WINDOW_XFRAME (W)->tool_bar_window)) | 528 | && (W) == XWINDOW (WINDOW_XFRAME (W)->tool_bar_window)) |
| 529 | #else | ||
| 530 | #define WINDOW_TOOL_BAR_P(W) (0) | ||
| 531 | #endif | ||
| 526 | 532 | ||
| 527 | /* Return the frame y-position at which window W starts. | 533 | /* Return the frame y-position at which window W starts. |
| 528 | This includes a header line, if any. */ | 534 | This includes a header line, if any. */ |
| @@ -957,7 +963,7 @@ extern void keys_of_window (void); | |||
| 957 | window update, so the position is the future output cursor position | 963 | window update, so the position is the future output cursor position |
| 958 | for currently updated window W. */ | 964 | for currently updated window W. */ |
| 959 | 965 | ||
| 960 | WINDOW_INLINE void | 966 | INLINE void |
| 961 | output_cursor_to (struct window *w, int vpos, int hpos, int y, int x) | 967 | output_cursor_to (struct window *w, int vpos, int hpos, int y, int x) |
| 962 | { | 968 | { |
| 963 | eassert (w); | 969 | eassert (w); |
diff --git a/src/xdisp.c b/src/xdisp.c index 139218ae1dd..ce6cd8f080e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | /* Display generation from window structure and buffer text. | 1 | /* Display generation from window structure and buffer text. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1988, 1993-1995, 1997-2013 Free Software Foundation, | 3 | Copyright (C) 1985-1988, 1993-1995, 1997-2013 Free Software Foundation, Inc. |
| 4 | Inc. | ||
| 5 | 4 | ||
| 6 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -299,19 +298,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 299 | #include "font.h" | 298 | #include "font.h" |
| 300 | #include "fontset.h" | 299 | #include "fontset.h" |
| 301 | #include "blockinput.h" | 300 | #include "blockinput.h" |
| 302 | 301 | #ifdef HAVE_WINDOW_SYSTEM | |
| 303 | #ifdef HAVE_X_WINDOWS | 302 | #include TERM_HEADER |
| 304 | #include "xterm.h" | 303 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 305 | #endif | ||
| 306 | #ifdef HAVE_NTGUI | ||
| 307 | #include "w32term.h" | ||
| 308 | #endif | ||
| 309 | #ifdef HAVE_NS | ||
| 310 | #include "nsterm.h" | ||
| 311 | #endif | ||
| 312 | #ifdef USE_GTK | ||
| 313 | #include "gtkutil.h" | ||
| 314 | #endif | ||
| 315 | 304 | ||
| 316 | #ifndef FRAME_X_OUTPUT | 305 | #ifndef FRAME_X_OUTPUT |
| 317 | #define FRAME_X_OUTPUT(f) ((f)->output_data.x) | 306 | #define FRAME_X_OUTPUT(f) ((f)->output_data.x) |
| @@ -426,11 +415,11 @@ Lisp_Object Qboth, Qboth_horiz, Qtext_image_horiz; | |||
| 426 | /* Non-zero means print newline to stdout before next mini-buffer | 415 | /* Non-zero means print newline to stdout before next mini-buffer |
| 427 | message. */ | 416 | message. */ |
| 428 | 417 | ||
| 429 | int noninteractive_need_newline; | 418 | bool noninteractive_need_newline; |
| 430 | 419 | ||
| 431 | /* Non-zero means print newline to message log before next message. */ | 420 | /* Non-zero means print newline to message log before next message. */ |
| 432 | 421 | ||
| 433 | static int message_log_need_newline; | 422 | static bool message_log_need_newline; |
| 434 | 423 | ||
| 435 | /* Three markers that message_dolog uses. | 424 | /* Three markers that message_dolog uses. |
| 436 | It could allocate them itself, but that causes trouble | 425 | It could allocate them itself, but that causes trouble |
| @@ -489,7 +478,7 @@ Lisp_Object Qmenu_bar_update_hook; | |||
| 489 | 478 | ||
| 490 | /* Nonzero if an overlay arrow has been displayed in this window. */ | 479 | /* Nonzero if an overlay arrow has been displayed in this window. */ |
| 491 | 480 | ||
| 492 | static int overlay_arrow_seen; | 481 | static bool overlay_arrow_seen; |
| 493 | 482 | ||
| 494 | /* Vector containing glyphs for an ellipsis `...'. */ | 483 | /* Vector containing glyphs for an ellipsis `...'. */ |
| 495 | 484 | ||
| @@ -511,7 +500,7 @@ static Lisp_Object Vmessage_stack; | |||
| 511 | /* Nonzero means multibyte characters were enabled when the echo area | 500 | /* Nonzero means multibyte characters were enabled when the echo area |
| 512 | message was specified. */ | 501 | message was specified. */ |
| 513 | 502 | ||
| 514 | static int message_enable_multibyte; | 503 | static bool message_enable_multibyte; |
| 515 | 504 | ||
| 516 | /* Nonzero if we should redraw the mode lines on the next redisplay. */ | 505 | /* Nonzero if we should redraw the mode lines on the next redisplay. */ |
| 517 | 506 | ||
| @@ -522,14 +511,10 @@ int update_mode_lines; | |||
| 522 | 511 | ||
| 523 | int windows_or_buffers_changed; | 512 | int windows_or_buffers_changed; |
| 524 | 513 | ||
| 525 | /* Nonzero means a frame's cursor type has been changed. */ | ||
| 526 | |||
| 527 | static int cursor_type_changed; | ||
| 528 | |||
| 529 | /* Nonzero after display_mode_line if %l was used and it displayed a | 514 | /* Nonzero after display_mode_line if %l was used and it displayed a |
| 530 | line number. */ | 515 | line number. */ |
| 531 | 516 | ||
| 532 | static int line_number_displayed; | 517 | static bool line_number_displayed; |
| 533 | 518 | ||
| 534 | /* The name of the *Messages* buffer, a string. */ | 519 | /* The name of the *Messages* buffer, a string. */ |
| 535 | 520 | ||
| @@ -551,12 +536,12 @@ static Lisp_Object Vwith_echo_area_save_vector; | |||
| 551 | /* Non-zero means display_echo_area should display the last echo area | 536 | /* Non-zero means display_echo_area should display the last echo area |
| 552 | message again. Set by redisplay_preserve_echo_area. */ | 537 | message again. Set by redisplay_preserve_echo_area. */ |
| 553 | 538 | ||
| 554 | static int display_last_displayed_message_p; | 539 | static bool display_last_displayed_message_p; |
| 555 | 540 | ||
| 556 | /* Nonzero if echo area is being used by print; zero if being used by | 541 | /* Nonzero if echo area is being used by print; zero if being used by |
| 557 | message. */ | 542 | message. */ |
| 558 | 543 | ||
| 559 | static int message_buf_print; | 544 | static bool message_buf_print; |
| 560 | 545 | ||
| 561 | /* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */ | 546 | /* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */ |
| 562 | 547 | ||
| @@ -566,7 +551,7 @@ static Lisp_Object Qmessage_truncate_lines; | |||
| 566 | /* Set to 1 in clear_message to make redisplay_internal aware | 551 | /* Set to 1 in clear_message to make redisplay_internal aware |
| 567 | of an emptied echo area. */ | 552 | of an emptied echo area. */ |
| 568 | 553 | ||
| 569 | static int message_cleared_p; | 554 | static bool message_cleared_p; |
| 570 | 555 | ||
| 571 | /* A scratch glyph row with contents used for generating truncation | 556 | /* A scratch glyph row with contents used for generating truncation |
| 572 | glyphs. Also used in direct_output_for_insert. */ | 557 | glyphs. Also used in direct_output_for_insert. */ |
| @@ -581,13 +566,7 @@ static int last_height; | |||
| 581 | 566 | ||
| 582 | /* Non-zero if there's a help-echo in the echo area. */ | 567 | /* Non-zero if there's a help-echo in the echo area. */ |
| 583 | 568 | ||
| 584 | int help_echo_showing_p; | 569 | bool help_echo_showing_p; |
| 585 | |||
| 586 | /* If >= 0, computed, exact values of mode-line and header-line height | ||
| 587 | to use in the macros CURRENT_MODE_LINE_HEIGHT and | ||
| 588 | CURRENT_HEADER_LINE_HEIGHT. */ | ||
| 589 | |||
| 590 | int current_mode_line_height, current_header_line_height; | ||
| 591 | 570 | ||
| 592 | /* The maximum distance to look ahead for text properties. Values | 571 | /* The maximum distance to look ahead for text properties. Values |
| 593 | that are too small let us call compute_char_face and similar | 572 | that are too small let us call compute_char_face and similar |
| @@ -763,7 +742,7 @@ Lisp_Object previous_help_echo_string; | |||
| 763 | #ifdef HAVE_WINDOW_SYSTEM | 742 | #ifdef HAVE_WINDOW_SYSTEM |
| 764 | 743 | ||
| 765 | /* Non-zero means an hourglass cursor is currently shown. */ | 744 | /* Non-zero means an hourglass cursor is currently shown. */ |
| 766 | int hourglass_shown_p; | 745 | bool hourglass_shown_p; |
| 767 | 746 | ||
| 768 | /* If non-null, an asynchronous timer that, when it expires, displays | 747 | /* If non-null, an asynchronous timer that, when it expires, displays |
| 769 | an hourglass cursor on all frames. */ | 748 | an hourglass cursor on all frames. */ |
| @@ -933,11 +912,8 @@ static int in_ellipses_for_invisible_text_p (struct display_pos *, | |||
| 933 | #ifdef HAVE_WINDOW_SYSTEM | 912 | #ifdef HAVE_WINDOW_SYSTEM |
| 934 | 913 | ||
| 935 | static void x_consider_frame_title (Lisp_Object); | 914 | static void x_consider_frame_title (Lisp_Object); |
| 936 | static int tool_bar_lines_needed (struct frame *, int *); | ||
| 937 | static void update_tool_bar (struct frame *, int); | 915 | static void update_tool_bar (struct frame *, int); |
| 938 | static void build_desired_tool_bar_string (struct frame *f); | ||
| 939 | static int redisplay_tool_bar (struct frame *); | 916 | static int redisplay_tool_bar (struct frame *); |
| 940 | static void display_tool_bar_line (struct it *, int); | ||
| 941 | static void notice_overwritten_cursor (struct window *, | 917 | static void notice_overwritten_cursor (struct window *, |
| 942 | enum glyph_row_area, | 918 | enum glyph_row_area, |
| 943 | int, int, int, int); | 919 | int, int, int, int); |
| @@ -1359,12 +1335,12 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y, | |||
| 1359 | 1335 | ||
| 1360 | /* Compute exact mode line heights. */ | 1336 | /* Compute exact mode line heights. */ |
| 1361 | if (WINDOW_WANTS_MODELINE_P (w)) | 1337 | if (WINDOW_WANTS_MODELINE_P (w)) |
| 1362 | current_mode_line_height | 1338 | w->mode_line_height |
| 1363 | = display_mode_line (w, CURRENT_MODE_LINE_FACE_ID (w), | 1339 | = display_mode_line (w, CURRENT_MODE_LINE_FACE_ID (w), |
| 1364 | BVAR (current_buffer, mode_line_format)); | 1340 | BVAR (current_buffer, mode_line_format)); |
| 1365 | 1341 | ||
| 1366 | if (WINDOW_WANTS_HEADER_LINE_P (w)) | 1342 | if (WINDOW_WANTS_HEADER_LINE_P (w)) |
| 1367 | current_header_line_height | 1343 | w->header_line_height |
| 1368 | = display_mode_line (w, HEADER_LINE_FACE_ID, | 1344 | = display_mode_line (w, HEADER_LINE_FACE_ID, |
| 1369 | BVAR (current_buffer, header_line_format)); | 1345 | BVAR (current_buffer, header_line_format)); |
| 1370 | 1346 | ||
| @@ -1657,8 +1633,6 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y, | |||
| 1657 | if (old_buffer) | 1633 | if (old_buffer) |
| 1658 | set_buffer_internal_1 (old_buffer); | 1634 | set_buffer_internal_1 (old_buffer); |
| 1659 | 1635 | ||
| 1660 | current_header_line_height = current_mode_line_height = -1; | ||
| 1661 | |||
| 1662 | if (visible_p && w->hscroll > 0) | 1636 | if (visible_p && w->hscroll > 0) |
| 1663 | *x -= | 1637 | *x -= |
| 1664 | window_hscroll_limited (w, WINDOW_XFRAME (w)) | 1638 | window_hscroll_limited (w, WINDOW_XFRAME (w)) |
| @@ -1908,8 +1882,7 @@ pixel_to_glyph_coords (struct frame *f, register int pix_x, register int pix_y, | |||
| 1908 | text, or we can't tell because W's current matrix is not up to | 1882 | text, or we can't tell because W's current matrix is not up to |
| 1909 | date. */ | 1883 | date. */ |
| 1910 | 1884 | ||
| 1911 | static | 1885 | static struct glyph * |
| 1912 | struct glyph * | ||
| 1913 | x_y_to_hpos_vpos (struct window *w, int x, int y, int *hpos, int *vpos, | 1886 | x_y_to_hpos_vpos (struct window *w, int x, int y, int *hpos, int *vpos, |
| 1914 | int *dx, int *dy, int *area) | 1887 | int *dx, int *dy, int *area) |
| 1915 | { | 1888 | { |
| @@ -4500,8 +4473,8 @@ setup_for_ellipsis (struct it *it, int len) | |||
| 4500 | if (it->dp && VECTORP (DISP_INVIS_VECTOR (it->dp))) | 4473 | if (it->dp && VECTORP (DISP_INVIS_VECTOR (it->dp))) |
| 4501 | { | 4474 | { |
| 4502 | struct Lisp_Vector *v = XVECTOR (DISP_INVIS_VECTOR (it->dp)); | 4475 | struct Lisp_Vector *v = XVECTOR (DISP_INVIS_VECTOR (it->dp)); |
| 4503 | it->dpvec = v->contents; | 4476 | it->dpvec = v->u.contents; |
| 4504 | it->dpend = v->contents + v->header.size; | 4477 | it->dpend = v->u.contents + v->header.size; |
| 4505 | } | 4478 | } |
| 4506 | else | 4479 | else |
| 4507 | { | 4480 | { |
| @@ -6688,17 +6661,59 @@ lookup_glyphless_char_display (int c, struct it *it) | |||
| 6688 | return glyphless_method; | 6661 | return glyphless_method; |
| 6689 | } | 6662 | } |
| 6690 | 6663 | ||
| 6691 | /* Load IT's display element fields with information about the next | 6664 | /* Merge escape glyph face and cache the result. */ |
| 6692 | display element from the current position of IT. Value is zero if | ||
| 6693 | end of buffer (or C string) is reached. */ | ||
| 6694 | 6665 | ||
| 6695 | static struct frame *last_escape_glyph_frame = NULL; | 6666 | static struct frame *last_escape_glyph_frame = NULL; |
| 6696 | static int last_escape_glyph_face_id = (1 << FACE_ID_BITS); | 6667 | static int last_escape_glyph_face_id = (1 << FACE_ID_BITS); |
| 6697 | static int last_escape_glyph_merged_face_id = 0; | 6668 | static int last_escape_glyph_merged_face_id = 0; |
| 6698 | 6669 | ||
| 6699 | struct frame *last_glyphless_glyph_frame = NULL; | 6670 | static int |
| 6700 | int last_glyphless_glyph_face_id = (1 << FACE_ID_BITS); | 6671 | merge_escape_glyph_face (struct it *it) |
| 6701 | int last_glyphless_glyph_merged_face_id = 0; | 6672 | { |
| 6673 | int face_id; | ||
| 6674 | |||
| 6675 | if (it->f == last_escape_glyph_frame | ||
| 6676 | && it->face_id == last_escape_glyph_face_id) | ||
| 6677 | face_id = last_escape_glyph_merged_face_id; | ||
| 6678 | else | ||
| 6679 | { | ||
| 6680 | /* Merge the `escape-glyph' face into the current face. */ | ||
| 6681 | face_id = merge_faces (it->f, Qescape_glyph, 0, it->face_id); | ||
| 6682 | last_escape_glyph_frame = it->f; | ||
| 6683 | last_escape_glyph_face_id = it->face_id; | ||
| 6684 | last_escape_glyph_merged_face_id = face_id; | ||
| 6685 | } | ||
| 6686 | return face_id; | ||
| 6687 | } | ||
| 6688 | |||
| 6689 | /* Likewise for glyphless glyph face. */ | ||
| 6690 | |||
| 6691 | static struct frame *last_glyphless_glyph_frame = NULL; | ||
| 6692 | static int last_glyphless_glyph_face_id = (1 << FACE_ID_BITS); | ||
| 6693 | static int last_glyphless_glyph_merged_face_id = 0; | ||
| 6694 | |||
| 6695 | int | ||
| 6696 | merge_glyphless_glyph_face (struct it *it) | ||
| 6697 | { | ||
| 6698 | int face_id; | ||
| 6699 | |||
| 6700 | if (it->f == last_glyphless_glyph_frame | ||
| 6701 | && it->face_id == last_glyphless_glyph_face_id) | ||
| 6702 | face_id = last_glyphless_glyph_merged_face_id; | ||
| 6703 | else | ||
| 6704 | { | ||
| 6705 | /* Merge the `glyphless-char' face into the current face. */ | ||
| 6706 | face_id = merge_faces (it->f, Qglyphless_char, 0, it->face_id); | ||
| 6707 | last_glyphless_glyph_frame = it->f; | ||
| 6708 | last_glyphless_glyph_face_id = it->face_id; | ||
| 6709 | last_glyphless_glyph_merged_face_id = face_id; | ||
| 6710 | } | ||
| 6711 | return face_id; | ||
| 6712 | } | ||
| 6713 | |||
| 6714 | /* Load IT's display element fields with information about the next | ||
| 6715 | display element from the current position of IT. Value is zero if | ||
| 6716 | end of buffer (or C string) is reached. */ | ||
| 6702 | 6717 | ||
| 6703 | static int | 6718 | static int |
| 6704 | get_next_display_element (struct it *it) | 6719 | get_next_display_element (struct it *it) |
| @@ -6763,8 +6778,8 @@ get_next_display_element (struct it *it) | |||
| 6763 | if (v->header.size) | 6778 | if (v->header.size) |
| 6764 | { | 6779 | { |
| 6765 | it->dpvec_char_len = it->len; | 6780 | it->dpvec_char_len = it->len; |
| 6766 | it->dpvec = v->contents; | 6781 | it->dpvec = v->u.contents; |
| 6767 | it->dpend = v->contents + v->header.size; | 6782 | it->dpend = v->u.contents + v->header.size; |
| 6768 | it->current.dpvec_index = 0; | 6783 | it->current.dpvec_index = 0; |
| 6769 | it->dpvec_face_id = -1; | 6784 | it->dpvec_face_id = -1; |
| 6770 | it->saved_face_id = it->face_id; | 6785 | it->saved_face_id = it->face_id; |
| @@ -6846,24 +6861,10 @@ get_next_display_element (struct it *it) | |||
| 6846 | g = GLYPH_CODE_CHAR (gc); | 6861 | g = GLYPH_CODE_CHAR (gc); |
| 6847 | lface_id = GLYPH_CODE_FACE (gc); | 6862 | lface_id = GLYPH_CODE_FACE (gc); |
| 6848 | } | 6863 | } |
| 6849 | if (lface_id) | 6864 | |
| 6850 | { | 6865 | face_id = (lface_id |
| 6851 | face_id = merge_faces (it->f, Qt, lface_id, it->face_id); | 6866 | ? merge_faces (it->f, Qt, lface_id, it->face_id) |
| 6852 | } | 6867 | : merge_escape_glyph_face (it)); |
| 6853 | else if (it->f == last_escape_glyph_frame | ||
| 6854 | && it->face_id == last_escape_glyph_face_id) | ||
| 6855 | { | ||
| 6856 | face_id = last_escape_glyph_merged_face_id; | ||
| 6857 | } | ||
| 6858 | else | ||
| 6859 | { | ||
| 6860 | /* Merge the escape-glyph face into the current face. */ | ||
| 6861 | face_id = merge_faces (it->f, Qescape_glyph, 0, | ||
| 6862 | it->face_id); | ||
| 6863 | last_escape_glyph_frame = it->f; | ||
| 6864 | last_escape_glyph_face_id = it->face_id; | ||
| 6865 | last_escape_glyph_merged_face_id = face_id; | ||
| 6866 | } | ||
| 6867 | 6868 | ||
| 6868 | XSETINT (it->ctl_chars[0], g); | 6869 | XSETINT (it->ctl_chars[0], g); |
| 6869 | XSETINT (it->ctl_chars[1], c ^ 0100); | 6870 | XSETINT (it->ctl_chars[1], c ^ 0100); |
| @@ -6895,27 +6896,10 @@ get_next_display_element (struct it *it) | |||
| 6895 | escape_glyph = GLYPH_CODE_CHAR (gc); | 6896 | escape_glyph = GLYPH_CODE_CHAR (gc); |
| 6896 | lface_id = GLYPH_CODE_FACE (gc); | 6897 | lface_id = GLYPH_CODE_FACE (gc); |
| 6897 | } | 6898 | } |
| 6898 | if (lface_id) | 6899 | |
| 6899 | { | 6900 | face_id = (lface_id |
| 6900 | /* The display table specified a face. | 6901 | ? merge_faces (it->f, Qt, lface_id, it->face_id) |
| 6901 | Merge it into face_id and also into escape_glyph. */ | 6902 | : merge_escape_glyph_face (it)); |
| 6902 | face_id = merge_faces (it->f, Qt, lface_id, | ||
| 6903 | it->face_id); | ||
| 6904 | } | ||
| 6905 | else if (it->f == last_escape_glyph_frame | ||
| 6906 | && it->face_id == last_escape_glyph_face_id) | ||
| 6907 | { | ||
| 6908 | face_id = last_escape_glyph_merged_face_id; | ||
| 6909 | } | ||
| 6910 | else | ||
| 6911 | { | ||
| 6912 | /* Merge the escape-glyph face into the current face. */ | ||
| 6913 | face_id = merge_faces (it->f, Qescape_glyph, 0, | ||
| 6914 | it->face_id); | ||
| 6915 | last_escape_glyph_frame = it->f; | ||
| 6916 | last_escape_glyph_face_id = it->face_id; | ||
| 6917 | last_escape_glyph_merged_face_id = face_id; | ||
| 6918 | } | ||
| 6919 | 6903 | ||
| 6920 | /* Draw non-ASCII hyphen with just highlighting: */ | 6904 | /* Draw non-ASCII hyphen with just highlighting: */ |
| 6921 | 6905 | ||
| @@ -9552,7 +9536,20 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte) | |||
| 9552 | 9536 | ||
| 9553 | old_deactivate_mark = Vdeactivate_mark; | 9537 | old_deactivate_mark = Vdeactivate_mark; |
| 9554 | oldbuf = current_buffer; | 9538 | oldbuf = current_buffer; |
| 9555 | Fset_buffer (Fget_buffer_create (Vmessages_buffer_name)); | 9539 | |
| 9540 | /* Ensure the Messages buffer exists, and switch to it. | ||
| 9541 | If we created it, set the major-mode. */ | ||
| 9542 | { | ||
| 9543 | int newbuffer = 0; | ||
| 9544 | if (NILP (Fget_buffer (Vmessages_buffer_name))) newbuffer = 1; | ||
| 9545 | |||
| 9546 | Fset_buffer (Fget_buffer_create (Vmessages_buffer_name)); | ||
| 9547 | |||
| 9548 | if (newbuffer && | ||
| 9549 | !NILP (Ffboundp (intern ("messages-buffer-mode")))) | ||
| 9550 | call0 (intern ("messages-buffer-mode")); | ||
| 9551 | } | ||
| 9552 | |||
| 9556 | bset_undo_list (current_buffer, Qt); | 9553 | bset_undo_list (current_buffer, Qt); |
| 9557 | 9554 | ||
| 9558 | oldpoint = message_dolog_marker1; | 9555 | oldpoint = message_dolog_marker1; |
| @@ -10778,11 +10775,9 @@ clear_garbaged_frames (void) | |||
| 10778 | if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f)) | 10775 | if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f)) |
| 10779 | { | 10776 | { |
| 10780 | if (f->resized_p) | 10777 | if (f->resized_p) |
| 10781 | { | 10778 | redraw_frame (f); |
| 10782 | redraw_frame (f); | 10779 | else |
| 10783 | f->force_flush_display_p = 1; | 10780 | clear_current_matrices (f); |
| 10784 | } | ||
| 10785 | clear_current_matrices (f); | ||
| 10786 | changed_count++; | 10781 | changed_count++; |
| 10787 | f->garbaged = 0; | 10782 | f->garbaged = 0; |
| 10788 | f->resized_p = 0; | 10783 | f->resized_p = 0; |
| @@ -10870,7 +10865,7 @@ echo_area_display (int update_frame_p) | |||
| 10870 | Can do with a display update of the echo area, | 10865 | Can do with a display update of the echo area, |
| 10871 | unless we displayed some mode lines. */ | 10866 | unless we displayed some mode lines. */ |
| 10872 | update_single_window (w, 1); | 10867 | update_single_window (w, 1); |
| 10873 | FRAME_RIF (f)->flush_display (f); | 10868 | flush_frame (f); |
| 10874 | } | 10869 | } |
| 10875 | else | 10870 | else |
| 10876 | update_frame (f, 1, 1); | 10871 | update_frame (f, 1, 1); |
| @@ -11458,10 +11453,6 @@ update_menu_bar (struct frame *f, int save_match_data, int hooks_run) | |||
| 11458 | 11453 | ||
| 11459 | #ifdef HAVE_WINDOW_SYSTEM | 11454 | #ifdef HAVE_WINDOW_SYSTEM |
| 11460 | 11455 | ||
| 11461 | /* Where the mouse was last time we reported a mouse event. */ | ||
| 11462 | |||
| 11463 | struct frame *last_mouse_frame; | ||
| 11464 | |||
| 11465 | /* Tool-bar item index of the item on which a mouse button was pressed | 11456 | /* Tool-bar item index of the item on which a mouse button was pressed |
| 11466 | or -1. */ | 11457 | or -1. */ |
| 11467 | 11458 | ||
| @@ -11579,6 +11570,7 @@ update_tool_bar (struct frame *f, int save_match_data) | |||
| 11579 | } | 11570 | } |
| 11580 | } | 11571 | } |
| 11581 | 11572 | ||
| 11573 | #if ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 11582 | 11574 | ||
| 11583 | /* Set F->desired_tool_bar_string to a Lisp string representing frame | 11575 | /* Set F->desired_tool_bar_string to a Lisp string representing frame |
| 11584 | F's desired tool-bar contents. F->tool_bar_items must have | 11576 | F's desired tool-bar contents. F->tool_bar_items must have |
| @@ -11916,6 +11908,11 @@ tool_bar_lines_needed (struct frame *f, int *n_rows) | |||
| 11916 | return (it.current_y + FRAME_LINE_HEIGHT (f) - 1) / FRAME_LINE_HEIGHT (f); | 11908 | return (it.current_y + FRAME_LINE_HEIGHT (f) - 1) / FRAME_LINE_HEIGHT (f); |
| 11917 | } | 11909 | } |
| 11918 | 11910 | ||
| 11911 | #endif /* !USE_GTK && !HAVE_NS */ | ||
| 11912 | |||
| 11913 | #if defined USE_GTK || defined HAVE_NS | ||
| 11914 | EXFUN (Ftool_bar_lines_needed, 1) ATTRIBUTE_CONST; | ||
| 11915 | #endif | ||
| 11919 | 11916 | ||
| 11920 | DEFUN ("tool-bar-lines-needed", Ftool_bar_lines_needed, Stool_bar_lines_needed, | 11917 | DEFUN ("tool-bar-lines-needed", Ftool_bar_lines_needed, Stool_bar_lines_needed, |
| 11921 | 0, 1, 0, | 11918 | 0, 1, 0, |
| @@ -11923,9 +11920,10 @@ DEFUN ("tool-bar-lines-needed", Ftool_bar_lines_needed, Stool_bar_lines_needed, | |||
| 11923 | If FRAME is nil or omitted, use the selected frame. */) | 11920 | If FRAME is nil or omitted, use the selected frame. */) |
| 11924 | (Lisp_Object frame) | 11921 | (Lisp_Object frame) |
| 11925 | { | 11922 | { |
| 11923 | int nlines = 0; | ||
| 11924 | #if ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 11926 | struct frame *f = decode_any_frame (frame); | 11925 | struct frame *f = decode_any_frame (frame); |
| 11927 | struct window *w; | 11926 | struct window *w; |
| 11928 | int nlines = 0; | ||
| 11929 | 11927 | ||
| 11930 | if (WINDOWP (f->tool_bar_window) | 11928 | if (WINDOWP (f->tool_bar_window) |
| 11931 | && (w = XWINDOW (f->tool_bar_window), | 11929 | && (w = XWINDOW (f->tool_bar_window), |
| @@ -11938,7 +11936,7 @@ If FRAME is nil or omitted, use the selected frame. */) | |||
| 11938 | nlines = tool_bar_lines_needed (f, NULL); | 11936 | nlines = tool_bar_lines_needed (f, NULL); |
| 11939 | } | 11937 | } |
| 11940 | } | 11938 | } |
| 11941 | 11939 | #endif | |
| 11942 | return make_number (nlines); | 11940 | return make_number (nlines); |
| 11943 | } | 11941 | } |
| 11944 | 11942 | ||
| @@ -11949,15 +11947,17 @@ If FRAME is nil or omitted, use the selected frame. */) | |||
| 11949 | static int | 11947 | static int |
| 11950 | redisplay_tool_bar (struct frame *f) | 11948 | redisplay_tool_bar (struct frame *f) |
| 11951 | { | 11949 | { |
| 11952 | struct window *w; | ||
| 11953 | struct it it; | ||
| 11954 | struct glyph_row *row; | ||
| 11955 | |||
| 11956 | #if defined (USE_GTK) || defined (HAVE_NS) | 11950 | #if defined (USE_GTK) || defined (HAVE_NS) |
| 11951 | |||
| 11957 | if (FRAME_EXTERNAL_TOOL_BAR (f)) | 11952 | if (FRAME_EXTERNAL_TOOL_BAR (f)) |
| 11958 | update_frame_tool_bar (f); | 11953 | update_frame_tool_bar (f); |
| 11959 | return 0; | 11954 | return 0; |
| 11960 | #endif | 11955 | |
| 11956 | #else /* !USE_GTK && !HAVE_NS */ | ||
| 11957 | |||
| 11958 | struct window *w; | ||
| 11959 | struct it it; | ||
| 11960 | struct glyph_row *row; | ||
| 11961 | 11961 | ||
| 11962 | /* If frame hasn't a tool-bar window or if it is zero-height, don't | 11962 | /* If frame hasn't a tool-bar window or if it is zero-height, don't |
| 11963 | do anything. This means you must start with tool-bar-lines | 11963 | do anything. This means you must start with tool-bar-lines |
| @@ -12003,7 +12003,7 @@ redisplay_tool_bar (struct frame *f) | |||
| 12003 | if (WINDOW_TOTAL_LINES (w) != old_height) | 12003 | if (WINDOW_TOTAL_LINES (w) != old_height) |
| 12004 | { | 12004 | { |
| 12005 | clear_glyph_matrix (w->desired_matrix); | 12005 | clear_glyph_matrix (w->desired_matrix); |
| 12006 | fonts_changed_p = 1; | 12006 | f->fonts_changed = 1; |
| 12007 | return 1; | 12007 | return 1; |
| 12008 | } | 12008 | } |
| 12009 | } | 12009 | } |
| @@ -12104,7 +12104,7 @@ redisplay_tool_bar (struct frame *f) | |||
| 12104 | { | 12104 | { |
| 12105 | clear_glyph_matrix (w->desired_matrix); | 12105 | clear_glyph_matrix (w->desired_matrix); |
| 12106 | f->n_tool_bar_rows = nrows; | 12106 | f->n_tool_bar_rows = nrows; |
| 12107 | fonts_changed_p = 1; | 12107 | f->fonts_changed = 1; |
| 12108 | return 1; | 12108 | return 1; |
| 12109 | } | 12109 | } |
| 12110 | } | 12110 | } |
| @@ -12113,8 +12113,11 @@ redisplay_tool_bar (struct frame *f) | |||
| 12113 | 12113 | ||
| 12114 | f->minimize_tool_bar_window_p = 0; | 12114 | f->minimize_tool_bar_window_p = 0; |
| 12115 | return 0; | 12115 | return 0; |
| 12116 | |||
| 12117 | #endif /* USE_GTK || HAVE_NS */ | ||
| 12116 | } | 12118 | } |
| 12117 | 12119 | ||
| 12120 | #if ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 12118 | 12121 | ||
| 12119 | /* Get information about the tool-bar item which is displayed in GLYPH | 12122 | /* Get information about the tool-bar item which is displayed in GLYPH |
| 12120 | on frame F. Return in *PROP_IDX the index where tool-bar item | 12123 | on frame F. Return in *PROP_IDX the index where tool-bar item |
| @@ -12279,7 +12282,7 @@ note_tool_bar_highlight (struct frame *f, int x, int y) | |||
| 12279 | { | 12282 | { |
| 12280 | Lisp_Object window = f->tool_bar_window; | 12283 | Lisp_Object window = f->tool_bar_window; |
| 12281 | struct window *w = XWINDOW (window); | 12284 | struct window *w = XWINDOW (window); |
| 12282 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 12285 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 12283 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); | 12286 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); |
| 12284 | int hpos, vpos; | 12287 | int hpos, vpos; |
| 12285 | struct glyph *glyph; | 12288 | struct glyph *glyph; |
| @@ -12312,9 +12315,9 @@ note_tool_bar_highlight (struct frame *f, int x, int y) | |||
| 12312 | clear_mouse_face (hlinfo); | 12315 | clear_mouse_face (hlinfo); |
| 12313 | 12316 | ||
| 12314 | /* Mouse is down, but on different tool-bar item? */ | 12317 | /* Mouse is down, but on different tool-bar item? */ |
| 12315 | mouse_down_p = (dpyinfo->grabbed | 12318 | mouse_down_p = (x_mouse_grabbed (dpyinfo) |
| 12316 | && f == last_mouse_frame | 12319 | && f == dpyinfo->last_mouse_frame); |
| 12317 | && FRAME_LIVE_P (f)); | 12320 | |
| 12318 | if (mouse_down_p | 12321 | if (mouse_down_p |
| 12319 | && last_tool_bar_item != prop_idx) | 12322 | && last_tool_bar_item != prop_idx) |
| 12320 | return; | 12323 | return; |
| @@ -12358,6 +12361,8 @@ note_tool_bar_highlight (struct frame *f, int x, int y) | |||
| 12358 | help_echo_string = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_CAPTION); | 12361 | help_echo_string = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_CAPTION); |
| 12359 | } | 12362 | } |
| 12360 | 12363 | ||
| 12364 | #endif /* !USE_GTK && !HAVE_NS */ | ||
| 12365 | |||
| 12361 | #endif /* HAVE_WINDOW_SYSTEM */ | 12366 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 12362 | 12367 | ||
| 12363 | 12368 | ||
| @@ -12990,15 +12995,6 @@ redisplay_internal (void) | |||
| 12990 | last_glyphless_glyph_frame = NULL; | 12995 | last_glyphless_glyph_frame = NULL; |
| 12991 | last_glyphless_glyph_face_id = (1 << FACE_ID_BITS); | 12996 | last_glyphless_glyph_face_id = (1 << FACE_ID_BITS); |
| 12992 | 12997 | ||
| 12993 | /* If new fonts have been loaded that make a glyph matrix adjustment | ||
| 12994 | necessary, do it. */ | ||
| 12995 | if (fonts_changed_p) | ||
| 12996 | { | ||
| 12997 | adjust_glyphs (NULL); | ||
| 12998 | ++windows_or_buffers_changed; | ||
| 12999 | fonts_changed_p = 0; | ||
| 13000 | } | ||
| 13001 | |||
| 13002 | /* If face_change_count is non-zero, init_iterator will free all | 12998 | /* If face_change_count is non-zero, init_iterator will free all |
| 13003 | realized faces, which includes the faces referenced from current | 12999 | realized faces, which includes the faces referenced from current |
| 13004 | matrices. So, we can't reuse current matrices in this case. */ | 13000 | matrices. So, we can't reuse current matrices in this case. */ |
| @@ -13029,7 +13025,19 @@ redisplay_internal (void) | |||
| 13029 | struct frame *f = XFRAME (frame); | 13025 | struct frame *f = XFRAME (frame); |
| 13030 | 13026 | ||
| 13031 | if (FRAME_VISIBLE_P (f)) | 13027 | if (FRAME_VISIBLE_P (f)) |
| 13032 | ++number_of_visible_frames; | 13028 | { |
| 13029 | ++number_of_visible_frames; | ||
| 13030 | /* Adjust matrices for visible frames only. */ | ||
| 13031 | if (f->fonts_changed) | ||
| 13032 | { | ||
| 13033 | adjust_frame_glyphs (f); | ||
| 13034 | f->fonts_changed = 0; | ||
| 13035 | } | ||
| 13036 | /* If cursor type has been changed on the frame | ||
| 13037 | other than selected, consider all frames. */ | ||
| 13038 | if (f != sf && f->cursor_type_changed) | ||
| 13039 | update_mode_lines++; | ||
| 13040 | } | ||
| 13033 | clear_desired_matrices (f); | 13041 | clear_desired_matrices (f); |
| 13034 | } | 13042 | } |
| 13035 | 13043 | ||
| @@ -13078,8 +13086,7 @@ redisplay_internal (void) | |||
| 13078 | } | 13086 | } |
| 13079 | 13087 | ||
| 13080 | consider_all_windows_p = (update_mode_lines | 13088 | consider_all_windows_p = (update_mode_lines |
| 13081 | || buffer_shared_and_changed () | 13089 | || buffer_shared_and_changed ()); |
| 13082 | || cursor_type_changed); | ||
| 13083 | 13090 | ||
| 13084 | /* If specs for an arrow have changed, do thorough redisplay | 13091 | /* If specs for an arrow have changed, do thorough redisplay |
| 13085 | to ensure we remove any arrow that should no longer exist. */ | 13092 | to ensure we remove any arrow that should no longer exist. */ |
| @@ -13113,9 +13120,7 @@ redisplay_internal (void) | |||
| 13113 | if (!display_last_displayed_message_p) | 13120 | if (!display_last_displayed_message_p) |
| 13114 | message_cleared_p = 0; | 13121 | message_cleared_p = 0; |
| 13115 | 13122 | ||
| 13116 | if (fonts_changed_p) | 13123 | if (window_height_changed_p) |
| 13117 | goto retry; | ||
| 13118 | else if (window_height_changed_p) | ||
| 13119 | { | 13124 | { |
| 13120 | consider_all_windows_p = 1; | 13125 | consider_all_windows_p = 1; |
| 13121 | ++update_mode_lines; | 13126 | ++update_mode_lines; |
| @@ -13172,6 +13177,7 @@ redisplay_internal (void) | |||
| 13172 | && !current_buffer->prevent_redisplay_optimizations_p | 13177 | && !current_buffer->prevent_redisplay_optimizations_p |
| 13173 | && FRAME_VISIBLE_P (XFRAME (w->frame)) | 13178 | && FRAME_VISIBLE_P (XFRAME (w->frame)) |
| 13174 | && !FRAME_OBSCURED_P (XFRAME (w->frame)) | 13179 | && !FRAME_OBSCURED_P (XFRAME (w->frame)) |
| 13180 | && !XFRAME (w->frame)->cursor_type_changed | ||
| 13175 | /* Make sure recorded data applies to current buffer, etc. */ | 13181 | /* Make sure recorded data applies to current buffer, etc. */ |
| 13176 | && this_line_buffer == current_buffer | 13182 | && this_line_buffer == current_buffer |
| 13177 | && match_p | 13183 | && match_p |
| @@ -13390,6 +13396,8 @@ redisplay_internal (void) | |||
| 13390 | && !EQ (FRAME_TTY (f)->top_frame, frame)) | 13396 | && !EQ (FRAME_TTY (f)->top_frame, frame)) |
| 13391 | continue; | 13397 | continue; |
| 13392 | 13398 | ||
| 13399 | retry_frame: | ||
| 13400 | |||
| 13393 | if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf) | 13401 | if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf) |
| 13394 | { | 13402 | { |
| 13395 | /* Mark all the scroll bars to be removed; we'll redeem | 13403 | /* Mark all the scroll bars to be removed; we'll redeem |
| @@ -13409,20 +13417,22 @@ redisplay_internal (void) | |||
| 13409 | if (FRAME_TERMINAL (f)->judge_scroll_bars_hook) | 13417 | if (FRAME_TERMINAL (f)->judge_scroll_bars_hook) |
| 13410 | FRAME_TERMINAL (f)->judge_scroll_bars_hook (f); | 13418 | FRAME_TERMINAL (f)->judge_scroll_bars_hook (f); |
| 13411 | 13419 | ||
| 13412 | /* If fonts changed, display again. */ | ||
| 13413 | /* ??? rms: I suspect it is a mistake to jump all the way | ||
| 13414 | back to retry here. It should just retry this frame. */ | ||
| 13415 | if (fonts_changed_p) | ||
| 13416 | goto retry; | ||
| 13417 | |||
| 13418 | if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f)) | 13420 | if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f)) |
| 13419 | { | 13421 | { |
| 13422 | /* If fonts changed on visible frame, display again. */ | ||
| 13423 | if (f->fonts_changed) | ||
| 13424 | { | ||
| 13425 | adjust_frame_glyphs (f); | ||
| 13426 | f->fonts_changed = 0; | ||
| 13427 | goto retry_frame; | ||
| 13428 | } | ||
| 13429 | |||
| 13420 | /* See if we have to hscroll. */ | 13430 | /* See if we have to hscroll. */ |
| 13421 | if (!f->already_hscrolled_p) | 13431 | if (!f->already_hscrolled_p) |
| 13422 | { | 13432 | { |
| 13423 | f->already_hscrolled_p = 1; | 13433 | f->already_hscrolled_p = 1; |
| 13424 | if (hscroll_windows (f->root_window)) | 13434 | if (hscroll_windows (f->root_window)) |
| 13425 | goto retry; | 13435 | goto retry_frame; |
| 13426 | } | 13436 | } |
| 13427 | 13437 | ||
| 13428 | /* Prevent various kinds of signals during display | 13438 | /* Prevent various kinds of signals during display |
| @@ -13436,6 +13446,7 @@ redisplay_internal (void) | |||
| 13436 | /* Update the display. */ | 13446 | /* Update the display. */ |
| 13437 | set_window_update_flags (XWINDOW (f->root_window), 1); | 13447 | set_window_update_flags (XWINDOW (f->root_window), 1); |
| 13438 | pending |= update_frame (f, 0, 0); | 13448 | pending |= update_frame (f, 0, 0); |
| 13449 | f->cursor_type_changed = 0; | ||
| 13439 | f->updated_p = 1; | 13450 | f->updated_p = 1; |
| 13440 | } | 13451 | } |
| 13441 | } | 13452 | } |
| @@ -13480,7 +13491,7 @@ redisplay_internal (void) | |||
| 13480 | 13491 | ||
| 13481 | update: | 13492 | update: |
| 13482 | /* If fonts changed, display again. */ | 13493 | /* If fonts changed, display again. */ |
| 13483 | if (fonts_changed_p) | 13494 | if (sf->fonts_changed) |
| 13484 | goto retry; | 13495 | goto retry; |
| 13485 | 13496 | ||
| 13486 | /* Prevent various kinds of signals during display update. | 13497 | /* Prevent various kinds of signals during display update. |
| @@ -13497,6 +13508,7 @@ redisplay_internal (void) | |||
| 13497 | 13508 | ||
| 13498 | XWINDOW (selected_window)->must_be_updated_p = 1; | 13509 | XWINDOW (selected_window)->must_be_updated_p = 1; |
| 13499 | pending = update_frame (sf, 0, 0); | 13510 | pending = update_frame (sf, 0, 0); |
| 13511 | sf->cursor_type_changed = 0; | ||
| 13500 | } | 13512 | } |
| 13501 | 13513 | ||
| 13502 | /* We may have called echo_area_display at the top of this | 13514 | /* We may have called echo_area_display at the top of this |
| @@ -13511,6 +13523,7 @@ redisplay_internal (void) | |||
| 13511 | { | 13523 | { |
| 13512 | XWINDOW (mini_window)->must_be_updated_p = 1; | 13524 | XWINDOW (mini_window)->must_be_updated_p = 1; |
| 13513 | pending |= update_frame (mini_frame, 0, 0); | 13525 | pending |= update_frame (mini_frame, 0, 0); |
| 13526 | mini_frame->cursor_type_changed = 0; | ||
| 13514 | if (!pending && hscroll_windows (mini_window)) | 13527 | if (!pending && hscroll_windows (mini_window)) |
| 13515 | goto retry; | 13528 | goto retry; |
| 13516 | } | 13529 | } |
| @@ -13551,7 +13564,6 @@ redisplay_internal (void) | |||
| 13551 | 13564 | ||
| 13552 | update_mode_lines = 0; | 13565 | update_mode_lines = 0; |
| 13553 | windows_or_buffers_changed = 0; | 13566 | windows_or_buffers_changed = 0; |
| 13554 | cursor_type_changed = 0; | ||
| 13555 | } | 13567 | } |
| 13556 | 13568 | ||
| 13557 | /* Start SIGIO interrupts coming again. Having them off during the | 13569 | /* Start SIGIO interrupts coming again. Having them off during the |
| @@ -13649,9 +13661,7 @@ redisplay_preserve_echo_area (int from_where) | |||
| 13649 | else | 13661 | else |
| 13650 | redisplay_internal (); | 13662 | redisplay_internal (); |
| 13651 | 13663 | ||
| 13652 | if (FRAME_RIF (SELECTED_FRAME ()) != NULL | 13664 | flush_frame (SELECTED_FRAME ()); |
| 13653 | && FRAME_RIF (SELECTED_FRAME ())->flush_display_optional) | ||
| 13654 | FRAME_RIF (SELECTED_FRAME ())->flush_display_optional (NULL); | ||
| 13655 | } | 13665 | } |
| 13656 | 13666 | ||
| 13657 | 13667 | ||
| @@ -14993,7 +15003,7 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste | |||
| 14993 | cases. */ | 15003 | cases. */ |
| 14994 | && !update_mode_lines | 15004 | && !update_mode_lines |
| 14995 | && !windows_or_buffers_changed | 15005 | && !windows_or_buffers_changed |
| 14996 | && !cursor_type_changed | 15006 | && !f->cursor_type_changed |
| 14997 | /* Can't use this case if highlighting a region. When a | 15007 | /* Can't use this case if highlighting a region. When a |
| 14998 | region exists, cursor movement has to do more than just | 15008 | region exists, cursor movement has to do more than just |
| 14999 | set the cursor. */ | 15009 | set the cursor. */ |
| @@ -15340,9 +15350,8 @@ set_vertical_scroll_bar (struct window *w) | |||
| 15340 | /* Redisplay leaf window WINDOW. JUST_THIS_ONE_P non-zero means only | 15350 | /* Redisplay leaf window WINDOW. JUST_THIS_ONE_P non-zero means only |
| 15341 | selected_window is redisplayed. | 15351 | selected_window is redisplayed. |
| 15342 | 15352 | ||
| 15343 | We can return without actually redisplaying the window if | 15353 | We can return without actually redisplaying the window if fonts has been |
| 15344 | fonts_changed_p. In that case, redisplay_internal will | 15354 | changed on window's frame. In that case, redisplay_internal will retry. */ |
| 15345 | retry. */ | ||
| 15346 | 15355 | ||
| 15347 | static void | 15356 | static void |
| 15348 | redisplay_window (Lisp_Object window, int just_this_one_p) | 15357 | redisplay_window (Lisp_Object window, int just_this_one_p) |
| @@ -15727,7 +15736,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15727 | debug_method_add (w, "try_window_id %d", tem); | 15736 | debug_method_add (w, "try_window_id %d", tem); |
| 15728 | #endif | 15737 | #endif |
| 15729 | 15738 | ||
| 15730 | if (fonts_changed_p) | 15739 | if (f->fonts_changed) |
| 15731 | goto need_larger_matrices; | 15740 | goto need_larger_matrices; |
| 15732 | if (tem > 0) | 15741 | if (tem > 0) |
| 15733 | goto done; | 15742 | goto done; |
| @@ -15797,12 +15806,12 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15797 | IF_DEBUG (debug_method_add (w, "1")); | 15806 | IF_DEBUG (debug_method_add (w, "1")); |
| 15798 | if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0) | 15807 | if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0) |
| 15799 | /* -1 means we need to scroll. | 15808 | /* -1 means we need to scroll. |
| 15800 | 0 means we need new matrices, but fonts_changed_p | 15809 | 0 means we need new matrices, but fonts_changed |
| 15801 | is set in that case, so we will detect it below. */ | 15810 | is set in that case, so we will detect it below. */ |
| 15802 | goto try_to_scroll; | 15811 | goto try_to_scroll; |
| 15803 | } | 15812 | } |
| 15804 | 15813 | ||
| 15805 | if (fonts_changed_p) | 15814 | if (f->fonts_changed) |
| 15806 | goto need_larger_matrices; | 15815 | goto need_larger_matrices; |
| 15807 | 15816 | ||
| 15808 | if (w->cursor.vpos >= 0) | 15817 | if (w->cursor.vpos >= 0) |
| @@ -15990,7 +15999,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15990 | /* Redisplay the window. */ | 15999 | /* Redisplay the window. */ |
| 15991 | if (!current_matrix_up_to_date_p | 16000 | if (!current_matrix_up_to_date_p |
| 15992 | || windows_or_buffers_changed | 16001 | || windows_or_buffers_changed |
| 15993 | || cursor_type_changed | 16002 | || f->cursor_type_changed |
| 15994 | /* Don't use try_window_reusing_current_matrix in this case | 16003 | /* Don't use try_window_reusing_current_matrix in this case |
| 15995 | because it can have changed the buffer. */ | 16004 | because it can have changed the buffer. */ |
| 15996 | || !NILP (Vwindow_scroll_functions) | 16005 | || !NILP (Vwindow_scroll_functions) |
| @@ -16003,7 +16012,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 16003 | /* If new fonts have been loaded (due to fontsets), give up. We | 16012 | /* If new fonts have been loaded (due to fontsets), give up. We |
| 16004 | have to start a new redisplay since we need to re-adjust glyph | 16013 | have to start a new redisplay since we need to re-adjust glyph |
| 16005 | matrices. */ | 16014 | matrices. */ |
| 16006 | if (fonts_changed_p) | 16015 | if (f->fonts_changed) |
| 16007 | goto need_larger_matrices; | 16016 | goto need_larger_matrices; |
| 16008 | 16017 | ||
| 16009 | /* If cursor did not appear assume that the middle of the window is | 16018 | /* If cursor did not appear assume that the middle of the window is |
| @@ -16116,7 +16125,8 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 16116 | if (WINDOW_WANTS_MODELINE_P (w) | 16125 | if (WINDOW_WANTS_MODELINE_P (w) |
| 16117 | && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w)) | 16126 | && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w)) |
| 16118 | { | 16127 | { |
| 16119 | fonts_changed_p = 1; | 16128 | f->fonts_changed = 1; |
| 16129 | w->mode_line_height = -1; | ||
| 16120 | MATRIX_MODE_LINE_ROW (w->current_matrix)->height | 16130 | MATRIX_MODE_LINE_ROW (w->current_matrix)->height |
| 16121 | = DESIRED_MODE_LINE_HEIGHT (w); | 16131 | = DESIRED_MODE_LINE_HEIGHT (w); |
| 16122 | } | 16132 | } |
| @@ -16126,12 +16136,13 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 16126 | if (WINDOW_WANTS_HEADER_LINE_P (w) | 16136 | if (WINDOW_WANTS_HEADER_LINE_P (w) |
| 16127 | && CURRENT_HEADER_LINE_HEIGHT (w) != DESIRED_HEADER_LINE_HEIGHT (w)) | 16137 | && CURRENT_HEADER_LINE_HEIGHT (w) != DESIRED_HEADER_LINE_HEIGHT (w)) |
| 16128 | { | 16138 | { |
| 16129 | fonts_changed_p = 1; | 16139 | f->fonts_changed = 1; |
| 16140 | w->header_line_height = -1; | ||
| 16130 | MATRIX_HEADER_LINE_ROW (w->current_matrix)->height | 16141 | MATRIX_HEADER_LINE_ROW (w->current_matrix)->height |
| 16131 | = DESIRED_HEADER_LINE_HEIGHT (w); | 16142 | = DESIRED_HEADER_LINE_HEIGHT (w); |
| 16132 | } | 16143 | } |
| 16133 | 16144 | ||
| 16134 | if (fonts_changed_p) | 16145 | if (f->fonts_changed) |
| 16135 | goto need_larger_matrices; | 16146 | goto need_larger_matrices; |
| 16136 | } | 16147 | } |
| 16137 | 16148 | ||
| @@ -16196,8 +16207,8 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 16196 | } | 16207 | } |
| 16197 | #endif /* HAVE_WINDOW_SYSTEM */ | 16208 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 16198 | 16209 | ||
| 16199 | /* We go to this label, with fonts_changed_p set, | 16210 | /* We go to this label, with fonts_changed set, if it is |
| 16200 | if it is necessary to try again using larger glyph matrices. | 16211 | necessary to try again using larger glyph matrices. |
| 16201 | We have to redeem the scroll bar even in this case, | 16212 | We have to redeem the scroll bar even in this case, |
| 16202 | because the loop in redisplay_internal expects that. */ | 16213 | because the loop in redisplay_internal expects that. */ |
| 16203 | need_larger_matrices: | 16214 | need_larger_matrices: |
| @@ -16269,7 +16280,7 @@ try_window (Lisp_Object window, struct text_pos pos, int flags) | |||
| 16269 | { | 16280 | { |
| 16270 | if (display_line (&it)) | 16281 | if (display_line (&it)) |
| 16271 | last_text_row = it.glyph_row - 1; | 16282 | last_text_row = it.glyph_row - 1; |
| 16272 | if (fonts_changed_p && !(flags & TRY_WINDOW_IGNORE_FONTS_CHANGE)) | 16283 | if (f->fonts_changed && !(flags & TRY_WINDOW_IGNORE_FONTS_CHANGE)) |
| 16273 | return 0; | 16284 | return 0; |
| 16274 | } | 16285 | } |
| 16275 | 16286 | ||
| @@ -16367,7 +16378,7 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 16367 | /* Don't try to reuse the display if windows have been split | 16378 | /* Don't try to reuse the display if windows have been split |
| 16368 | or such. */ | 16379 | or such. */ |
| 16369 | || windows_or_buffers_changed | 16380 | || windows_or_buffers_changed |
| 16370 | || cursor_type_changed) | 16381 | || f->cursor_type_changed) |
| 16371 | return 0; | 16382 | return 0; |
| 16372 | 16383 | ||
| 16373 | /* Can't do this if region may have changed. */ | 16384 | /* Can't do this if region may have changed. */ |
| @@ -16415,8 +16426,7 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 16415 | w->cursor.vpos = -1; | 16426 | w->cursor.vpos = -1; |
| 16416 | last_text_row = last_reused_text_row = NULL; | 16427 | last_text_row = last_reused_text_row = NULL; |
| 16417 | 16428 | ||
| 16418 | while (it.current_y < it.last_visible_y | 16429 | while (it.current_y < it.last_visible_y && !f->fonts_changed) |
| 16419 | && !fonts_changed_p) | ||
| 16420 | { | 16430 | { |
| 16421 | /* If we have reached into the characters in the START row, | 16431 | /* If we have reached into the characters in the START row, |
| 16422 | that means the line boundaries have changed. So we | 16432 | that means the line boundaries have changed. So we |
| @@ -16627,7 +16637,7 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 16627 | if (pt_row == NULL) | 16637 | if (pt_row == NULL) |
| 16628 | w->cursor.vpos = -1; | 16638 | w->cursor.vpos = -1; |
| 16629 | last_text_row = NULL; | 16639 | last_text_row = NULL; |
| 16630 | while (it.current_y < it.last_visible_y && !fonts_changed_p) | 16640 | while (it.current_y < it.last_visible_y && !f->fonts_changed) |
| 16631 | if (display_line (&it)) | 16641 | if (display_line (&it)) |
| 16632 | last_text_row = it.glyph_row - 1; | 16642 | last_text_row = it.glyph_row - 1; |
| 16633 | 16643 | ||
| @@ -17139,7 +17149,7 @@ try_window_id (struct window *w) | |||
| 17139 | GIVE_UP (1); | 17149 | GIVE_UP (1); |
| 17140 | 17150 | ||
| 17141 | /* This flag is used to prevent redisplay optimizations. */ | 17151 | /* This flag is used to prevent redisplay optimizations. */ |
| 17142 | if (windows_or_buffers_changed || cursor_type_changed) | 17152 | if (windows_or_buffers_changed || f->cursor_type_changed) |
| 17143 | GIVE_UP (2); | 17153 | GIVE_UP (2); |
| 17144 | 17154 | ||
| 17145 | /* Verify that narrowing has not changed. | 17155 | /* Verify that narrowing has not changed. |
| @@ -17280,8 +17290,6 @@ try_window_id (struct window *w) | |||
| 17280 | row = row_containing_pos (w, PT, r0, NULL, 0); | 17290 | row = row_containing_pos (w, PT, r0, NULL, 0); |
| 17281 | if (row) | 17291 | if (row) |
| 17282 | set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); | 17292 | set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); |
| 17283 | else | ||
| 17284 | emacs_abort (); | ||
| 17285 | return 1; | 17293 | return 1; |
| 17286 | } | 17294 | } |
| 17287 | } | 17295 | } |
| @@ -17322,8 +17330,6 @@ try_window_id (struct window *w) | |||
| 17322 | row = row_containing_pos (w, PT, r0, NULL, 0); | 17330 | row = row_containing_pos (w, PT, r0, NULL, 0); |
| 17323 | if (row) | 17331 | if (row) |
| 17324 | set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); | 17332 | set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); |
| 17325 | else | ||
| 17326 | emacs_abort (); | ||
| 17327 | return 2; | 17333 | return 2; |
| 17328 | } | 17334 | } |
| 17329 | } | 17335 | } |
| @@ -17470,7 +17476,7 @@ try_window_id (struct window *w) | |||
| 17470 | last_text_row = NULL; | 17476 | last_text_row = NULL; |
| 17471 | overlay_arrow_seen = 0; | 17477 | overlay_arrow_seen = 0; |
| 17472 | while (it.current_y < it.last_visible_y | 17478 | while (it.current_y < it.last_visible_y |
| 17473 | && !fonts_changed_p | 17479 | && !f->fonts_changed |
| 17474 | && (first_unchanged_at_end_row == NULL | 17480 | && (first_unchanged_at_end_row == NULL |
| 17475 | || IT_CHARPOS (it) < stop_pos)) | 17481 | || IT_CHARPOS (it) < stop_pos)) |
| 17476 | { | 17482 | { |
| @@ -17478,7 +17484,7 @@ try_window_id (struct window *w) | |||
| 17478 | last_text_row = it.glyph_row - 1; | 17484 | last_text_row = it.glyph_row - 1; |
| 17479 | } | 17485 | } |
| 17480 | 17486 | ||
| 17481 | if (fonts_changed_p) | 17487 | if (f->fonts_changed) |
| 17482 | return -1; | 17488 | return -1; |
| 17483 | 17489 | ||
| 17484 | 17490 | ||
| @@ -17725,8 +17731,7 @@ try_window_id (struct window *w) | |||
| 17725 | 17731 | ||
| 17726 | /* Display the rest of the lines at the window end. */ | 17732 | /* Display the rest of the lines at the window end. */ |
| 17727 | it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos); | 17733 | it.glyph_row = MATRIX_ROW (desired_matrix, it.vpos); |
| 17728 | while (it.current_y < it.last_visible_y | 17734 | while (it.current_y < it.last_visible_y && !f->fonts_changed) |
| 17729 | && !fonts_changed_p) | ||
| 17730 | { | 17735 | { |
| 17731 | /* Is it always sure that the display agrees with lines in | 17736 | /* Is it always sure that the display agrees with lines in |
| 17732 | the current matrix? I don't think so, so we mark rows | 17737 | the current matrix? I don't think so, so we mark rows |
| @@ -19262,7 +19267,7 @@ display_line (struct it *it) | |||
| 19262 | >= it->w->desired_matrix->nrows) | 19267 | >= it->w->desired_matrix->nrows) |
| 19263 | { | 19268 | { |
| 19264 | it->w->nrows_scale_factor++; | 19269 | it->w->nrows_scale_factor++; |
| 19265 | fonts_changed_p = 1; | 19270 | it->f->fonts_changed = 1; |
| 19266 | return 0; | 19271 | return 0; |
| 19267 | } | 19272 | } |
| 19268 | 19273 | ||
| @@ -24111,12 +24116,12 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, | |||
| 24111 | 24116 | ||
| 24112 | #define IT_EXPAND_MATRIX_WIDTH(it, area) \ | 24117 | #define IT_EXPAND_MATRIX_WIDTH(it, area) \ |
| 24113 | { \ | 24118 | { \ |
| 24114 | if (!fonts_changed_p \ | 24119 | if (!it->f->fonts_changed \ |
| 24115 | && (it->glyph_row->glyphs[area] \ | 24120 | && (it->glyph_row->glyphs[area] \ |
| 24116 | < it->glyph_row->glyphs[area + 1])) \ | 24121 | < it->glyph_row->glyphs[area + 1])) \ |
| 24117 | { \ | 24122 | { \ |
| 24118 | it->w->ncols_scale_factor++; \ | 24123 | it->w->ncols_scale_factor++; \ |
| 24119 | fonts_changed_p = 1; \ | 24124 | it->f->fonts_changed = 1; \ |
| 24120 | } \ | 24125 | } \ |
| 24121 | } | 24126 | } |
| 24122 | 24127 | ||
| @@ -25032,21 +25037,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym) | |||
| 25032 | base_height = it->ascent + it->descent; | 25037 | base_height = it->ascent + it->descent; |
| 25033 | base_width = font->average_width; | 25038 | base_width = font->average_width; |
| 25034 | 25039 | ||
| 25035 | /* Get a face ID for the glyph by utilizing a cache (the same way as | 25040 | face_id = merge_glyphless_glyph_face (it); |
| 25036 | done for `escape-glyph' in get_next_display_element). */ | ||
| 25037 | if (it->f == last_glyphless_glyph_frame | ||
| 25038 | && it->face_id == last_glyphless_glyph_face_id) | ||
| 25039 | { | ||
| 25040 | face_id = last_glyphless_glyph_merged_face_id; | ||
| 25041 | } | ||
| 25042 | else | ||
| 25043 | { | ||
| 25044 | /* Merge the `glyphless-char' face into the current face. */ | ||
| 25045 | face_id = merge_faces (it->f, Qglyphless_char, 0, it->face_id); | ||
| 25046 | last_glyphless_glyph_frame = it->f; | ||
| 25047 | last_glyphless_glyph_face_id = it->face_id; | ||
| 25048 | last_glyphless_glyph_merged_face_id = face_id; | ||
| 25049 | } | ||
| 25050 | 25041 | ||
| 25051 | if (it->glyphless_method == GLYPHLESS_DISPLAY_THIN_SPACE) | 25042 | if (it->glyphless_method == GLYPHLESS_DISPLAY_THIN_SPACE) |
| 25052 | { | 25043 | { |
| @@ -26087,7 +26078,7 @@ set_frame_cursor_types (struct frame *f, Lisp_Object arg) | |||
| 26087 | FRAME_BLINK_OFF_CURSOR (f) = DEFAULT_CURSOR; | 26078 | FRAME_BLINK_OFF_CURSOR (f) = DEFAULT_CURSOR; |
| 26088 | 26079 | ||
| 26089 | /* Make sure the cursor gets redrawn. */ | 26080 | /* Make sure the cursor gets redrawn. */ |
| 26090 | cursor_type_changed = 1; | 26081 | f->cursor_type_changed = 1; |
| 26091 | } | 26082 | } |
| 26092 | 26083 | ||
| 26093 | 26084 | ||
| @@ -26138,7 +26129,7 @@ get_window_cursor_type (struct window *w, struct glyph *glyph, int *width, | |||
| 26138 | 26129 | ||
| 26139 | /* Detect a nonselected window or nonselected frame. */ | 26130 | /* Detect a nonselected window or nonselected frame. */ |
| 26140 | else if (w != XWINDOW (f->selected_window) | 26131 | else if (w != XWINDOW (f->selected_window) |
| 26141 | || f != FRAME_X_DISPLAY_INFO (f)->x_highlight_frame) | 26132 | || f != FRAME_DISPLAY_INFO (f)->x_highlight_frame) |
| 26142 | { | 26133 | { |
| 26143 | *active_cursor = 0; | 26134 | *active_cursor = 0; |
| 26144 | 26135 | ||
| @@ -26835,10 +26826,13 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw) | |||
| 26835 | /* Change the mouse cursor. */ | 26826 | /* Change the mouse cursor. */ |
| 26836 | if (FRAME_WINDOW_P (f)) | 26827 | if (FRAME_WINDOW_P (f)) |
| 26837 | { | 26828 | { |
| 26829 | #if ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 26838 | if (draw == DRAW_NORMAL_TEXT | 26830 | if (draw == DRAW_NORMAL_TEXT |
| 26839 | && !EQ (hlinfo->mouse_face_window, f->tool_bar_window)) | 26831 | && !EQ (hlinfo->mouse_face_window, f->tool_bar_window)) |
| 26840 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->text_cursor); | 26832 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->text_cursor); |
| 26841 | else if (draw == DRAW_MOUSE_FACE) | 26833 | else |
| 26834 | #endif | ||
| 26835 | if (draw == DRAW_MOUSE_FACE) | ||
| 26842 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->hand_cursor); | 26836 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->hand_cursor); |
| 26843 | else | 26837 | else |
| 26844 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->nontext_cursor); | 26838 | FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->nontext_cursor); |
| @@ -27507,7 +27501,7 @@ fast_find_string_pos (struct window *w, ptrdiff_t pos, Lisp_Object object, | |||
| 27507 | #endif /* not used */ | 27501 | #endif /* not used */ |
| 27508 | 27502 | ||
| 27509 | /* Find the positions of the first and the last glyphs in window W's | 27503 | /* Find the positions of the first and the last glyphs in window W's |
| 27510 | current matrix that occlude positions [STARTPOS..ENDPOS] in OBJECT | 27504 | current matrix that occlude positions [STARTPOS..ENDPOS) in OBJECT |
| 27511 | (assumed to be a string), and return in HLINFO's mouse_face_* | 27505 | (assumed to be a string), and return in HLINFO's mouse_face_* |
| 27512 | members the pixel and column/row coordinates of those glyphs. */ | 27506 | members the pixel and column/row coordinates of those glyphs. */ |
| 27513 | 27507 | ||
| @@ -27523,7 +27517,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27523 | int found = 0; | 27517 | int found = 0; |
| 27524 | 27518 | ||
| 27525 | /* Find the glyph row with at least one position in the range | 27519 | /* Find the glyph row with at least one position in the range |
| 27526 | [STARTPOS..ENDPOS], and the first glyph in that row whose | 27520 | [STARTPOS..ENDPOS), and the first glyph in that row whose |
| 27527 | position belongs to that range. */ | 27521 | position belongs to that range. */ |
| 27528 | for (r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); | 27522 | for (r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); |
| 27529 | r->enabled_p && r->y < yb; | 27523 | r->enabled_p && r->y < yb; |
| @@ -27535,7 +27529,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27535 | e = g + r->used[TEXT_AREA]; | 27529 | e = g + r->used[TEXT_AREA]; |
| 27536 | for (gx = r->x; g < e; gx += g->pixel_width, ++g) | 27530 | for (gx = r->x; g < e; gx += g->pixel_width, ++g) |
| 27537 | if (EQ (g->object, object) | 27531 | if (EQ (g->object, object) |
| 27538 | && startpos <= g->charpos && g->charpos <= endpos) | 27532 | && startpos <= g->charpos && g->charpos < endpos) |
| 27539 | { | 27533 | { |
| 27540 | hlinfo->mouse_face_beg_row | 27534 | hlinfo->mouse_face_beg_row |
| 27541 | = MATRIX_ROW_VPOS (r, w->current_matrix); | 27535 | = MATRIX_ROW_VPOS (r, w->current_matrix); |
| @@ -27553,7 +27547,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27553 | g = e + r->used[TEXT_AREA]; | 27547 | g = e + r->used[TEXT_AREA]; |
| 27554 | for ( ; g > e; --g) | 27548 | for ( ; g > e; --g) |
| 27555 | if (EQ ((g-1)->object, object) | 27549 | if (EQ ((g-1)->object, object) |
| 27556 | && startpos <= (g-1)->charpos && (g-1)->charpos <= endpos) | 27550 | && startpos <= (g-1)->charpos && (g-1)->charpos < endpos) |
| 27557 | { | 27551 | { |
| 27558 | hlinfo->mouse_face_beg_row | 27552 | hlinfo->mouse_face_beg_row |
| 27559 | = MATRIX_ROW_VPOS (r, w->current_matrix); | 27553 | = MATRIX_ROW_VPOS (r, w->current_matrix); |
| @@ -27581,7 +27575,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27581 | found = 0; | 27575 | found = 0; |
| 27582 | for ( ; g < e; ++g) | 27576 | for ( ; g < e; ++g) |
| 27583 | if (EQ (g->object, object) | 27577 | if (EQ (g->object, object) |
| 27584 | && startpos <= g->charpos && g->charpos <= endpos) | 27578 | && startpos <= g->charpos && g->charpos < endpos) |
| 27585 | { | 27579 | { |
| 27586 | found = 1; | 27580 | found = 1; |
| 27587 | break; | 27581 | break; |
| @@ -27604,7 +27598,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27604 | e = g + r->used[TEXT_AREA]; | 27598 | e = g + r->used[TEXT_AREA]; |
| 27605 | for ( ; e > g; --e) | 27599 | for ( ; e > g; --e) |
| 27606 | if (EQ ((e-1)->object, object) | 27600 | if (EQ ((e-1)->object, object) |
| 27607 | && startpos <= (e-1)->charpos && (e-1)->charpos <= endpos) | 27601 | && startpos <= (e-1)->charpos && (e-1)->charpos < endpos) |
| 27608 | break; | 27602 | break; |
| 27609 | hlinfo->mouse_face_end_col = e - g; | 27603 | hlinfo->mouse_face_end_col = e - g; |
| 27610 | 27604 | ||
| @@ -27619,7 +27613,7 @@ mouse_face_from_string_pos (struct window *w, Mouse_HLInfo *hlinfo, | |||
| 27619 | for (gx = r->x ; e < g; ++e) | 27613 | for (gx = r->x ; e < g; ++e) |
| 27620 | { | 27614 | { |
| 27621 | if (EQ (e->object, object) | 27615 | if (EQ (e->object, object) |
| 27622 | && startpos <= e->charpos && e->charpos <= endpos) | 27616 | && startpos <= e->charpos && e->charpos < endpos) |
| 27623 | break; | 27617 | break; |
| 27624 | gx += e->pixel_width; | 27618 | gx += e->pixel_width; |
| 27625 | } | 27619 | } |
| @@ -27682,7 +27676,7 @@ on_hot_spot_p (Lisp_Object hot_spot, int x, int y) | |||
| 27682 | if (VECTORP (XCDR (hot_spot))) | 27676 | if (VECTORP (XCDR (hot_spot))) |
| 27683 | { | 27677 | { |
| 27684 | struct Lisp_Vector *v = XVECTOR (XCDR (hot_spot)); | 27678 | struct Lisp_Vector *v = XVECTOR (XCDR (hot_spot)); |
| 27685 | Lisp_Object *poly = v->contents; | 27679 | Lisp_Object *poly = v->u.contents; |
| 27686 | ptrdiff_t n = v->header.size; | 27680 | ptrdiff_t n = v->header.size; |
| 27687 | ptrdiff_t i; | 27681 | ptrdiff_t i; |
| 27688 | int inside = 0; | 27682 | int inside = 0; |
| @@ -27788,7 +27782,7 @@ define_frame_cursor1 (struct frame *f, Cursor cursor, Lisp_Object pointer) | |||
| 27788 | cursor = FRAME_X_OUTPUT (f)->horizontal_drag_cursor; | 27782 | cursor = FRAME_X_OUTPUT (f)->horizontal_drag_cursor; |
| 27789 | #ifdef HAVE_X_WINDOWS | 27783 | #ifdef HAVE_X_WINDOWS |
| 27790 | else if (EQ (pointer, intern ("vdrag"))) | 27784 | else if (EQ (pointer, intern ("vdrag"))) |
| 27791 | cursor = FRAME_X_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; | 27785 | cursor = FRAME_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; |
| 27792 | #endif | 27786 | #endif |
| 27793 | else if (EQ (pointer, intern ("hourglass"))) | 27787 | else if (EQ (pointer, intern ("hourglass"))) |
| 27794 | cursor = FRAME_X_OUTPUT (f)->hourglass_cursor; | 27788 | cursor = FRAME_X_OUTPUT (f)->hourglass_cursor; |
| @@ -27951,7 +27945,7 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, | |||
| 27951 | /* Change the mouse pointer according to what is under it. */ | 27945 | /* Change the mouse pointer according to what is under it. */ |
| 27952 | if (FRAME_WINDOW_P (f)) | 27946 | if (FRAME_WINDOW_P (f)) |
| 27953 | { | 27947 | { |
| 27954 | dpyinfo = FRAME_X_DISPLAY_INFO (f); | 27948 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 27955 | if (STRINGP (string)) | 27949 | if (STRINGP (string)) |
| 27956 | { | 27950 | { |
| 27957 | cursor = FRAME_X_OUTPUT (f)->nontext_cursor; | 27951 | cursor = FRAME_X_OUTPUT (f)->nontext_cursor; |
| @@ -27973,7 +27967,7 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, | |||
| 27973 | } | 27967 | } |
| 27974 | else | 27968 | else |
| 27975 | /* Default mode-line pointer. */ | 27969 | /* Default mode-line pointer. */ |
| 27976 | cursor = FRAME_X_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; | 27970 | cursor = FRAME_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; |
| 27977 | } | 27971 | } |
| 27978 | #endif | 27972 | #endif |
| 27979 | } | 27973 | } |
| @@ -28176,7 +28170,7 @@ note_mouse_highlight (struct frame *f, int x, int y) | |||
| 28176 | w = XWINDOW (window); | 28170 | w = XWINDOW (window); |
| 28177 | frame_to_window_pixel_xy (w, &x, &y); | 28171 | frame_to_window_pixel_xy (w, &x, &y); |
| 28178 | 28172 | ||
| 28179 | #ifdef HAVE_WINDOW_SYSTEM | 28173 | #if defined (HAVE_WINDOW_SYSTEM) && ! defined (USE_GTK) && ! defined (HAVE_NS) |
| 28180 | /* Handle tool-bar window differently since it doesn't display a | 28174 | /* Handle tool-bar window differently since it doesn't display a |
| 28181 | buffer. */ | 28175 | buffer. */ |
| 28182 | if (EQ (window, f->tool_bar_window)) | 28176 | if (EQ (window, f->tool_bar_window)) |
| @@ -28393,7 +28387,7 @@ note_mouse_highlight (struct frame *f, int x, int y) | |||
| 28393 | if (NILP (s)) | 28387 | if (NILP (s)) |
| 28394 | s = make_number (0); | 28388 | s = make_number (0); |
| 28395 | if (NILP (e)) | 28389 | if (NILP (e)) |
| 28396 | e = make_number (SCHARS (object) - 1); | 28390 | e = make_number (SCHARS (object)); |
| 28397 | mouse_face_from_string_pos (w, hlinfo, object, | 28391 | mouse_face_from_string_pos (w, hlinfo, object, |
| 28398 | XINT (s), XINT (e)); | 28392 | XINT (s), XINT (e)); |
| 28399 | hlinfo->mouse_face_past_end = 0; | 28393 | hlinfo->mouse_face_past_end = 0; |
| @@ -29089,9 +29083,11 @@ expose_frame (struct frame *f, int x, int y, int w, int h) | |||
| 29089 | TRACE ((stderr, "(%d, %d, %d, %d)\n", r.x, r.y, r.width, r.height)); | 29083 | TRACE ((stderr, "(%d, %d, %d, %d)\n", r.x, r.y, r.width, r.height)); |
| 29090 | mouse_face_overwritten_p = expose_window_tree (XWINDOW (f->root_window), &r); | 29084 | mouse_face_overwritten_p = expose_window_tree (XWINDOW (f->root_window), &r); |
| 29091 | 29085 | ||
| 29086 | #if ! defined (USE_GTK) && ! defined (HAVE_NS) | ||
| 29092 | if (WINDOWP (f->tool_bar_window)) | 29087 | if (WINDOWP (f->tool_bar_window)) |
| 29093 | mouse_face_overwritten_p | 29088 | mouse_face_overwritten_p |
| 29094 | |= expose_window (XWINDOW (f->tool_bar_window), &r); | 29089 | |= expose_window (XWINDOW (f->tool_bar_window), &r); |
| 29090 | #endif | ||
| 29095 | 29091 | ||
| 29096 | #ifdef HAVE_X_WINDOWS | 29092 | #ifdef HAVE_X_WINDOWS |
| 29097 | #ifndef MSDOS | 29093 | #ifndef MSDOS |
| @@ -29817,8 +29813,6 @@ Its value should be an ASCII acronym string, `hex-code', `empty-box', or | |||
| 29817 | void | 29813 | void |
| 29818 | init_xdisp (void) | 29814 | init_xdisp (void) |
| 29819 | { | 29815 | { |
| 29820 | current_header_line_height = current_mode_line_height = -1; | ||
| 29821 | |||
| 29822 | CHARPOS (this_line_start_pos) = 0; | 29816 | CHARPOS (this_line_start_pos) = 0; |
| 29823 | 29817 | ||
| 29824 | if (!noninteractive) | 29818 | if (!noninteractive) |
diff --git a/src/xfaces.c b/src/xfaces.c index 0a117b83c15..8d78a28eab1 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -211,13 +211,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 211 | #include "frame.h" | 211 | #include "frame.h" |
| 212 | #include "termhooks.h" | 212 | #include "termhooks.h" |
| 213 | 213 | ||
| 214 | #ifdef HAVE_X_WINDOWS | ||
| 215 | #include "xterm.h" | ||
| 216 | #ifdef USE_MOTIF | 214 | #ifdef USE_MOTIF |
| 217 | #include <Xm/Xm.h> | 215 | #include <Xm/Xm.h> |
| 218 | #include <Xm/XmStrDefs.h> | 216 | #include <Xm/XmStrDefs.h> |
| 219 | #endif /* USE_MOTIF */ | 217 | #endif /* USE_MOTIF */ |
| 220 | #endif /* HAVE_X_WINDOWS */ | ||
| 221 | 218 | ||
| 222 | #ifdef MSDOS | 219 | #ifdef MSDOS |
| 223 | #include "dosfns.h" | 220 | #include "dosfns.h" |
| @@ -227,15 +224,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 227 | #include TERM_HEADER | 224 | #include TERM_HEADER |
| 228 | #include "fontset.h" | 225 | #include "fontset.h" |
| 229 | #ifdef HAVE_NTGUI | 226 | #ifdef HAVE_NTGUI |
| 230 | #undef FRAME_X_DISPLAY_INFO | ||
| 231 | #define FRAME_X_DISPLAY_INFO FRAME_W32_DISPLAY_INFO | ||
| 232 | #define x_display_info w32_display_info | 227 | #define x_display_info w32_display_info |
| 233 | #define GCGraphicsExposures 0 | 228 | #define GCGraphicsExposures 0 |
| 234 | #endif /* HAVE_NTGUI */ | 229 | #endif /* HAVE_NTGUI */ |
| 235 | 230 | ||
| 236 | #ifdef HAVE_NS | 231 | #ifdef HAVE_NS |
| 237 | #undef FRAME_X_DISPLAY_INFO | ||
| 238 | #define FRAME_X_DISPLAY_INFO FRAME_NS_DISPLAY_INFO | ||
| 239 | #define GCGraphicsExposures 0 | 232 | #define GCGraphicsExposures 0 |
| 240 | #endif /* HAVE_NS */ | 233 | #endif /* HAVE_NS */ |
| 241 | 234 | ||
| @@ -549,7 +542,7 @@ DEFUN ("dump-colors", Fdump_colors, Sdump_colors, 0, 0, 0, | |||
| 549 | void | 542 | void |
| 550 | x_free_colors (struct frame *f, long unsigned int *pixels, int npixels) | 543 | x_free_colors (struct frame *f, long unsigned int *pixels, int npixels) |
| 551 | { | 544 | { |
| 552 | int class = FRAME_X_DISPLAY_INFO (f)->visual->class; | 545 | int class = FRAME_DISPLAY_INFO (f)->visual->class; |
| 553 | 546 | ||
| 554 | /* If display has an immutable color map, freeing colors is not | 547 | /* If display has an immutable color map, freeing colors is not |
| 555 | necessary and some servers don't allow it. So don't do it. */ | 548 | necessary and some servers don't allow it. So don't do it. */ |
| @@ -770,7 +763,7 @@ clear_face_cache (int clear_fonts_p) | |||
| 770 | { | 763 | { |
| 771 | struct frame *f = XFRAME (frame); | 764 | struct frame *f = XFRAME (frame); |
| 772 | if (FRAME_WINDOW_P (f) | 765 | if (FRAME_WINDOW_P (f) |
| 773 | && FRAME_X_DISPLAY_INFO (f)->n_fonts > CLEAR_FONT_TABLE_NFONTS) | 766 | && FRAME_DISPLAY_INFO (f)->n_fonts > CLEAR_FONT_TABLE_NFONTS) |
| 774 | { | 767 | { |
| 775 | clear_font_cache (f); | 768 | clear_font_cache (f); |
| 776 | free_all_realized_faces (frame); | 769 | free_all_realized_faces (frame); |
| @@ -1572,7 +1565,7 @@ the face font sort order. */) | |||
| 1572 | vec = Fvconcat (ndrivers, drivers); | 1565 | vec = Fvconcat (ndrivers, drivers); |
| 1573 | nfonts = ASIZE (vec); | 1566 | nfonts = ASIZE (vec); |
| 1574 | 1567 | ||
| 1575 | qsort (XVECTOR (vec)->contents, nfonts, word_size, | 1568 | qsort (XVECTOR (vec)->u.contents, nfonts, word_size, |
| 1576 | compare_fonts_by_sort_order); | 1569 | compare_fonts_by_sort_order); |
| 1577 | 1570 | ||
| 1578 | result = Qnil; | 1571 | result = Qnil; |
| @@ -1837,7 +1830,7 @@ check_lface (Lisp_Object lface) | |||
| 1837 | if (!NILP (lface)) | 1830 | if (!NILP (lface)) |
| 1838 | { | 1831 | { |
| 1839 | eassert (LFACEP (lface)); | 1832 | eassert (LFACEP (lface)); |
| 1840 | check_lface_attrs (XVECTOR (lface)->contents); | 1833 | check_lface_attrs (XVECTOR (lface)->u.contents); |
| 1841 | } | 1834 | } |
| 1842 | } | 1835 | } |
| 1843 | 1836 | ||
| @@ -2014,7 +2007,7 @@ get_lface_attributes_no_remap (struct frame *f, Lisp_Object face_name, | |||
| 2014 | lface = lface_from_face_name_no_resolve (f, face_name, signal_p); | 2007 | lface = lface_from_face_name_no_resolve (f, face_name, signal_p); |
| 2015 | 2008 | ||
| 2016 | if (! NILP (lface)) | 2009 | if (! NILP (lface)) |
| 2017 | memcpy (attrs, XVECTOR (lface)->contents, | 2010 | memcpy (attrs, XVECTOR (lface)->u.contents, |
| 2018 | LFACE_VECTOR_SIZE * sizeof *attrs); | 2011 | LFACE_VECTOR_SIZE * sizeof *attrs); |
| 2019 | 2012 | ||
| 2020 | return !NILP (lface); | 2013 | return !NILP (lface); |
| @@ -2697,7 +2690,7 @@ The value is TO. */) | |||
| 2697 | copy = Finternal_make_lisp_face (to, new_frame); | 2690 | copy = Finternal_make_lisp_face (to, new_frame); |
| 2698 | } | 2691 | } |
| 2699 | 2692 | ||
| 2700 | vcopy (copy, 0, XVECTOR (lface)->contents, LFACE_VECTOR_SIZE); | 2693 | vcopy (copy, 0, XVECTOR (lface)->u.contents, LFACE_VECTOR_SIZE); |
| 2701 | 2694 | ||
| 2702 | /* Changing a named face means that all realized faces depending on | 2695 | /* Changing a named face means that all realized faces depending on |
| 2703 | that face are invalid. Since we cannot tell which realized faces | 2696 | that face are invalid. Since we cannot tell which realized faces |
| @@ -3100,7 +3093,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3100 | f = XFRAME (frame); | 3093 | f = XFRAME (frame); |
| 3101 | if (! FONT_OBJECT_P (value)) | 3094 | if (! FONT_OBJECT_P (value)) |
| 3102 | { | 3095 | { |
| 3103 | Lisp_Object *attrs = XVECTOR (lface)->contents; | 3096 | Lisp_Object *attrs = XVECTOR (lface)->u.contents; |
| 3104 | Lisp_Object font_object; | 3097 | Lisp_Object font_object; |
| 3105 | 3098 | ||
| 3106 | font_object = font_load_for_lface (f, attrs, value); | 3099 | font_object = font_load_for_lface (f, attrs, value); |
| @@ -3168,7 +3161,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3168 | the font to nil so that the font selector doesn't think that | 3161 | the font to nil so that the font selector doesn't think that |
| 3169 | the attribute is mandatory. Also, clear the average | 3162 | the attribute is mandatory. Also, clear the average |
| 3170 | width. */ | 3163 | width. */ |
| 3171 | font_clear_prop (XVECTOR (lface)->contents, prop_index); | 3164 | font_clear_prop (XVECTOR (lface)->u.contents, prop_index); |
| 3172 | } | 3165 | } |
| 3173 | 3166 | ||
| 3174 | /* Changing a named face means that all realized faces depending on | 3167 | /* Changing a named face means that all realized faces depending on |
| @@ -3198,7 +3191,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3198 | reflected in changed `font' frame parameters. */ | 3191 | reflected in changed `font' frame parameters. */ |
| 3199 | if (FRAMEP (frame) | 3192 | if (FRAMEP (frame) |
| 3200 | && (prop_index || EQ (attr, QCfont)) | 3193 | && (prop_index || EQ (attr, QCfont)) |
| 3201 | && lface_fully_specified_p (XVECTOR (lface)->contents)) | 3194 | && lface_fully_specified_p (XVECTOR (lface)->u.contents)) |
| 3202 | set_font_frame_param (frame, lface); | 3195 | set_font_frame_param (frame, lface); |
| 3203 | else | 3196 | else |
| 3204 | #endif /* HAVE_WINDOW_SYSTEM */ | 3197 | #endif /* HAVE_WINDOW_SYSTEM */ |
| @@ -3378,7 +3371,7 @@ set_font_frame_param (Lisp_Object frame, Lisp_Object lface) | |||
| 3378 | { | 3371 | { |
| 3379 | if (FONT_SPEC_P (font)) | 3372 | if (FONT_SPEC_P (font)) |
| 3380 | { | 3373 | { |
| 3381 | font = font_load_for_lface (f, XVECTOR (lface)->contents, font); | 3374 | font = font_load_for_lface (f, XVECTOR (lface)->u.contents, font); |
| 3382 | if (NILP (font)) | 3375 | if (NILP (font)) |
| 3383 | return; | 3376 | return; |
| 3384 | ASET (lface, LFACE_FONT_INDEX, font); | 3377 | ASET (lface, LFACE_FONT_INDEX, font); |
| @@ -3403,7 +3396,7 @@ ordinary `x-get-resource' doesn't take a frame argument. */) | |||
| 3403 | CHECK_STRING (class); | 3396 | CHECK_STRING (class); |
| 3404 | f = decode_live_frame (frame); | 3397 | f = decode_live_frame (frame); |
| 3405 | block_input (); | 3398 | block_input (); |
| 3406 | value = display_x_get_resource (FRAME_X_DISPLAY_INFO (f), | 3399 | value = display_x_get_resource (FRAME_DISPLAY_INFO (f), |
| 3407 | resource, class, Qnil, Qnil); | 3400 | resource, class, Qnil, Qnil); |
| 3408 | unblock_input (); | 3401 | unblock_input (); |
| 3409 | return value; | 3402 | return value; |
| @@ -3493,7 +3486,7 @@ DEFUN ("internal-set-lisp-face-attribute-from-resource", | |||
| 3493 | static void | 3486 | static void |
| 3494 | x_update_menu_appearance (struct frame *f) | 3487 | x_update_menu_appearance (struct frame *f) |
| 3495 | { | 3488 | { |
| 3496 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 3489 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 3497 | XrmDatabase rdb; | 3490 | XrmDatabase rdb; |
| 3498 | 3491 | ||
| 3499 | if (dpyinfo | 3492 | if (dpyinfo |
| @@ -3735,8 +3728,8 @@ Default face attributes override any local face attributes. */) | |||
| 3735 | the local frame is defined from default specs in `face-defface-spec' | 3728 | the local frame is defined from default specs in `face-defface-spec' |
| 3736 | and those should be overridden by global settings. Hence the strange | 3729 | and those should be overridden by global settings. Hence the strange |
| 3737 | "global before local" priority. */ | 3730 | "global before local" priority. */ |
| 3738 | lvec = XVECTOR (local_lface)->contents; | 3731 | lvec = XVECTOR (local_lface)->u.contents; |
| 3739 | gvec = XVECTOR (global_lface)->contents; | 3732 | gvec = XVECTOR (global_lface)->u.contents; |
| 3740 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) | 3733 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) |
| 3741 | if (IGNORE_DEFFACE_P (gvec[i])) | 3734 | if (IGNORE_DEFFACE_P (gvec[i])) |
| 3742 | ASET (local_lface, i, Qunspecified); | 3735 | ASET (local_lface, i, Qunspecified); |
| @@ -3920,8 +3913,8 @@ If FRAME is omitted or nil, use the selected frame. */) | |||
| 3920 | 3913 | ||
| 3921 | lface1 = lface_from_face_name (f, face1, 1); | 3914 | lface1 = lface_from_face_name (f, face1, 1); |
| 3922 | lface2 = lface_from_face_name (f, face2, 1); | 3915 | lface2 = lface_from_face_name (f, face2, 1); |
| 3923 | equal_p = lface_equal_p (XVECTOR (lface1)->contents, | 3916 | equal_p = lface_equal_p (XVECTOR (lface1)->u.contents, |
| 3924 | XVECTOR (lface2)->contents); | 3917 | XVECTOR (lface2)->u.contents); |
| 3925 | return equal_p ? Qt : Qnil; | 3918 | return equal_p ? Qt : Qnil; |
| 3926 | } | 3919 | } |
| 3927 | 3920 | ||
| @@ -4658,7 +4651,7 @@ DEFUN ("face-attributes-as-vector", Fface_attributes_as_vector, | |||
| 4658 | Lisp_Object lface; | 4651 | Lisp_Object lface; |
| 4659 | lface = Fmake_vector (make_number (LFACE_VECTOR_SIZE), | 4652 | lface = Fmake_vector (make_number (LFACE_VECTOR_SIZE), |
| 4660 | Qunspecified); | 4653 | Qunspecified); |
| 4661 | merge_face_ref (XFRAME (selected_frame), plist, XVECTOR (lface)->contents, | 4654 | merge_face_ref (XFRAME (selected_frame), plist, XVECTOR (lface)->u.contents, |
| 4662 | 1, 0); | 4655 | 1, 0); |
| 4663 | return lface; | 4656 | return lface; |
| 4664 | } | 4657 | } |
| @@ -5338,9 +5331,9 @@ realize_default_face (struct frame *f) | |||
| 5338 | ASET (lface, LFACE_STIPPLE_INDEX, Qnil); | 5331 | ASET (lface, LFACE_STIPPLE_INDEX, Qnil); |
| 5339 | 5332 | ||
| 5340 | /* Realize the face; it must be fully-specified now. */ | 5333 | /* Realize the face; it must be fully-specified now. */ |
| 5341 | eassert (lface_fully_specified_p (XVECTOR (lface)->contents)); | 5334 | eassert (lface_fully_specified_p (XVECTOR (lface)->u.contents)); |
| 5342 | check_lface (lface); | 5335 | check_lface (lface); |
| 5343 | memcpy (attrs, XVECTOR (lface)->contents, sizeof attrs); | 5336 | memcpy (attrs, XVECTOR (lface)->u.contents, sizeof attrs); |
| 5344 | face = realize_face (c, attrs, DEFAULT_FACE_ID); | 5337 | face = realize_face (c, attrs, DEFAULT_FACE_ID); |
| 5345 | 5338 | ||
| 5346 | #ifdef HAVE_WINDOW_SYSTEM | 5339 | #ifdef HAVE_WINDOW_SYSTEM |
diff --git a/src/xfns.c b/src/xfns.c index b08fc76524c..2b895642942 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -42,8 +42,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 42 | #include "termchar.h" | 42 | #include "termchar.h" |
| 43 | #include "font.h" | 43 | #include "font.h" |
| 44 | 44 | ||
| 45 | #ifdef HAVE_X_WINDOWS | ||
| 46 | |||
| 47 | #include <sys/types.h> | 45 | #include <sys/types.h> |
| 48 | #include <sys/stat.h> | 46 | #include <sys/stat.h> |
| 49 | 47 | ||
| @@ -153,7 +151,7 @@ check_x_display_info (Lisp_Object object) | |||
| 153 | struct frame *sf = XFRAME (selected_frame); | 151 | struct frame *sf = XFRAME (selected_frame); |
| 154 | 152 | ||
| 155 | if (FRAME_X_P (sf) && FRAME_LIVE_P (sf)) | 153 | if (FRAME_X_P (sf) && FRAME_LIVE_P (sf)) |
| 156 | dpyinfo = FRAME_X_DISPLAY_INFO (sf); | 154 | dpyinfo = FRAME_DISPLAY_INFO (sf); |
| 157 | else if (x_display_list != 0) | 155 | else if (x_display_list != 0) |
| 158 | dpyinfo = x_display_list; | 156 | dpyinfo = x_display_list; |
| 159 | else | 157 | else |
| @@ -173,193 +171,12 @@ check_x_display_info (Lisp_Object object) | |||
| 173 | else | 171 | else |
| 174 | { | 172 | { |
| 175 | struct frame *f = decode_window_system_frame (object); | 173 | struct frame *f = decode_window_system_frame (object); |
| 176 | dpyinfo = FRAME_X_DISPLAY_INFO (f); | 174 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 177 | } | 175 | } |
| 178 | 176 | ||
| 179 | return dpyinfo; | 177 | return dpyinfo; |
| 180 | } | 178 | } |
| 181 | 179 | ||
| 182 | |||
| 183 | /* Return the Emacs frame-object corresponding to an X window. | ||
| 184 | It could be the frame's main window or an icon window. */ | ||
| 185 | |||
| 186 | /* This function can be called during GC, so use GC_xxx type test macros. */ | ||
| 187 | |||
| 188 | struct frame * | ||
| 189 | x_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 190 | { | ||
| 191 | Lisp_Object tail, frame; | ||
| 192 | struct frame *f; | ||
| 193 | |||
| 194 | if (wdesc == None) | ||
| 195 | return NULL; | ||
| 196 | |||
| 197 | FOR_EACH_FRAME (tail, frame) | ||
| 198 | { | ||
| 199 | f = XFRAME (frame); | ||
| 200 | if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo) | ||
| 201 | continue; | ||
| 202 | if (f->output_data.x->hourglass_window == wdesc) | ||
| 203 | return f; | ||
| 204 | #ifdef USE_X_TOOLKIT | ||
| 205 | if ((f->output_data.x->edit_widget | ||
| 206 | && XtWindow (f->output_data.x->edit_widget) == wdesc) | ||
| 207 | /* A tooltip frame? */ | ||
| 208 | || (!f->output_data.x->edit_widget | ||
| 209 | && FRAME_X_WINDOW (f) == wdesc) | ||
| 210 | || f->output_data.x->icon_desc == wdesc) | ||
| 211 | return f; | ||
| 212 | #else /* not USE_X_TOOLKIT */ | ||
| 213 | #ifdef USE_GTK | ||
| 214 | if (f->output_data.x->edit_widget) | ||
| 215 | { | ||
| 216 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 217 | struct x_output *x = f->output_data.x; | ||
| 218 | if (gwdesc != 0 && gwdesc == x->edit_widget) | ||
| 219 | return f; | ||
| 220 | } | ||
| 221 | #endif /* USE_GTK */ | ||
| 222 | if (FRAME_X_WINDOW (f) == wdesc | ||
| 223 | || f->output_data.x->icon_desc == wdesc) | ||
| 224 | return f; | ||
| 225 | #endif /* not USE_X_TOOLKIT */ | ||
| 226 | } | ||
| 227 | return 0; | ||
| 228 | } | ||
| 229 | |||
| 230 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) | ||
| 231 | /* Like x_window_to_frame but also compares the window with the widget's | ||
| 232 | windows. */ | ||
| 233 | |||
| 234 | struct frame * | ||
| 235 | x_any_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 236 | { | ||
| 237 | Lisp_Object tail, frame; | ||
| 238 | struct frame *f, *found = NULL; | ||
| 239 | struct x_output *x; | ||
| 240 | |||
| 241 | if (wdesc == None) | ||
| 242 | return NULL; | ||
| 243 | |||
| 244 | FOR_EACH_FRAME (tail, frame) | ||
| 245 | { | ||
| 246 | if (found) | ||
| 247 | break; | ||
| 248 | f = XFRAME (frame); | ||
| 249 | if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo) | ||
| 250 | { | ||
| 251 | /* This frame matches if the window is any of its widgets. */ | ||
| 252 | x = f->output_data.x; | ||
| 253 | if (x->hourglass_window == wdesc) | ||
| 254 | found = f; | ||
| 255 | else if (x->widget) | ||
| 256 | { | ||
| 257 | #ifdef USE_GTK | ||
| 258 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 259 | if (gwdesc != 0 | ||
| 260 | && gtk_widget_get_toplevel (gwdesc) == x->widget) | ||
| 261 | found = f; | ||
| 262 | #else | ||
| 263 | if (wdesc == XtWindow (x->widget) | ||
| 264 | || wdesc == XtWindow (x->column_widget) | ||
| 265 | || wdesc == XtWindow (x->edit_widget)) | ||
| 266 | found = f; | ||
| 267 | /* Match if the window is this frame's menubar. */ | ||
| 268 | else if (lw_window_is_in_menubar (wdesc, x->menubar_widget)) | ||
| 269 | found = f; | ||
| 270 | #endif | ||
| 271 | } | ||
| 272 | else if (FRAME_X_WINDOW (f) == wdesc) | ||
| 273 | /* A tooltip frame. */ | ||
| 274 | found = f; | ||
| 275 | } | ||
| 276 | } | ||
| 277 | |||
| 278 | return found; | ||
| 279 | } | ||
| 280 | |||
| 281 | /* Likewise, but consider only the menu bar widget. */ | ||
| 282 | |||
| 283 | struct frame * | ||
| 284 | x_menubar_window_to_frame (struct x_display_info *dpyinfo, XEvent *event) | ||
| 285 | { | ||
| 286 | Window wdesc = event->xany.window; | ||
| 287 | Lisp_Object tail, frame; | ||
| 288 | struct frame *f; | ||
| 289 | struct x_output *x; | ||
| 290 | |||
| 291 | if (wdesc == None) | ||
| 292 | return NULL; | ||
| 293 | |||
| 294 | FOR_EACH_FRAME (tail, frame) | ||
| 295 | { | ||
| 296 | f = XFRAME (frame); | ||
| 297 | if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo) | ||
| 298 | continue; | ||
| 299 | x = f->output_data.x; | ||
| 300 | #ifdef USE_GTK | ||
| 301 | if (x->menubar_widget && xg_event_is_for_menubar (f, event)) | ||
| 302 | return f; | ||
| 303 | #else | ||
| 304 | /* Match if the window is this frame's menubar. */ | ||
| 305 | if (x->menubar_widget | ||
| 306 | && lw_window_is_in_menubar (wdesc, x->menubar_widget)) | ||
| 307 | return f; | ||
| 308 | #endif | ||
| 309 | } | ||
| 310 | return 0; | ||
| 311 | } | ||
| 312 | |||
| 313 | /* Return the frame whose principal (outermost) window is WDESC. | ||
| 314 | If WDESC is some other (smaller) window, we return 0. */ | ||
| 315 | |||
| 316 | struct frame * | ||
| 317 | x_top_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 318 | { | ||
| 319 | Lisp_Object tail, frame; | ||
| 320 | struct frame *f; | ||
| 321 | struct x_output *x; | ||
| 322 | |||
| 323 | if (wdesc == None) | ||
| 324 | return NULL; | ||
| 325 | |||
| 326 | FOR_EACH_FRAME (tail, frame) | ||
| 327 | { | ||
| 328 | f = XFRAME (frame); | ||
| 329 | if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo) | ||
| 330 | continue; | ||
| 331 | x = f->output_data.x; | ||
| 332 | |||
| 333 | if (x->widget) | ||
| 334 | { | ||
| 335 | /* This frame matches if the window is its topmost widget. */ | ||
| 336 | #ifdef USE_GTK | ||
| 337 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 338 | if (gwdesc == x->widget) | ||
| 339 | return f; | ||
| 340 | #else | ||
| 341 | if (wdesc == XtWindow (x->widget)) | ||
| 342 | return f; | ||
| 343 | #if 0 /* I don't know why it did this, | ||
| 344 | but it seems logically wrong, | ||
| 345 | and it causes trouble for MapNotify events. */ | ||
| 346 | /* Match if the window is this frame's menubar. */ | ||
| 347 | if (x->menubar_widget | ||
| 348 | && wdesc == XtWindow (x->menubar_widget)) | ||
| 349 | return f; | ||
| 350 | #endif | ||
| 351 | #endif | ||
| 352 | } | ||
| 353 | else if (FRAME_X_WINDOW (f) == wdesc) | ||
| 354 | /* Tooltip frame. */ | ||
| 355 | return f; | ||
| 356 | } | ||
| 357 | return 0; | ||
| 358 | } | ||
| 359 | #endif /* USE_X_TOOLKIT || USE_GTK */ | ||
| 360 | |||
| 361 | |||
| 362 | |||
| 363 | /* Store the screen positions of frame F into XPTR and YPTR. | 180 | /* Store the screen positions of frame F into XPTR and YPTR. |
| 364 | These are the positions of the containing window manager window, | 181 | These are the positions of the containing window manager window, |
| 365 | not Emacs's own window. */ | 182 | not Emacs's own window. */ |
| @@ -374,7 +191,7 @@ x_real_positions (struct frame *f, int *xptr, int *yptr) | |||
| 374 | Atom actual_type; | 191 | Atom actual_type; |
| 375 | unsigned long actual_size, bytes_remaining; | 192 | unsigned long actual_size, bytes_remaining; |
| 376 | int rc, actual_format; | 193 | int rc, actual_format; |
| 377 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 194 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 378 | long max_len = 400; | 195 | long max_len = 400; |
| 379 | Display *dpy = FRAME_X_DISPLAY (f); | 196 | Display *dpy = FRAME_X_DISPLAY (f); |
| 380 | unsigned char *tmp_data = NULL; | 197 | unsigned char *tmp_data = NULL; |
| @@ -437,7 +254,7 @@ x_real_positions (struct frame *f, int *xptr, int *yptr) | |||
| 437 | XTranslateCoordinates (FRAME_X_DISPLAY (f), | 254 | XTranslateCoordinates (FRAME_X_DISPLAY (f), |
| 438 | 255 | ||
| 439 | /* From-window, to-window. */ | 256 | /* From-window, to-window. */ |
| 440 | FRAME_X_DISPLAY_INFO (f)->root_window, | 257 | FRAME_DISPLAY_INFO (f)->root_window, |
| 441 | FRAME_X_WINDOW (f), | 258 | FRAME_X_WINDOW (f), |
| 442 | 259 | ||
| 443 | /* From-position, to-position. */ | 260 | /* From-position, to-position. */ |
| @@ -456,7 +273,7 @@ x_real_positions (struct frame *f, int *xptr, int *yptr) | |||
| 456 | XTranslateCoordinates (FRAME_X_DISPLAY (f), | 273 | XTranslateCoordinates (FRAME_X_DISPLAY (f), |
| 457 | 274 | ||
| 458 | /* From-window, to-window. */ | 275 | /* From-window, to-window. */ |
| 459 | FRAME_X_DISPLAY_INFO (f)->root_window, | 276 | FRAME_DISPLAY_INFO (f)->root_window, |
| 460 | FRAME_OUTER_WINDOW (f), | 277 | FRAME_OUTER_WINDOW (f), |
| 461 | 278 | ||
| 462 | /* From-position, to-position. */ | 279 | /* From-position, to-position. */ |
| @@ -577,7 +394,7 @@ x_decode_color (struct frame *f, Lisp_Object color_name, int mono_color) | |||
| 577 | #endif | 394 | #endif |
| 578 | 395 | ||
| 579 | /* Return MONO_COLOR for monochrome frames. */ | 396 | /* Return MONO_COLOR for monochrome frames. */ |
| 580 | if (FRAME_X_DISPLAY_INFO (f)->n_planes == 1) | 397 | if (FRAME_DISPLAY_INFO (f)->n_planes == 1) |
| 581 | return mono_color; | 398 | return mono_color; |
| 582 | 399 | ||
| 583 | /* x_defined_color is responsible for coping with failures | 400 | /* x_defined_color is responsible for coping with failures |
| @@ -770,7 +587,7 @@ make_invisible_cursor (struct frame *f) | |||
| 770 | Cursor c = 0; | 587 | Cursor c = 0; |
| 771 | 588 | ||
| 772 | x_catch_errors (dpy); | 589 | x_catch_errors (dpy); |
| 773 | pix = XCreateBitmapFromData (dpy, FRAME_X_DISPLAY_INFO (f)->root_window, | 590 | pix = XCreateBitmapFromData (dpy, FRAME_DISPLAY_INFO (f)->root_window, |
| 774 | no_data, 1, 1); | 591 | no_data, 1, 1); |
| 775 | if (! x_had_errors_p (dpy) && pix != None) | 592 | if (! x_had_errors_p (dpy) && pix != None) |
| 776 | { | 593 | { |
| @@ -895,8 +712,8 @@ x_set_mouse_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | |||
| 895 | XDefineCursor (dpy, FRAME_X_WINDOW (f), | 712 | XDefineCursor (dpy, FRAME_X_WINDOW (f), |
| 896 | f->output_data.x->current_cursor = cursor); | 713 | f->output_data.x->current_cursor = cursor); |
| 897 | 714 | ||
| 898 | if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor == 0) | 715 | if (FRAME_DISPLAY_INFO (f)->invisible_cursor == 0) |
| 899 | FRAME_X_DISPLAY_INFO (f)->invisible_cursor = make_invisible_cursor (f); | 716 | FRAME_DISPLAY_INFO (f)->invisible_cursor = make_invisible_cursor (f); |
| 900 | 717 | ||
| 901 | if (cursor != x->text_cursor | 718 | if (cursor != x->text_cursor |
| 902 | && x->text_cursor != 0) | 719 | && x->text_cursor != 0) |
| @@ -1031,7 +848,7 @@ x_set_border_pixel (struct frame *f, int pix) | |||
| 1031 | Note: this is done in two routines because of the way X10 works. | 848 | Note: this is done in two routines because of the way X10 works. |
| 1032 | 849 | ||
| 1033 | Note: under X11, this is normally the province of the window manager, | 850 | Note: under X11, this is normally the province of the window manager, |
| 1034 | and so emacs' border colors may be overridden. */ | 851 | and so emacs's border colors may be overridden. */ |
| 1035 | 852 | ||
| 1036 | static void | 853 | static void |
| 1037 | x_set_border_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval) | 854 | x_set_border_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval) |
| @@ -1201,7 +1018,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1201 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix); | 1018 | clear_glyph_matrix (XWINDOW (f->menu_bar_window)->current_matrix); |
| 1202 | } | 1019 | } |
| 1203 | #endif /* not USE_X_TOOLKIT && not USE_GTK */ | 1020 | #endif /* not USE_X_TOOLKIT && not USE_GTK */ |
| 1204 | adjust_glyphs (f); | 1021 | adjust_frame_glyphs (f); |
| 1205 | run_window_configuration_change_hook (f); | 1022 | run_window_configuration_change_hook (f); |
| 1206 | } | 1023 | } |
| 1207 | 1024 | ||
| @@ -1215,8 +1032,11 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1215 | void | 1032 | void |
| 1216 | x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | 1033 | x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) |
| 1217 | { | 1034 | { |
| 1218 | int delta, nlines, root_height; | 1035 | int nlines; |
| 1036 | #if ! defined (USE_GTK) | ||
| 1037 | int delta, root_height; | ||
| 1219 | Lisp_Object root_window; | 1038 | Lisp_Object root_window; |
| 1039 | #endif | ||
| 1220 | 1040 | ||
| 1221 | /* Treat tool bars like menu bars. */ | 1041 | /* Treat tool bars like menu bars. */ |
| 1222 | if (FRAME_MINIBUF_ONLY_P (f)) | 1042 | if (FRAME_MINIBUF_ONLY_P (f)) |
| @@ -1229,6 +1049,7 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1229 | nlines = 0; | 1049 | nlines = 0; |
| 1230 | 1050 | ||
| 1231 | #ifdef USE_GTK | 1051 | #ifdef USE_GTK |
| 1052 | |||
| 1232 | FRAME_TOOL_BAR_LINES (f) = 0; | 1053 | FRAME_TOOL_BAR_LINES (f) = 0; |
| 1233 | if (nlines) | 1054 | if (nlines) |
| 1234 | { | 1055 | { |
| @@ -1245,8 +1066,7 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1245 | FRAME_EXTERNAL_TOOL_BAR (f) = 0; | 1066 | FRAME_EXTERNAL_TOOL_BAR (f) = 0; |
| 1246 | } | 1067 | } |
| 1247 | 1068 | ||
| 1248 | return; | 1069 | #else /* !USE_GTK */ |
| 1249 | #endif | ||
| 1250 | 1070 | ||
| 1251 | /* Make sure we redisplay all windows in this frame. */ | 1071 | /* Make sure we redisplay all windows in this frame. */ |
| 1252 | ++windows_or_buffers_changed; | 1072 | ++windows_or_buffers_changed; |
| @@ -1264,7 +1084,7 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1264 | 1084 | ||
| 1265 | FRAME_TOOL_BAR_LINES (f) = nlines; | 1085 | FRAME_TOOL_BAR_LINES (f) = nlines; |
| 1266 | resize_frame_windows (f, FRAME_LINES (f), 0); | 1086 | resize_frame_windows (f, FRAME_LINES (f), 0); |
| 1267 | adjust_glyphs (f); | 1087 | adjust_frame_glyphs (f); |
| 1268 | 1088 | ||
| 1269 | /* We also have to make sure that the internal border at the top of | 1089 | /* We also have to make sure that the internal border at the top of |
| 1270 | the frame, below the menu bar or tool bar, is redrawn when the | 1090 | the frame, below the menu bar or tool bar, is redrawn when the |
| @@ -1301,7 +1121,7 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | |||
| 1301 | } | 1121 | } |
| 1302 | 1122 | ||
| 1303 | run_window_configuration_change_hook (f); | 1123 | run_window_configuration_change_hook (f); |
| 1304 | 1124 | #endif /* USE_GTK */ | |
| 1305 | } | 1125 | } |
| 1306 | 1126 | ||
| 1307 | 1127 | ||
| @@ -1486,7 +1306,7 @@ x_set_name_internal (struct frame *f, Lisp_Object name) | |||
| 1486 | text.value = x_encode_text (name, coding_system, 0, &bytes, &stringp, | 1306 | text.value = x_encode_text (name, coding_system, 0, &bytes, &stringp, |
| 1487 | &do_free_text_value); | 1307 | &do_free_text_value); |
| 1488 | text.encoding = (stringp ? XA_STRING | 1308 | text.encoding = (stringp ? XA_STRING |
| 1489 | : FRAME_X_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT); | 1309 | : FRAME_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT); |
| 1490 | text.format = 8; | 1310 | text.format = 8; |
| 1491 | text.nitems = bytes; | 1311 | text.nitems = bytes; |
| 1492 | if (text.nitems != bytes) | 1312 | if (text.nitems != bytes) |
| @@ -1503,7 +1323,7 @@ x_set_name_internal (struct frame *f, Lisp_Object name) | |||
| 1503 | icon.value = x_encode_text (f->icon_name, coding_system, 0, | 1323 | icon.value = x_encode_text (f->icon_name, coding_system, 0, |
| 1504 | &bytes, &stringp, &do_free_icon_value); | 1324 | &bytes, &stringp, &do_free_icon_value); |
| 1505 | icon.encoding = (stringp ? XA_STRING | 1325 | icon.encoding = (stringp ? XA_STRING |
| 1506 | : FRAME_X_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT); | 1326 | : FRAME_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT); |
| 1507 | icon.format = 8; | 1327 | icon.format = 8; |
| 1508 | icon.nitems = bytes; | 1328 | icon.nitems = bytes; |
| 1509 | if (icon.nitems != bytes) | 1329 | if (icon.nitems != bytes) |
| @@ -1518,8 +1338,8 @@ x_set_name_internal (struct frame *f, Lisp_Object name) | |||
| 1518 | #else /* not USE_GTK */ | 1338 | #else /* not USE_GTK */ |
| 1519 | XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); | 1339 | XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); |
| 1520 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), | 1340 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), |
| 1521 | FRAME_X_DISPLAY_INFO (f)->Xatom_net_wm_name, | 1341 | FRAME_DISPLAY_INFO (f)->Xatom_net_wm_name, |
| 1522 | FRAME_X_DISPLAY_INFO (f)->Xatom_UTF8_STRING, | 1342 | FRAME_DISPLAY_INFO (f)->Xatom_UTF8_STRING, |
| 1523 | 8, PropModeReplace, | 1343 | 8, PropModeReplace, |
| 1524 | SDATA (encoded_name), | 1344 | SDATA (encoded_name), |
| 1525 | SBYTES (encoded_name)); | 1345 | SBYTES (encoded_name)); |
| @@ -1527,8 +1347,8 @@ x_set_name_internal (struct frame *f, Lisp_Object name) | |||
| 1527 | 1347 | ||
| 1528 | XSetWMIconName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &icon); | 1348 | XSetWMIconName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &icon); |
| 1529 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), | 1349 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), |
| 1530 | FRAME_X_DISPLAY_INFO (f)->Xatom_net_wm_icon_name, | 1350 | FRAME_DISPLAY_INFO (f)->Xatom_net_wm_icon_name, |
| 1531 | FRAME_X_DISPLAY_INFO (f)->Xatom_UTF8_STRING, | 1351 | FRAME_DISPLAY_INFO (f)->Xatom_UTF8_STRING, |
| 1532 | 8, PropModeReplace, | 1352 | 8, PropModeReplace, |
| 1533 | SDATA (encoded_icon_name), | 1353 | SDATA (encoded_icon_name), |
| 1534 | SBYTES (encoded_icon_name)); | 1354 | SBYTES (encoded_icon_name)); |
| @@ -1575,10 +1395,10 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit) | |||
| 1575 | { | 1395 | { |
| 1576 | /* Check for no change needed in this very common case | 1396 | /* Check for no change needed in this very common case |
| 1577 | before we do any consing. */ | 1397 | before we do any consing. */ |
| 1578 | if (!strcmp (FRAME_X_DISPLAY_INFO (f)->x_id_name, | 1398 | if (!strcmp (FRAME_DISPLAY_INFO (f)->x_id_name, |
| 1579 | SSDATA (f->name))) | 1399 | SSDATA (f->name))) |
| 1580 | return; | 1400 | return; |
| 1581 | name = build_string (FRAME_X_DISPLAY_INFO (f)->x_id_name); | 1401 | name = build_string (FRAME_DISPLAY_INFO (f)->x_id_name); |
| 1582 | } | 1402 | } |
| 1583 | else | 1403 | else |
| 1584 | CHECK_STRING (name); | 1404 | CHECK_STRING (name); |
| @@ -1648,9 +1468,8 @@ x_set_scroll_bar_default_width (struct frame *f) | |||
| 1648 | int minw = 16; | 1468 | int minw = 16; |
| 1649 | #endif | 1469 | #endif |
| 1650 | /* A minimum width of 14 doesn't look good for toolkit scroll bars. */ | 1470 | /* A minimum width of 14 doesn't look good for toolkit scroll bars. */ |
| 1651 | int width = minw + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM; | 1471 | FRAME_CONFIG_SCROLL_BAR_COLS (f) = (minw + wid - 1) / wid; |
| 1652 | FRAME_CONFIG_SCROLL_BAR_COLS (f) = (width + wid - 1) / wid; | 1472 | FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = minw; |
| 1653 | FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = width; | ||
| 1654 | #else | 1473 | #else |
| 1655 | /* Make the actual width at least 14 pixels and a multiple of a | 1474 | /* Make the actual width at least 14 pixels and a multiple of a |
| 1656 | character width. */ | 1475 | character width. */ |
| @@ -1674,7 +1493,7 @@ x_default_scroll_bar_color_parameter (struct frame *f, | |||
| 1674 | const char *xprop, const char *xclass, | 1493 | const char *xprop, const char *xclass, |
| 1675 | int foreground_p) | 1494 | int foreground_p) |
| 1676 | { | 1495 | { |
| 1677 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1496 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1678 | Lisp_Object tem; | 1497 | Lisp_Object tem; |
| 1679 | 1498 | ||
| 1680 | tem = x_get_arg (dpyinfo, alist, prop, xprop, xclass, RES_TYPE_STRING); | 1499 | tem = x_get_arg (dpyinfo, alist, prop, xprop, xclass, RES_TYPE_STRING); |
| @@ -1740,7 +1559,7 @@ hack_wm_protocols (struct frame *f, Widget widget) | |||
| 1740 | unsigned long bytes_after; | 1559 | unsigned long bytes_after; |
| 1741 | 1560 | ||
| 1742 | if ((XGetWindowProperty (dpy, w, | 1561 | if ((XGetWindowProperty (dpy, w, |
| 1743 | FRAME_X_DISPLAY_INFO (f)->Xatom_wm_protocols, | 1562 | FRAME_DISPLAY_INFO (f)->Xatom_wm_protocols, |
| 1744 | (long)0, (long)100, False, XA_ATOM, | 1563 | (long)0, (long)100, False, XA_ATOM, |
| 1745 | &type, &format, &nitems, &bytes_after, | 1564 | &type, &format, &nitems, &bytes_after, |
| 1746 | &catoms) | 1565 | &catoms) |
| @@ -1752,13 +1571,13 @@ hack_wm_protocols (struct frame *f, Widget widget) | |||
| 1752 | { | 1571 | { |
| 1753 | nitems--; | 1572 | nitems--; |
| 1754 | if (atoms[nitems] | 1573 | if (atoms[nitems] |
| 1755 | == FRAME_X_DISPLAY_INFO (f)->Xatom_wm_delete_window) | 1574 | == FRAME_DISPLAY_INFO (f)->Xatom_wm_delete_window) |
| 1756 | need_delete = 0; | 1575 | need_delete = 0; |
| 1757 | else if (atoms[nitems] | 1576 | else if (atoms[nitems] |
| 1758 | == FRAME_X_DISPLAY_INFO (f)->Xatom_wm_take_focus) | 1577 | == FRAME_DISPLAY_INFO (f)->Xatom_wm_take_focus) |
| 1759 | need_focus = 0; | 1578 | need_focus = 0; |
| 1760 | else if (atoms[nitems] | 1579 | else if (atoms[nitems] |
| 1761 | == FRAME_X_DISPLAY_INFO (f)->Xatom_wm_save_yourself) | 1580 | == FRAME_DISPLAY_INFO (f)->Xatom_wm_save_yourself) |
| 1762 | need_save = 0; | 1581 | need_save = 0; |
| 1763 | } | 1582 | } |
| 1764 | } | 1583 | } |
| @@ -1769,13 +1588,13 @@ hack_wm_protocols (struct frame *f, Widget widget) | |||
| 1769 | Atom props [10]; | 1588 | Atom props [10]; |
| 1770 | int count = 0; | 1589 | int count = 0; |
| 1771 | if (need_delete) | 1590 | if (need_delete) |
| 1772 | props[count++] = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_delete_window; | 1591 | props[count++] = FRAME_DISPLAY_INFO (f)->Xatom_wm_delete_window; |
| 1773 | if (need_focus) | 1592 | if (need_focus) |
| 1774 | props[count++] = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_take_focus; | 1593 | props[count++] = FRAME_DISPLAY_INFO (f)->Xatom_wm_take_focus; |
| 1775 | if (need_save) | 1594 | if (need_save) |
| 1776 | props[count++] = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_save_yourself; | 1595 | props[count++] = FRAME_DISPLAY_INFO (f)->Xatom_wm_save_yourself; |
| 1777 | if (count) | 1596 | if (count) |
| 1778 | XChangeProperty (dpy, w, FRAME_X_DISPLAY_INFO (f)->Xatom_wm_protocols, | 1597 | XChangeProperty (dpy, w, FRAME_DISPLAY_INFO (f)->Xatom_wm_protocols, |
| 1779 | XA_ATOM, 32, PropModeAppend, | 1598 | XA_ATOM, 32, PropModeAppend, |
| 1780 | (unsigned char *) props, count); | 1599 | (unsigned char *) props, count); |
| 1781 | } | 1600 | } |
| @@ -1970,7 +1789,7 @@ xic_create_xfontset (struct frame *f) | |||
| 1970 | struct frame *cf = XFRAME (frame); | 1789 | struct frame *cf = XFRAME (frame); |
| 1971 | 1790 | ||
| 1972 | if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) | 1791 | if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) |
| 1973 | && FRAME_X_DISPLAY_INFO (cf) == FRAME_X_DISPLAY_INFO (f) | 1792 | && FRAME_DISPLAY_INFO (cf) == FRAME_DISPLAY_INFO (f) |
| 1974 | && FRAME_FONT (f) | 1793 | && FRAME_FONT (f) |
| 1975 | && FRAME_FONT (f)->pixel_size == pixel_size) | 1794 | && FRAME_FONT (f)->pixel_size == pixel_size) |
| 1976 | { | 1795 | { |
| @@ -2069,7 +1888,7 @@ xic_free_xfontset (struct frame *f) | |||
| 2069 | { | 1888 | { |
| 2070 | struct frame *cf = XFRAME (frame); | 1889 | struct frame *cf = XFRAME (frame); |
| 2071 | if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) | 1890 | if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf) |
| 2072 | && FRAME_X_DISPLAY_INFO (cf) == FRAME_X_DISPLAY_INFO (f) | 1891 | && FRAME_DISPLAY_INFO (cf) == FRAME_DISPLAY_INFO (f) |
| 2073 | && FRAME_XIC_FONTSET (cf) == FRAME_XIC_FONTSET (f)) | 1892 | && FRAME_XIC_FONTSET (cf) == FRAME_XIC_FONTSET (f)) |
| 2074 | { | 1893 | { |
| 2075 | shared_p = 1; | 1894 | shared_p = 1; |
| @@ -2314,7 +2133,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only) | |||
| 2314 | XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++; | 2133 | XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++; |
| 2315 | XtSetArg (al[ac], XtNborderWidth, f->border_width); ac++; | 2134 | XtSetArg (al[ac], XtNborderWidth, f->border_width); ac++; |
| 2316 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; | 2135 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; |
| 2317 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; | 2136 | XtSetArg (al[ac], XtNdepth, FRAME_DISPLAY_INFO (f)->n_planes); ac++; |
| 2318 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; | 2137 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; |
| 2319 | shell_widget = XtAppCreateShell (f->namebuf, EMACS_CLASS, | 2138 | shell_widget = XtAppCreateShell (f->namebuf, EMACS_CLASS, |
| 2320 | applicationShellWidgetClass, | 2139 | applicationShellWidgetClass, |
| @@ -2329,7 +2148,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only) | |||
| 2329 | 2148 | ||
| 2330 | ac = 0; | 2149 | ac = 0; |
| 2331 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; | 2150 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; |
| 2332 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; | 2151 | XtSetArg (al[ac], XtNdepth, FRAME_DISPLAY_INFO (f)->n_planes); ac++; |
| 2333 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; | 2152 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; |
| 2334 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; | 2153 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; |
| 2335 | XtSetValues (pane_widget, al, ac); | 2154 | XtSetValues (pane_widget, al, ac); |
| @@ -2345,7 +2164,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only) | |||
| 2345 | XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++; | 2164 | XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++; |
| 2346 | XtSetArg (al[ac], XtNemacsFrame, f); ac++; | 2165 | XtSetArg (al[ac], XtNemacsFrame, f); ac++; |
| 2347 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; | 2166 | XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++; |
| 2348 | XtSetArg (al[ac], XtNdepth, FRAME_X_DISPLAY_INFO (f)->n_planes); ac++; | 2167 | XtSetArg (al[ac], XtNdepth, FRAME_DISPLAY_INFO (f)->n_planes); ac++; |
| 2349 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; | 2168 | XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++; |
| 2350 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; | 2169 | XtSetArg (al[ac], XtNborderWidth, 0); ac++; |
| 2351 | frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget, | 2170 | frame_widget = XtCreateWidget (f->namebuf, emacsFrameClass, pane_widget, |
| @@ -2471,7 +2290,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only) | |||
| 2471 | be initialized to something relevant to the time we created the window. | 2290 | be initialized to something relevant to the time we created the window. |
| 2472 | */ | 2291 | */ |
| 2473 | XChangeProperty (XtDisplay (frame_widget), XtWindow (frame_widget), | 2292 | XChangeProperty (XtDisplay (frame_widget), XtWindow (frame_widget), |
| 2474 | FRAME_X_DISPLAY_INFO (f)->Xatom_wm_protocols, | 2293 | FRAME_DISPLAY_INFO (f)->Xatom_wm_protocols, |
| 2475 | XA_ATOM, 32, PropModeAppend, NULL, 0); | 2294 | XA_ATOM, 32, PropModeAppend, NULL, 0); |
| 2476 | 2295 | ||
| 2477 | /* Make all the standard events reach the Emacs frame. */ | 2296 | /* Make all the standard events reach the Emacs frame. */ |
| @@ -2631,8 +2450,8 @@ x_window (struct frame *f) | |||
| 2631 | /* Request "save yourself" and "delete window" commands from wm. */ | 2450 | /* Request "save yourself" and "delete window" commands from wm. */ |
| 2632 | { | 2451 | { |
| 2633 | Atom protocols[2]; | 2452 | Atom protocols[2]; |
| 2634 | protocols[0] = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_delete_window; | 2453 | protocols[0] = FRAME_DISPLAY_INFO (f)->Xatom_wm_delete_window; |
| 2635 | protocols[1] = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_save_yourself; | 2454 | protocols[1] = FRAME_DISPLAY_INFO (f)->Xatom_wm_save_yourself; |
| 2636 | XSetWMProtocols (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), protocols, 2); | 2455 | XSetWMProtocols (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), protocols, 2); |
| 2637 | } | 2456 | } |
| 2638 | 2457 | ||
| @@ -2692,7 +2511,7 @@ x_icon (struct frame *f, Lisp_Object parms) | |||
| 2692 | { | 2511 | { |
| 2693 | Lisp_Object icon_x, icon_y; | 2512 | Lisp_Object icon_x, icon_y; |
| 2694 | #if 0 | 2513 | #if 0 |
| 2695 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2514 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2696 | #endif | 2515 | #endif |
| 2697 | 2516 | ||
| 2698 | /* Set the position of the icon. Note that twm groups all | 2517 | /* Set the position of the icon. Note that twm groups all |
| @@ -2776,7 +2595,7 @@ x_make_gc (struct frame *f) | |||
| 2776 | this must be done on a per-frame basis. */ | 2595 | this must be done on a per-frame basis. */ |
| 2777 | f->output_data.x->border_tile | 2596 | f->output_data.x->border_tile |
| 2778 | = (XCreatePixmapFromBitmapData | 2597 | = (XCreatePixmapFromBitmapData |
| 2779 | (FRAME_X_DISPLAY (f), FRAME_X_DISPLAY_INFO (f)->root_window, | 2598 | (FRAME_X_DISPLAY (f), FRAME_DISPLAY_INFO (f)->root_window, |
| 2780 | gray_bits, gray_width, gray_height, | 2599 | gray_bits, gray_width, gray_height, |
| 2781 | FRAME_FOREGROUND_PIXEL (f), | 2600 | FRAME_FOREGROUND_PIXEL (f), |
| 2782 | FRAME_BACKGROUND_PIXEL (f), | 2601 | FRAME_BACKGROUND_PIXEL (f), |
| @@ -2842,7 +2661,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 2842 | if (NILP (Fmemq (frame, Vframe_list))) | 2661 | if (NILP (Fmemq (frame, Vframe_list))) |
| 2843 | { | 2662 | { |
| 2844 | #if defined GLYPH_DEBUG && defined ENABLE_CHECKING | 2663 | #if defined GLYPH_DEBUG && defined ENABLE_CHECKING |
| 2845 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2664 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2846 | #endif | 2665 | #endif |
| 2847 | 2666 | ||
| 2848 | x_free_frame_resources (f); | 2667 | x_free_frame_resources (f); |
| @@ -2874,7 +2693,7 @@ unwind_create_frame_1 (Lisp_Object val) | |||
| 2874 | static void | 2693 | static void |
| 2875 | x_default_font_parameter (struct frame *f, Lisp_Object parms) | 2694 | x_default_font_parameter (struct frame *f, Lisp_Object parms) |
| 2876 | { | 2695 | { |
| 2877 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2696 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2878 | Lisp_Object font_param = x_get_arg (dpyinfo, parms, Qfont, NULL, NULL, | 2697 | Lisp_Object font_param = x_get_arg (dpyinfo, parms, Qfont, NULL, NULL, |
| 2879 | RES_TYPE_STRING); | 2698 | RES_TYPE_STRING); |
| 2880 | Lisp_Object font = Qnil; | 2699 | Lisp_Object font = Qnil; |
| @@ -3068,9 +2887,9 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3068 | if (! STRINGP (f->icon_name)) | 2887 | if (! STRINGP (f->icon_name)) |
| 3069 | fset_icon_name (f, Qnil); | 2888 | fset_icon_name (f, Qnil); |
| 3070 | 2889 | ||
| 3071 | FRAME_X_DISPLAY_INFO (f) = dpyinfo; | 2890 | FRAME_DISPLAY_INFO (f) = dpyinfo; |
| 3072 | 2891 | ||
| 3073 | /* With FRAME_X_DISPLAY_INFO set up, this unwind-protect is safe. */ | 2892 | /* With FRAME_DISPLAY_INFO set up, this unwind-protect is safe. */ |
| 3074 | record_unwind_protect (do_unwind_create_frame, frame); | 2893 | record_unwind_protect (do_unwind_create_frame, frame); |
| 3075 | 2894 | ||
| 3076 | /* These colors will be set anyway later, but it's important | 2895 | /* These colors will be set anyway later, but it's important |
| @@ -3115,7 +2934,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3115 | } | 2934 | } |
| 3116 | else | 2935 | else |
| 3117 | { | 2936 | { |
| 3118 | f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window; | 2937 | f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 3119 | f->output_data.x->explicit_parent = 0; | 2938 | f->output_data.x->explicit_parent = 0; |
| 3120 | } | 2939 | } |
| 3121 | 2940 | ||
| @@ -3286,7 +3105,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3286 | 3105 | ||
| 3287 | /* Now consider the frame official. */ | 3106 | /* Now consider the frame official. */ |
| 3288 | f->terminal->reference_count++; | 3107 | f->terminal->reference_count++; |
| 3289 | FRAME_X_DISPLAY_INFO (f)->reference_count++; | 3108 | FRAME_DISPLAY_INFO (f)->reference_count++; |
| 3290 | Vframe_list = Fcons (frame, Vframe_list); | 3109 | Vframe_list = Fcons (frame, Vframe_list); |
| 3291 | 3110 | ||
| 3292 | /* We need to do this after creating the X window, so that the | 3111 | /* We need to do this after creating the X window, so that the |
| @@ -3411,7 +3230,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3411 | Lisp_Object | 3230 | Lisp_Object |
| 3412 | x_get_focus_frame (struct frame *frame) | 3231 | x_get_focus_frame (struct frame *frame) |
| 3413 | { | 3232 | { |
| 3414 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (frame); | 3233 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (frame); |
| 3415 | Lisp_Object xfocus; | 3234 | Lisp_Object xfocus; |
| 3416 | if (! dpyinfo->x_focus_frame) | 3235 | if (! dpyinfo->x_focus_frame) |
| 3417 | return Qnil; | 3236 | return Qnil; |
| @@ -3430,12 +3249,9 @@ x_get_focus_frame (struct frame *frame) | |||
| 3430 | policy. But I think it's okay to use when it's clearly done | 3249 | policy. But I think it's okay to use when it's clearly done |
| 3431 | following a user-command. */ | 3250 | following a user-command. */ |
| 3432 | 3251 | ||
| 3433 | DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, | 3252 | void |
| 3434 | doc: /* Set the input focus to FRAME. | 3253 | x_focus_frame (struct frame *f) |
| 3435 | FRAME nil means use the selected frame. */) | ||
| 3436 | (Lisp_Object frame) | ||
| 3437 | { | 3254 | { |
| 3438 | struct frame *f = decode_window_system_frame (frame); | ||
| 3439 | Display *dpy = FRAME_X_DISPLAY (f); | 3255 | Display *dpy = FRAME_X_DISPLAY (f); |
| 3440 | 3256 | ||
| 3441 | block_input (); | 3257 | block_input (); |
| @@ -3457,8 +3273,6 @@ FRAME nil means use the selected frame. */) | |||
| 3457 | 3273 | ||
| 3458 | x_uncatch_errors (); | 3274 | x_uncatch_errors (); |
| 3459 | unblock_input (); | 3275 | unblock_input (); |
| 3460 | |||
| 3461 | return Qnil; | ||
| 3462 | } | 3276 | } |
| 3463 | 3277 | ||
| 3464 | 3278 | ||
| @@ -3939,7 +3753,7 @@ x_make_monitor_attribute_list (struct MonitorInfo *monitors, | |||
| 3939 | { | 3753 | { |
| 3940 | struct frame *f = XFRAME (frame); | 3754 | struct frame *f = XFRAME (frame); |
| 3941 | 3755 | ||
| 3942 | if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo | 3756 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo |
| 3943 | && !EQ (frame, tip_frame)) | 3757 | && !EQ (frame, tip_frame)) |
| 3944 | { | 3758 | { |
| 3945 | int i = x_get_monitor_for_frame (f, monitors, n_monitors); | 3759 | int i = x_get_monitor_for_frame (f, monitors, n_monitors); |
| @@ -4135,6 +3949,8 @@ x_get_monitor_attributes (struct x_display_info *dpyinfo) | |||
| 4135 | Lisp_Object attributes_list = Qnil; | 3949 | Lisp_Object attributes_list = Qnil; |
| 4136 | Display *dpy = dpyinfo->display; | 3950 | Display *dpy = dpyinfo->display; |
| 4137 | 3951 | ||
| 3952 | (void) dpy; /* Suppress unused variable warning. */ | ||
| 3953 | |||
| 4138 | #ifdef HAVE_XRANDR | 3954 | #ifdef HAVE_XRANDR |
| 4139 | int xrr_event_base, xrr_error_base; | 3955 | int xrr_event_base, xrr_error_base; |
| 4140 | bool xrr_ok = false; | 3956 | bool xrr_ok = false; |
| @@ -4219,7 +4035,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */) | |||
| 4219 | { | 4035 | { |
| 4220 | struct frame *f = XFRAME (frame); | 4036 | struct frame *f = XFRAME (frame); |
| 4221 | 4037 | ||
| 4222 | if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo | 4038 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo |
| 4223 | && !EQ (frame, tip_frame)) | 4039 | && !EQ (frame, tip_frame)) |
| 4224 | { | 4040 | { |
| 4225 | GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); | 4041 | GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); |
| @@ -4431,11 +4247,6 @@ x_display_info_for_name (Lisp_Object name) | |||
| 4431 | 4247 | ||
| 4432 | CHECK_STRING (name); | 4248 | CHECK_STRING (name); |
| 4433 | 4249 | ||
| 4434 | #if 0 | ||
| 4435 | if (! EQ (Vinitial_window_system, intern ("x"))) | ||
| 4436 | error ("Not using X Windows"); /* That doesn't stop us anymore. */ | ||
| 4437 | #endif | ||
| 4438 | |||
| 4439 | for (dpyinfo = x_display_list, names = x_display_name_list; | 4250 | for (dpyinfo = x_display_list, names = x_display_name_list; |
| 4440 | dpyinfo; | 4251 | dpyinfo; |
| 4441 | dpyinfo = dpyinfo->next, names = XCDR (names)) | 4252 | dpyinfo = dpyinfo->next, names = XCDR (names)) |
| @@ -4479,11 +4290,6 @@ terminate Emacs if we can't open the connection. | |||
| 4479 | if (! NILP (xrm_string)) | 4290 | if (! NILP (xrm_string)) |
| 4480 | CHECK_STRING (xrm_string); | 4291 | CHECK_STRING (xrm_string); |
| 4481 | 4292 | ||
| 4482 | #if 0 | ||
| 4483 | if (! EQ (Vinitial_window_system, intern ("x"))) | ||
| 4484 | error ("Not using X Windows"); /* That doesn't stop us anymore. */ | ||
| 4485 | #endif | ||
| 4486 | |||
| 4487 | xrm_option = NILP (xrm_string) ? 0 : SSDATA (xrm_string); | 4293 | xrm_option = NILP (xrm_string) ? 0 : SSDATA (xrm_string); |
| 4488 | 4294 | ||
| 4489 | validate_x_resource_name (); | 4295 | validate_x_resource_name (); |
| @@ -4730,7 +4536,7 @@ no value of TYPE (always string in the MS Windows case). */) | |||
| 4730 | { | 4536 | { |
| 4731 | CONS_TO_INTEGER (source, Window, target_window); | 4537 | CONS_TO_INTEGER (source, Window, target_window); |
| 4732 | if (! target_window) | 4538 | if (! target_window) |
| 4733 | target_window = FRAME_X_DISPLAY_INFO (f)->root_window; | 4539 | target_window = FRAME_DISPLAY_INFO (f)->root_window; |
| 4734 | } | 4540 | } |
| 4735 | 4541 | ||
| 4736 | block_input (); | 4542 | block_input (); |
| @@ -5026,8 +4832,8 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5026 | f->output_data.x->scroll_bar_bottom_shadow_pixel = -1; | 4832 | f->output_data.x->scroll_bar_bottom_shadow_pixel = -1; |
| 5027 | #endif /* USE_TOOLKIT_SCROLL_BARS */ | 4833 | #endif /* USE_TOOLKIT_SCROLL_BARS */ |
| 5028 | fset_icon_name (f, Qnil); | 4834 | fset_icon_name (f, Qnil); |
| 5029 | FRAME_X_DISPLAY_INFO (f) = dpyinfo; | 4835 | FRAME_DISPLAY_INFO (f) = dpyinfo; |
| 5030 | f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window; | 4836 | f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 5031 | f->output_data.x->explicit_parent = 0; | 4837 | f->output_data.x->explicit_parent = 0; |
| 5032 | 4838 | ||
| 5033 | /* These colors will be set anyway later, but it's important | 4839 | /* These colors will be set anyway later, but it's important |
| @@ -5141,14 +4947,14 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5141 | happen. */ | 4947 | happen. */ |
| 5142 | init_frame_faces (f); | 4948 | init_frame_faces (f); |
| 5143 | 4949 | ||
| 5144 | f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window; | 4950 | f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; |
| 5145 | 4951 | ||
| 5146 | x_figure_window_size (f, parms, 0); | 4952 | x_figure_window_size (f, parms, 0); |
| 5147 | 4953 | ||
| 5148 | { | 4954 | { |
| 5149 | XSetWindowAttributes attrs; | 4955 | XSetWindowAttributes attrs; |
| 5150 | unsigned long mask; | 4956 | unsigned long mask; |
| 5151 | Atom type = FRAME_X_DISPLAY_INFO (f)->Xatom_net_window_type_tooltip; | 4957 | Atom type = FRAME_DISPLAY_INFO (f)->Xatom_net_window_type_tooltip; |
| 5152 | 4958 | ||
| 5153 | block_input (); | 4959 | block_input (); |
| 5154 | mask = CWBackPixel | CWOverrideRedirect | CWEventMask; | 4960 | mask = CWBackPixel | CWOverrideRedirect | CWEventMask; |
| @@ -5166,7 +4972,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5166 | tip_window | 4972 | tip_window |
| 5167 | = FRAME_X_WINDOW (f) | 4973 | = FRAME_X_WINDOW (f) |
| 5168 | = XCreateWindow (FRAME_X_DISPLAY (f), | 4974 | = XCreateWindow (FRAME_X_DISPLAY (f), |
| 5169 | FRAME_X_DISPLAY_INFO (f)->root_window, | 4975 | FRAME_DISPLAY_INFO (f)->root_window, |
| 5170 | /* x, y, width, height */ | 4976 | /* x, y, width, height */ |
| 5171 | 0, 0, 1, 1, | 4977 | 0, 0, 1, 1, |
| 5172 | /* Border. */ | 4978 | /* Border. */ |
| @@ -5174,7 +4980,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5174 | CopyFromParent, InputOutput, CopyFromParent, | 4980 | CopyFromParent, InputOutput, CopyFromParent, |
| 5175 | mask, &attrs); | 4981 | mask, &attrs); |
| 5176 | XChangeProperty (FRAME_X_DISPLAY (f), tip_window, | 4982 | XChangeProperty (FRAME_X_DISPLAY (f), tip_window, |
| 5177 | FRAME_X_DISPLAY_INFO (f)->Xatom_net_window_type, | 4983 | FRAME_DISPLAY_INFO (f)->Xatom_net_window_type, |
| 5178 | XA_ATOM, 32, PropModeReplace, | 4984 | XA_ATOM, 32, PropModeReplace, |
| 5179 | (unsigned char *)&type, 1); | 4985 | (unsigned char *)&type, 1); |
| 5180 | unblock_input (); | 4986 | unblock_input (); |
| @@ -5209,10 +5015,10 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5209 | { | 5015 | { |
| 5210 | Lisp_Object disptype; | 5016 | Lisp_Object disptype; |
| 5211 | 5017 | ||
| 5212 | if (FRAME_X_DISPLAY_INFO (f)->n_planes == 1) | 5018 | if (FRAME_DISPLAY_INFO (f)->n_planes == 1) |
| 5213 | disptype = intern ("mono"); | 5019 | disptype = intern ("mono"); |
| 5214 | else if (FRAME_X_DISPLAY_INFO (f)->visual->class == GrayScale | 5020 | else if (FRAME_DISPLAY_INFO (f)->visual->class == GrayScale |
| 5215 | || FRAME_X_DISPLAY_INFO (f)->visual->class == StaticGray) | 5021 | || FRAME_DISPLAY_INFO (f)->visual->class == StaticGray) |
| 5216 | disptype = intern ("grayscale"); | 5022 | disptype = intern ("grayscale"); |
| 5217 | else | 5023 | else |
| 5218 | disptype = intern ("color"); | 5024 | disptype = intern ("color"); |
| @@ -5246,7 +5052,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5246 | 5052 | ||
| 5247 | /* Now that the frame will be official, it counts as a reference to | 5053 | /* Now that the frame will be official, it counts as a reference to |
| 5248 | its display and terminal. */ | 5054 | its display and terminal. */ |
| 5249 | FRAME_X_DISPLAY_INFO (f)->reference_count++; | 5055 | FRAME_DISPLAY_INFO (f)->reference_count++; |
| 5250 | f->terminal->reference_count++; | 5056 | f->terminal->reference_count++; |
| 5251 | 5057 | ||
| 5252 | /* It is now ok to make the frame official even if we get an error | 5058 | /* It is now ok to make the frame official even if we get an error |
| @@ -5290,7 +5096,7 @@ compute_tip_xy (struct frame *f, Lisp_Object parms, Lisp_Object dx, Lisp_Object | |||
| 5290 | if (!INTEGERP (left) || !INTEGERP (top)) | 5096 | if (!INTEGERP (left) || !INTEGERP (top)) |
| 5291 | { | 5097 | { |
| 5292 | block_input (); | 5098 | block_input (); |
| 5293 | XQueryPointer (FRAME_X_DISPLAY (f), FRAME_X_DISPLAY_INFO (f)->root_window, | 5099 | XQueryPointer (FRAME_X_DISPLAY (f), FRAME_DISPLAY_INFO (f)->root_window, |
| 5294 | &root, &child, root_x, root_y, &win_x, &win_y, &pmask); | 5100 | &root, &child, root_x, root_y, &win_x, &win_y, &pmask); |
| 5295 | unblock_input (); | 5101 | unblock_input (); |
| 5296 | } | 5102 | } |
| @@ -5300,7 +5106,7 @@ compute_tip_xy (struct frame *f, Lisp_Object parms, Lisp_Object dx, Lisp_Object | |||
| 5300 | else if (*root_y + XINT (dy) <= 0) | 5106 | else if (*root_y + XINT (dy) <= 0) |
| 5301 | *root_y = 0; /* Can happen for negative dy */ | 5107 | *root_y = 0; /* Can happen for negative dy */ |
| 5302 | else if (*root_y + XINT (dy) + height | 5108 | else if (*root_y + XINT (dy) + height |
| 5303 | <= x_display_pixel_height (FRAME_X_DISPLAY_INFO (f))) | 5109 | <= x_display_pixel_height (FRAME_DISPLAY_INFO (f))) |
| 5304 | /* It fits below the pointer */ | 5110 | /* It fits below the pointer */ |
| 5305 | *root_y += XINT (dy); | 5111 | *root_y += XINT (dy); |
| 5306 | else if (height + XINT (dy) <= *root_y) | 5112 | else if (height + XINT (dy) <= *root_y) |
| @@ -5315,7 +5121,7 @@ compute_tip_xy (struct frame *f, Lisp_Object parms, Lisp_Object dx, Lisp_Object | |||
| 5315 | else if (*root_x + XINT (dx) <= 0) | 5121 | else if (*root_x + XINT (dx) <= 0) |
| 5316 | *root_x = 0; /* Can happen for negative dx */ | 5122 | *root_x = 0; /* Can happen for negative dx */ |
| 5317 | else if (*root_x + XINT (dx) + width | 5123 | else if (*root_x + XINT (dx) + width |
| 5318 | <= x_display_pixel_width (FRAME_X_DISPLAY_INFO (f))) | 5124 | <= x_display_pixel_width (FRAME_DISPLAY_INFO (f))) |
| 5319 | /* It fits to the right of the pointer. */ | 5125 | /* It fits to the right of the pointer. */ |
| 5320 | *root_x += XINT (dx); | 5126 | *root_x += XINT (dx); |
| 5321 | else if (width + XINT (dx) <= *root_x) | 5127 | else if (width + XINT (dx) <= *root_x) |
| @@ -5464,7 +5270,7 @@ Text larger than the specified size is clipped. */) | |||
| 5464 | 5270 | ||
| 5465 | /* Create a frame for the tooltip, and record it in the global | 5271 | /* Create a frame for the tooltip, and record it in the global |
| 5466 | variable tip_frame. */ | 5272 | variable tip_frame. */ |
| 5467 | frame = x_create_tip_frame (FRAME_X_DISPLAY_INFO (f), parms, string); | 5273 | frame = x_create_tip_frame (FRAME_DISPLAY_INFO (f), parms, string); |
| 5468 | f = XFRAME (frame); | 5274 | f = XFRAME (frame); |
| 5469 | 5275 | ||
| 5470 | /* Set up the frame's root window. */ | 5276 | /* Set up the frame's root window. */ |
| @@ -5486,7 +5292,7 @@ Text larger than the specified size is clipped. */) | |||
| 5486 | } | 5292 | } |
| 5487 | 5293 | ||
| 5488 | FRAME_TOTAL_COLS (f) = w->total_cols; | 5294 | FRAME_TOTAL_COLS (f) = w->total_cols; |
| 5489 | adjust_glyphs (f); | 5295 | adjust_frame_glyphs (f); |
| 5490 | w->pseudo_window_p = 1; | 5296 | w->pseudo_window_p = 1; |
| 5491 | 5297 | ||
| 5492 | /* Display the tooltip text in a temporary buffer. */ | 5298 | /* Display the tooltip text in a temporary buffer. */ |
| @@ -5554,7 +5360,7 @@ Text larger than the specified size is clipped. */) | |||
| 5554 | width /= WINDOW_FRAME_COLUMN_WIDTH (w); | 5360 | width /= WINDOW_FRAME_COLUMN_WIDTH (w); |
| 5555 | w->total_cols = width; | 5361 | w->total_cols = width; |
| 5556 | FRAME_TOTAL_COLS (f) = width; | 5362 | FRAME_TOTAL_COLS (f) = width; |
| 5557 | adjust_glyphs (f); | 5363 | adjust_frame_glyphs (f); |
| 5558 | clear_glyph_matrix (w->desired_matrix); | 5364 | clear_glyph_matrix (w->desired_matrix); |
| 5559 | clear_glyph_matrix (w->current_matrix); | 5365 | clear_glyph_matrix (w->current_matrix); |
| 5560 | try_window (FRAME_ROOT_WINDOW (f), pos, 0); | 5366 | try_window (FRAME_ROOT_WINDOW (f), pos, 0); |
| @@ -5664,7 +5470,7 @@ Value is t if tooltip was open, nil otherwise. */) | |||
| 5664 | struct frame *f = SELECTED_FRAME (); | 5470 | struct frame *f = SELECTED_FRAME (); |
| 5665 | w = f->output_data.x->menubar_widget; | 5471 | w = f->output_data.x->menubar_widget; |
| 5666 | 5472 | ||
| 5667 | if (!DoesSaveUnders (FRAME_X_DISPLAY_INFO (f)->screen) | 5473 | if (!DoesSaveUnders (FRAME_DISPLAY_INFO (f)->screen) |
| 5668 | && w != NULL) | 5474 | && w != NULL) |
| 5669 | { | 5475 | { |
| 5670 | block_input (); | 5476 | block_input (); |
| @@ -6296,7 +6102,8 @@ Otherwise use Emacs own tooltip implementation. | |||
| 6296 | When using Gtk+ tooltips, the tooltip face is not used. */); | 6102 | When using Gtk+ tooltips, the tooltip face is not used. */); |
| 6297 | x_gtk_use_system_tooltips = 1; | 6103 | x_gtk_use_system_tooltips = 1; |
| 6298 | 6104 | ||
| 6299 | Fprovide (intern_c_string ("x"), Qnil); | 6105 | /* Tell Emacs about this window system. */ |
| 6106 | Fprovide (Qx, Qnil); | ||
| 6300 | 6107 | ||
| 6301 | #ifdef USE_X_TOOLKIT | 6108 | #ifdef USE_X_TOOLKIT |
| 6302 | Fprovide (intern_c_string ("x-toolkit"), Qnil); | 6109 | Fprovide (intern_c_string ("x-toolkit"), Qnil); |
| @@ -6357,7 +6164,6 @@ When using Gtk+ tooltips, the tooltip face is not used. */); | |||
| 6357 | defsubr (&Sx_close_connection); | 6164 | defsubr (&Sx_close_connection); |
| 6358 | defsubr (&Sx_display_list); | 6165 | defsubr (&Sx_display_list); |
| 6359 | defsubr (&Sx_synchronize); | 6166 | defsubr (&Sx_synchronize); |
| 6360 | defsubr (&Sx_focus_frame); | ||
| 6361 | defsubr (&Sx_backspace_delete_keys_p); | 6167 | defsubr (&Sx_backspace_delete_keys_p); |
| 6362 | 6168 | ||
| 6363 | defsubr (&Sx_show_tip); | 6169 | defsubr (&Sx_show_tip); |
| @@ -6379,5 +6185,3 @@ When using Gtk+ tooltips, the tooltip face is not used. */); | |||
| 6379 | defsubr (&Sx_select_font); | 6185 | defsubr (&Sx_select_font); |
| 6380 | #endif | 6186 | #endif |
| 6381 | } | 6187 | } |
| 6382 | |||
| 6383 | #endif /* HAVE_X_WINDOWS */ | ||
diff --git a/src/xfont.c b/src/xfont.c index 1aface6f972..c5b8db3830c 100644 --- a/src/xfont.c +++ b/src/xfont.c | |||
| @@ -154,7 +154,7 @@ struct font_driver xfont_driver = | |||
| 154 | static Lisp_Object | 154 | static Lisp_Object |
| 155 | xfont_get_cache (struct frame *f) | 155 | xfont_get_cache (struct frame *f) |
| 156 | { | 156 | { |
| 157 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 157 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 158 | 158 | ||
| 159 | return (dpyinfo->name_list_element); | 159 | return (dpyinfo->name_list_element); |
| 160 | } | 160 | } |
| @@ -384,7 +384,7 @@ xfont_list_pattern (Display *display, const char *pattern, | |||
| 384 | if (num_fonts > 0) | 384 | if (num_fonts > 0) |
| 385 | { | 385 | { |
| 386 | char **indices = alloca (sizeof (char *) * num_fonts); | 386 | char **indices = alloca (sizeof (char *) * num_fonts); |
| 387 | Lisp_Object *props = XVECTOR (xfont_scratch_props)->contents; | 387 | Lisp_Object *props = XVECTOR (xfont_scratch_props)->u.contents; |
| 388 | Lisp_Object scripts = Qnil; | 388 | Lisp_Object scripts = Qnil; |
| 389 | 389 | ||
| 390 | for (i = 0; i < ASIZE (xfont_scratch_props); i++) | 390 | for (i = 0; i < ASIZE (xfont_scratch_props); i++) |
| @@ -488,7 +488,7 @@ xfont_list_pattern (Display *display, const char *pattern, | |||
| 488 | static Lisp_Object | 488 | static Lisp_Object |
| 489 | xfont_list (struct frame *f, Lisp_Object spec) | 489 | xfont_list (struct frame *f, Lisp_Object spec) |
| 490 | { | 490 | { |
| 491 | Display *display = FRAME_X_DISPLAY_INFO (f)->display; | 491 | Display *display = FRAME_DISPLAY_INFO (f)->display; |
| 492 | Lisp_Object registry, list, val, extra, script; | 492 | Lisp_Object registry, list, val, extra, script; |
| 493 | int len; | 493 | int len; |
| 494 | /* Large enough to contain the longest XLFD (255 bytes) in UTF-8. */ | 494 | /* Large enough to contain the longest XLFD (255 bytes) in UTF-8. */ |
| @@ -566,7 +566,7 @@ xfont_list (struct frame *f, Lisp_Object spec) | |||
| 566 | static Lisp_Object | 566 | static Lisp_Object |
| 567 | xfont_match (struct frame *f, Lisp_Object spec) | 567 | xfont_match (struct frame *f, Lisp_Object spec) |
| 568 | { | 568 | { |
| 569 | Display *display = FRAME_X_DISPLAY_INFO (f)->display; | 569 | Display *display = FRAME_DISPLAY_INFO (f)->display; |
| 570 | Lisp_Object extra, val, entity; | 570 | Lisp_Object extra, val, entity; |
| 571 | char name[512]; | 571 | char name[512]; |
| 572 | XFontStruct *xfont; | 572 | XFontStruct *xfont; |
| @@ -620,7 +620,7 @@ xfont_match (struct frame *f, Lisp_Object spec) | |||
| 620 | static Lisp_Object | 620 | static Lisp_Object |
| 621 | xfont_list_family (struct frame *f) | 621 | xfont_list_family (struct frame *f) |
| 622 | { | 622 | { |
| 623 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 623 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 624 | char **names; | 624 | char **names; |
| 625 | int num_fonts, i; | 625 | int num_fonts, i; |
| 626 | Lisp_Object list; | 626 | Lisp_Object list; |
| @@ -676,7 +676,7 @@ xfont_list_family (struct frame *f) | |||
| 676 | static Lisp_Object | 676 | static Lisp_Object |
| 677 | xfont_open (struct frame *f, Lisp_Object entity, int pixel_size) | 677 | xfont_open (struct frame *f, Lisp_Object entity, int pixel_size) |
| 678 | { | 678 | { |
| 679 | Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 679 | Display_Info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 680 | Display *display = dpyinfo->display; | 680 | Display *display = dpyinfo->display; |
| 681 | char name[512]; | 681 | char name[512]; |
| 682 | int len; | 682 | int len; |
diff --git a/src/xmenu.c b/src/xmenu.c index 5d1f44e0f5a..054a52e7760 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -498,7 +498,7 @@ If FRAME is nil or not given, use the selected frame. */) | |||
| 498 | memset (&ev, 0, sizeof ev); | 498 | memset (&ev, 0, sizeof ev); |
| 499 | ev.xbutton.display = FRAME_X_DISPLAY (f); | 499 | ev.xbutton.display = FRAME_X_DISPLAY (f); |
| 500 | ev.xbutton.window = XtWindow (menubar); | 500 | ev.xbutton.window = XtWindow (menubar); |
| 501 | ev.xbutton.root = FRAME_X_DISPLAY_INFO (f)->root_window; | 501 | ev.xbutton.root = FRAME_DISPLAY_INFO (f)->root_window; |
| 502 | ev.xbutton.time = XtLastTimestampProcessed (FRAME_X_DISPLAY (f)); | 502 | ev.xbutton.time = XtLastTimestampProcessed (FRAME_X_DISPLAY (f)); |
| 503 | ev.xbutton.button = Button1; | 503 | ev.xbutton.button = Button1; |
| 504 | ev.xbutton.x = ev.xbutton.y = FRAME_MENUBAR_HEIGHT (f) / 2; | 504 | ev.xbutton.x = ev.xbutton.y = FRAME_MENUBAR_HEIGHT (f) / 2; |
| @@ -990,7 +990,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p) | |||
| 990 | 990 | ||
| 991 | /* Save the frame's previous menu bar contents data. */ | 991 | /* Save the frame's previous menu bar contents data. */ |
| 992 | if (previous_menu_items_used) | 992 | if (previous_menu_items_used) |
| 993 | memcpy (previous_items, XVECTOR (f->menu_bar_vector)->contents, | 993 | memcpy (previous_items, XVECTOR (f->menu_bar_vector)->u.contents, |
| 994 | previous_menu_items_used * word_size); | 994 | previous_menu_items_used * word_size); |
| 995 | 995 | ||
| 996 | /* Fill in menu_items with the current menu bar contents. | 996 | /* Fill in menu_items with the current menu bar contents. |
| @@ -1367,7 +1367,7 @@ menu_position_func (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer | |||
| 1367 | { | 1367 | { |
| 1368 | struct next_popup_x_y *data = user_data; | 1368 | struct next_popup_x_y *data = user_data; |
| 1369 | GtkRequisition req; | 1369 | GtkRequisition req; |
| 1370 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (data->f); | 1370 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (data->f); |
| 1371 | int disp_width = x_display_pixel_width (dpyinfo); | 1371 | int disp_width = x_display_pixel_width (dpyinfo); |
| 1372 | int disp_height = x_display_pixel_height (dpyinfo); | 1372 | int disp_height = x_display_pixel_height (dpyinfo); |
| 1373 | 1373 | ||
| @@ -1449,7 +1449,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, int x, int | |||
| 1449 | if (for_click) | 1449 | if (for_click) |
| 1450 | { | 1450 | { |
| 1451 | for (i = 0; i < 5; i++) | 1451 | for (i = 0; i < 5; i++) |
| 1452 | if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i)) | 1452 | if (FRAME_DISPLAY_INFO (f)->grabbed & (1 << i)) |
| 1453 | break; | 1453 | break; |
| 1454 | } | 1454 | } |
| 1455 | 1455 | ||
| @@ -1474,7 +1474,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, int x, int | |||
| 1474 | 1474 | ||
| 1475 | /* Must reset this manually because the button release event is not passed | 1475 | /* Must reset this manually because the button release event is not passed |
| 1476 | to Emacs event loop. */ | 1476 | to Emacs event loop. */ |
| 1477 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 1477 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 1478 | } | 1478 | } |
| 1479 | 1479 | ||
| 1480 | #else /* not USE_GTK */ | 1480 | #else /* not USE_GTK */ |
| @@ -1543,7 +1543,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, | |||
| 1543 | event->send_event = 0; | 1543 | event->send_event = 0; |
| 1544 | event->display = FRAME_X_DISPLAY (f); | 1544 | event->display = FRAME_X_DISPLAY (f); |
| 1545 | event->time = CurrentTime; | 1545 | event->time = CurrentTime; |
| 1546 | event->root = FRAME_X_DISPLAY_INFO (f)->root_window; | 1546 | event->root = FRAME_DISPLAY_INFO (f)->root_window; |
| 1547 | event->window = event->subwindow = event->root; | 1547 | event->window = event->subwindow = event->root; |
| 1548 | event->x = x; | 1548 | event->x = x; |
| 1549 | event->y = y; | 1549 | event->y = y; |
| @@ -1558,7 +1558,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, | |||
| 1558 | event->state = 0; | 1558 | event->state = 0; |
| 1559 | event->button = 0; | 1559 | event->button = 0; |
| 1560 | for (i = 0; i < 5; i++) | 1560 | for (i = 0; i < 5; i++) |
| 1561 | if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i)) | 1561 | if (FRAME_DISPLAY_INFO (f)->grabbed & (1 << i)) |
| 1562 | event->button = i; | 1562 | event->button = i; |
| 1563 | 1563 | ||
| 1564 | /* Don't allow any geometry request from the user. */ | 1564 | /* Don't allow any geometry request from the user. */ |
| @@ -1578,7 +1578,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, | |||
| 1578 | make_number (menu_id & ~(-1 << (fact))))); | 1578 | make_number (menu_id & ~(-1 << (fact))))); |
| 1579 | 1579 | ||
| 1580 | /* Process events that apply to the menu. */ | 1580 | /* Process events that apply to the menu. */ |
| 1581 | popup_get_selection (0, FRAME_X_DISPLAY_INFO (f), menu_id, 1); | 1581 | popup_get_selection (0, FRAME_DISPLAY_INFO (f), menu_id, 1); |
| 1582 | 1582 | ||
| 1583 | unbind_to (specpdl_count, Qnil); | 1583 | unbind_to (specpdl_count, Qnil); |
| 1584 | } | 1584 | } |
| @@ -1969,7 +1969,7 @@ create_and_show_dialog (struct frame *f, widget_value *first_wv) | |||
| 1969 | Fcons (make_number (dialog_id >> (fact)), | 1969 | Fcons (make_number (dialog_id >> (fact)), |
| 1970 | make_number (dialog_id & ~(-1 << (fact))))); | 1970 | make_number (dialog_id & ~(-1 << (fact))))); |
| 1971 | 1971 | ||
| 1972 | popup_get_selection (0, FRAME_X_DISPLAY_INFO (f), dialog_id, 1); | 1972 | popup_get_selection (0, FRAME_DISPLAY_INFO (f), dialog_id, 1); |
| 1973 | 1973 | ||
| 1974 | unbind_to (count, Qnil); | 1974 | unbind_to (count, Qnil); |
| 1975 | } | 1975 | } |
| @@ -2194,7 +2194,7 @@ menu_help_callback (char const *help_string, int pane, int item) | |||
| 2194 | Lisp_Object pane_name; | 2194 | Lisp_Object pane_name; |
| 2195 | Lisp_Object menu_object; | 2195 | Lisp_Object menu_object; |
| 2196 | 2196 | ||
| 2197 | first_item = XVECTOR (menu_items)->contents; | 2197 | first_item = XVECTOR (menu_items)->u.contents; |
| 2198 | if (EQ (first_item[0], Qt)) | 2198 | if (EQ (first_item[0], Qt)) |
| 2199 | pane_name = first_item[MENU_ITEMS_PANE_NAME]; | 2199 | pane_name = first_item[MENU_ITEMS_PANE_NAME]; |
| 2200 | else if (EQ (first_item[0], Qquote)) | 2200 | else if (EQ (first_item[0], Qquote)) |
| @@ -2225,13 +2225,13 @@ pop_down_menu (Lisp_Object arg) | |||
| 2225 | #ifdef HAVE_X_WINDOWS | 2225 | #ifdef HAVE_X_WINDOWS |
| 2226 | /* Assume the mouse has moved out of the X window. | 2226 | /* Assume the mouse has moved out of the X window. |
| 2227 | If it has actually moved in, we will get an EnterNotify. */ | 2227 | If it has actually moved in, we will get an EnterNotify. */ |
| 2228 | x_mouse_leave (FRAME_X_DISPLAY_INFO (f)); | 2228 | x_mouse_leave (FRAME_DISPLAY_INFO (f)); |
| 2229 | 2229 | ||
| 2230 | /* State that no mouse buttons are now held. | 2230 | /* State that no mouse buttons are now held. |
| 2231 | (The oldXMenu code doesn't track this info for us.) | 2231 | (The oldXMenu code doesn't track this info for us.) |
| 2232 | That is not necessarily true, but the fiction leads to reasonable | 2232 | That is not necessarily true, but the fiction leads to reasonable |
| 2233 | results, and it is a pain to ask which are actually held now. */ | 2233 | results, and it is a pain to ask which are actually held now. */ |
| 2234 | FRAME_X_DISPLAY_INFO (f)->grabbed = 0; | 2234 | FRAME_DISPLAY_INFO (f)->grabbed = 0; |
| 2235 | 2235 | ||
| 2236 | #endif /* HAVE_X_WINDOWS */ | 2236 | #endif /* HAVE_X_WINDOWS */ |
| 2237 | 2237 | ||
diff --git a/src/xrdb.c b/src/xrdb.c index 60dcdae080d..52988f0818a 100644 --- a/src/xrdb.c +++ b/src/xrdb.c | |||
| @@ -48,10 +48,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 48 | #include "keyboard.h" | 48 | #include "keyboard.h" |
| 49 | #endif | 49 | #endif |
| 50 | 50 | ||
| 51 | char *x_get_string_resource (XrmDatabase rdb, const char *name, | ||
| 52 | const char *class); | ||
| 53 | |||
| 54 | |||
| 55 | /* X file search path processing. */ | 51 | /* X file search path processing. */ |
| 56 | 52 | ||
| 57 | 53 | ||
diff --git a/src/xselect.c b/src/xselect.c index e5f2e214fba..5eb263d8d0c 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -318,7 +318,7 @@ x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value, | |||
| 318 | { | 318 | { |
| 319 | struct frame *f = XFRAME (frame); | 319 | struct frame *f = XFRAME (frame); |
| 320 | Window selecting_window = FRAME_X_WINDOW (f); | 320 | Window selecting_window = FRAME_X_WINDOW (f); |
| 321 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 321 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 322 | Display *display = dpyinfo->display; | 322 | Display *display = dpyinfo->display; |
| 323 | Time timestamp = last_event_timestamp; | 323 | Time timestamp = last_event_timestamp; |
| 324 | Atom selection_atom = symbol_to_x_atom (dpyinfo, selection_name); | 324 | Atom selection_atom = symbol_to_x_atom (dpyinfo, selection_name); |
| @@ -997,7 +997,7 @@ x_clear_frame_selections (struct frame *f) | |||
| 997 | { | 997 | { |
| 998 | Lisp_Object frame; | 998 | Lisp_Object frame; |
| 999 | Lisp_Object rest; | 999 | Lisp_Object rest; |
| 1000 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1000 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1001 | struct terminal *t = dpyinfo->terminal; | 1001 | struct terminal *t = dpyinfo->terminal; |
| 1002 | 1002 | ||
| 1003 | XSETFRAME (frame, f); | 1003 | XSETFRAME (frame, f); |
| @@ -1141,7 +1141,7 @@ wait_for_property_change (struct prop_location *location) | |||
| 1141 | /* Called from XTread_socket in response to a PropertyNotify event. */ | 1141 | /* Called from XTread_socket in response to a PropertyNotify event. */ |
| 1142 | 1142 | ||
| 1143 | void | 1143 | void |
| 1144 | x_handle_property_notify (XPropertyEvent *event) | 1144 | x_handle_property_notify (const XPropertyEvent *event) |
| 1145 | { | 1145 | { |
| 1146 | struct prop_location *rest; | 1146 | struct prop_location *rest; |
| 1147 | 1147 | ||
| @@ -1185,7 +1185,7 @@ x_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type, | |||
| 1185 | Lisp_Object time_stamp, Lisp_Object frame) | 1185 | Lisp_Object time_stamp, Lisp_Object frame) |
| 1186 | { | 1186 | { |
| 1187 | struct frame *f = XFRAME (frame); | 1187 | struct frame *f = XFRAME (frame); |
| 1188 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1188 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1189 | Display *display = dpyinfo->display; | 1189 | Display *display = dpyinfo->display; |
| 1190 | Window requestor_window = FRAME_X_WINDOW (f); | 1190 | Window requestor_window = FRAME_X_WINDOW (f); |
| 1191 | Time requestor_time = last_event_timestamp; | 1191 | Time requestor_time = last_event_timestamp; |
| @@ -1888,7 +1888,7 @@ clean_local_selection_data (Lisp_Object obj) | |||
| 1888 | We store t there if the reply is successful, lambda if not. */ | 1888 | We store t there if the reply is successful, lambda if not. */ |
| 1889 | 1889 | ||
| 1890 | void | 1890 | void |
| 1891 | x_handle_selection_notify (XSelectionEvent *event) | 1891 | x_handle_selection_notify (const XSelectionEvent *event) |
| 1892 | { | 1892 | { |
| 1893 | if (event->requestor != reading_selection_window) | 1893 | if (event->requestor != reading_selection_window) |
| 1894 | return; | 1894 | return; |
| @@ -2009,7 +2009,7 @@ On Nextstep, TIME-STAMP and TERMINAL are unused. */) | |||
| 2009 | error ("X selection unavailable for this frame"); | 2009 | error ("X selection unavailable for this frame"); |
| 2010 | 2010 | ||
| 2011 | val = x_get_local_selection (selection_symbol, target_type, 1, | 2011 | val = x_get_local_selection (selection_symbol, target_type, 1, |
| 2012 | FRAME_X_DISPLAY_INFO (f)); | 2012 | FRAME_DISPLAY_INFO (f)); |
| 2013 | 2013 | ||
| 2014 | if (NILP (val) && FRAME_LIVE_P (f)) | 2014 | if (NILP (val) && FRAME_LIVE_P (f)) |
| 2015 | { | 2015 | { |
| @@ -2056,7 +2056,7 @@ On MS-DOS, all this does is return non-nil if we own the selection. */) | |||
| 2056 | if (!f) | 2056 | if (!f) |
| 2057 | return Qnil; | 2057 | return Qnil; |
| 2058 | 2058 | ||
| 2059 | dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2059 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2060 | CHECK_SYMBOL (selection); | 2060 | CHECK_SYMBOL (selection); |
| 2061 | 2061 | ||
| 2062 | /* Don't disown the selection when we're not the owner. */ | 2062 | /* Don't disown the selection when we're not the owner. */ |
| @@ -2108,7 +2108,7 @@ On Nextstep, TERMINAL is unused. */) | |||
| 2108 | if (EQ (selection, Qnil)) selection = QPRIMARY; | 2108 | if (EQ (selection, Qnil)) selection = QPRIMARY; |
| 2109 | if (EQ (selection, Qt)) selection = QSECONDARY; | 2109 | if (EQ (selection, Qt)) selection = QSECONDARY; |
| 2110 | 2110 | ||
| 2111 | if (f && !NILP (LOCAL_SELECTION (selection, FRAME_X_DISPLAY_INFO (f)))) | 2111 | if (f && !NILP (LOCAL_SELECTION (selection, FRAME_DISPLAY_INFO (f)))) |
| 2112 | return Qt; | 2112 | return Qt; |
| 2113 | else | 2113 | else |
| 2114 | return Qnil; | 2114 | return Qnil; |
| @@ -2141,7 +2141,7 @@ On Nextstep, TERMINAL is unused. */) | |||
| 2141 | if (!f) | 2141 | if (!f) |
| 2142 | return Qnil; | 2142 | return Qnil; |
| 2143 | 2143 | ||
| 2144 | dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2144 | dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2145 | 2145 | ||
| 2146 | if (!NILP (LOCAL_SELECTION (selection, dpyinfo))) | 2146 | if (!NILP (LOCAL_SELECTION (selection, dpyinfo))) |
| 2147 | return Qt; | 2147 | return Qt; |
| @@ -2162,7 +2162,7 @@ static Lisp_Object | |||
| 2162 | x_clipboard_manager_save (Lisp_Object frame) | 2162 | x_clipboard_manager_save (Lisp_Object frame) |
| 2163 | { | 2163 | { |
| 2164 | struct frame *f = XFRAME (frame); | 2164 | struct frame *f = XFRAME (frame); |
| 2165 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2165 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2166 | Atom data = dpyinfo->Xatom_UTF8_STRING; | 2166 | Atom data = dpyinfo->Xatom_UTF8_STRING; |
| 2167 | 2167 | ||
| 2168 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 2168 | XChangeProperty (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| @@ -2212,7 +2212,7 @@ x_clipboard_manager_save_frame (Lisp_Object frame) | |||
| 2212 | && (f = XFRAME (frame), FRAME_X_P (f)) | 2212 | && (f = XFRAME (frame), FRAME_X_P (f)) |
| 2213 | && FRAME_LIVE_P (f)) | 2213 | && FRAME_LIVE_P (f)) |
| 2214 | { | 2214 | { |
| 2215 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2215 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2216 | Lisp_Object local_selection | 2216 | Lisp_Object local_selection |
| 2217 | = LOCAL_SELECTION (QCLIPBOARD, dpyinfo); | 2217 | = LOCAL_SELECTION (QCLIPBOARD, dpyinfo); |
| 2218 | 2218 | ||
| @@ -2458,7 +2458,7 @@ FRAME is on. If FRAME is nil, the selected frame is used. */) | |||
| 2458 | Atom x_atom; | 2458 | Atom x_atom; |
| 2459 | struct frame *f = decode_window_system_frame (frame); | 2459 | struct frame *f = decode_window_system_frame (frame); |
| 2460 | ptrdiff_t i; | 2460 | ptrdiff_t i; |
| 2461 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2461 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 2462 | 2462 | ||
| 2463 | 2463 | ||
| 2464 | if (SYMBOLP (atom)) | 2464 | if (SYMBOLP (atom)) |
| @@ -2488,7 +2488,7 @@ FRAME is on. If FRAME is nil, the selected frame is used. */) | |||
| 2488 | /* Convert an XClientMessageEvent to a Lisp event of type DRAG_N_DROP_EVENT. */ | 2488 | /* Convert an XClientMessageEvent to a Lisp event of type DRAG_N_DROP_EVENT. */ |
| 2489 | 2489 | ||
| 2490 | int | 2490 | int |
| 2491 | x_handle_dnd_message (struct frame *f, XClientMessageEvent *event, | 2491 | x_handle_dnd_message (struct frame *f, const XClientMessageEvent *event, |
| 2492 | struct x_display_info *dpyinfo, struct input_event *bufp) | 2492 | struct x_display_info *dpyinfo, struct input_event *bufp) |
| 2493 | { | 2493 | { |
| 2494 | Lisp_Object vec; | 2494 | Lisp_Object vec; |
diff --git a/src/xsettings.c b/src/xsettings.c index b5d5f4db59b..8fe82fec74b 100644 --- a/src/xsettings.c +++ b/src/xsettings.c | |||
| @@ -336,9 +336,6 @@ get_prop_window (struct x_display_info *dpyinfo) | |||
| 336 | XUngrabServer (dpy); | 336 | XUngrabServer (dpy); |
| 337 | } | 337 | } |
| 338 | 338 | ||
| 339 | #define SWAP32(nr) (((nr) << 24) | (((nr) << 8) & 0xff0000) \ | ||
| 340 | | (((nr) >> 8) & 0xff00) | ((nr) >> 24)) | ||
| 341 | #define SWAP16(nr) (((nr) << 8) | ((nr) >> 8)) | ||
| 342 | #define PAD(nr) (((nr) + 3) & ~3) | 339 | #define PAD(nr) (((nr) + 3) & ~3) |
| 343 | 340 | ||
| 344 | /* Parse xsettings and extract those that deal with Xft. | 341 | /* Parse xsettings and extract those that deal with Xft. |
| @@ -408,7 +405,7 @@ parse_settings (unsigned char *prop, | |||
| 408 | 405 | ||
| 409 | if (bytes < 12) return BadLength; | 406 | if (bytes < 12) return BadLength; |
| 410 | memcpy (&n_settings, prop+8, 4); | 407 | memcpy (&n_settings, prop+8, 4); |
| 411 | if (my_bo != that_bo) n_settings = SWAP32 (n_settings); | 408 | if (my_bo != that_bo) n_settings = swap32 (n_settings); |
| 412 | bytes_parsed = 12; | 409 | bytes_parsed = 12; |
| 413 | 410 | ||
| 414 | memset (settings, 0, sizeof (*settings)); | 411 | memset (settings, 0, sizeof (*settings)); |
| @@ -430,7 +427,7 @@ parse_settings (unsigned char *prop, | |||
| 430 | 427 | ||
| 431 | memcpy (&nlen, prop+bytes_parsed, 2); | 428 | memcpy (&nlen, prop+bytes_parsed, 2); |
| 432 | bytes_parsed += 2; | 429 | bytes_parsed += 2; |
| 433 | if (my_bo != that_bo) nlen = SWAP16 (nlen); | 430 | if (my_bo != that_bo) nlen = swap16 (nlen); |
| 434 | if (bytes_parsed+nlen > bytes) return BadLength; | 431 | if (bytes_parsed+nlen > bytes) return BadLength; |
| 435 | to_cpy = nlen > 127 ? 127 : nlen; | 432 | to_cpy = nlen > 127 ? 127 : nlen; |
| 436 | memcpy (name, prop+bytes_parsed, to_cpy); | 433 | memcpy (name, prop+bytes_parsed, to_cpy); |
| @@ -457,7 +454,7 @@ parse_settings (unsigned char *prop, | |||
| 457 | if (want_this) | 454 | if (want_this) |
| 458 | { | 455 | { |
| 459 | memcpy (&ival, prop+bytes_parsed, 4); | 456 | memcpy (&ival, prop+bytes_parsed, 4); |
| 460 | if (my_bo != that_bo) ival = SWAP32 (ival); | 457 | if (my_bo != that_bo) ival = swap32 (ival); |
| 461 | } | 458 | } |
| 462 | bytes_parsed += 4; | 459 | bytes_parsed += 4; |
| 463 | break; | 460 | break; |
| @@ -466,7 +463,7 @@ parse_settings (unsigned char *prop, | |||
| 466 | if (bytes_parsed+4 > bytes) return BadLength; | 463 | if (bytes_parsed+4 > bytes) return BadLength; |
| 467 | memcpy (&vlen, prop+bytes_parsed, 4); | 464 | memcpy (&vlen, prop+bytes_parsed, 4); |
| 468 | bytes_parsed += 4; | 465 | bytes_parsed += 4; |
| 469 | if (my_bo != that_bo) vlen = SWAP32 (vlen); | 466 | if (my_bo != that_bo) vlen = swap32 (vlen); |
| 470 | if (want_this) | 467 | if (want_this) |
| 471 | { | 468 | { |
| 472 | to_cpy = vlen > 127 ? 127 : vlen; | 469 | to_cpy = vlen > 127 ? 127 : vlen; |
| @@ -754,7 +751,7 @@ read_and_apply_settings (struct x_display_info *dpyinfo, int send_event_p) | |||
| 754 | /* Check if EVENT for the display in DPYINFO is XSettings related. */ | 751 | /* Check if EVENT for the display in DPYINFO is XSettings related. */ |
| 755 | 752 | ||
| 756 | void | 753 | void |
| 757 | xft_settings_event (struct x_display_info *dpyinfo, XEvent *event) | 754 | xft_settings_event (struct x_display_info *dpyinfo, const XEvent *event) |
| 758 | { | 755 | { |
| 759 | bool check_window_p = 0, apply_settings_p = 0; | 756 | bool check_window_p = 0, apply_settings_p = 0; |
| 760 | 757 | ||
| @@ -803,7 +800,7 @@ init_gsettings (void) | |||
| 803 | const gchar *const *schemas; | 800 | const gchar *const *schemas; |
| 804 | int schema_found = 0; | 801 | int schema_found = 0; |
| 805 | 802 | ||
| 806 | #ifdef HAVE_G_TYPE_INIT | 803 | #if ! GLIB_CHECK_VERSION (2, 36, 0) |
| 807 | g_type_init (); | 804 | g_type_init (); |
| 808 | #endif | 805 | #endif |
| 809 | 806 | ||
| @@ -860,7 +857,7 @@ init_gconf (void) | |||
| 860 | #if defined (HAVE_GCONF) | 857 | #if defined (HAVE_GCONF) |
| 861 | char *s; | 858 | char *s; |
| 862 | 859 | ||
| 863 | #ifdef HAVE_G_TYPE_INIT | 860 | #if ! GLIB_CHECK_VERSION (2, 36, 0) |
| 864 | g_type_init (); | 861 | g_type_init (); |
| 865 | #endif | 862 | #endif |
| 866 | 863 | ||
diff --git a/src/xsettings.h b/src/xsettings.h index e3738c593bd..a017c5d92d8 100644 --- a/src/xsettings.h +++ b/src/xsettings.h | |||
| @@ -20,9 +20,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | #ifndef XSETTINGS_H | 20 | #ifndef XSETTINGS_H |
| 21 | #define XSETTINGS_H | 21 | #define XSETTINGS_H |
| 22 | 22 | ||
| 23 | extern void xsettings_initialize (struct x_display_info *dpyinfo); | 23 | extern void xsettings_initialize (struct x_display_info *); |
| 24 | extern void xft_settings_event (struct x_display_info *dpyinfo, | 24 | extern void xft_settings_event (struct x_display_info *, const XEvent *); |
| 25 | XEvent *); | ||
| 26 | extern const char *xsettings_get_system_font (void); | 25 | extern const char *xsettings_get_system_font (void); |
| 27 | #ifdef USE_LUCID | 26 | #ifdef USE_LUCID |
| 28 | extern const char *xsettings_get_system_normal_font (void); | 27 | extern const char *xsettings_get_system_normal_font (void); |
diff --git a/src/xterm.c b/src/xterm.c index 2f3d5ca7a01..1ccc1ae649b 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -23,8 +23,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 23 | #include <config.h> | 23 | #include <config.h> |
| 24 | #include <stdio.h> | 24 | #include <stdio.h> |
| 25 | 25 | ||
| 26 | #ifdef HAVE_X_WINDOWS | ||
| 27 | |||
| 28 | #include "lisp.h" | 26 | #include "lisp.h" |
| 29 | #include "blockinput.h" | 27 | #include "blockinput.h" |
| 30 | #include "syssignal.h" | 28 | #include "syssignal.h" |
| @@ -86,7 +84,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 86 | #endif | 84 | #endif |
| 87 | #endif | 85 | #endif |
| 88 | 86 | ||
| 89 | #ifdef USE_LUCID | 87 | #if defined (USE_LUCID) || defined (USE_MOTIF) |
| 90 | #include "../lwlib/xlwmenu.h" | 88 | #include "../lwlib/xlwmenu.h" |
| 91 | #endif | 89 | #endif |
| 92 | 90 | ||
| @@ -157,82 +155,22 @@ struct x_display_info *x_display_list; | |||
| 157 | 155 | ||
| 158 | Lisp_Object x_display_name_list; | 156 | Lisp_Object x_display_name_list; |
| 159 | 157 | ||
| 160 | /* This is a frame waiting to be auto-raised, within XTread_socket. */ | ||
| 161 | |||
| 162 | static struct frame *pending_autoraise_frame; | ||
| 163 | |||
| 164 | /* This is a frame waiting for an event matching mask, within XTread_socket. */ | ||
| 165 | |||
| 166 | static struct { | ||
| 167 | struct frame *f; | ||
| 168 | int eventtype; | ||
| 169 | } pending_event_wait; | ||
| 170 | |||
| 171 | #ifdef USE_X_TOOLKIT | 158 | #ifdef USE_X_TOOLKIT |
| 159 | |||
| 172 | /* The application context for Xt use. */ | 160 | /* The application context for Xt use. */ |
| 173 | XtAppContext Xt_app_con; | 161 | XtAppContext Xt_app_con; |
| 174 | static String Xt_default_resources[] = {0}; | 162 | static String Xt_default_resources[] = {0}; |
| 175 | 163 | ||
| 176 | /* Non-zero means user is interacting with a toolkit scroll bar. */ | 164 | /* Non-zero means user is interacting with a toolkit scroll bar. */ |
| 165 | static bool toolkit_scroll_bar_interaction; | ||
| 177 | 166 | ||
| 178 | static int toolkit_scroll_bar_interaction; | ||
| 179 | #endif /* USE_X_TOOLKIT */ | 167 | #endif /* USE_X_TOOLKIT */ |
| 180 | 168 | ||
| 181 | /* Non-zero timeout value means ignore next mouse click if it arrives | 169 | /* Non-zero timeout value means ignore next mouse click if it arrives |
| 182 | before that timeout elapses (i.e. as part of the same sequence of | 170 | before that timeout elapses (i.e. as part of the same sequence of |
| 183 | events resulting from clicking on a frame to select it). */ | 171 | events resulting from clicking on a frame to select it). */ |
| 184 | 172 | ||
| 185 | static unsigned long ignore_next_mouse_click_timeout; | 173 | static Time ignore_next_mouse_click_timeout; |
| 186 | |||
| 187 | /* Mouse movement. | ||
| 188 | |||
| 189 | Formerly, we used PointerMotionHintMask (in standard_event_mask) | ||
| 190 | so that we would have to call XQueryPointer after each MotionNotify | ||
| 191 | event to ask for another such event. However, this made mouse tracking | ||
| 192 | slow, and there was a bug that made it eventually stop. | ||
| 193 | |||
| 194 | Simply asking for MotionNotify all the time seems to work better. | ||
| 195 | |||
| 196 | In order to avoid asking for motion events and then throwing most | ||
| 197 | of them away or busy-polling the server for mouse positions, we ask | ||
| 198 | the server for pointer motion hints. This means that we get only | ||
| 199 | one event per group of mouse movements. "Groups" are delimited by | ||
| 200 | other kinds of events (focus changes and button clicks, for | ||
| 201 | example), or by XQueryPointer calls; when one of these happens, we | ||
| 202 | get another MotionNotify event the next time the mouse moves. This | ||
| 203 | is at least as efficient as getting motion events when mouse | ||
| 204 | tracking is on, and I suspect only negligibly worse when tracking | ||
| 205 | is off. */ | ||
| 206 | |||
| 207 | /* Where the mouse was last time we reported a mouse event. */ | ||
| 208 | |||
| 209 | static XRectangle last_mouse_glyph; | ||
| 210 | static struct frame *last_mouse_glyph_frame; | ||
| 211 | |||
| 212 | /* The scroll bar in which the last X motion event occurred. | ||
| 213 | |||
| 214 | If the last X motion event occurred in a scroll bar, we set this so | ||
| 215 | XTmouse_position can know whether to report a scroll bar motion or | ||
| 216 | an ordinary motion. | ||
| 217 | |||
| 218 | If the last X motion event didn't occur in a scroll bar, we set | ||
| 219 | this to Qnil, to tell XTmouse_position to return an ordinary motion | ||
| 220 | event. */ | ||
| 221 | |||
| 222 | static Lisp_Object last_mouse_scroll_bar; | ||
| 223 | |||
| 224 | /* This is a hack. We would really prefer that XTmouse_position would | ||
| 225 | return the time associated with the position it returns, but there | ||
| 226 | doesn't seem to be any way to wrest the time-stamp from the server | ||
| 227 | along with the position query. So, we just keep track of the time | ||
| 228 | of the last movement we received, and return that in hopes that | ||
| 229 | it's somewhat accurate. */ | ||
| 230 | |||
| 231 | static Time last_mouse_movement_time; | ||
| 232 | |||
| 233 | /* Time for last user interaction as returned in X events. */ | ||
| 234 | |||
| 235 | static Time last_user_time; | ||
| 236 | 174 | ||
| 237 | /* Incremented by XTread_socket whenever it really tries to read | 175 | /* Incremented by XTread_socket whenever it really tries to read |
| 238 | events. */ | 176 | events. */ |
| @@ -299,8 +237,6 @@ static void frame_unhighlight (struct frame *); | |||
| 299 | static void x_new_focus_frame (struct x_display_info *, struct frame *); | 237 | static void x_new_focus_frame (struct x_display_info *, struct frame *); |
| 300 | static void x_focus_changed (int, int, struct x_display_info *, | 238 | static void x_focus_changed (int, int, struct x_display_info *, |
| 301 | struct frame *, struct input_event *); | 239 | struct frame *, struct input_event *); |
| 302 | static void x_detect_focus_change (struct x_display_info *, | ||
| 303 | XEvent *, struct input_event *); | ||
| 304 | static void XTframe_rehighlight (struct frame *); | 240 | static void XTframe_rehighlight (struct frame *); |
| 305 | static void x_frame_rehighlight (struct x_display_info *); | 241 | static void x_frame_rehighlight (struct x_display_info *); |
| 306 | static void x_draw_hollow_cursor (struct window *, struct glyph_row *); | 242 | static void x_draw_hollow_cursor (struct window *, struct glyph_row *); |
| @@ -317,12 +253,13 @@ static void x_scroll_bar_report_motion (struct frame **, Lisp_Object *, | |||
| 317 | enum scroll_bar_part *, | 253 | enum scroll_bar_part *, |
| 318 | Lisp_Object *, Lisp_Object *, | 254 | Lisp_Object *, Lisp_Object *, |
| 319 | Time *); | 255 | Time *); |
| 320 | static int x_handle_net_wm_state (struct frame *, XPropertyEvent *); | 256 | static int x_handle_net_wm_state (struct frame *, const XPropertyEvent *); |
| 321 | static void x_check_fullscreen (struct frame *); | 257 | static void x_check_fullscreen (struct frame *); |
| 322 | static void x_check_expected_move (struct frame *, int, int); | 258 | static void x_check_expected_move (struct frame *, int, int); |
| 323 | static void x_sync_with_move (struct frame *, int, int, int); | 259 | static void x_sync_with_move (struct frame *, int, int, int); |
| 324 | static int handle_one_xevent (struct x_display_info *, XEvent *, | 260 | static int handle_one_xevent (struct x_display_info *, |
| 325 | int *, struct input_event *); | 261 | const XEvent *, int *, |
| 262 | struct input_event *); | ||
| 326 | #ifdef USE_GTK | 263 | #ifdef USE_GTK |
| 327 | static int x_dispatch_event (XEvent *, Display *); | 264 | static int x_dispatch_event (XEvent *, Display *); |
| 328 | #endif | 265 | #endif |
| @@ -334,29 +271,19 @@ static void x_wm_set_icon_pixmap (struct frame *, ptrdiff_t); | |||
| 334 | static void x_initialize (void); | 271 | static void x_initialize (void); |
| 335 | 272 | ||
| 336 | 273 | ||
| 337 | /* Flush display of frame F, or of all frames if F is null. */ | 274 | /* Flush display of frame F. */ |
| 338 | 275 | ||
| 339 | static void | 276 | static void |
| 340 | x_flush (struct frame *f) | 277 | x_flush (struct frame *f) |
| 341 | { | 278 | { |
| 279 | eassert (f && FRAME_X_P (f)); | ||
| 342 | /* Don't call XFlush when it is not safe to redisplay; the X | 280 | /* Don't call XFlush when it is not safe to redisplay; the X |
| 343 | connection may be broken. */ | 281 | connection may be broken. */ |
| 344 | if (!NILP (Vinhibit_redisplay)) | 282 | if (!NILP (Vinhibit_redisplay)) |
| 345 | return; | 283 | return; |
| 346 | 284 | ||
| 347 | block_input (); | 285 | block_input (); |
| 348 | if (f) | 286 | XFlush (FRAME_X_DISPLAY (f)); |
| 349 | { | ||
| 350 | eassert (FRAME_X_P (f)); | ||
| 351 | XFlush (FRAME_X_DISPLAY (f)); | ||
| 352 | } | ||
| 353 | else | ||
| 354 | { | ||
| 355 | /* Flush all displays and so all frames on them. */ | ||
| 356 | struct x_display_info *xdi; | ||
| 357 | for (xdi = x_display_list; xdi; xdi = xdi->next) | ||
| 358 | XFlush (xdi->display); | ||
| 359 | } | ||
| 360 | unblock_input (); | 287 | unblock_input (); |
| 361 | } | 288 | } |
| 362 | 289 | ||
| @@ -426,7 +353,7 @@ x_find_topmost_parent (struct frame *f) | |||
| 426 | Window win = None, wi = x->parent_desc; | 353 | Window win = None, wi = x->parent_desc; |
| 427 | Display *dpy = FRAME_X_DISPLAY (f); | 354 | Display *dpy = FRAME_X_DISPLAY (f); |
| 428 | 355 | ||
| 429 | while (wi != FRAME_X_DISPLAY_INFO (f)->root_window) | 356 | while (wi != FRAME_DISPLAY_INFO (f)->root_window) |
| 430 | { | 357 | { |
| 431 | Window root; | 358 | Window root; |
| 432 | Window *children; | 359 | Window *children; |
| @@ -445,7 +372,7 @@ x_find_topmost_parent (struct frame *f) | |||
| 445 | void | 372 | void |
| 446 | x_set_frame_alpha (struct frame *f) | 373 | x_set_frame_alpha (struct frame *f) |
| 447 | { | 374 | { |
| 448 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 375 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 449 | Display *dpy = FRAME_X_DISPLAY (f); | 376 | Display *dpy = FRAME_X_DISPLAY (f); |
| 450 | Window win = FRAME_OUTER_WINDOW (f); | 377 | Window win = FRAME_OUTER_WINDOW (f); |
| 451 | double alpha = 1.0; | 378 | double alpha = 1.0; |
| @@ -802,7 +729,7 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring | |||
| 802 | if (p->overlay_p) | 729 | if (p->overlay_p) |
| 803 | { | 730 | { |
| 804 | clipmask = XCreatePixmapFromBitmapData (display, | 731 | clipmask = XCreatePixmapFromBitmapData (display, |
| 805 | FRAME_X_DISPLAY_INFO (f)->root_window, | 732 | FRAME_DISPLAY_INFO (f)->root_window, |
| 806 | bits, p->wd, p->h, | 733 | bits, p->wd, p->h, |
| 807 | 1, 0, 1); | 734 | 1, 0, 1); |
| 808 | gcv.clip_mask = clipmask; | 735 | gcv.clip_mask = clipmask; |
| @@ -906,14 +833,14 @@ x_set_cursor_gc (struct glyph_string *s) | |||
| 906 | xgcv.graphics_exposures = False; | 833 | xgcv.graphics_exposures = False; |
| 907 | mask = GCForeground | GCBackground | GCGraphicsExposures; | 834 | mask = GCForeground | GCBackground | GCGraphicsExposures; |
| 908 | 835 | ||
| 909 | if (FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc) | 836 | if (FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
| 910 | XChangeGC (s->display, FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc, | 837 | XChangeGC (s->display, FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
| 911 | mask, &xgcv); | 838 | mask, &xgcv); |
| 912 | else | 839 | else |
| 913 | FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc | 840 | FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc |
| 914 | = XCreateGC (s->display, s->window, mask, &xgcv); | 841 | = XCreateGC (s->display, s->window, mask, &xgcv); |
| 915 | 842 | ||
| 916 | s->gc = FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc; | 843 | s->gc = FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
| 917 | } | 844 | } |
| 918 | } | 845 | } |
| 919 | 846 | ||
| @@ -953,14 +880,14 @@ x_set_mouse_face_gc (struct glyph_string *s) | |||
| 953 | xgcv.graphics_exposures = False; | 880 | xgcv.graphics_exposures = False; |
| 954 | mask = GCForeground | GCBackground | GCGraphicsExposures; | 881 | mask = GCForeground | GCBackground | GCGraphicsExposures; |
| 955 | 882 | ||
| 956 | if (FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc) | 883 | if (FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
| 957 | XChangeGC (s->display, FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc, | 884 | XChangeGC (s->display, FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
| 958 | mask, &xgcv); | 885 | mask, &xgcv); |
| 959 | else | 886 | else |
| 960 | FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc | 887 | FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc |
| 961 | = XCreateGC (s->display, s->window, mask, &xgcv); | 888 | = XCreateGC (s->display, s->window, mask, &xgcv); |
| 962 | 889 | ||
| 963 | s->gc = FRAME_X_DISPLAY_INFO (s->f)->scratch_cursor_gc; | 890 | s->gc = FRAME_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
| 964 | 891 | ||
| 965 | } | 892 | } |
| 966 | eassert (s->gc != 0); | 893 | eassert (s->gc != 0); |
| @@ -1396,7 +1323,7 @@ x_frame_of_widget (Widget widget) | |||
| 1396 | f = XFRAME (frame); | 1323 | f = XFRAME (frame); |
| 1397 | if (FRAME_X_P (f) | 1324 | if (FRAME_X_P (f) |
| 1398 | && f->output_data.nothing != 1 | 1325 | && f->output_data.nothing != 1 |
| 1399 | && FRAME_X_DISPLAY_INFO (f) == dpyinfo | 1326 | && FRAME_DISPLAY_INFO (f) == dpyinfo |
| 1400 | && f->output_data.x->widget == widget) | 1327 | && f->output_data.x->widget == widget) |
| 1401 | return f; | 1328 | return f; |
| 1402 | } | 1329 | } |
| @@ -1605,7 +1532,7 @@ x_color_cells (Display *dpy, int *ncells) | |||
| 1605 | void | 1532 | void |
| 1606 | x_query_colors (struct frame *f, XColor *colors, int ncolors) | 1533 | x_query_colors (struct frame *f, XColor *colors, int ncolors) |
| 1607 | { | 1534 | { |
| 1608 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1535 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1609 | 1536 | ||
| 1610 | if (dpyinfo->color_cells) | 1537 | if (dpyinfo->color_cells) |
| 1611 | { | 1538 | { |
| @@ -1845,7 +1772,7 @@ x_setup_relief_color (struct frame *f, struct relief *relief, double factor, int | |||
| 1845 | unsigned long pixel; | 1772 | unsigned long pixel; |
| 1846 | unsigned long background = di->relief_background; | 1773 | unsigned long background = di->relief_background; |
| 1847 | Colormap cmap = FRAME_X_COLORMAP (f); | 1774 | Colormap cmap = FRAME_X_COLORMAP (f); |
| 1848 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1775 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 1849 | Display *dpy = FRAME_X_DISPLAY (f); | 1776 | Display *dpy = FRAME_X_DISPLAY (f); |
| 1850 | 1777 | ||
| 1851 | xgcv.graphics_exposures = False; | 1778 | xgcv.graphics_exposures = False; |
| @@ -3035,26 +2962,7 @@ XTflash (struct frame *f) | |||
| 3035 | /* These will be the left and right margins of the rectangles. */ | 2962 | /* These will be the left and right margins of the rectangles. */ |
| 3036 | int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f); | 2963 | int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f); |
| 3037 | int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f); | 2964 | int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f); |
| 3038 | 2965 | int width = flash_right - flash_left; | |
| 3039 | int width; | ||
| 3040 | |||
| 3041 | /* Don't flash the area between a scroll bar and the frame | ||
| 3042 | edge it is next to. */ | ||
| 3043 | switch (FRAME_VERTICAL_SCROLL_BAR_TYPE (f)) | ||
| 3044 | { | ||
| 3045 | case vertical_scroll_bar_left: | ||
| 3046 | flash_left += VERTICAL_SCROLL_BAR_WIDTH_TRIM; | ||
| 3047 | break; | ||
| 3048 | |||
| 3049 | case vertical_scroll_bar_right: | ||
| 3050 | flash_right -= VERTICAL_SCROLL_BAR_WIDTH_TRIM; | ||
| 3051 | break; | ||
| 3052 | |||
| 3053 | default: | ||
| 3054 | break; | ||
| 3055 | } | ||
| 3056 | |||
| 3057 | width = flash_right - flash_left; | ||
| 3058 | 2966 | ||
| 3059 | /* If window is tall, flash top and bottom line. */ | 2967 | /* If window is tall, flash top and bottom line. */ |
| 3060 | if (height > 3 * FRAME_LINE_HEIGHT (f)) | 2968 | if (height > 3 * FRAME_LINE_HEIGHT (f)) |
| @@ -3146,9 +3054,9 @@ XTtoggle_invisible_pointer (struct frame *f, int invisible) | |||
| 3146 | block_input (); | 3054 | block_input (); |
| 3147 | if (invisible) | 3055 | if (invisible) |
| 3148 | { | 3056 | { |
| 3149 | if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor != 0) | 3057 | if (FRAME_DISPLAY_INFO (f)->invisible_cursor != 0) |
| 3150 | XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 3058 | XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| 3151 | FRAME_X_DISPLAY_INFO (f)->invisible_cursor); | 3059 | FRAME_DISPLAY_INFO (f)->invisible_cursor); |
| 3152 | } | 3060 | } |
| 3153 | else | 3061 | else |
| 3154 | XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 3062 | XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| @@ -3341,9 +3249,9 @@ x_new_focus_frame (struct x_display_info *dpyinfo, struct frame *frame) | |||
| 3341 | x_lower_frame (old_focus); | 3249 | x_lower_frame (old_focus); |
| 3342 | 3250 | ||
| 3343 | if (dpyinfo->x_focus_frame && dpyinfo->x_focus_frame->auto_raise) | 3251 | if (dpyinfo->x_focus_frame && dpyinfo->x_focus_frame->auto_raise) |
| 3344 | pending_autoraise_frame = dpyinfo->x_focus_frame; | 3252 | dpyinfo->x_pending_autoraise_frame = dpyinfo->x_focus_frame; |
| 3345 | else | 3253 | else |
| 3346 | pending_autoraise_frame = 0; | 3254 | dpyinfo->x_pending_autoraise_frame = NULL; |
| 3347 | } | 3255 | } |
| 3348 | 3256 | ||
| 3349 | x_frame_rehighlight (dpyinfo); | 3257 | x_frame_rehighlight (dpyinfo); |
| @@ -3403,18 +3311,192 @@ x_focus_changed (int type, int state, struct x_display_info *dpyinfo, struct fra | |||
| 3403 | } | 3311 | } |
| 3404 | } | 3312 | } |
| 3405 | 3313 | ||
| 3314 | /* Return the Emacs frame-object corresponding to an X window. | ||
| 3315 | It could be the frame's main window or an icon window. */ | ||
| 3316 | |||
| 3317 | static struct frame * | ||
| 3318 | x_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 3319 | { | ||
| 3320 | Lisp_Object tail, frame; | ||
| 3321 | struct frame *f; | ||
| 3322 | |||
| 3323 | if (wdesc == None) | ||
| 3324 | return NULL; | ||
| 3325 | |||
| 3326 | FOR_EACH_FRAME (tail, frame) | ||
| 3327 | { | ||
| 3328 | f = XFRAME (frame); | ||
| 3329 | if (!FRAME_X_P (f) || FRAME_DISPLAY_INFO (f) != dpyinfo) | ||
| 3330 | continue; | ||
| 3331 | if (f->output_data.x->hourglass_window == wdesc) | ||
| 3332 | return f; | ||
| 3333 | #ifdef USE_X_TOOLKIT | ||
| 3334 | if ((f->output_data.x->edit_widget | ||
| 3335 | && XtWindow (f->output_data.x->edit_widget) == wdesc) | ||
| 3336 | /* A tooltip frame? */ | ||
| 3337 | || (!f->output_data.x->edit_widget | ||
| 3338 | && FRAME_X_WINDOW (f) == wdesc) | ||
| 3339 | || f->output_data.x->icon_desc == wdesc) | ||
| 3340 | return f; | ||
| 3341 | #else /* not USE_X_TOOLKIT */ | ||
| 3342 | #ifdef USE_GTK | ||
| 3343 | if (f->output_data.x->edit_widget) | ||
| 3344 | { | ||
| 3345 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 3346 | struct x_output *x = f->output_data.x; | ||
| 3347 | if (gwdesc != 0 && gwdesc == x->edit_widget) | ||
| 3348 | return f; | ||
| 3349 | } | ||
| 3350 | #endif /* USE_GTK */ | ||
| 3351 | if (FRAME_X_WINDOW (f) == wdesc | ||
| 3352 | || f->output_data.x->icon_desc == wdesc) | ||
| 3353 | return f; | ||
| 3354 | #endif /* not USE_X_TOOLKIT */ | ||
| 3355 | } | ||
| 3356 | return 0; | ||
| 3357 | } | ||
| 3358 | |||
| 3359 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) | ||
| 3360 | |||
| 3361 | /* Like x_window_to_frame but also compares the window with the widget's | ||
| 3362 | windows. */ | ||
| 3363 | |||
| 3364 | static struct frame * | ||
| 3365 | x_any_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 3366 | { | ||
| 3367 | Lisp_Object tail, frame; | ||
| 3368 | struct frame *f, *found = NULL; | ||
| 3369 | struct x_output *x; | ||
| 3370 | |||
| 3371 | if (wdesc == None) | ||
| 3372 | return NULL; | ||
| 3373 | |||
| 3374 | FOR_EACH_FRAME (tail, frame) | ||
| 3375 | { | ||
| 3376 | if (found) | ||
| 3377 | break; | ||
| 3378 | f = XFRAME (frame); | ||
| 3379 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo) | ||
| 3380 | { | ||
| 3381 | /* This frame matches if the window is any of its widgets. */ | ||
| 3382 | x = f->output_data.x; | ||
| 3383 | if (x->hourglass_window == wdesc) | ||
| 3384 | found = f; | ||
| 3385 | else if (x->widget) | ||
| 3386 | { | ||
| 3387 | #ifdef USE_GTK | ||
| 3388 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 3389 | if (gwdesc != 0 | ||
| 3390 | && gtk_widget_get_toplevel (gwdesc) == x->widget) | ||
| 3391 | found = f; | ||
| 3392 | #else | ||
| 3393 | if (wdesc == XtWindow (x->widget) | ||
| 3394 | || wdesc == XtWindow (x->column_widget) | ||
| 3395 | || wdesc == XtWindow (x->edit_widget)) | ||
| 3396 | found = f; | ||
| 3397 | /* Match if the window is this frame's menubar. */ | ||
| 3398 | else if (lw_window_is_in_menubar (wdesc, x->menubar_widget)) | ||
| 3399 | found = f; | ||
| 3400 | #endif | ||
| 3401 | } | ||
| 3402 | else if (FRAME_X_WINDOW (f) == wdesc) | ||
| 3403 | /* A tooltip frame. */ | ||
| 3404 | found = f; | ||
| 3405 | } | ||
| 3406 | } | ||
| 3407 | |||
| 3408 | return found; | ||
| 3409 | } | ||
| 3410 | |||
| 3411 | /* Likewise, but consider only the menu bar widget. */ | ||
| 3412 | |||
| 3413 | static struct frame * | ||
| 3414 | x_menubar_window_to_frame (struct x_display_info *dpyinfo, | ||
| 3415 | const XEvent *event) | ||
| 3416 | { | ||
| 3417 | Window wdesc = event->xany.window; | ||
| 3418 | Lisp_Object tail, frame; | ||
| 3419 | struct frame *f; | ||
| 3420 | struct x_output *x; | ||
| 3421 | |||
| 3422 | if (wdesc == None) | ||
| 3423 | return NULL; | ||
| 3424 | |||
| 3425 | FOR_EACH_FRAME (tail, frame) | ||
| 3426 | { | ||
| 3427 | f = XFRAME (frame); | ||
| 3428 | if (!FRAME_X_P (f) || FRAME_DISPLAY_INFO (f) != dpyinfo) | ||
| 3429 | continue; | ||
| 3430 | x = f->output_data.x; | ||
| 3431 | #ifdef USE_GTK | ||
| 3432 | if (x->menubar_widget && xg_event_is_for_menubar (f, event)) | ||
| 3433 | return f; | ||
| 3434 | #else | ||
| 3435 | /* Match if the window is this frame's menubar. */ | ||
| 3436 | if (x->menubar_widget | ||
| 3437 | && lw_window_is_in_menubar (wdesc, x->menubar_widget)) | ||
| 3438 | return f; | ||
| 3439 | #endif | ||
| 3440 | } | ||
| 3441 | return 0; | ||
| 3442 | } | ||
| 3443 | |||
| 3444 | /* Return the frame whose principal (outermost) window is WDESC. | ||
| 3445 | If WDESC is some other (smaller) window, we return 0. */ | ||
| 3446 | |||
| 3447 | struct frame * | ||
| 3448 | x_top_window_to_frame (struct x_display_info *dpyinfo, int wdesc) | ||
| 3449 | { | ||
| 3450 | Lisp_Object tail, frame; | ||
| 3451 | struct frame *f; | ||
| 3452 | struct x_output *x; | ||
| 3453 | |||
| 3454 | if (wdesc == None) | ||
| 3455 | return NULL; | ||
| 3456 | |||
| 3457 | FOR_EACH_FRAME (tail, frame) | ||
| 3458 | { | ||
| 3459 | f = XFRAME (frame); | ||
| 3460 | if (!FRAME_X_P (f) || FRAME_DISPLAY_INFO (f) != dpyinfo) | ||
| 3461 | continue; | ||
| 3462 | x = f->output_data.x; | ||
| 3463 | |||
| 3464 | if (x->widget) | ||
| 3465 | { | ||
| 3466 | /* This frame matches if the window is its topmost widget. */ | ||
| 3467 | #ifdef USE_GTK | ||
| 3468 | GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); | ||
| 3469 | if (gwdesc == x->widget) | ||
| 3470 | return f; | ||
| 3471 | #else | ||
| 3472 | if (wdesc == XtWindow (x->widget)) | ||
| 3473 | return f; | ||
| 3474 | #endif | ||
| 3475 | } | ||
| 3476 | else if (FRAME_X_WINDOW (f) == wdesc) | ||
| 3477 | /* Tooltip frame. */ | ||
| 3478 | return f; | ||
| 3479 | } | ||
| 3480 | return 0; | ||
| 3481 | } | ||
| 3482 | |||
| 3483 | #else /* !USE_X_TOOLKIT && !USE_GTK */ | ||
| 3484 | |||
| 3485 | #define x_any_window_to_frame(d, i) x_window_to_frame (d, i) | ||
| 3486 | #define x_top_window_to_frame(d, i) x_window_to_frame (d, i) | ||
| 3487 | |||
| 3488 | #endif /* USE_X_TOOLKIT || USE_GTK */ | ||
| 3489 | |||
| 3406 | /* The focus may have changed. Figure out if it is a real focus change, | 3490 | /* The focus may have changed. Figure out if it is a real focus change, |
| 3407 | by checking both FocusIn/Out and Enter/LeaveNotify events. | 3491 | by checking both FocusIn/Out and Enter/LeaveNotify events. |
| 3408 | 3492 | ||
| 3409 | Returns FOCUS_IN_EVENT event in *BUFP. */ | 3493 | Returns FOCUS_IN_EVENT event in *BUFP. */ |
| 3410 | 3494 | ||
| 3411 | static void | 3495 | static void |
| 3412 | x_detect_focus_change (struct x_display_info *dpyinfo, XEvent *event, struct input_event *bufp) | 3496 | x_detect_focus_change (struct x_display_info *dpyinfo, struct frame *frame, |
| 3497 | const XEvent *event, struct input_event *bufp) | ||
| 3413 | { | 3498 | { |
| 3414 | struct frame *frame; | 3499 | if (!frame) |
| 3415 | |||
| 3416 | frame = x_any_window_to_frame (dpyinfo, event->xany.window); | ||
| 3417 | if (! frame) | ||
| 3418 | return; | 3500 | return; |
| 3419 | 3501 | ||
| 3420 | switch (event->type) | 3502 | switch (event->type) |
| @@ -3476,7 +3558,7 @@ x_mouse_leave (struct x_display_info *dpyinfo) | |||
| 3476 | static void | 3558 | static void |
| 3477 | XTframe_rehighlight (struct frame *frame) | 3559 | XTframe_rehighlight (struct frame *frame) |
| 3478 | { | 3560 | { |
| 3479 | x_frame_rehighlight (FRAME_X_DISPLAY_INFO (frame)); | 3561 | x_frame_rehighlight (FRAME_DISPLAY_INFO (frame)); |
| 3480 | } | 3562 | } |
| 3481 | 3563 | ||
| 3482 | static void | 3564 | static void |
| @@ -3692,9 +3774,25 @@ x_get_keysym_name (int keysym) | |||
| 3692 | return value; | 3774 | return value; |
| 3693 | } | 3775 | } |
| 3694 | 3776 | ||
| 3777 | /* Mouse clicks and mouse movement. Rah. | ||
| 3695 | 3778 | ||
| 3696 | 3779 | Formerly, we used PointerMotionHintMask (in standard_event_mask) | |
| 3697 | /* Mouse clicks and mouse movement. Rah. */ | 3780 | so that we would have to call XQueryPointer after each MotionNotify |
| 3781 | event to ask for another such event. However, this made mouse tracking | ||
| 3782 | slow, and there was a bug that made it eventually stop. | ||
| 3783 | |||
| 3784 | Simply asking for MotionNotify all the time seems to work better. | ||
| 3785 | |||
| 3786 | In order to avoid asking for motion events and then throwing most | ||
| 3787 | of them away or busy-polling the server for mouse positions, we ask | ||
| 3788 | the server for pointer motion hints. This means that we get only | ||
| 3789 | one event per group of mouse movements. "Groups" are delimited by | ||
| 3790 | other kinds of events (focus changes and button clicks, for | ||
| 3791 | example), or by XQueryPointer calls; when one of these happens, we | ||
| 3792 | get another MotionNotify event the next time the mouse moves. This | ||
| 3793 | is at least as efficient as getting motion events when mouse | ||
| 3794 | tracking is on, and I suspect only negligibly worse when tracking | ||
| 3795 | is off. */ | ||
| 3698 | 3796 | ||
| 3699 | /* Prepare a mouse-event in *RESULT for placement in the input queue. | 3797 | /* Prepare a mouse-event in *RESULT for placement in the input queue. |
| 3700 | 3798 | ||
| @@ -3702,14 +3800,16 @@ x_get_keysym_name (int keysym) | |||
| 3702 | the mouse. */ | 3800 | the mouse. */ |
| 3703 | 3801 | ||
| 3704 | static Lisp_Object | 3802 | static Lisp_Object |
| 3705 | construct_mouse_click (struct input_event *result, XButtonEvent *event, struct frame *f) | 3803 | construct_mouse_click (struct input_event *result, |
| 3804 | const XButtonEvent *event, | ||
| 3805 | struct frame *f) | ||
| 3706 | { | 3806 | { |
| 3707 | /* Make the event type NO_EVENT; we'll change that when we decide | 3807 | /* Make the event type NO_EVENT; we'll change that when we decide |
| 3708 | otherwise. */ | 3808 | otherwise. */ |
| 3709 | result->kind = MOUSE_CLICK_EVENT; | 3809 | result->kind = MOUSE_CLICK_EVENT; |
| 3710 | result->code = event->button - Button1; | 3810 | result->code = event->button - Button1; |
| 3711 | result->timestamp = event->time; | 3811 | result->timestamp = event->time; |
| 3712 | result->modifiers = (x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), | 3812 | result->modifiers = (x_x_to_emacs_modifiers (FRAME_DISPLAY_INFO (f), |
| 3713 | event->state) | 3813 | event->state) |
| 3714 | | (event->type == ButtonRelease | 3814 | | (event->type == ButtonRelease |
| 3715 | ? up_modifier | 3815 | ? up_modifier |
| @@ -3730,65 +3830,49 @@ construct_mouse_click (struct input_event *result, XButtonEvent *event, struct f | |||
| 3730 | the mainstream emacs code by setting mouse_moved. If not, ask for | 3830 | the mainstream emacs code by setting mouse_moved. If not, ask for |
| 3731 | another motion event, so we can check again the next time it moves. */ | 3831 | another motion event, so we can check again the next time it moves. */ |
| 3732 | 3832 | ||
| 3733 | static XMotionEvent last_mouse_motion_event; | ||
| 3734 | static Lisp_Object last_mouse_motion_frame; | ||
| 3735 | |||
| 3736 | static int | 3833 | static int |
| 3737 | note_mouse_movement (struct frame *frame, XMotionEvent *event) | 3834 | note_mouse_movement (struct frame *frame, const XMotionEvent *event) |
| 3738 | { | 3835 | { |
| 3739 | last_mouse_movement_time = event->time; | 3836 | XRectangle *r; |
| 3740 | last_mouse_motion_event = *event; | 3837 | struct x_display_info *dpyinfo; |
| 3741 | XSETFRAME (last_mouse_motion_frame, frame); | ||
| 3742 | 3838 | ||
| 3743 | if (!FRAME_X_OUTPUT (frame)) | 3839 | if (!FRAME_X_OUTPUT (frame)) |
| 3744 | return 0; | 3840 | return 0; |
| 3745 | 3841 | ||
| 3842 | dpyinfo = FRAME_DISPLAY_INFO (frame); | ||
| 3843 | dpyinfo->last_mouse_movement_time = event->time; | ||
| 3844 | dpyinfo->last_mouse_motion_frame = frame; | ||
| 3845 | dpyinfo->last_mouse_motion_x = event->x; | ||
| 3846 | dpyinfo->last_mouse_motion_y = event->y; | ||
| 3847 | |||
| 3746 | if (event->window != FRAME_X_WINDOW (frame)) | 3848 | if (event->window != FRAME_X_WINDOW (frame)) |
| 3747 | { | 3849 | { |
| 3748 | frame->mouse_moved = 1; | 3850 | frame->mouse_moved = 1; |
| 3749 | last_mouse_scroll_bar = Qnil; | 3851 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3750 | note_mouse_highlight (frame, -1, -1); | 3852 | note_mouse_highlight (frame, -1, -1); |
| 3751 | last_mouse_glyph_frame = 0; | 3853 | dpyinfo->last_mouse_glyph_frame = NULL; |
| 3752 | return 1; | 3854 | return 1; |
| 3753 | } | 3855 | } |
| 3754 | 3856 | ||
| 3755 | 3857 | ||
| 3756 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 3858 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 3757 | if (frame != last_mouse_glyph_frame | 3859 | r = &dpyinfo->last_mouse_glyph; |
| 3758 | || event->x < last_mouse_glyph.x | 3860 | if (frame != dpyinfo->last_mouse_glyph_frame |
| 3759 | || event->x >= last_mouse_glyph.x + last_mouse_glyph.width | 3861 | || event->x < r->x || event->x >= r->x + r->width |
| 3760 | || event->y < last_mouse_glyph.y | 3862 | || event->y < r->y || event->y >= r->y + r->height) |
| 3761 | || event->y >= last_mouse_glyph.y + last_mouse_glyph.height) | ||
| 3762 | { | 3863 | { |
| 3763 | frame->mouse_moved = 1; | 3864 | frame->mouse_moved = 1; |
| 3764 | last_mouse_scroll_bar = Qnil; | 3865 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3765 | note_mouse_highlight (frame, event->x, event->y); | 3866 | note_mouse_highlight (frame, event->x, event->y); |
| 3766 | /* Remember which glyph we're now on. */ | 3867 | /* Remember which glyph we're now on. */ |
| 3767 | remember_mouse_glyph (frame, event->x, event->y, &last_mouse_glyph); | 3868 | remember_mouse_glyph (frame, event->x, event->y, r); |
| 3768 | last_mouse_glyph_frame = frame; | 3869 | dpyinfo->last_mouse_glyph_frame = frame; |
| 3769 | return 1; | 3870 | return 1; |
| 3770 | } | 3871 | } |
| 3771 | 3872 | ||
| 3772 | return 0; | 3873 | return 0; |
| 3773 | } | 3874 | } |
| 3774 | 3875 | ||
| 3775 | |||
| 3776 | /************************************************************************ | ||
| 3777 | Mouse Face | ||
| 3778 | ************************************************************************/ | ||
| 3779 | |||
| 3780 | static void | ||
| 3781 | redo_mouse_highlight (void) | ||
| 3782 | { | ||
| 3783 | if (!NILP (last_mouse_motion_frame) | ||
| 3784 | && FRAME_LIVE_P (XFRAME (last_mouse_motion_frame))) | ||
| 3785 | note_mouse_highlight (XFRAME (last_mouse_motion_frame), | ||
| 3786 | last_mouse_motion_event.x, | ||
| 3787 | last_mouse_motion_event.y); | ||
| 3788 | } | ||
| 3789 | |||
| 3790 | |||
| 3791 | |||
| 3792 | /* Return the current position of the mouse. | 3876 | /* Return the current position of the mouse. |
| 3793 | *FP should be a frame which indicates which display to ask about. | 3877 | *FP should be a frame which indicates which display to ask about. |
| 3794 | 3878 | ||
| @@ -3815,10 +3899,11 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3815 | Time *timestamp) | 3899 | Time *timestamp) |
| 3816 | { | 3900 | { |
| 3817 | struct frame *f1; | 3901 | struct frame *f1; |
| 3902 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); | ||
| 3818 | 3903 | ||
| 3819 | block_input (); | 3904 | block_input (); |
| 3820 | 3905 | ||
| 3821 | if (! NILP (last_mouse_scroll_bar) && insist == 0) | 3906 | if (dpyinfo->last_mouse_scroll_bar && insist == 0) |
| 3822 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, timestamp); | 3907 | x_scroll_bar_report_motion (fp, bar_window, part, x, y, timestamp); |
| 3823 | else | 3908 | else |
| 3824 | { | 3909 | { |
| @@ -3836,7 +3921,7 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3836 | && FRAME_X_DISPLAY (XFRAME (frame)) == FRAME_X_DISPLAY (*fp)) | 3921 | && FRAME_X_DISPLAY (XFRAME (frame)) == FRAME_X_DISPLAY (*fp)) |
| 3837 | XFRAME (frame)->mouse_moved = 0; | 3922 | XFRAME (frame)->mouse_moved = 0; |
| 3838 | 3923 | ||
| 3839 | last_mouse_scroll_bar = Qnil; | 3924 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 3840 | 3925 | ||
| 3841 | /* Figure out which root window we're on. */ | 3926 | /* Figure out which root window we're on. */ |
| 3842 | XQueryPointer (FRAME_X_DISPLAY (*fp), | 3927 | XQueryPointer (FRAME_X_DISPLAY (*fp), |
| @@ -3874,22 +3959,24 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3874 | 3959 | ||
| 3875 | x_catch_errors (FRAME_X_DISPLAY (*fp)); | 3960 | x_catch_errors (FRAME_X_DISPLAY (*fp)); |
| 3876 | 3961 | ||
| 3877 | if (FRAME_X_DISPLAY_INFO (*fp)->grabbed && last_mouse_frame | 3962 | if (x_mouse_grabbed (dpyinfo)) |
| 3878 | && FRAME_LIVE_P (last_mouse_frame)) | ||
| 3879 | { | 3963 | { |
| 3880 | /* If mouse was grabbed on a frame, give coords for that frame | 3964 | /* If mouse was grabbed on a frame, give coords for that frame |
| 3881 | even if the mouse is now outside it. */ | 3965 | even if the mouse is now outside it. */ |
| 3882 | XTranslateCoordinates (FRAME_X_DISPLAY (*fp), | 3966 | XTranslateCoordinates (FRAME_X_DISPLAY (*fp), |
| 3883 | 3967 | ||
| 3884 | /* From-window, to-window. */ | 3968 | /* From-window. */ |
| 3885 | root, FRAME_X_WINDOW (last_mouse_frame), | 3969 | root, |
| 3970 | |||
| 3971 | /* To-window. */ | ||
| 3972 | FRAME_X_WINDOW (dpyinfo->last_mouse_frame), | ||
| 3886 | 3973 | ||
| 3887 | /* From-position, to-position. */ | 3974 | /* From-position, to-position. */ |
| 3888 | root_x, root_y, &win_x, &win_y, | 3975 | root_x, root_y, &win_x, &win_y, |
| 3889 | 3976 | ||
| 3890 | /* Child of win. */ | 3977 | /* Child of win. */ |
| 3891 | &child); | 3978 | &child); |
| 3892 | f1 = last_mouse_frame; | 3979 | f1 = dpyinfo->last_mouse_frame; |
| 3893 | } | 3980 | } |
| 3894 | else | 3981 | else |
| 3895 | { | 3982 | { |
| @@ -3913,7 +4000,7 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3913 | want the edit window. For non-Gtk+ the innermost | 4000 | want the edit window. For non-Gtk+ the innermost |
| 3914 | window is the edit window. For Gtk+ it might not | 4001 | window is the edit window. For Gtk+ it might not |
| 3915 | be. It might be the tool bar for example. */ | 4002 | be. It might be the tool bar for example. */ |
| 3916 | if (x_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win)) | 4003 | if (x_window_to_frame (dpyinfo, win)) |
| 3917 | break; | 4004 | break; |
| 3918 | #endif | 4005 | #endif |
| 3919 | win = child; | 4006 | win = child; |
| @@ -3935,10 +4022,10 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3935 | #ifdef USE_GTK | 4022 | #ifdef USE_GTK |
| 3936 | /* We don't wan't to know the innermost window. We | 4023 | /* We don't wan't to know the innermost window. We |
| 3937 | want the edit window. */ | 4024 | want the edit window. */ |
| 3938 | f1 = x_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win); | 4025 | f1 = x_window_to_frame (dpyinfo, win); |
| 3939 | #else | 4026 | #else |
| 3940 | /* Is win one of our frames? */ | 4027 | /* Is win one of our frames? */ |
| 3941 | f1 = x_any_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win); | 4028 | f1 = x_any_window_to_frame (dpyinfo, win); |
| 3942 | #endif | 4029 | #endif |
| 3943 | 4030 | ||
| 3944 | #ifdef USE_X_TOOLKIT | 4031 | #ifdef USE_X_TOOLKIT |
| @@ -3984,15 +4071,17 @@ XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |||
| 3984 | on it, i.e. into the same rectangles that matrices on | 4071 | on it, i.e. into the same rectangles that matrices on |
| 3985 | the frame are divided into. */ | 4072 | the frame are divided into. */ |
| 3986 | 4073 | ||
| 3987 | remember_mouse_glyph (f1, win_x, win_y, &last_mouse_glyph); | 4074 | /* FIXME: what if F1 is not an X frame? */ |
| 3988 | last_mouse_glyph_frame = f1; | 4075 | dpyinfo = FRAME_DISPLAY_INFO (f1); |
| 4076 | remember_mouse_glyph (f1, win_x, win_y, &dpyinfo->last_mouse_glyph); | ||
| 4077 | dpyinfo->last_mouse_glyph_frame = f1; | ||
| 3989 | 4078 | ||
| 3990 | *bar_window = Qnil; | 4079 | *bar_window = Qnil; |
| 3991 | *part = 0; | 4080 | *part = 0; |
| 3992 | *fp = f1; | 4081 | *fp = f1; |
| 3993 | XSETINT (*x, win_x); | 4082 | XSETINT (*x, win_x); |
| 3994 | XSETINT (*y, win_y); | 4083 | XSETINT (*y, win_y); |
| 3995 | *timestamp = last_mouse_movement_time; | 4084 | *timestamp = dpyinfo->last_mouse_movement_time; |
| 3996 | } | 4085 | } |
| 3997 | } | 4086 | } |
| 3998 | } | 4087 | } |
| @@ -4078,23 +4167,13 @@ x_window_to_menu_bar (Window window) | |||
| 4078 | 4167 | ||
| 4079 | #ifdef USE_TOOLKIT_SCROLL_BARS | 4168 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 4080 | 4169 | ||
| 4081 | static void x_scroll_bar_to_input_event (XEvent *, struct input_event *); | ||
| 4082 | static void x_send_scroll_bar_event (Lisp_Object, int, int, int); | 4170 | static void x_send_scroll_bar_event (Lisp_Object, int, int, int); |
| 4083 | static void x_create_toolkit_scroll_bar (struct frame *, | ||
| 4084 | struct scroll_bar *); | ||
| 4085 | static void x_set_toolkit_scroll_bar_thumb (struct scroll_bar *, | ||
| 4086 | int, int, int); | ||
| 4087 | |||
| 4088 | 4171 | ||
| 4089 | /* Lisp window being scrolled. Set when starting to interact with | 4172 | /* Lisp window being scrolled. Set when starting to interact with |
| 4090 | a toolkit scroll bar, reset to nil when ending the interaction. */ | 4173 | a toolkit scroll bar, reset to nil when ending the interaction. */ |
| 4091 | 4174 | ||
| 4092 | static Lisp_Object window_being_scrolled; | 4175 | static Lisp_Object window_being_scrolled; |
| 4093 | 4176 | ||
| 4094 | /* Last scroll bar part sent in xm_scroll_callback. */ | ||
| 4095 | |||
| 4096 | static int last_scroll_bar_part; | ||
| 4097 | |||
| 4098 | /* Whether this is an Xaw with arrow-scrollbars. This should imply | 4177 | /* Whether this is an Xaw with arrow-scrollbars. This should imply |
| 4099 | that movements of 1/20 of the screen size are mapped to up/down. */ | 4178 | that movements of 1/20 of the screen size are mapped to up/down. */ |
| 4100 | 4179 | ||
| @@ -4136,33 +4215,29 @@ xt_action_hook (Widget widget, XtPointer client_data, String action_name, | |||
| 4136 | && WINDOWP (window_being_scrolled)) | 4215 | && WINDOWP (window_being_scrolled)) |
| 4137 | { | 4216 | { |
| 4138 | struct window *w; | 4217 | struct window *w; |
| 4218 | struct scroll_bar *bar; | ||
| 4139 | 4219 | ||
| 4140 | x_send_scroll_bar_event (window_being_scrolled, | 4220 | x_send_scroll_bar_event (window_being_scrolled, |
| 4141 | scroll_bar_end_scroll, 0, 0); | 4221 | scroll_bar_end_scroll, 0, 0); |
| 4142 | w = XWINDOW (window_being_scrolled); | 4222 | w = XWINDOW (window_being_scrolled); |
| 4223 | bar = XSCROLL_BAR (w->vertical_scroll_bar); | ||
| 4143 | 4224 | ||
| 4144 | if (XSCROLL_BAR (w->vertical_scroll_bar)->dragging != -1) | 4225 | if (bar->dragging != -1) |
| 4145 | { | 4226 | { |
| 4146 | XSCROLL_BAR (w->vertical_scroll_bar)->dragging = -1; | 4227 | bar->dragging = -1; |
| 4147 | /* The thumb size is incorrect while dragging: fix it. */ | 4228 | /* The thumb size is incorrect while dragging: fix it. */ |
| 4148 | set_vertical_scroll_bar (w); | 4229 | set_vertical_scroll_bar (w); |
| 4149 | } | 4230 | } |
| 4150 | window_being_scrolled = Qnil; | 4231 | window_being_scrolled = Qnil; |
| 4151 | last_scroll_bar_part = -1; | 4232 | #if defined (USE_LUCID) |
| 4152 | 4233 | bar->last_seen_part = scroll_bar_nowhere; | |
| 4234 | #endif | ||
| 4153 | /* Xt timeouts no longer needed. */ | 4235 | /* Xt timeouts no longer needed. */ |
| 4154 | toolkit_scroll_bar_interaction = 0; | 4236 | toolkit_scroll_bar_interaction = 0; |
| 4155 | } | 4237 | } |
| 4156 | } | 4238 | } |
| 4157 | #endif /* not USE_GTK */ | 4239 | #endif /* not USE_GTK */ |
| 4158 | 4240 | ||
| 4159 | /* A vector of windows used for communication between | ||
| 4160 | x_send_scroll_bar_event and x_scroll_bar_to_input_event. */ | ||
| 4161 | |||
| 4162 | static struct window **scroll_bar_windows; | ||
| 4163 | static ptrdiff_t scroll_bar_windows_size; | ||
| 4164 | |||
| 4165 | |||
| 4166 | /* Send a client message with message type Xatom_Scrollbar for a | 4241 | /* Send a client message with message type Xatom_Scrollbar for a |
| 4167 | scroll action to the frame of WINDOW. PART is a value identifying | 4242 | scroll action to the frame of WINDOW. PART is a value identifying |
| 4168 | the part of the scroll bar that was clicked on. PORTION is the | 4243 | the part of the scroll bar that was clicked on. PORTION is the |
| @@ -4172,47 +4247,33 @@ static void | |||
| 4172 | x_send_scroll_bar_event (Lisp_Object window, int part, int portion, int whole) | 4247 | x_send_scroll_bar_event (Lisp_Object window, int part, int portion, int whole) |
| 4173 | { | 4248 | { |
| 4174 | XEvent event; | 4249 | XEvent event; |
| 4175 | XClientMessageEvent *ev = (XClientMessageEvent *) &event; | 4250 | XClientMessageEvent *ev = &event.xclient; |
| 4176 | struct window *w = XWINDOW (window); | 4251 | struct window *w = XWINDOW (window); |
| 4177 | struct frame *f = XFRAME (w->frame); | 4252 | struct frame *f = XFRAME (w->frame); |
| 4178 | ptrdiff_t i; | 4253 | intptr_t iw = (intptr_t) w; |
| 4254 | enum { BITS_PER_INTPTR = CHAR_BIT * sizeof iw }; | ||
| 4255 | verify (BITS_PER_INTPTR <= 64); | ||
| 4256 | int sign_shift = BITS_PER_INTPTR - 32; | ||
| 4179 | 4257 | ||
| 4180 | block_input (); | 4258 | block_input (); |
| 4181 | 4259 | ||
| 4182 | /* Construct a ClientMessage event to send to the frame. */ | 4260 | /* Construct a ClientMessage event to send to the frame. */ |
| 4183 | ev->type = ClientMessage; | 4261 | ev->type = ClientMessage; |
| 4184 | ev->message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_Scrollbar; | 4262 | ev->message_type = FRAME_DISPLAY_INFO (f)->Xatom_Scrollbar; |
| 4185 | ev->display = FRAME_X_DISPLAY (f); | 4263 | ev->display = FRAME_X_DISPLAY (f); |
| 4186 | ev->window = FRAME_X_WINDOW (f); | 4264 | ev->window = FRAME_X_WINDOW (f); |
| 4187 | ev->format = 32; | 4265 | ev->format = 32; |
| 4188 | 4266 | ||
| 4189 | /* We can only transfer 32 bits in the XClientMessageEvent, which is | 4267 | /* A 32-bit X client on a 64-bit X server can pass a window pointer |
| 4190 | not enough to store a pointer or Lisp_Object on a 64 bit system. | 4268 | as-is. A 64-bit client on a 32-bit X server is in trouble |
| 4191 | So, store the window in scroll_bar_windows and pass the index | 4269 | because a pointer does not fit and would be truncated while |
| 4192 | into that array in the event. */ | 4270 | passing through the server. So use two slots and hope that X12 |
| 4193 | for (i = 0; i < scroll_bar_windows_size; ++i) | 4271 | will resolve such issues someday. */ |
| 4194 | if (scroll_bar_windows[i] == NULL) | 4272 | ev->data.l[0] = iw >> 31 >> 1; |
| 4195 | break; | 4273 | ev->data.l[1] = sign_shift <= 0 ? iw : iw << sign_shift >> sign_shift; |
| 4196 | 4274 | ev->data.l[2] = part; | |
| 4197 | if (i == scroll_bar_windows_size) | 4275 | ev->data.l[3] = portion; |
| 4198 | { | 4276 | ev->data.l[4] = whole; |
| 4199 | ptrdiff_t old_nbytes = | ||
| 4200 | scroll_bar_windows_size * sizeof *scroll_bar_windows; | ||
| 4201 | ptrdiff_t nbytes; | ||
| 4202 | enum { XClientMessageEvent_MAX = 0x7fffffff }; | ||
| 4203 | scroll_bar_windows = | ||
| 4204 | xpalloc (scroll_bar_windows, &scroll_bar_windows_size, 1, | ||
| 4205 | XClientMessageEvent_MAX, sizeof *scroll_bar_windows); | ||
| 4206 | nbytes = scroll_bar_windows_size * sizeof *scroll_bar_windows; | ||
| 4207 | memset (&scroll_bar_windows[i], 0, nbytes - old_nbytes); | ||
| 4208 | } | ||
| 4209 | |||
| 4210 | scroll_bar_windows[i] = w; | ||
| 4211 | ev->data.l[0] = (long) i; | ||
| 4212 | ev->data.l[1] = (long) part; | ||
| 4213 | ev->data.l[2] = (long) 0; | ||
| 4214 | ev->data.l[3] = (long) portion; | ||
| 4215 | ev->data.l[4] = (long) whole; | ||
| 4216 | 4277 | ||
| 4217 | /* Make Xt timeouts work while the scroll bar is active. */ | 4278 | /* Make Xt timeouts work while the scroll bar is active. */ |
| 4218 | #ifdef USE_X_TOOLKIT | 4279 | #ifdef USE_X_TOOLKIT |
| @@ -4232,14 +4293,18 @@ x_send_scroll_bar_event (Lisp_Object window, int part, int portion, int whole) | |||
| 4232 | in *IEVENT. */ | 4293 | in *IEVENT. */ |
| 4233 | 4294 | ||
| 4234 | static void | 4295 | static void |
| 4235 | x_scroll_bar_to_input_event (XEvent *event, struct input_event *ievent) | 4296 | x_scroll_bar_to_input_event (const XEvent *event, |
| 4297 | struct input_event *ievent) | ||
| 4236 | { | 4298 | { |
| 4237 | XClientMessageEvent *ev = (XClientMessageEvent *) event; | 4299 | const XClientMessageEvent *ev = &event->xclient; |
| 4238 | Lisp_Object window; | 4300 | Lisp_Object window; |
| 4239 | struct window *w; | 4301 | struct window *w; |
| 4240 | 4302 | ||
| 4241 | w = scroll_bar_windows[ev->data.l[0]]; | 4303 | /* See the comment in the function above. */ |
| 4242 | scroll_bar_windows[ev->data.l[0]] = NULL; | 4304 | intptr_t iw0 = ev->data.l[0]; |
| 4305 | intptr_t iw1 = ev->data.l[1]; | ||
| 4306 | intptr_t iw = (iw0 << 31 << 1) + (iw1 & 0xffffffffu); | ||
| 4307 | w = (struct window *) iw; | ||
| 4243 | 4308 | ||
| 4244 | XSETWINDOW (window, w); | 4309 | XSETWINDOW (window, w); |
| 4245 | 4310 | ||
| @@ -4252,10 +4317,10 @@ x_scroll_bar_to_input_event (XEvent *event, struct input_event *ievent) | |||
| 4252 | ievent->timestamp = | 4317 | ievent->timestamp = |
| 4253 | XtLastTimestampProcessed (FRAME_X_DISPLAY (XFRAME (w->frame))); | 4318 | XtLastTimestampProcessed (FRAME_X_DISPLAY (XFRAME (w->frame))); |
| 4254 | #endif | 4319 | #endif |
| 4255 | ievent->part = ev->data.l[1]; | 4320 | ievent->code = 0; |
| 4256 | ievent->code = ev->data.l[2]; | 4321 | ievent->part = ev->data.l[2]; |
| 4257 | ievent->x = make_number ((int) ev->data.l[3]); | 4322 | ievent->x = make_number (ev->data.l[3]); |
| 4258 | ievent->y = make_number ((int) ev->data.l[4]); | 4323 | ievent->y = make_number (ev->data.l[4]); |
| 4259 | ievent->modifiers = 0; | 4324 | ievent->modifiers = 0; |
| 4260 | } | 4325 | } |
| 4261 | 4326 | ||
| @@ -4333,7 +4398,6 @@ xm_scroll_callback (Widget widget, XtPointer client_data, XtPointer call_data) | |||
| 4333 | if (part >= 0) | 4398 | if (part >= 0) |
| 4334 | { | 4399 | { |
| 4335 | window_being_scrolled = bar->window; | 4400 | window_being_scrolled = bar->window; |
| 4336 | last_scroll_bar_part = part; | ||
| 4337 | x_send_scroll_bar_event (bar->window, part, portion, whole); | 4401 | x_send_scroll_bar_event (bar->window, part, portion, whole); |
| 4338 | } | 4402 | } |
| 4339 | } | 4403 | } |
| @@ -4363,8 +4427,8 @@ xg_scroll_callback (GtkRange *range, | |||
| 4363 | { | 4427 | { |
| 4364 | case GTK_SCROLL_JUMP: | 4428 | case GTK_SCROLL_JUMP: |
| 4365 | /* Buttons 1 2 or 3 must be grabbed. */ | 4429 | /* Buttons 1 2 or 3 must be grabbed. */ |
| 4366 | if (FRAME_X_DISPLAY_INFO (f)->grabbed != 0 | 4430 | if (FRAME_DISPLAY_INFO (f)->grabbed != 0 |
| 4367 | && FRAME_X_DISPLAY_INFO (f)->grabbed < (1 << 4)) | 4431 | && FRAME_DISPLAY_INFO (f)->grabbed < (1 << 4)) |
| 4368 | { | 4432 | { |
| 4369 | part = scroll_bar_handle; | 4433 | part = scroll_bar_handle; |
| 4370 | whole = gtk_adjustment_get_upper (adj) - | 4434 | whole = gtk_adjustment_get_upper (adj) - |
| @@ -4394,7 +4458,6 @@ xg_scroll_callback (GtkRange *range, | |||
| 4394 | if (part >= 0) | 4458 | if (part >= 0) |
| 4395 | { | 4459 | { |
| 4396 | window_being_scrolled = bar->window; | 4460 | window_being_scrolled = bar->window; |
| 4397 | last_scroll_bar_part = part; | ||
| 4398 | x_send_scroll_bar_event (bar->window, part, portion, whole); | 4461 | x_send_scroll_bar_event (bar->window, part, portion, whole); |
| 4399 | } | 4462 | } |
| 4400 | 4463 | ||
| @@ -4436,7 +4499,7 @@ xaw_jump_callback (Widget widget, XtPointer client_data, XtPointer call_data) | |||
| 4436 | float top = *top_addr; | 4499 | float top = *top_addr; |
| 4437 | float shown; | 4500 | float shown; |
| 4438 | int whole, portion, height; | 4501 | int whole, portion, height; |
| 4439 | int part; | 4502 | enum scroll_bar_part part; |
| 4440 | 4503 | ||
| 4441 | /* Get the size of the thumb, a value between 0 and 1. */ | 4504 | /* Get the size of the thumb, a value between 0 and 1. */ |
| 4442 | block_input (); | 4505 | block_input (); |
| @@ -4458,7 +4521,7 @@ xaw_jump_callback (Widget widget, XtPointer client_data, XtPointer call_data) | |||
| 4458 | 4521 | ||
| 4459 | window_being_scrolled = bar->window; | 4522 | window_being_scrolled = bar->window; |
| 4460 | bar->dragging = portion; | 4523 | bar->dragging = portion; |
| 4461 | last_scroll_bar_part = part; | 4524 | bar->last_seen_part = part; |
| 4462 | x_send_scroll_bar_event (bar->window, part, portion, whole); | 4525 | x_send_scroll_bar_event (bar->window, part, portion, whole); |
| 4463 | } | 4526 | } |
| 4464 | 4527 | ||
| @@ -4478,7 +4541,7 @@ xaw_scroll_callback (Widget widget, XtPointer client_data, XtPointer call_data) | |||
| 4478 | /* The position really is stored cast to a pointer. */ | 4541 | /* The position really is stored cast to a pointer. */ |
| 4479 | int position = (intptr_t) call_data; | 4542 | int position = (intptr_t) call_data; |
| 4480 | Dimension height; | 4543 | Dimension height; |
| 4481 | int part; | 4544 | enum scroll_bar_part part; |
| 4482 | 4545 | ||
| 4483 | /* Get the height of the scroll bar. */ | 4546 | /* Get the height of the scroll bar. */ |
| 4484 | block_input (); | 4547 | block_input (); |
| @@ -4497,7 +4560,7 @@ xaw_scroll_callback (Widget widget, XtPointer client_data, XtPointer call_data) | |||
| 4497 | 4560 | ||
| 4498 | window_being_scrolled = bar->window; | 4561 | window_being_scrolled = bar->window; |
| 4499 | bar->dragging = -1; | 4562 | bar->dragging = -1; |
| 4500 | last_scroll_bar_part = part; | 4563 | bar->last_seen_part = part; |
| 4501 | x_send_scroll_bar_event (bar->window, part, position, height); | 4564 | x_send_scroll_bar_event (bar->window, part, position, height); |
| 4502 | } | 4565 | } |
| 4503 | 4566 | ||
| @@ -4807,16 +4870,25 @@ x_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, int portion, int positio | |||
| 4807 | NULL); | 4870 | NULL); |
| 4808 | 4871 | ||
| 4809 | /* Massage the top+shown values. */ | 4872 | /* Massage the top+shown values. */ |
| 4810 | if (bar->dragging == -1 || last_scroll_bar_part == scroll_bar_down_arrow) | 4873 | if (bar->dragging == -1 || bar->last_seen_part == scroll_bar_down_arrow) |
| 4811 | top = max (0, min (1, top)); | 4874 | top = max (0, min (1, top)); |
| 4812 | else | 4875 | else |
| 4813 | top = old_top; | 4876 | top = old_top; |
| 4877 | #if ! defined (HAVE_XAW3D) | ||
| 4878 | /* With Xaw, 'top' values too closer to 1.0 may | ||
| 4879 | cause the thumb to disappear. Fix that. */ | ||
| 4880 | top = min (top, 0.99f); | ||
| 4881 | #endif | ||
| 4814 | /* Keep two pixels available for moving the thumb down. */ | 4882 | /* Keep two pixels available for moving the thumb down. */ |
| 4815 | shown = max (0, min (1 - top - (2.0f / height), shown)); | 4883 | shown = max (0, min (1 - top - (2.0f / height), shown)); |
| 4884 | #if ! defined (HAVE_XAW3D) | ||
| 4885 | /* Likewise with too small 'shown'. */ | ||
| 4886 | shown = max (shown, 0.01f); | ||
| 4887 | #endif | ||
| 4816 | 4888 | ||
| 4817 | /* If the call to XawScrollbarSetThumb below doesn't seem to work, | 4889 | /* If the call to XawScrollbarSetThumb below doesn't seem to |
| 4818 | check that your system's configuration file contains a define | 4890 | work, check that 'NARROWPROTO' is defined in src/config.h. |
| 4819 | for `NARROWPROTO'. See s/freebsd.h for an example. */ | 4891 | If this is not so, most likely you need to fix configure. */ |
| 4820 | if (top != old_top || shown != old_shown) | 4892 | if (top != old_top || shown != old_shown) |
| 4821 | { | 4893 | { |
| 4822 | if (bar->dragging == -1) | 4894 | if (bar->dragging == -1) |
| @@ -4875,7 +4947,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height) | |||
| 4875 | a.event_mask = (ButtonPressMask | ButtonReleaseMask | 4947 | a.event_mask = (ButtonPressMask | ButtonReleaseMask |
| 4876 | | ButtonMotionMask | PointerMotionHintMask | 4948 | | ButtonMotionMask | PointerMotionHintMask |
| 4877 | | ExposureMask); | 4949 | | ExposureMask); |
| 4878 | a.cursor = FRAME_X_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; | 4950 | a.cursor = FRAME_DISPLAY_INFO (f)->vertical_scroll_bar_cursor; |
| 4879 | 4951 | ||
| 4880 | mask = (CWBackPixel | CWEventMask | CWCursor); | 4952 | mask = (CWBackPixel | CWEventMask | CWCursor); |
| 4881 | 4953 | ||
| @@ -4888,12 +4960,9 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height) | |||
| 4888 | 4960 | ||
| 4889 | window = XCreateWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 4961 | window = XCreateWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| 4890 | /* Position and size of scroll bar. */ | 4962 | /* Position and size of scroll bar. */ |
| 4891 | left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 4963 | left, top, width, height, |
| 4892 | top, | ||
| 4893 | width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | ||
| 4894 | height, | ||
| 4895 | /* Border width, depth, class, and visual. */ | 4964 | /* Border width, depth, class, and visual. */ |
| 4896 | 0, | 4965 | 0, |
| 4897 | CopyFromParent, | 4966 | CopyFromParent, |
| 4898 | CopyFromParent, | 4967 | CopyFromParent, |
| 4899 | CopyFromParent, | 4968 | CopyFromParent, |
| @@ -4912,6 +4981,9 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height) | |||
| 4912 | bar->end = 0; | 4981 | bar->end = 0; |
| 4913 | bar->dragging = -1; | 4982 | bar->dragging = -1; |
| 4914 | bar->fringe_extended_p = 0; | 4983 | bar->fringe_extended_p = 0; |
| 4984 | #if defined (USE_TOOLKIT_SCROLL_BARS) && defined (USE_LUCID) | ||
| 4985 | bar->last_seen_part = scroll_bar_nowhere; | ||
| 4986 | #endif | ||
| 4915 | 4987 | ||
| 4916 | /* Add bar to its frame's list of scroll bars. */ | 4988 | /* Add bar to its frame's list of scroll bars. */ |
| 4917 | bar->next = FRAME_SCROLL_BARS (f); | 4989 | bar->next = FRAME_SCROLL_BARS (f); |
| @@ -4925,19 +4997,11 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height) | |||
| 4925 | #ifdef USE_TOOLKIT_SCROLL_BARS | 4997 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 4926 | { | 4998 | { |
| 4927 | #ifdef USE_GTK | 4999 | #ifdef USE_GTK |
| 4928 | xg_update_scrollbar_pos (f, | 5000 | xg_update_scrollbar_pos (f, bar->x_window, top, |
| 4929 | bar->x_window, | 5001 | left,width, max (height, 1)); |
| 4930 | top, | ||
| 4931 | left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | ||
| 4932 | width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | ||
| 4933 | max (height, 1)); | ||
| 4934 | #else /* not USE_GTK */ | 5002 | #else /* not USE_GTK */ |
| 4935 | Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar); | 5003 | Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar); |
| 4936 | XtConfigureWidget (scroll_bar, | 5004 | XtConfigureWidget (scroll_bar, left, top, width, max (height, 1), 0); |
| 4937 | left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | ||
| 4938 | top, | ||
| 4939 | width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | ||
| 4940 | max (height, 1), 0); | ||
| 4941 | XtMapWidget (scroll_bar); | 5005 | XtMapWidget (scroll_bar); |
| 4942 | #endif /* not USE_GTK */ | 5006 | #endif /* not USE_GTK */ |
| 4943 | } | 5007 | } |
| @@ -5185,33 +5249,15 @@ XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int positio | |||
| 5185 | left, top, width, height); | 5249 | left, top, width, height); |
| 5186 | } | 5250 | } |
| 5187 | #ifdef USE_GTK | 5251 | #ifdef USE_GTK |
| 5188 | xg_update_scrollbar_pos (f, | 5252 | xg_update_scrollbar_pos (f, bar->x_window, top, |
| 5189 | bar->x_window, | 5253 | sb_left, sb_width, max (height, 1)); |
| 5190 | top, | ||
| 5191 | sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | ||
| 5192 | sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM *2, | ||
| 5193 | max (height, 1)); | ||
| 5194 | #else /* not USE_GTK */ | 5254 | #else /* not USE_GTK */ |
| 5195 | XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), | 5255 | XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), |
| 5196 | sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 5256 | sb_left, top, sb_width, max (height, 1), 0); |
| 5197 | top, | ||
| 5198 | sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | ||
| 5199 | max (height, 1), 0); | ||
| 5200 | #endif /* not USE_GTK */ | 5257 | #endif /* not USE_GTK */ |
| 5201 | } | 5258 | } |
| 5202 | #else /* not USE_TOOLKIT_SCROLL_BARS */ | 5259 | #else /* not USE_TOOLKIT_SCROLL_BARS */ |
| 5203 | 5260 | ||
| 5204 | /* Clear areas not covered by the scroll bar because of | ||
| 5205 | VERTICAL_SCROLL_BAR_WIDTH_TRIM. */ | ||
| 5206 | if (VERTICAL_SCROLL_BAR_WIDTH_TRIM) | ||
| 5207 | { | ||
| 5208 | x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 5209 | left, top, VERTICAL_SCROLL_BAR_WIDTH_TRIM, height); | ||
| 5210 | x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 5211 | left + width - VERTICAL_SCROLL_BAR_WIDTH_TRIM, | ||
| 5212 | top, VERTICAL_SCROLL_BAR_WIDTH_TRIM, height); | ||
| 5213 | } | ||
| 5214 | |||
| 5215 | /* Clear areas not covered by the scroll bar because it's not as | 5261 | /* Clear areas not covered by the scroll bar because it's not as |
| 5216 | wide as the area reserved for it. This makes sure a | 5262 | wide as the area reserved for it. This makes sure a |
| 5217 | previous mode line display is cleared after C-x 2 C-x 1, for | 5263 | previous mode line display is cleared after C-x 2 C-x 1, for |
| @@ -5235,9 +5281,9 @@ XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int positio | |||
| 5235 | { | 5281 | { |
| 5236 | XWindowChanges wc; | 5282 | XWindowChanges wc; |
| 5237 | 5283 | ||
| 5238 | wc.x = sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM; | 5284 | wc.x = sb_left; |
| 5239 | wc.y = top; | 5285 | wc.y = top; |
| 5240 | wc.width = sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2; | 5286 | wc.width = sb_width; |
| 5241 | wc.height = height; | 5287 | wc.height = height; |
| 5242 | XConfigureWindow (FRAME_X_DISPLAY (f), bar->x_window, | 5288 | XConfigureWindow (FRAME_X_DISPLAY (f), bar->x_window, |
| 5243 | mask, &wc); | 5289 | mask, &wc); |
| @@ -5395,12 +5441,11 @@ XTjudge_scroll_bars (struct frame *f) | |||
| 5395 | mark bits. */ | 5441 | mark bits. */ |
| 5396 | 5442 | ||
| 5397 | static void | 5443 | static void |
| 5398 | x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event) | 5444 | x_scroll_bar_expose (struct scroll_bar *bar, const XEvent *event) |
| 5399 | { | 5445 | { |
| 5400 | Window w = bar->x_window; | 5446 | Window w = bar->x_window; |
| 5401 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); | 5447 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); |
| 5402 | GC gc = f->output_data.x->normal_gc; | 5448 | GC gc = f->output_data.x->normal_gc; |
| 5403 | int width_trim = VERTICAL_SCROLL_BAR_WIDTH_TRIM; | ||
| 5404 | 5449 | ||
| 5405 | block_input (); | 5450 | block_input (); |
| 5406 | 5451 | ||
| @@ -5413,11 +5458,8 @@ x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event) | |||
| 5413 | 5458 | ||
| 5414 | /* Draw a one-pixel border just inside the edges of the scroll bar. */ | 5459 | /* Draw a one-pixel border just inside the edges of the scroll bar. */ |
| 5415 | XDrawRectangle (FRAME_X_DISPLAY (f), w, gc, | 5460 | XDrawRectangle (FRAME_X_DISPLAY (f), w, gc, |
| 5416 | |||
| 5417 | /* x, y, width, height */ | 5461 | /* x, y, width, height */ |
| 5418 | 0, 0, | 5462 | 0, 0, bar->width - 1, bar->height - 1); |
| 5419 | bar->width - 1 - width_trim - width_trim, | ||
| 5420 | bar->height - 1); | ||
| 5421 | 5463 | ||
| 5422 | /* Restore the foreground color of the GC if we changed it above. */ | 5464 | /* Restore the foreground color of the GC if we changed it above. */ |
| 5423 | if (f->output_data.x->scroll_bar_foreground_pixel != -1) | 5465 | if (f->output_data.x->scroll_bar_foreground_pixel != -1) |
| @@ -5437,7 +5479,9 @@ x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event) | |||
| 5437 | 5479 | ||
| 5438 | 5480 | ||
| 5439 | static void | 5481 | static void |
| 5440 | x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_event *emacs_event) | 5482 | x_scroll_bar_handle_click (struct scroll_bar *bar, |
| 5483 | const XEvent *event, | ||
| 5484 | struct input_event *emacs_event) | ||
| 5441 | { | 5485 | { |
| 5442 | if (! WINDOWP (bar->window)) | 5486 | if (! WINDOWP (bar->window)) |
| 5443 | emacs_abort (); | 5487 | emacs_abort (); |
| @@ -5445,7 +5489,7 @@ x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_e | |||
| 5445 | emacs_event->kind = SCROLL_BAR_CLICK_EVENT; | 5489 | emacs_event->kind = SCROLL_BAR_CLICK_EVENT; |
| 5446 | emacs_event->code = event->xbutton.button - Button1; | 5490 | emacs_event->code = event->xbutton.button - Button1; |
| 5447 | emacs_event->modifiers | 5491 | emacs_event->modifiers |
| 5448 | = (x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO | 5492 | = (x_x_to_emacs_modifiers (FRAME_DISPLAY_INFO |
| 5449 | (XFRAME (WINDOW_FRAME (XWINDOW (bar->window)))), | 5493 | (XFRAME (WINDOW_FRAME (XWINDOW (bar->window)))), |
| 5450 | event->xbutton.state) | 5494 | event->xbutton.state) |
| 5451 | | (event->type == ButtonRelease | 5495 | | (event->type == ButtonRelease |
| @@ -5494,14 +5538,15 @@ x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_e | |||
| 5494 | mark bits. */ | 5538 | mark bits. */ |
| 5495 | 5539 | ||
| 5496 | static void | 5540 | static void |
| 5497 | x_scroll_bar_note_movement (struct scroll_bar *bar, XMotionEvent *event) | 5541 | x_scroll_bar_note_movement (struct scroll_bar *bar, |
| 5542 | const XMotionEvent *event) | ||
| 5498 | { | 5543 | { |
| 5499 | struct frame *f = XFRAME (XWINDOW (bar->window)->frame); | 5544 | struct frame *f = XFRAME (XWINDOW (bar->window)->frame); |
| 5545 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); | ||
| 5500 | 5546 | ||
| 5501 | last_mouse_movement_time = event->time; | 5547 | dpyinfo->last_mouse_movement_time = event->time; |
| 5502 | 5548 | dpyinfo->last_mouse_scroll_bar = bar; | |
| 5503 | f->mouse_moved = 1; | 5549 | f->mouse_moved = 1; |
| 5504 | XSETVECTOR (last_mouse_scroll_bar, bar); | ||
| 5505 | 5550 | ||
| 5506 | /* If we're dragging the bar, display it. */ | 5551 | /* If we're dragging the bar, display it. */ |
| 5507 | if (bar->dragging != -1) | 5552 | if (bar->dragging != -1) |
| @@ -5528,7 +5573,8 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 5528 | enum scroll_bar_part *part, Lisp_Object *x, | 5573 | enum scroll_bar_part *part, Lisp_Object *x, |
| 5529 | Lisp_Object *y, Time *timestamp) | 5574 | Lisp_Object *y, Time *timestamp) |
| 5530 | { | 5575 | { |
| 5531 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); | 5576 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); |
| 5577 | struct scroll_bar *bar = dpyinfo->last_mouse_scroll_bar; | ||
| 5532 | Window w = bar->x_window; | 5578 | Window w = bar->x_window; |
| 5533 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); | 5579 | struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); |
| 5534 | int win_x, win_y; | 5580 | int win_x, win_y; |
| @@ -5540,22 +5586,19 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 5540 | 5586 | ||
| 5541 | /* Get the mouse's position relative to the scroll bar window, and | 5587 | /* Get the mouse's position relative to the scroll bar window, and |
| 5542 | report that. */ | 5588 | report that. */ |
| 5543 | if (! XQueryPointer (FRAME_X_DISPLAY (f), w, | 5589 | if (XQueryPointer (FRAME_X_DISPLAY (f), w, |
| 5544 | 5590 | ||
| 5545 | /* Root, child, root x and root y. */ | 5591 | /* Root, child, root x and root y. */ |
| 5546 | &dummy_window, &dummy_window, | 5592 | &dummy_window, &dummy_window, |
| 5547 | &dummy_coord, &dummy_coord, | 5593 | &dummy_coord, &dummy_coord, |
| 5548 | 5594 | ||
| 5549 | /* Position relative to scroll bar. */ | 5595 | /* Position relative to scroll bar. */ |
| 5550 | &win_x, &win_y, | 5596 | &win_x, &win_y, |
| 5551 | 5597 | ||
| 5552 | /* Mouse buttons and modifier keys. */ | 5598 | /* Mouse buttons and modifier keys. */ |
| 5553 | &dummy_mask)) | 5599 | &dummy_mask)) |
| 5554 | ; | ||
| 5555 | else | ||
| 5556 | { | 5600 | { |
| 5557 | int top_range | 5601 | int top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, bar->height); |
| 5558 | = VERTICAL_SCROLL_BAR_TOP_RANGE (f, bar->height); | ||
| 5559 | 5602 | ||
| 5560 | win_y -= VERTICAL_SCROLL_BAR_TOP_BORDER; | 5603 | win_y -= VERTICAL_SCROLL_BAR_TOP_BORDER; |
| 5561 | 5604 | ||
| @@ -5583,11 +5626,10 @@ x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window, | |||
| 5583 | XSETINT (*y, top_range); | 5626 | XSETINT (*y, top_range); |
| 5584 | 5627 | ||
| 5585 | f->mouse_moved = 0; | 5628 | f->mouse_moved = 0; |
| 5586 | last_mouse_scroll_bar = Qnil; | 5629 | dpyinfo->last_mouse_scroll_bar = NULL; |
| 5630 | *timestamp = dpyinfo->last_mouse_movement_time; | ||
| 5587 | } | 5631 | } |
| 5588 | 5632 | ||
| 5589 | *timestamp = last_mouse_movement_time; | ||
| 5590 | |||
| 5591 | unblock_input (); | 5633 | unblock_input (); |
| 5592 | } | 5634 | } |
| 5593 | 5635 | ||
| @@ -5646,20 +5688,6 @@ static struct x_display_info *XTread_socket_fake_io_error; | |||
| 5646 | 5688 | ||
| 5647 | static struct x_display_info *next_noop_dpyinfo; | 5689 | static struct x_display_info *next_noop_dpyinfo; |
| 5648 | 5690 | ||
| 5649 | #if defined USE_X_TOOLKIT || defined USE_GTK | ||
| 5650 | #define SET_SAVED_BUTTON_EVENT \ | ||
| 5651 | do \ | ||
| 5652 | { \ | ||
| 5653 | if (f->output_data.x->saved_menu_event == 0) \ | ||
| 5654 | f->output_data.x->saved_menu_event = \ | ||
| 5655 | xmalloc (sizeof (XEvent)); \ | ||
| 5656 | *f->output_data.x->saved_menu_event = event; \ | ||
| 5657 | inev.ie.kind = MENU_BAR_ACTIVATE_EVENT; \ | ||
| 5658 | XSETFRAME (inev.ie.frame_or_window, f); \ | ||
| 5659 | } \ | ||
| 5660 | while (0) | ||
| 5661 | #endif | ||
| 5662 | |||
| 5663 | enum | 5691 | enum |
| 5664 | { | 5692 | { |
| 5665 | X_EVENT_NORMAL, | 5693 | X_EVENT_NORMAL, |
| @@ -5753,11 +5781,13 @@ static void xembed_send_message (struct frame *f, Time, | |||
| 5753 | *FINISH is X_EVENT_GOTO_OUT if caller should stop reading events. | 5781 | *FINISH is X_EVENT_GOTO_OUT if caller should stop reading events. |
| 5754 | *FINISH is zero if caller should continue reading events. | 5782 | *FINISH is zero if caller should continue reading events. |
| 5755 | *FINISH is X_EVENT_DROP if event should not be passed to the toolkit. | 5783 | *FINISH is X_EVENT_DROP if event should not be passed to the toolkit. |
| 5784 | *EVENT is unchanged unless we're processing KeyPress event. | ||
| 5756 | 5785 | ||
| 5757 | We return the number of characters stored into the buffer. */ | 5786 | We return the number of characters stored into the buffer. */ |
| 5758 | 5787 | ||
| 5759 | static int | 5788 | static int |
| 5760 | handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | 5789 | handle_one_xevent (struct x_display_info *dpyinfo, |
| 5790 | const XEvent *event, | ||
| 5761 | int *finish, struct input_event *hold_quit) | 5791 | int *finish, struct input_event *hold_quit) |
| 5762 | { | 5792 | { |
| 5763 | union { | 5793 | union { |
| @@ -5767,9 +5797,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5767 | int count = 0; | 5797 | int count = 0; |
| 5768 | int do_help = 0; | 5798 | int do_help = 0; |
| 5769 | ptrdiff_t nbytes = 0; | 5799 | ptrdiff_t nbytes = 0; |
| 5770 | struct frame *f = NULL; | 5800 | struct frame *any, *f = NULL; |
| 5771 | struct coding_system coding; | 5801 | struct coding_system coding; |
| 5772 | XEvent event = *eventptr; | ||
| 5773 | Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight; | 5802 | Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight; |
| 5774 | /* This holds the state XLookupString needs to implement dead keys | 5803 | /* This holds the state XLookupString needs to implement dead keys |
| 5775 | and other tricks known as "compose processing". _X Window System_ | 5804 | and other tricks known as "compose processing". _X Window System_ |
| @@ -5785,24 +5814,24 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5785 | inev.ie.kind = NO_EVENT; | 5814 | inev.ie.kind = NO_EVENT; |
| 5786 | inev.ie.arg = Qnil; | 5815 | inev.ie.arg = Qnil; |
| 5787 | 5816 | ||
| 5788 | if (pending_event_wait.eventtype == event.type) | 5817 | any = x_any_window_to_frame (dpyinfo, event->xany.window); |
| 5789 | pending_event_wait.eventtype = 0; /* Indicates we got it. */ | 5818 | |
| 5819 | if (any && any->wait_event_type == event->type) | ||
| 5820 | any->wait_event_type = 0; /* Indicates we got it. */ | ||
| 5790 | 5821 | ||
| 5791 | switch (event.type) | 5822 | switch (event->type) |
| 5792 | { | 5823 | { |
| 5793 | case ClientMessage: | 5824 | case ClientMessage: |
| 5794 | { | 5825 | { |
| 5795 | if (event.xclient.message_type | 5826 | if (event->xclient.message_type == dpyinfo->Xatom_wm_protocols |
| 5796 | == dpyinfo->Xatom_wm_protocols | 5827 | && event->xclient.format == 32) |
| 5797 | && event.xclient.format == 32) | ||
| 5798 | { | 5828 | { |
| 5799 | if (event.xclient.data.l[0] | 5829 | if (event->xclient.data.l[0] == dpyinfo->Xatom_wm_take_focus) |
| 5800 | == dpyinfo->Xatom_wm_take_focus) | ||
| 5801 | { | 5830 | { |
| 5802 | /* Use x_any_window_to_frame because this | 5831 | /* Use the value returned by x_any_window_to_frame |
| 5803 | could be the shell widget window | 5832 | because this could be the shell widget window |
| 5804 | if the frame has no title bar. */ | 5833 | if the frame has no title bar. */ |
| 5805 | f = x_any_window_to_frame (dpyinfo, event.xclient.window); | 5834 | f = any; |
| 5806 | #ifdef HAVE_X_I18N | 5835 | #ifdef HAVE_X_I18N |
| 5807 | /* Not quite sure this is needed -pd */ | 5836 | /* Not quite sure this is needed -pd */ |
| 5808 | if (f && FRAME_XIC (f)) | 5837 | if (f && FRAME_XIC (f)) |
| @@ -5826,15 +5855,15 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5826 | since that might be an event for a deleted frame. */ | 5855 | since that might be an event for a deleted frame. */ |
| 5827 | if (f) | 5856 | if (f) |
| 5828 | { | 5857 | { |
| 5829 | Display *d = event.xclient.display; | 5858 | Display *d = event->xclient.display; |
| 5830 | /* Catch and ignore errors, in case window has been | 5859 | /* Catch and ignore errors, in case window has been |
| 5831 | iconified by a window manager such as GWM. */ | 5860 | iconified by a window manager such as GWM. */ |
| 5832 | x_catch_errors (d); | 5861 | x_catch_errors (d); |
| 5833 | XSetInputFocus (d, event.xclient.window, | 5862 | XSetInputFocus (d, event->xclient.window, |
| 5834 | /* The ICCCM says this is | 5863 | /* The ICCCM says this is |
| 5835 | the only valid choice. */ | 5864 | the only valid choice. */ |
| 5836 | RevertToParent, | 5865 | RevertToParent, |
| 5837 | event.xclient.data.l[1]); | 5866 | event->xclient.data.l[1]); |
| 5838 | /* This is needed to detect the error | 5867 | /* This is needed to detect the error |
| 5839 | if there is an error. */ | 5868 | if there is an error. */ |
| 5840 | XSync (d, False); | 5869 | XSync (d, False); |
| @@ -5845,8 +5874,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5845 | goto done; | 5874 | goto done; |
| 5846 | } | 5875 | } |
| 5847 | 5876 | ||
| 5848 | if (event.xclient.data.l[0] | 5877 | if (event->xclient.data.l[0] == dpyinfo->Xatom_wm_save_yourself) |
| 5849 | == dpyinfo->Xatom_wm_save_yourself) | ||
| 5850 | { | 5878 | { |
| 5851 | /* Save state modify the WM_COMMAND property to | 5879 | /* Save state modify the WM_COMMAND property to |
| 5852 | something which can reinstate us. This notifies | 5880 | something which can reinstate us. This notifies |
| @@ -5861,26 +5889,24 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5861 | #endif | 5889 | #endif |
| 5862 | { | 5890 | { |
| 5863 | f = x_top_window_to_frame (dpyinfo, | 5891 | f = x_top_window_to_frame (dpyinfo, |
| 5864 | event.xclient.window); | 5892 | event->xclient.window); |
| 5865 | /* This is just so we only give real data once | 5893 | /* This is just so we only give real data once |
| 5866 | for a single Emacs process. */ | 5894 | for a single Emacs process. */ |
| 5867 | if (f == SELECTED_FRAME ()) | 5895 | if (f == SELECTED_FRAME ()) |
| 5868 | XSetCommand (FRAME_X_DISPLAY (f), | 5896 | XSetCommand (FRAME_X_DISPLAY (f), |
| 5869 | event.xclient.window, | 5897 | event->xclient.window, |
| 5870 | initial_argv, initial_argc); | 5898 | initial_argv, initial_argc); |
| 5871 | else if (f) | 5899 | else if (f) |
| 5872 | XSetCommand (FRAME_X_DISPLAY (f), | 5900 | XSetCommand (FRAME_X_DISPLAY (f), |
| 5873 | event.xclient.window, | 5901 | event->xclient.window, |
| 5874 | 0, 0); | 5902 | 0, 0); |
| 5875 | } | 5903 | } |
| 5876 | goto done; | 5904 | goto done; |
| 5877 | } | 5905 | } |
| 5878 | 5906 | ||
| 5879 | if (event.xclient.data.l[0] | 5907 | if (event->xclient.data.l[0] == dpyinfo->Xatom_wm_delete_window) |
| 5880 | == dpyinfo->Xatom_wm_delete_window) | ||
| 5881 | { | 5908 | { |
| 5882 | f = x_any_window_to_frame (dpyinfo, | 5909 | f = any; |
| 5883 | event.xclient.window); | ||
| 5884 | if (!f) | 5910 | if (!f) |
| 5885 | goto OTHER; /* May be a dialog that is to be removed */ | 5911 | goto OTHER; /* May be a dialog that is to be removed */ |
| 5886 | 5912 | ||
| @@ -5892,20 +5918,16 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5892 | goto done; | 5918 | goto done; |
| 5893 | } | 5919 | } |
| 5894 | 5920 | ||
| 5895 | if (event.xclient.message_type | 5921 | if (event->xclient.message_type == dpyinfo->Xatom_wm_configure_denied) |
| 5896 | == dpyinfo->Xatom_wm_configure_denied) | 5922 | goto done; |
| 5897 | { | ||
| 5898 | goto done; | ||
| 5899 | } | ||
| 5900 | 5923 | ||
| 5901 | if (event.xclient.message_type | 5924 | if (event->xclient.message_type == dpyinfo->Xatom_wm_window_moved) |
| 5902 | == dpyinfo->Xatom_wm_window_moved) | ||
| 5903 | { | 5925 | { |
| 5904 | int new_x, new_y; | 5926 | int new_x, new_y; |
| 5905 | f = x_window_to_frame (dpyinfo, event.xclient.window); | 5927 | f = x_window_to_frame (dpyinfo, event->xclient.window); |
| 5906 | 5928 | ||
| 5907 | new_x = event.xclient.data.s[0]; | 5929 | new_x = event->xclient.data.s[0]; |
| 5908 | new_y = event.xclient.data.s[1]; | 5930 | new_y = event->xclient.data.s[1]; |
| 5909 | 5931 | ||
| 5910 | if (f) | 5932 | if (f) |
| 5911 | { | 5933 | { |
| @@ -5916,28 +5938,25 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5916 | } | 5938 | } |
| 5917 | 5939 | ||
| 5918 | #ifdef HACK_EDITRES | 5940 | #ifdef HACK_EDITRES |
| 5919 | if (event.xclient.message_type | 5941 | if (event->xclient.message_type == dpyinfo->Xatom_editres) |
| 5920 | == dpyinfo->Xatom_editres) | ||
| 5921 | { | 5942 | { |
| 5922 | f = x_any_window_to_frame (dpyinfo, event.xclient.window); | 5943 | f = any; |
| 5923 | if (f) | 5944 | if (f) |
| 5924 | _XEditResCheckMessages (f->output_data.x->widget, NULL, | 5945 | _XEditResCheckMessages (f->output_data.x->widget, |
| 5925 | &event, NULL); | 5946 | NULL, (XEvent *) event, NULL); |
| 5926 | goto done; | 5947 | goto done; |
| 5927 | } | 5948 | } |
| 5928 | #endif /* HACK_EDITRES */ | 5949 | #endif /* HACK_EDITRES */ |
| 5929 | 5950 | ||
| 5930 | if ((event.xclient.message_type | 5951 | if (event->xclient.message_type == dpyinfo->Xatom_DONE |
| 5931 | == dpyinfo->Xatom_DONE) | 5952 | || event->xclient.message_type == dpyinfo->Xatom_PAGE) |
| 5932 | || (event.xclient.message_type | ||
| 5933 | == dpyinfo->Xatom_PAGE)) | ||
| 5934 | { | 5953 | { |
| 5935 | /* Ghostview job completed. Kill it. We could | 5954 | /* Ghostview job completed. Kill it. We could |
| 5936 | reply with "Next" if we received "Page", but we | 5955 | reply with "Next" if we received "Page", but we |
| 5937 | currently never do because we are interested in | 5956 | currently never do because we are interested in |
| 5938 | images, only, which should have 1 page. */ | 5957 | images, only, which should have 1 page. */ |
| 5939 | Pixmap pixmap = (Pixmap) event.xclient.data.l[1]; | 5958 | Pixmap pixmap = (Pixmap) event->xclient.data.l[1]; |
| 5940 | f = x_window_to_frame (dpyinfo, event.xclient.window); | 5959 | f = x_window_to_frame (dpyinfo, event->xclient.window); |
| 5941 | if (!f) | 5960 | if (!f) |
| 5942 | goto OTHER; | 5961 | goto OTHER; |
| 5943 | x_kill_gs_process (pixmap, f); | 5962 | x_kill_gs_process (pixmap, f); |
| @@ -5948,54 +5967,52 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 5948 | #ifdef USE_TOOLKIT_SCROLL_BARS | 5967 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 5949 | /* Scroll bar callbacks send a ClientMessage from which | 5968 | /* Scroll bar callbacks send a ClientMessage from which |
| 5950 | we construct an input_event. */ | 5969 | we construct an input_event. */ |
| 5951 | if (event.xclient.message_type | 5970 | if (event->xclient.message_type == dpyinfo->Xatom_Scrollbar) |
| 5952 | == dpyinfo->Xatom_Scrollbar) | ||
| 5953 | { | 5971 | { |
| 5954 | x_scroll_bar_to_input_event (&event, &inev.ie); | 5972 | x_scroll_bar_to_input_event (event, &inev.ie); |
| 5955 | *finish = X_EVENT_GOTO_OUT; | 5973 | *finish = X_EVENT_GOTO_OUT; |
| 5956 | goto done; | 5974 | goto done; |
| 5957 | } | 5975 | } |
| 5958 | #endif /* USE_TOOLKIT_SCROLL_BARS */ | 5976 | #endif /* USE_TOOLKIT_SCROLL_BARS */ |
| 5959 | 5977 | ||
| 5960 | /* XEmbed messages from the embedder (if any). */ | 5978 | /* XEmbed messages from the embedder (if any). */ |
| 5961 | if (event.xclient.message_type | 5979 | if (event->xclient.message_type == dpyinfo->Xatom_XEMBED) |
| 5962 | == dpyinfo->Xatom_XEMBED) | ||
| 5963 | { | 5980 | { |
| 5964 | enum xembed_message msg = event.xclient.data.l[1]; | 5981 | enum xembed_message msg = event->xclient.data.l[1]; |
| 5965 | if (msg == XEMBED_FOCUS_IN || msg == XEMBED_FOCUS_OUT) | 5982 | if (msg == XEMBED_FOCUS_IN || msg == XEMBED_FOCUS_OUT) |
| 5966 | x_detect_focus_change (dpyinfo, &event, &inev.ie); | 5983 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 5967 | 5984 | ||
| 5968 | *finish = X_EVENT_GOTO_OUT; | 5985 | *finish = X_EVENT_GOTO_OUT; |
| 5969 | goto done; | 5986 | goto done; |
| 5970 | } | 5987 | } |
| 5971 | 5988 | ||
| 5972 | xft_settings_event (dpyinfo, &event); | 5989 | xft_settings_event (dpyinfo, event); |
| 5973 | 5990 | ||
| 5974 | f = x_any_window_to_frame (dpyinfo, event.xclient.window); | 5991 | f = any; |
| 5975 | if (!f) | 5992 | if (!f) |
| 5976 | goto OTHER; | 5993 | goto OTHER; |
| 5977 | if (x_handle_dnd_message (f, &event.xclient, dpyinfo, &inev.ie)) | 5994 | if (x_handle_dnd_message (f, &event->xclient, dpyinfo, &inev.ie)) |
| 5978 | *finish = X_EVENT_DROP; | 5995 | *finish = X_EVENT_DROP; |
| 5979 | } | 5996 | } |
| 5980 | break; | 5997 | break; |
| 5981 | 5998 | ||
| 5982 | case SelectionNotify: | 5999 | case SelectionNotify: |
| 5983 | last_user_time = event.xselection.time; | 6000 | dpyinfo->last_user_time = event->xselection.time; |
| 5984 | #ifdef USE_X_TOOLKIT | 6001 | #ifdef USE_X_TOOLKIT |
| 5985 | if (! x_window_to_frame (dpyinfo, event.xselection.requestor)) | 6002 | if (! x_window_to_frame (dpyinfo, event->xselection.requestor)) |
| 5986 | goto OTHER; | 6003 | goto OTHER; |
| 5987 | #endif /* not USE_X_TOOLKIT */ | 6004 | #endif /* not USE_X_TOOLKIT */ |
| 5988 | x_handle_selection_notify (&event.xselection); | 6005 | x_handle_selection_notify (&event->xselection); |
| 5989 | break; | 6006 | break; |
| 5990 | 6007 | ||
| 5991 | case SelectionClear: /* Someone has grabbed ownership. */ | 6008 | case SelectionClear: /* Someone has grabbed ownership. */ |
| 5992 | last_user_time = event.xselectionclear.time; | 6009 | dpyinfo->last_user_time = event->xselectionclear.time; |
| 5993 | #ifdef USE_X_TOOLKIT | 6010 | #ifdef USE_X_TOOLKIT |
| 5994 | if (! x_window_to_frame (dpyinfo, event.xselectionclear.window)) | 6011 | if (! x_window_to_frame (dpyinfo, event->xselectionclear.window)) |
| 5995 | goto OTHER; | 6012 | goto OTHER; |
| 5996 | #endif /* USE_X_TOOLKIT */ | 6013 | #endif /* USE_X_TOOLKIT */ |
| 5997 | { | 6014 | { |
| 5998 | XSelectionClearEvent *eventp = &(event.xselectionclear); | 6015 | const XSelectionClearEvent *eventp = &event->xselectionclear; |
| 5999 | 6016 | ||
| 6000 | inev.ie.kind = SELECTION_CLEAR_EVENT; | 6017 | inev.ie.kind = SELECTION_CLEAR_EVENT; |
| 6001 | SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; | 6018 | SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; |
| @@ -6005,29 +6022,29 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6005 | break; | 6022 | break; |
| 6006 | 6023 | ||
| 6007 | case SelectionRequest: /* Someone wants our selection. */ | 6024 | case SelectionRequest: /* Someone wants our selection. */ |
| 6008 | last_user_time = event.xselectionrequest.time; | 6025 | dpyinfo->last_user_time = event->xselectionrequest.time; |
| 6009 | #ifdef USE_X_TOOLKIT | 6026 | #ifdef USE_X_TOOLKIT |
| 6010 | if (!x_window_to_frame (dpyinfo, event.xselectionrequest.owner)) | 6027 | if (!x_window_to_frame (dpyinfo, event->xselectionrequest.owner)) |
| 6011 | goto OTHER; | 6028 | goto OTHER; |
| 6012 | #endif /* USE_X_TOOLKIT */ | 6029 | #endif /* USE_X_TOOLKIT */ |
| 6013 | { | 6030 | { |
| 6014 | XSelectionRequestEvent *eventp = &(event.xselectionrequest); | 6031 | const XSelectionRequestEvent *eventp = &event->xselectionrequest; |
| 6015 | 6032 | ||
| 6016 | inev.ie.kind = SELECTION_REQUEST_EVENT; | 6033 | inev.ie.kind = SELECTION_REQUEST_EVENT; |
| 6017 | SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; | 6034 | SELECTION_EVENT_DISPLAY (&inev.sie) = eventp->display; |
| 6018 | SELECTION_EVENT_REQUESTOR (&inev.sie) = eventp->requestor; | 6035 | SELECTION_EVENT_REQUESTOR (&inev.sie) = eventp->requestor; |
| 6019 | SELECTION_EVENT_SELECTION (&inev.sie) = eventp->selection; | 6036 | SELECTION_EVENT_SELECTION (&inev.sie) = eventp->selection; |
| 6020 | SELECTION_EVENT_TARGET (&inev.sie) = eventp->target; | 6037 | SELECTION_EVENT_TARGET (&inev.sie) = eventp->target; |
| 6021 | SELECTION_EVENT_PROPERTY (&inev.sie) = eventp->property; | 6038 | SELECTION_EVENT_PROPERTY (&inev.sie) = eventp->property; |
| 6022 | SELECTION_EVENT_TIME (&inev.sie) = eventp->time; | 6039 | SELECTION_EVENT_TIME (&inev.sie) = eventp->time; |
| 6023 | } | 6040 | } |
| 6024 | break; | 6041 | break; |
| 6025 | 6042 | ||
| 6026 | case PropertyNotify: | 6043 | case PropertyNotify: |
| 6027 | last_user_time = event.xproperty.time; | 6044 | dpyinfo->last_user_time = event->xproperty.time; |
| 6028 | f = x_top_window_to_frame (dpyinfo, event.xproperty.window); | 6045 | f = x_top_window_to_frame (dpyinfo, event->xproperty.window); |
| 6029 | if (f && event.xproperty.atom == dpyinfo->Xatom_net_wm_state) | 6046 | if (f && event->xproperty.atom == dpyinfo->Xatom_net_wm_state) |
| 6030 | if (x_handle_net_wm_state (f, &event.xproperty) | 6047 | if (x_handle_net_wm_state (f, &event->xproperty) |
| 6031 | && FRAME_ICONIFIED_P (f) | 6048 | && FRAME_ICONIFIED_P (f) |
| 6032 | && f->output_data.x->net_wm_state_hidden_seen) | 6049 | && f->output_data.x->net_wm_state_hidden_seen) |
| 6033 | { | 6050 | { |
| @@ -6042,39 +6059,29 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6042 | XSETFRAME (inev.ie.frame_or_window, f); | 6059 | XSETFRAME (inev.ie.frame_or_window, f); |
| 6043 | } | 6060 | } |
| 6044 | 6061 | ||
| 6045 | x_handle_property_notify (&event.xproperty); | 6062 | x_handle_property_notify (&event->xproperty); |
| 6046 | xft_settings_event (dpyinfo, &event); | 6063 | xft_settings_event (dpyinfo, event); |
| 6047 | goto OTHER; | 6064 | goto OTHER; |
| 6048 | 6065 | ||
| 6049 | case ReparentNotify: | 6066 | case ReparentNotify: |
| 6050 | f = x_top_window_to_frame (dpyinfo, event.xreparent.window); | 6067 | f = x_top_window_to_frame (dpyinfo, event->xreparent.window); |
| 6051 | if (f) | 6068 | if (f) |
| 6052 | { | 6069 | { |
| 6053 | int x, y; | 6070 | f->output_data.x->parent_desc = event->xreparent.parent; |
| 6054 | f->output_data.x->parent_desc = event.xreparent.parent; | 6071 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 6055 | x_real_positions (f, &x, &y); | ||
| 6056 | f->left_pos = x; | ||
| 6057 | f->top_pos = y; | ||
| 6058 | 6072 | ||
| 6059 | /* Perhaps reparented due to a WM restart. Reset this. */ | 6073 | /* Perhaps reparented due to a WM restart. Reset this. */ |
| 6060 | FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_UNKNOWN; | 6074 | FRAME_DISPLAY_INFO (f)->wm_type = X_WMTYPE_UNKNOWN; |
| 6061 | FRAME_X_DISPLAY_INFO (f)->net_supported_window = 0; | 6075 | FRAME_DISPLAY_INFO (f)->net_supported_window = 0; |
| 6062 | 6076 | ||
| 6063 | x_set_frame_alpha (f); | 6077 | x_set_frame_alpha (f); |
| 6064 | } | 6078 | } |
| 6065 | goto OTHER; | 6079 | goto OTHER; |
| 6066 | 6080 | ||
| 6067 | case Expose: | 6081 | case Expose: |
| 6068 | f = x_window_to_frame (dpyinfo, event.xexpose.window); | 6082 | f = x_window_to_frame (dpyinfo, event->xexpose.window); |
| 6069 | if (f) | 6083 | if (f) |
| 6070 | { | 6084 | { |
| 6071 | #ifdef USE_GTK | ||
| 6072 | /* This seems to be needed for GTK 2.6. */ | ||
| 6073 | x_clear_area (event.xexpose.display, | ||
| 6074 | event.xexpose.window, | ||
| 6075 | event.xexpose.x, event.xexpose.y, | ||
| 6076 | event.xexpose.width, event.xexpose.height); | ||
| 6077 | #endif | ||
| 6078 | if (!FRAME_VISIBLE_P (f)) | 6085 | if (!FRAME_VISIBLE_P (f)) |
| 6079 | { | 6086 | { |
| 6080 | SET_FRAME_VISIBLE (f, 1); | 6087 | SET_FRAME_VISIBLE (f, 1); |
| @@ -6083,9 +6090,18 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6083 | SET_FRAME_GARBAGED (f); | 6090 | SET_FRAME_GARBAGED (f); |
| 6084 | } | 6091 | } |
| 6085 | else | 6092 | else |
| 6086 | expose_frame (f, | 6093 | { |
| 6087 | event.xexpose.x, event.xexpose.y, | 6094 | #ifdef USE_GTK |
| 6088 | event.xexpose.width, event.xexpose.height); | 6095 | /* This seems to be needed for GTK 2.6 and later, see |
| 6096 | http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15398. */ | ||
| 6097 | x_clear_area (event->xexpose.display, | ||
| 6098 | event->xexpose.window, | ||
| 6099 | event->xexpose.x, event->xexpose.y, | ||
| 6100 | event->xexpose.width, event->xexpose.height); | ||
| 6101 | #endif | ||
| 6102 | expose_frame (f, event->xexpose.x, event->xexpose.y, | ||
| 6103 | event->xexpose.width, event->xexpose.height); | ||
| 6104 | } | ||
| 6089 | } | 6105 | } |
| 6090 | else | 6106 | else |
| 6091 | { | 6107 | { |
| @@ -6097,8 +6113,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6097 | themselves, so there's no way to dispatch events | 6113 | themselves, so there's no way to dispatch events |
| 6098 | to them. Recognize this case separately. */ | 6114 | to them. Recognize this case separately. */ |
| 6099 | { | 6115 | { |
| 6100 | Widget widget | 6116 | Widget widget = x_window_to_menu_bar (event->xexpose.window); |
| 6101 | = x_window_to_menu_bar (event.xexpose.window); | ||
| 6102 | if (widget) | 6117 | if (widget) |
| 6103 | xlwmenu_redisplay (widget); | 6118 | xlwmenu_redisplay (widget); |
| 6104 | } | 6119 | } |
| @@ -6108,11 +6123,11 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6108 | /* Dispatch event to the widget. */ | 6123 | /* Dispatch event to the widget. */ |
| 6109 | goto OTHER; | 6124 | goto OTHER; |
| 6110 | #else /* not USE_TOOLKIT_SCROLL_BARS */ | 6125 | #else /* not USE_TOOLKIT_SCROLL_BARS */ |
| 6111 | bar = x_window_to_scroll_bar (event.xexpose.display, | 6126 | bar = x_window_to_scroll_bar (event->xexpose.display, |
| 6112 | event.xexpose.window); | 6127 | event->xexpose.window); |
| 6113 | 6128 | ||
| 6114 | if (bar) | 6129 | if (bar) |
| 6115 | x_scroll_bar_expose (bar, &event); | 6130 | x_scroll_bar_expose (bar, event); |
| 6116 | #ifdef USE_X_TOOLKIT | 6131 | #ifdef USE_X_TOOLKIT |
| 6117 | else | 6132 | else |
| 6118 | goto OTHER; | 6133 | goto OTHER; |
| @@ -6124,14 +6139,12 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6124 | case GraphicsExpose: /* This occurs when an XCopyArea's | 6139 | case GraphicsExpose: /* This occurs when an XCopyArea's |
| 6125 | source area was obscured or not | 6140 | source area was obscured or not |
| 6126 | available. */ | 6141 | available. */ |
| 6127 | f = x_window_to_frame (dpyinfo, event.xgraphicsexpose.drawable); | 6142 | f = x_window_to_frame (dpyinfo, event->xgraphicsexpose.drawable); |
| 6128 | if (f) | 6143 | if (f) |
| 6129 | { | 6144 | expose_frame (f, event->xgraphicsexpose.x, |
| 6130 | expose_frame (f, | 6145 | event->xgraphicsexpose.y, |
| 6131 | event.xgraphicsexpose.x, event.xgraphicsexpose.y, | 6146 | event->xgraphicsexpose.width, |
| 6132 | event.xgraphicsexpose.width, | 6147 | event->xgraphicsexpose.height); |
| 6133 | event.xgraphicsexpose.height); | ||
| 6134 | } | ||
| 6135 | #ifdef USE_X_TOOLKIT | 6148 | #ifdef USE_X_TOOLKIT |
| 6136 | else | 6149 | else |
| 6137 | goto OTHER; | 6150 | goto OTHER; |
| @@ -6145,13 +6158,13 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6145 | 6158 | ||
| 6146 | case UnmapNotify: | 6159 | case UnmapNotify: |
| 6147 | /* Redo the mouse-highlight after the tooltip has gone. */ | 6160 | /* Redo the mouse-highlight after the tooltip has gone. */ |
| 6148 | if (event.xunmap.window == tip_window) | 6161 | if (event->xunmap.window == tip_window) |
| 6149 | { | 6162 | { |
| 6150 | tip_window = 0; | 6163 | tip_window = 0; |
| 6151 | redo_mouse_highlight (); | 6164 | x_redo_mouse_highlight (dpyinfo); |
| 6152 | } | 6165 | } |
| 6153 | 6166 | ||
| 6154 | f = x_top_window_to_frame (dpyinfo, event.xunmap.window); | 6167 | f = x_top_window_to_frame (dpyinfo, event->xunmap.window); |
| 6155 | if (f) /* F may no longer exist if | 6168 | if (f) /* F may no longer exist if |
| 6156 | the frame was deleted. */ | 6169 | the frame was deleted. */ |
| 6157 | { | 6170 | { |
| @@ -6176,7 +6189,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6176 | goto OTHER; | 6189 | goto OTHER; |
| 6177 | 6190 | ||
| 6178 | case MapNotify: | 6191 | case MapNotify: |
| 6179 | if (event.xmap.window == tip_window) | 6192 | if (event->xmap.window == tip_window) |
| 6180 | /* The tooltip has been drawn already. Avoid | 6193 | /* The tooltip has been drawn already. Avoid |
| 6181 | the SET_FRAME_GARBAGED below. */ | 6194 | the SET_FRAME_GARBAGED below. */ |
| 6182 | goto OTHER; | 6195 | goto OTHER; |
| @@ -6184,7 +6197,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6184 | /* We use x_top_window_to_frame because map events can | 6197 | /* We use x_top_window_to_frame because map events can |
| 6185 | come for sub-windows and they don't mean that the | 6198 | come for sub-windows and they don't mean that the |
| 6186 | frame is visible. */ | 6199 | frame is visible. */ |
| 6187 | f = x_top_window_to_frame (dpyinfo, event.xmap.window); | 6200 | f = x_top_window_to_frame (dpyinfo, event->xmap.window); |
| 6188 | if (f) | 6201 | if (f) |
| 6189 | { | 6202 | { |
| 6190 | bool iconified = FRAME_ICONIFIED_P (f); | 6203 | bool iconified = FRAME_ICONIFIED_P (f); |
| @@ -6224,7 +6237,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6224 | 6237 | ||
| 6225 | case KeyPress: | 6238 | case KeyPress: |
| 6226 | 6239 | ||
| 6227 | last_user_time = event.xkey.time; | 6240 | dpyinfo->last_user_time = event->xkey.time; |
| 6228 | ignore_next_mouse_click_timeout = 0; | 6241 | ignore_next_mouse_click_timeout = 0; |
| 6229 | 6242 | ||
| 6230 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) | 6243 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) |
| @@ -6233,8 +6246,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6233 | goto OTHER; | 6246 | goto OTHER; |
| 6234 | #endif | 6247 | #endif |
| 6235 | 6248 | ||
| 6236 | f = x_any_window_to_frame (dpyinfo, event.xkey.window); | 6249 | f = any; |
| 6237 | 6250 | ||
| 6251 | #if ! defined (USE_GTK) | ||
| 6238 | /* If mouse-highlight is an integer, input clears out | 6252 | /* If mouse-highlight is an integer, input clears out |
| 6239 | mouse highlighting. */ | 6253 | mouse highlighting. */ |
| 6240 | if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) | 6254 | if (!hlinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) |
| @@ -6244,6 +6258,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6244 | clear_mouse_face (hlinfo); | 6258 | clear_mouse_face (hlinfo); |
| 6245 | hlinfo->mouse_face_hidden = 1; | 6259 | hlinfo->mouse_face_hidden = 1; |
| 6246 | } | 6260 | } |
| 6261 | #endif | ||
| 6247 | 6262 | ||
| 6248 | #if defined USE_MOTIF && defined USE_TOOLKIT_SCROLL_BARS | 6263 | #if defined USE_MOTIF && defined USE_TOOLKIT_SCROLL_BARS |
| 6249 | if (f == 0) | 6264 | if (f == 0) |
| @@ -6251,7 +6266,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6251 | /* Scroll bars consume key events, but we want | 6266 | /* Scroll bars consume key events, but we want |
| 6252 | the keys to go to the scroll bar's frame. */ | 6267 | the keys to go to the scroll bar's frame. */ |
| 6253 | Widget widget = XtWindowToWidget (dpyinfo->display, | 6268 | Widget widget = XtWindowToWidget (dpyinfo->display, |
| 6254 | event.xkey.window); | 6269 | event->xkey.window); |
| 6255 | if (widget && XmIsScrollBar (widget)) | 6270 | if (widget && XmIsScrollBar (widget)) |
| 6256 | { | 6271 | { |
| 6257 | widget = XtParent (widget); | 6272 | widget = XtParent (widget); |
| @@ -6280,6 +6295,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6280 | int modifiers; | 6295 | int modifiers; |
| 6281 | Lisp_Object coding_system = Qlatin_1; | 6296 | Lisp_Object coding_system = Qlatin_1; |
| 6282 | Lisp_Object c; | 6297 | Lisp_Object c; |
| 6298 | /* Event will be modified. */ | ||
| 6299 | XKeyEvent xkey = event->xkey; | ||
| 6283 | 6300 | ||
| 6284 | #ifdef USE_GTK | 6301 | #ifdef USE_GTK |
| 6285 | /* Don't pass keys to GTK. A Tab will shift focus to the | 6302 | /* Don't pass keys to GTK. A Tab will shift focus to the |
| @@ -6289,20 +6306,19 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6289 | *finish = X_EVENT_DROP; | 6306 | *finish = X_EVENT_DROP; |
| 6290 | #endif | 6307 | #endif |
| 6291 | 6308 | ||
| 6292 | event.xkey.state | 6309 | xkey.state |= x_emacs_to_x_modifiers (FRAME_DISPLAY_INFO (f), |
| 6293 | |= x_emacs_to_x_modifiers (FRAME_X_DISPLAY_INFO (f), | 6310 | extra_keyboard_modifiers); |
| 6294 | extra_keyboard_modifiers); | 6311 | modifiers = xkey.state; |
| 6295 | modifiers = event.xkey.state; | ||
| 6296 | 6312 | ||
| 6297 | /* This will have to go some day... */ | 6313 | /* This will have to go some day... */ |
| 6298 | 6314 | ||
| 6299 | /* make_lispy_event turns chars into control chars. | 6315 | /* make_lispy_event turns chars into control chars. |
| 6300 | Don't do it here because XLookupString is too eager. */ | 6316 | Don't do it here because XLookupString is too eager. */ |
| 6301 | event.xkey.state &= ~ControlMask; | 6317 | xkey.state &= ~ControlMask; |
| 6302 | event.xkey.state &= ~(dpyinfo->meta_mod_mask | 6318 | xkey.state &= ~(dpyinfo->meta_mod_mask |
| 6303 | | dpyinfo->super_mod_mask | 6319 | | dpyinfo->super_mod_mask |
| 6304 | | dpyinfo->hyper_mod_mask | 6320 | | dpyinfo->hyper_mod_mask |
| 6305 | | dpyinfo->alt_mod_mask); | 6321 | | dpyinfo->alt_mod_mask); |
| 6306 | 6322 | ||
| 6307 | /* In case Meta is ComposeCharacter, | 6323 | /* In case Meta is ComposeCharacter, |
| 6308 | clear its status. According to Markus Ehrnsperger | 6324 | clear its status. According to Markus Ehrnsperger |
| @@ -6319,7 +6335,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6319 | 6335 | ||
| 6320 | coding_system = Vlocale_coding_system; | 6336 | coding_system = Vlocale_coding_system; |
| 6321 | nbytes = XmbLookupString (FRAME_XIC (f), | 6337 | nbytes = XmbLookupString (FRAME_XIC (f), |
| 6322 | &event.xkey, (char *) copy_bufptr, | 6338 | &xkey, (char *) copy_bufptr, |
| 6323 | copy_bufsiz, &keysym, | 6339 | copy_bufsiz, &keysym, |
| 6324 | &status_return); | 6340 | &status_return); |
| 6325 | if (status_return == XBufferOverflow) | 6341 | if (status_return == XBufferOverflow) |
| @@ -6327,7 +6343,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6327 | copy_bufsiz = nbytes + 1; | 6343 | copy_bufsiz = nbytes + 1; |
| 6328 | copy_bufptr = alloca (copy_bufsiz); | 6344 | copy_bufptr = alloca (copy_bufsiz); |
| 6329 | nbytes = XmbLookupString (FRAME_XIC (f), | 6345 | nbytes = XmbLookupString (FRAME_XIC (f), |
| 6330 | &event.xkey, (char *) copy_bufptr, | 6346 | &xkey, (char *) copy_bufptr, |
| 6331 | copy_bufsiz, &keysym, | 6347 | copy_bufsiz, &keysym, |
| 6332 | &status_return); | 6348 | &status_return); |
| 6333 | } | 6349 | } |
| @@ -6344,11 +6360,11 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6344 | emacs_abort (); | 6360 | emacs_abort (); |
| 6345 | } | 6361 | } |
| 6346 | else | 6362 | else |
| 6347 | nbytes = XLookupString (&event.xkey, (char *) copy_bufptr, | 6363 | nbytes = XLookupString (&xkey, (char *) copy_bufptr, |
| 6348 | copy_bufsiz, &keysym, | 6364 | copy_bufsiz, &keysym, |
| 6349 | &compose_status); | 6365 | &compose_status); |
| 6350 | #else | 6366 | #else |
| 6351 | nbytes = XLookupString (&event.xkey, (char *) copy_bufptr, | 6367 | nbytes = XLookupString (&xkey, (char *) copy_bufptr, |
| 6352 | copy_bufsiz, &keysym, | 6368 | copy_bufsiz, &keysym, |
| 6353 | &compose_status); | 6369 | &compose_status); |
| 6354 | #endif | 6370 | #endif |
| @@ -6364,8 +6380,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6364 | /* Common for all keysym input events. */ | 6380 | /* Common for all keysym input events. */ |
| 6365 | XSETFRAME (inev.ie.frame_or_window, f); | 6381 | XSETFRAME (inev.ie.frame_or_window, f); |
| 6366 | inev.ie.modifiers | 6382 | inev.ie.modifiers |
| 6367 | = x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), modifiers); | 6383 | = x_x_to_emacs_modifiers (FRAME_DISPLAY_INFO (f), modifiers); |
| 6368 | inev.ie.timestamp = event.xkey.time; | 6384 | inev.ie.timestamp = xkey.time; |
| 6369 | 6385 | ||
| 6370 | /* First deal with keysyms which have defined | 6386 | /* First deal with keysyms which have defined |
| 6371 | translations to characters. */ | 6387 | translations to characters. */ |
| @@ -6541,6 +6557,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6541 | if (keysym == NoSymbol) | 6557 | if (keysym == NoSymbol) |
| 6542 | break; | 6558 | break; |
| 6543 | } | 6559 | } |
| 6560 | /* FIXME: check side effects and remove this. */ | ||
| 6561 | ((XEvent *) event)->xkey = xkey; | ||
| 6544 | } | 6562 | } |
| 6545 | done_keysym: | 6563 | done_keysym: |
| 6546 | #ifdef HAVE_X_I18N | 6564 | #ifdef HAVE_X_I18N |
| @@ -6553,7 +6571,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6553 | #endif | 6571 | #endif |
| 6554 | 6572 | ||
| 6555 | case KeyRelease: | 6573 | case KeyRelease: |
| 6556 | last_user_time = event.xkey.time; | 6574 | dpyinfo->last_user_time = event->xkey.time; |
| 6557 | #ifdef HAVE_X_I18N | 6575 | #ifdef HAVE_X_I18N |
| 6558 | /* Don't dispatch this event since XtDispatchEvent calls | 6576 | /* Don't dispatch this event since XtDispatchEvent calls |
| 6559 | XFilterEvent, and two calls in a row may freeze the | 6577 | XFilterEvent, and two calls in a row may freeze the |
| @@ -6564,35 +6582,35 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6564 | #endif | 6582 | #endif |
| 6565 | 6583 | ||
| 6566 | case EnterNotify: | 6584 | case EnterNotify: |
| 6567 | last_user_time = event.xcrossing.time; | 6585 | dpyinfo->last_user_time = event->xcrossing.time; |
| 6568 | x_detect_focus_change (dpyinfo, &event, &inev.ie); | 6586 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 6569 | 6587 | ||
| 6570 | f = x_any_window_to_frame (dpyinfo, event.xcrossing.window); | 6588 | f = any; |
| 6571 | 6589 | ||
| 6572 | if (f && x_mouse_click_focus_ignore_position) | 6590 | if (f && x_mouse_click_focus_ignore_position) |
| 6573 | ignore_next_mouse_click_timeout = event.xmotion.time + 200; | 6591 | ignore_next_mouse_click_timeout = event->xmotion.time + 200; |
| 6574 | 6592 | ||
| 6575 | /* EnterNotify counts as mouse movement, | 6593 | /* EnterNotify counts as mouse movement, |
| 6576 | so update things that depend on mouse position. */ | 6594 | so update things that depend on mouse position. */ |
| 6577 | if (f && !f->output_data.x->hourglass_p) | 6595 | if (f && !f->output_data.x->hourglass_p) |
| 6578 | note_mouse_movement (f, &event.xmotion); | 6596 | note_mouse_movement (f, &event->xmotion); |
| 6579 | #ifdef USE_GTK | 6597 | #ifdef USE_GTK |
| 6580 | /* We may get an EnterNotify on the buttons in the toolbar. In that | 6598 | /* We may get an EnterNotify on the buttons in the toolbar. In that |
| 6581 | case we moved out of any highlighted area and need to note this. */ | 6599 | case we moved out of any highlighted area and need to note this. */ |
| 6582 | if (!f && last_mouse_glyph_frame) | 6600 | if (!f && dpyinfo->last_mouse_glyph_frame) |
| 6583 | note_mouse_movement (last_mouse_glyph_frame, &event.xmotion); | 6601 | note_mouse_movement (dpyinfo->last_mouse_glyph_frame, &event->xmotion); |
| 6584 | #endif | 6602 | #endif |
| 6585 | goto OTHER; | 6603 | goto OTHER; |
| 6586 | 6604 | ||
| 6587 | case FocusIn: | 6605 | case FocusIn: |
| 6588 | x_detect_focus_change (dpyinfo, &event, &inev.ie); | 6606 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 6589 | goto OTHER; | 6607 | goto OTHER; |
| 6590 | 6608 | ||
| 6591 | case LeaveNotify: | 6609 | case LeaveNotify: |
| 6592 | last_user_time = event.xcrossing.time; | 6610 | dpyinfo->last_user_time = event->xcrossing.time; |
| 6593 | x_detect_focus_change (dpyinfo, &event, &inev.ie); | 6611 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 6594 | 6612 | ||
| 6595 | f = x_top_window_to_frame (dpyinfo, event.xcrossing.window); | 6613 | f = x_top_window_to_frame (dpyinfo, event->xcrossing.window); |
| 6596 | if (f) | 6614 | if (f) |
| 6597 | { | 6615 | { |
| 6598 | if (f == hlinfo->mouse_face_mouse_frame) | 6616 | if (f == hlinfo->mouse_face_mouse_frame) |
| @@ -6612,26 +6630,23 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6612 | } | 6630 | } |
| 6613 | #ifdef USE_GTK | 6631 | #ifdef USE_GTK |
| 6614 | /* See comment in EnterNotify above */ | 6632 | /* See comment in EnterNotify above */ |
| 6615 | else if (last_mouse_glyph_frame) | 6633 | else if (dpyinfo->last_mouse_glyph_frame) |
| 6616 | note_mouse_movement (last_mouse_glyph_frame, &event.xmotion); | 6634 | note_mouse_movement (dpyinfo->last_mouse_glyph_frame, &event->xmotion); |
| 6617 | #endif | 6635 | #endif |
| 6618 | goto OTHER; | 6636 | goto OTHER; |
| 6619 | 6637 | ||
| 6620 | case FocusOut: | 6638 | case FocusOut: |
| 6621 | x_detect_focus_change (dpyinfo, &event, &inev.ie); | 6639 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 6622 | goto OTHER; | 6640 | goto OTHER; |
| 6623 | 6641 | ||
| 6624 | case MotionNotify: | 6642 | case MotionNotify: |
| 6625 | { | 6643 | { |
| 6626 | last_user_time = event.xmotion.time; | 6644 | dpyinfo->last_user_time = event->xmotion.time; |
| 6627 | previous_help_echo_string = help_echo_string; | 6645 | previous_help_echo_string = help_echo_string; |
| 6628 | help_echo_string = Qnil; | 6646 | help_echo_string = Qnil; |
| 6629 | 6647 | ||
| 6630 | if (dpyinfo->grabbed && last_mouse_frame | 6648 | f = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 6631 | && FRAME_LIVE_P (last_mouse_frame)) | 6649 | : x_window_to_frame (dpyinfo, event->xmotion.window)); |
| 6632 | f = last_mouse_frame; | ||
| 6633 | else | ||
| 6634 | f = x_window_to_frame (dpyinfo, event.xmotion.window); | ||
| 6635 | 6650 | ||
| 6636 | if (hlinfo->mouse_face_hidden) | 6651 | if (hlinfo->mouse_face_hidden) |
| 6637 | { | 6652 | { |
| @@ -6640,7 +6655,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6640 | } | 6655 | } |
| 6641 | 6656 | ||
| 6642 | #ifdef USE_GTK | 6657 | #ifdef USE_GTK |
| 6643 | if (f && xg_event_is_for_scrollbar (f, &event)) | 6658 | if (f && xg_event_is_for_scrollbar (f, event)) |
| 6644 | f = 0; | 6659 | f = 0; |
| 6645 | #endif | 6660 | #endif |
| 6646 | if (f) | 6661 | if (f) |
| @@ -6652,7 +6667,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6652 | { | 6667 | { |
| 6653 | static Lisp_Object last_mouse_window; | 6668 | static Lisp_Object last_mouse_window; |
| 6654 | Lisp_Object window = window_from_coordinates | 6669 | Lisp_Object window = window_from_coordinates |
| 6655 | (f, event.xmotion.x, event.xmotion.y, 0, 0); | 6670 | (f, event->xmotion.x, event->xmotion.y, 0, 0); |
| 6656 | 6671 | ||
| 6657 | /* Window will be selected only when it is not selected now and | 6672 | /* Window will be selected only when it is not selected now and |
| 6658 | last mouse movement event was not in it. Minibuffer window | 6673 | last mouse movement event was not in it. Minibuffer window |
| @@ -6673,18 +6688,18 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6673 | /* Remember the last window where we saw the mouse. */ | 6688 | /* Remember the last window where we saw the mouse. */ |
| 6674 | last_mouse_window = window; | 6689 | last_mouse_window = window; |
| 6675 | } | 6690 | } |
| 6676 | if (!note_mouse_movement (f, &event.xmotion)) | 6691 | if (!note_mouse_movement (f, &event->xmotion)) |
| 6677 | help_echo_string = previous_help_echo_string; | 6692 | help_echo_string = previous_help_echo_string; |
| 6678 | } | 6693 | } |
| 6679 | else | 6694 | else |
| 6680 | { | 6695 | { |
| 6681 | #ifndef USE_TOOLKIT_SCROLL_BARS | 6696 | #ifndef USE_TOOLKIT_SCROLL_BARS |
| 6682 | struct scroll_bar *bar | 6697 | struct scroll_bar *bar |
| 6683 | = x_window_to_scroll_bar (event.xmotion.display, | 6698 | = x_window_to_scroll_bar (event->xmotion.display, |
| 6684 | event.xmotion.window); | 6699 | event->xmotion.window); |
| 6685 | 6700 | ||
| 6686 | if (bar) | 6701 | if (bar) |
| 6687 | x_scroll_bar_note_movement (bar, &event.xmotion); | 6702 | x_scroll_bar_note_movement (bar, &event->xmotion); |
| 6688 | #endif /* USE_TOOLKIT_SCROLL_BARS */ | 6703 | #endif /* USE_TOOLKIT_SCROLL_BARS */ |
| 6689 | 6704 | ||
| 6690 | /* If we move outside the frame, then we're | 6705 | /* If we move outside the frame, then we're |
| @@ -6701,14 +6716,14 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6701 | } | 6716 | } |
| 6702 | 6717 | ||
| 6703 | case ConfigureNotify: | 6718 | case ConfigureNotify: |
| 6704 | f = x_top_window_to_frame (dpyinfo, event.xconfigure.window); | 6719 | f = x_top_window_to_frame (dpyinfo, event->xconfigure.window); |
| 6705 | #ifdef USE_GTK | 6720 | #ifdef USE_GTK |
| 6706 | if (!f | 6721 | if (!f |
| 6707 | && (f = x_any_window_to_frame (dpyinfo, event.xconfigure.window)) | 6722 | && (f = any) |
| 6708 | && event.xconfigure.window == FRAME_X_WINDOW (f)) | 6723 | && event->xconfigure.window == FRAME_X_WINDOW (f)) |
| 6709 | { | 6724 | { |
| 6710 | xg_frame_resized (f, event.xconfigure.width, | 6725 | xg_frame_resized (f, event->xconfigure.width, |
| 6711 | event.xconfigure.height); | 6726 | event->xconfigure.height); |
| 6712 | f = 0; | 6727 | f = 0; |
| 6713 | } | 6728 | } |
| 6714 | #endif | 6729 | #endif |
| @@ -6716,8 +6731,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6716 | { | 6731 | { |
| 6717 | #ifndef USE_X_TOOLKIT | 6732 | #ifndef USE_X_TOOLKIT |
| 6718 | #ifndef USE_GTK | 6733 | #ifndef USE_GTK |
| 6719 | int rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, event.xconfigure.height); | 6734 | int rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, event->xconfigure.height); |
| 6720 | int columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, event.xconfigure.width); | 6735 | int columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, event->xconfigure.width); |
| 6721 | 6736 | ||
| 6722 | /* In the toolkit version, change_frame_size | 6737 | /* In the toolkit version, change_frame_size |
| 6723 | is called by the code that handles resizing | 6738 | is called by the code that handles resizing |
| @@ -6728,16 +6743,16 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6728 | to check the pixel dimensions as well. */ | 6743 | to check the pixel dimensions as well. */ |
| 6729 | if (columns != FRAME_COLS (f) | 6744 | if (columns != FRAME_COLS (f) |
| 6730 | || rows != FRAME_LINES (f) | 6745 | || rows != FRAME_LINES (f) |
| 6731 | || event.xconfigure.width != FRAME_PIXEL_WIDTH (f) | 6746 | || event->xconfigure.width != FRAME_PIXEL_WIDTH (f) |
| 6732 | || event.xconfigure.height != FRAME_PIXEL_HEIGHT (f)) | 6747 | || event->xconfigure.height != FRAME_PIXEL_HEIGHT (f)) |
| 6733 | { | 6748 | { |
| 6734 | change_frame_size (f, rows, columns, 0, 1, 0); | 6749 | change_frame_size (f, rows, columns, 0, 1, 0); |
| 6735 | SET_FRAME_GARBAGED (f); | 6750 | SET_FRAME_GARBAGED (f); |
| 6736 | cancel_mouse_face (f); | 6751 | cancel_mouse_face (f); |
| 6737 | } | 6752 | } |
| 6738 | 6753 | ||
| 6739 | FRAME_PIXEL_WIDTH (f) = event.xconfigure.width; | 6754 | FRAME_PIXEL_WIDTH (f) = event->xconfigure.width; |
| 6740 | FRAME_PIXEL_HEIGHT (f) = event.xconfigure.height; | 6755 | FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height; |
| 6741 | #endif /* not USE_GTK */ | 6756 | #endif /* not USE_GTK */ |
| 6742 | #endif | 6757 | #endif |
| 6743 | 6758 | ||
| @@ -6747,9 +6762,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6747 | if (FRAME_GTK_OUTER_WIDGET (f) | 6762 | if (FRAME_GTK_OUTER_WIDGET (f) |
| 6748 | && gtk_widget_get_mapped (FRAME_GTK_OUTER_WIDGET (f))) | 6763 | && gtk_widget_get_mapped (FRAME_GTK_OUTER_WIDGET (f))) |
| 6749 | #endif | 6764 | #endif |
| 6750 | { | 6765 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| 6751 | x_real_positions (f, &f->left_pos, &f->top_pos); | ||
| 6752 | } | ||
| 6753 | 6766 | ||
| 6754 | #ifdef HAVE_X_I18N | 6767 | #ifdef HAVE_X_I18N |
| 6755 | if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMStatusArea)) | 6768 | if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMStatusArea)) |
| @@ -6766,42 +6779,37 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6766 | by the rest of Emacs, we put it here. */ | 6779 | by the rest of Emacs, we put it here. */ |
| 6767 | bool tool_bar_p = 0; | 6780 | bool tool_bar_p = 0; |
| 6768 | 6781 | ||
| 6769 | memset (&compose_status, 0, sizeof (compose_status)); | 6782 | memset (&compose_status, 0, sizeof (compose_status)); |
| 6770 | last_mouse_glyph_frame = 0; | 6783 | dpyinfo->last_mouse_glyph_frame = NULL; |
| 6771 | last_user_time = event.xbutton.time; | 6784 | dpyinfo->last_user_time = event->xbutton.time; |
| 6772 | 6785 | ||
| 6773 | if (dpyinfo->grabbed | 6786 | f = (x_mouse_grabbed (dpyinfo) ? dpyinfo->last_mouse_frame |
| 6774 | && last_mouse_frame | 6787 | : x_window_to_frame (dpyinfo, event->xbutton.window)); |
| 6775 | && FRAME_LIVE_P (last_mouse_frame)) | ||
| 6776 | f = last_mouse_frame; | ||
| 6777 | else | ||
| 6778 | f = x_window_to_frame (dpyinfo, event.xbutton.window); | ||
| 6779 | 6788 | ||
| 6780 | #ifdef USE_GTK | 6789 | #ifdef USE_GTK |
| 6781 | if (f && xg_event_is_for_scrollbar (f, &event)) | 6790 | if (f && xg_event_is_for_scrollbar (f, event)) |
| 6782 | f = 0; | 6791 | f = 0; |
| 6783 | #endif | 6792 | #endif |
| 6784 | if (f) | 6793 | if (f) |
| 6785 | { | 6794 | { |
| 6795 | #if ! defined (USE_GTK) | ||
| 6786 | /* Is this in the tool-bar? */ | 6796 | /* Is this in the tool-bar? */ |
| 6787 | if (WINDOWP (f->tool_bar_window) | 6797 | if (WINDOWP (f->tool_bar_window) |
| 6788 | && WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window))) | 6798 | && WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window))) |
| 6789 | { | 6799 | { |
| 6790 | Lisp_Object window; | 6800 | Lisp_Object window; |
| 6791 | int x = event.xbutton.x; | 6801 | int x = event->xbutton.x; |
| 6792 | int y = event.xbutton.y; | 6802 | int y = event->xbutton.y; |
| 6793 | 6803 | ||
| 6794 | window = window_from_coordinates (f, x, y, 0, 1); | 6804 | window = window_from_coordinates (f, x, y, 0, 1); |
| 6795 | tool_bar_p = EQ (window, f->tool_bar_window); | 6805 | tool_bar_p = EQ (window, f->tool_bar_window); |
| 6796 | 6806 | ||
| 6797 | if (tool_bar_p && event.xbutton.button < 4) | 6807 | if (tool_bar_p && event->xbutton.button < 4) |
| 6798 | { | 6808 | handle_tool_bar_click |
| 6799 | handle_tool_bar_click (f, x, y, | 6809 | (f, x, y, event->xbutton.type == ButtonPress, |
| 6800 | event.xbutton.type == ButtonPress, | 6810 | x_x_to_emacs_modifiers (dpyinfo, event->xbutton.state)); |
| 6801 | x_x_to_emacs_modifiers (dpyinfo, | ||
| 6802 | event.xbutton.state)); | ||
| 6803 | } | ||
| 6804 | } | 6811 | } |
| 6812 | #endif /* !USE_GTK */ | ||
| 6805 | 6813 | ||
| 6806 | if (!tool_bar_p) | 6814 | if (!tool_bar_p) |
| 6807 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) | 6815 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) |
| @@ -6810,52 +6818,52 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6810 | { | 6818 | { |
| 6811 | if (ignore_next_mouse_click_timeout) | 6819 | if (ignore_next_mouse_click_timeout) |
| 6812 | { | 6820 | { |
| 6813 | if (event.type == ButtonPress | 6821 | if (event->type == ButtonPress |
| 6814 | && (int)(event.xbutton.time - ignore_next_mouse_click_timeout) > 0) | 6822 | && event->xbutton.time > ignore_next_mouse_click_timeout) |
| 6815 | { | 6823 | { |
| 6816 | ignore_next_mouse_click_timeout = 0; | 6824 | ignore_next_mouse_click_timeout = 0; |
| 6817 | construct_mouse_click (&inev.ie, &event.xbutton, f); | 6825 | construct_mouse_click (&inev.ie, &event->xbutton, f); |
| 6818 | } | 6826 | } |
| 6819 | if (event.type == ButtonRelease) | 6827 | if (event->type == ButtonRelease) |
| 6820 | ignore_next_mouse_click_timeout = 0; | 6828 | ignore_next_mouse_click_timeout = 0; |
| 6821 | } | 6829 | } |
| 6822 | else | 6830 | else |
| 6823 | construct_mouse_click (&inev.ie, &event.xbutton, f); | 6831 | construct_mouse_click (&inev.ie, &event->xbutton, f); |
| 6824 | } | 6832 | } |
| 6825 | if (FRAME_X_EMBEDDED_P (f)) | 6833 | if (FRAME_X_EMBEDDED_P (f)) |
| 6826 | xembed_send_message (f, event.xbutton.time, | 6834 | xembed_send_message (f, event->xbutton.time, |
| 6827 | XEMBED_REQUEST_FOCUS, 0, 0, 0); | 6835 | XEMBED_REQUEST_FOCUS, 0, 0, 0); |
| 6828 | } | 6836 | } |
| 6829 | else | 6837 | else |
| 6830 | { | 6838 | { |
| 6831 | struct scroll_bar *bar | 6839 | struct scroll_bar *bar |
| 6832 | = x_window_to_scroll_bar (event.xbutton.display, | 6840 | = x_window_to_scroll_bar (event->xbutton.display, |
| 6833 | event.xbutton.window); | 6841 | event->xbutton.window); |
| 6834 | 6842 | ||
| 6835 | #ifdef USE_TOOLKIT_SCROLL_BARS | 6843 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 6836 | /* Make the "Ctrl-Mouse-2 splits window" work for toolkit | 6844 | /* Make the "Ctrl-Mouse-2 splits window" work for toolkit |
| 6837 | scroll bars. */ | 6845 | scroll bars. */ |
| 6838 | if (bar && event.xbutton.state & ControlMask) | 6846 | if (bar && event->xbutton.state & ControlMask) |
| 6839 | { | 6847 | { |
| 6840 | x_scroll_bar_handle_click (bar, &event, &inev.ie); | 6848 | x_scroll_bar_handle_click (bar, event, &inev.ie); |
| 6841 | *finish = X_EVENT_DROP; | 6849 | *finish = X_EVENT_DROP; |
| 6842 | } | 6850 | } |
| 6843 | #else /* not USE_TOOLKIT_SCROLL_BARS */ | 6851 | #else /* not USE_TOOLKIT_SCROLL_BARS */ |
| 6844 | if (bar) | 6852 | if (bar) |
| 6845 | x_scroll_bar_handle_click (bar, &event, &inev.ie); | 6853 | x_scroll_bar_handle_click (bar, event, &inev.ie); |
| 6846 | #endif /* not USE_TOOLKIT_SCROLL_BARS */ | 6854 | #endif /* not USE_TOOLKIT_SCROLL_BARS */ |
| 6847 | } | 6855 | } |
| 6848 | 6856 | ||
| 6849 | if (event.type == ButtonPress) | 6857 | if (event->type == ButtonPress) |
| 6850 | { | 6858 | { |
| 6851 | dpyinfo->grabbed |= (1 << event.xbutton.button); | 6859 | dpyinfo->grabbed |= (1 << event->xbutton.button); |
| 6852 | last_mouse_frame = f; | 6860 | dpyinfo->last_mouse_frame = f; |
| 6853 | 6861 | ||
| 6854 | if (!tool_bar_p) | 6862 | if (!tool_bar_p) |
| 6855 | last_tool_bar_item = -1; | 6863 | last_tool_bar_item = -1; |
| 6856 | } | 6864 | } |
| 6857 | else | 6865 | else |
| 6858 | dpyinfo->grabbed &= ~(1 << event.xbutton.button); | 6866 | dpyinfo->grabbed &= ~(1 << event->xbutton.button); |
| 6859 | 6867 | ||
| 6860 | /* Ignore any mouse motion that happened before this event; | 6868 | /* Ignore any mouse motion that happened before this event; |
| 6861 | any subsequent mouse-movement Emacs events should reflect | 6869 | any subsequent mouse-movement Emacs events should reflect |
| @@ -6864,7 +6872,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6864 | f->mouse_moved = 0; | 6872 | f->mouse_moved = 0; |
| 6865 | 6873 | ||
| 6866 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) | 6874 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) |
| 6867 | f = x_menubar_window_to_frame (dpyinfo, &event); | 6875 | f = x_menubar_window_to_frame (dpyinfo, event); |
| 6868 | /* For a down-event in the menu bar, | 6876 | /* For a down-event in the menu bar, |
| 6869 | don't pass it to Xt right now. | 6877 | don't pass it to Xt right now. |
| 6870 | Instead, save it away | 6878 | Instead, save it away |
| @@ -6873,19 +6881,23 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6873 | if (! popup_activated () | 6881 | if (! popup_activated () |
| 6874 | #ifdef USE_GTK | 6882 | #ifdef USE_GTK |
| 6875 | /* Gtk+ menus only react to the first three buttons. */ | 6883 | /* Gtk+ menus only react to the first three buttons. */ |
| 6876 | && event.xbutton.button < 3 | 6884 | && event->xbutton.button < 3 |
| 6877 | #endif | 6885 | #endif |
| 6878 | && f && event.type == ButtonPress | 6886 | && f && event->type == ButtonPress |
| 6879 | /* Verify the event is really within the menu bar | 6887 | /* Verify the event is really within the menu bar |
| 6880 | and not just sent to it due to grabbing. */ | 6888 | and not just sent to it due to grabbing. */ |
| 6881 | && event.xbutton.x >= 0 | 6889 | && event->xbutton.x >= 0 |
| 6882 | && event.xbutton.x < FRAME_PIXEL_WIDTH (f) | 6890 | && event->xbutton.x < FRAME_PIXEL_WIDTH (f) |
| 6883 | && event.xbutton.y >= 0 | 6891 | && event->xbutton.y >= 0 |
| 6884 | && event.xbutton.y < f->output_data.x->menubar_height | 6892 | && event->xbutton.y < f->output_data.x->menubar_height |
| 6885 | && event.xbutton.same_screen) | 6893 | && event->xbutton.same_screen) |
| 6886 | { | 6894 | { |
| 6887 | SET_SAVED_BUTTON_EVENT; | 6895 | if (!f->output_data.x->saved_menu_event) |
| 6888 | *finish = X_EVENT_DROP; | 6896 | f->output_data.x->saved_menu_event = xmalloc (sizeof *event); |
| 6897 | *f->output_data.x->saved_menu_event = *event; | ||
| 6898 | inev.ie.kind = MENU_BAR_ACTIVATE_EVENT; | ||
| 6899 | XSETFRAME (inev.ie.frame_or_window, f); | ||
| 6900 | *finish = X_EVENT_DROP; | ||
| 6889 | } | 6901 | } |
| 6890 | else | 6902 | else |
| 6891 | goto OTHER; | 6903 | goto OTHER; |
| @@ -6905,18 +6917,18 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6905 | case MappingNotify: | 6917 | case MappingNotify: |
| 6906 | /* Someone has changed the keyboard mapping - update the | 6918 | /* Someone has changed the keyboard mapping - update the |
| 6907 | local cache. */ | 6919 | local cache. */ |
| 6908 | switch (event.xmapping.request) | 6920 | switch (event->xmapping.request) |
| 6909 | { | 6921 | { |
| 6910 | case MappingModifier: | 6922 | case MappingModifier: |
| 6911 | x_find_modifier_meanings (dpyinfo); | 6923 | x_find_modifier_meanings (dpyinfo); |
| 6912 | /* This is meant to fall through. */ | 6924 | /* This is meant to fall through. */ |
| 6913 | case MappingKeyboard: | 6925 | case MappingKeyboard: |
| 6914 | XRefreshKeyboardMapping (&event.xmapping); | 6926 | XRefreshKeyboardMapping ((XMappingEvent *) &event->xmapping); |
| 6915 | } | 6927 | } |
| 6916 | goto OTHER; | 6928 | goto OTHER; |
| 6917 | 6929 | ||
| 6918 | case DestroyNotify: | 6930 | case DestroyNotify: |
| 6919 | xft_settings_event (dpyinfo, &event); | 6931 | xft_settings_event (dpyinfo, event); |
| 6920 | break; | 6932 | break; |
| 6921 | 6933 | ||
| 6922 | default: | 6934 | default: |
| @@ -6924,7 +6936,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6924 | #ifdef USE_X_TOOLKIT | 6936 | #ifdef USE_X_TOOLKIT |
| 6925 | block_input (); | 6937 | block_input (); |
| 6926 | if (*finish != X_EVENT_DROP) | 6938 | if (*finish != X_EVENT_DROP) |
| 6927 | XtDispatchEvent (&event); | 6939 | XtDispatchEvent ((XEvent *) event); |
| 6928 | unblock_input (); | 6940 | unblock_input (); |
| 6929 | #endif /* USE_X_TOOLKIT */ | 6941 | #endif /* USE_X_TOOLKIT */ |
| 6930 | break; | 6942 | break; |
| @@ -6962,7 +6974,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6962 | } | 6974 | } |
| 6963 | 6975 | ||
| 6964 | SAFE_FREE (); | 6976 | SAFE_FREE (); |
| 6965 | *eventptr = event; | ||
| 6966 | return count; | 6977 | return count; |
| 6967 | } | 6978 | } |
| 6968 | 6979 | ||
| @@ -7002,6 +7013,7 @@ XTread_socket (struct terminal *terminal, struct input_event *hold_quit) | |||
| 7002 | { | 7013 | { |
| 7003 | int count = 0; | 7014 | int count = 0; |
| 7004 | int event_found = 0; | 7015 | int event_found = 0; |
| 7016 | struct x_display_info *dpyinfo = terminal->display_info.x; | ||
| 7005 | 7017 | ||
| 7006 | block_input (); | 7018 | block_input (); |
| 7007 | 7019 | ||
| @@ -7009,36 +7021,33 @@ XTread_socket (struct terminal *terminal, struct input_event *hold_quit) | |||
| 7009 | input_signal_count++; | 7021 | input_signal_count++; |
| 7010 | 7022 | ||
| 7011 | /* For debugging, this gives a way to fake an I/O error. */ | 7023 | /* For debugging, this gives a way to fake an I/O error. */ |
| 7012 | if (terminal->display_info.x == XTread_socket_fake_io_error) | 7024 | if (dpyinfo == XTread_socket_fake_io_error) |
| 7013 | { | 7025 | { |
| 7014 | XTread_socket_fake_io_error = 0; | 7026 | XTread_socket_fake_io_error = 0; |
| 7015 | x_io_error_quitter (terminal->display_info.x->display); | 7027 | x_io_error_quitter (dpyinfo->display); |
| 7016 | } | 7028 | } |
| 7017 | 7029 | ||
| 7018 | #ifndef USE_GTK | 7030 | #ifndef USE_GTK |
| 7019 | while (XPending (terminal->display_info.x->display)) | 7031 | while (XPending (dpyinfo->display)) |
| 7020 | { | 7032 | { |
| 7021 | int finish; | 7033 | int finish; |
| 7022 | XEvent event; | 7034 | XEvent event; |
| 7023 | 7035 | ||
| 7024 | XNextEvent (terminal->display_info.x->display, &event); | 7036 | XNextEvent (dpyinfo->display, &event); |
| 7025 | 7037 | ||
| 7026 | #ifdef HAVE_X_I18N | 7038 | #ifdef HAVE_X_I18N |
| 7027 | /* Filter events for the current X input method. */ | 7039 | /* Filter events for the current X input method. */ |
| 7028 | if (x_filter_event (terminal->display_info.x, &event)) | 7040 | if (x_filter_event (dpyinfo, &event)) |
| 7029 | continue; | 7041 | continue; |
| 7030 | #endif | 7042 | #endif |
| 7031 | event_found = 1; | 7043 | event_found = 1; |
| 7032 | 7044 | ||
| 7033 | count += handle_one_xevent (terminal->display_info.x, | 7045 | count += handle_one_xevent (dpyinfo, &event, &finish, hold_quit); |
| 7034 | &event, &finish, hold_quit); | ||
| 7035 | 7046 | ||
| 7036 | if (finish == X_EVENT_GOTO_OUT) | 7047 | if (finish == X_EVENT_GOTO_OUT) |
| 7037 | goto out; | 7048 | break; |
| 7038 | } | 7049 | } |
| 7039 | 7050 | ||
| 7040 | out:; | ||
| 7041 | |||
| 7042 | #else /* USE_GTK */ | 7051 | #else /* USE_GTK */ |
| 7043 | 7052 | ||
| 7044 | /* For GTK we must use the GTK event loop. But XEvents gets passed | 7053 | /* For GTK we must use the GTK event loop. But XEvents gets passed |
| @@ -7088,12 +7097,11 @@ XTread_socket (struct terminal *terminal, struct input_event *hold_quit) | |||
| 7088 | } | 7097 | } |
| 7089 | 7098 | ||
| 7090 | /* If the focus was just given to an auto-raising frame, | 7099 | /* If the focus was just given to an auto-raising frame, |
| 7091 | raise it now. */ | 7100 | raise it now. FIXME: handle more than one such frame. */ |
| 7092 | /* ??? This ought to be able to handle more than one such frame. */ | 7101 | if (dpyinfo->x_pending_autoraise_frame) |
| 7093 | if (pending_autoraise_frame) | ||
| 7094 | { | 7102 | { |
| 7095 | x_raise_frame (pending_autoraise_frame); | 7103 | x_raise_frame (dpyinfo->x_pending_autoraise_frame); |
| 7096 | pending_autoraise_frame = 0; | 7104 | dpyinfo->x_pending_autoraise_frame = NULL; |
| 7097 | } | 7105 | } |
| 7098 | 7106 | ||
| 7099 | unblock_input (); | 7107 | unblock_input (); |
| @@ -7141,7 +7149,7 @@ static void | |||
| 7141 | x_draw_hollow_cursor (struct window *w, struct glyph_row *row) | 7149 | x_draw_hollow_cursor (struct window *w, struct glyph_row *row) |
| 7142 | { | 7150 | { |
| 7143 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 7151 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 7144 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 7152 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 7145 | Display *dpy = FRAME_X_DISPLAY (f); | 7153 | Display *dpy = FRAME_X_DISPLAY (f); |
| 7146 | int x, y, wd, h; | 7154 | int x, y, wd, h; |
| 7147 | XGCValues xgcv; | 7155 | XGCValues xgcv; |
| @@ -7208,7 +7216,7 @@ x_draw_bar_cursor (struct window *w, struct glyph_row *row, int width, enum text | |||
| 7208 | { | 7216 | { |
| 7209 | Display *dpy = FRAME_X_DISPLAY (f); | 7217 | Display *dpy = FRAME_X_DISPLAY (f); |
| 7210 | Window window = FRAME_X_WINDOW (f); | 7218 | Window window = FRAME_X_WINDOW (f); |
| 7211 | GC gc = FRAME_X_DISPLAY_INFO (f)->scratch_cursor_gc; | 7219 | GC gc = FRAME_DISPLAY_INFO (f)->scratch_cursor_gc; |
| 7212 | unsigned long mask = GCForeground | GCBackground | GCGraphicsExposures; | 7220 | unsigned long mask = GCForeground | GCBackground | GCGraphicsExposures; |
| 7213 | struct face *face = FACE_FROM_ID (f, cursor_glyph->face_id); | 7221 | struct face *face = FACE_FROM_ID (f, cursor_glyph->face_id); |
| 7214 | XGCValues xgcv; | 7222 | XGCValues xgcv; |
| @@ -7229,7 +7237,7 @@ x_draw_bar_cursor (struct window *w, struct glyph_row *row, int width, enum text | |||
| 7229 | else | 7237 | else |
| 7230 | { | 7238 | { |
| 7231 | gc = XCreateGC (dpy, window, mask, &xgcv); | 7239 | gc = XCreateGC (dpy, window, mask, &xgcv); |
| 7232 | FRAME_X_DISPLAY_INFO (f)->scratch_cursor_gc = gc; | 7240 | FRAME_DISPLAY_INFO (f)->scratch_cursor_gc = gc; |
| 7233 | } | 7241 | } |
| 7234 | 7242 | ||
| 7235 | x_clip_to_row (w, row, TEXT_AREA, gc); | 7243 | x_clip_to_row (w, row, TEXT_AREA, gc); |
| @@ -7361,9 +7369,7 @@ x_draw_window_cursor (struct window *w, struct glyph_row *glyph_row, int x, | |||
| 7361 | #endif | 7369 | #endif |
| 7362 | } | 7370 | } |
| 7363 | 7371 | ||
| 7364 | #ifndef XFlush | ||
| 7365 | XFlush (FRAME_X_DISPLAY (f)); | 7372 | XFlush (FRAME_X_DISPLAY (f)); |
| 7366 | #endif | ||
| 7367 | } | 7373 | } |
| 7368 | 7374 | ||
| 7369 | 7375 | ||
| @@ -7398,7 +7404,7 @@ x_bitmap_icon (struct frame *f, Lisp_Object file) | |||
| 7398 | else | 7404 | else |
| 7399 | { | 7405 | { |
| 7400 | /* Create the GNU bitmap and mask if necessary. */ | 7406 | /* Create the GNU bitmap and mask if necessary. */ |
| 7401 | if (FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id < 0) | 7407 | if (FRAME_DISPLAY_INFO (f)->icon_bitmap_id < 0) |
| 7402 | { | 7408 | { |
| 7403 | ptrdiff_t rc = -1; | 7409 | ptrdiff_t rc = -1; |
| 7404 | 7410 | ||
| @@ -7412,7 +7418,7 @@ x_bitmap_icon (struct frame *f, Lisp_Object file) | |||
| 7412 | 7418 | ||
| 7413 | rc = x_create_bitmap_from_xpm_data (f, gnu_xpm_bits); | 7419 | rc = x_create_bitmap_from_xpm_data (f, gnu_xpm_bits); |
| 7414 | if (rc != -1) | 7420 | if (rc != -1) |
| 7415 | FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id = rc; | 7421 | FRAME_DISPLAY_INFO (f)->icon_bitmap_id = rc; |
| 7416 | 7422 | ||
| 7417 | #endif | 7423 | #endif |
| 7418 | 7424 | ||
| @@ -7424,8 +7430,8 @@ x_bitmap_icon (struct frame *f, Lisp_Object file) | |||
| 7424 | if (rc == -1) | 7430 | if (rc == -1) |
| 7425 | return 1; | 7431 | return 1; |
| 7426 | 7432 | ||
| 7427 | FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id = rc; | 7433 | FRAME_DISPLAY_INFO (f)->icon_bitmap_id = rc; |
| 7428 | x_create_bitmap_mask (f, FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id); | 7434 | x_create_bitmap_mask (f, FRAME_DISPLAY_INFO (f)->icon_bitmap_id); |
| 7429 | } | 7435 | } |
| 7430 | } | 7436 | } |
| 7431 | 7437 | ||
| @@ -7433,9 +7439,9 @@ x_bitmap_icon (struct frame *f, Lisp_Object file) | |||
| 7433 | this increments the ref-count one extra time. | 7439 | this increments the ref-count one extra time. |
| 7434 | As a result, the GNU bitmap and mask are never freed. | 7440 | As a result, the GNU bitmap and mask are never freed. |
| 7435 | That way, we don't have to worry about allocating it again. */ | 7441 | That way, we don't have to worry about allocating it again. */ |
| 7436 | x_reference_bitmap (f, FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id); | 7442 | x_reference_bitmap (f, FRAME_DISPLAY_INFO (f)->icon_bitmap_id); |
| 7437 | 7443 | ||
| 7438 | bitmap_id = FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id; | 7444 | bitmap_id = FRAME_DISPLAY_INFO (f)->icon_bitmap_id; |
| 7439 | } | 7445 | } |
| 7440 | 7446 | ||
| 7441 | x_wm_set_icon_pixmap (f, bitmap_id); | 7447 | x_wm_set_icon_pixmap (f, bitmap_id); |
| @@ -7649,7 +7655,7 @@ x_connection_closed (Display *dpy, const char *error_message) | |||
| 7649 | if (FRAME_X_P (XFRAME (frame)) | 7655 | if (FRAME_X_P (XFRAME (frame)) |
| 7650 | && FRAME_X_P (XFRAME (minibuf_frame)) | 7656 | && FRAME_X_P (XFRAME (minibuf_frame)) |
| 7651 | && ! EQ (frame, minibuf_frame) | 7657 | && ! EQ (frame, minibuf_frame) |
| 7652 | && FRAME_X_DISPLAY_INFO (XFRAME (minibuf_frame)) == dpyinfo) | 7658 | && FRAME_DISPLAY_INFO (XFRAME (minibuf_frame)) == dpyinfo) |
| 7653 | delete_frame (frame, Qnoelisp); | 7659 | delete_frame (frame, Qnoelisp); |
| 7654 | } | 7660 | } |
| 7655 | 7661 | ||
| @@ -7658,7 +7664,7 @@ x_connection_closed (Display *dpy, const char *error_message) | |||
| 7658 | for another frame that we need to delete. */ | 7664 | for another frame that we need to delete. */ |
| 7659 | FOR_EACH_FRAME (tail, frame) | 7665 | FOR_EACH_FRAME (tail, frame) |
| 7660 | if (FRAME_X_P (XFRAME (frame)) | 7666 | if (FRAME_X_P (XFRAME (frame)) |
| 7661 | && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) | 7667 | && FRAME_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) |
| 7662 | { | 7668 | { |
| 7663 | /* Set this to t so that delete_frame won't get confused | 7669 | /* Set this to t so that delete_frame won't get confused |
| 7664 | trying to find a replacement. */ | 7670 | trying to find a replacement. */ |
| @@ -7881,7 +7887,7 @@ xim_destroy_callback (XIM xim, XPointer client_data, XPointer call_data) | |||
| 7881 | FOR_EACH_FRAME (tail, frame) | 7887 | FOR_EACH_FRAME (tail, frame) |
| 7882 | { | 7888 | { |
| 7883 | struct frame *f = XFRAME (frame); | 7889 | struct frame *f = XFRAME (frame); |
| 7884 | if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo) | 7890 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo) |
| 7885 | { | 7891 | { |
| 7886 | FRAME_XIC (f) = NULL; | 7892 | FRAME_XIC (f) = NULL; |
| 7887 | xic_free_xfontset (f); | 7893 | xic_free_xfontset (f); |
| @@ -7972,7 +7978,7 @@ xim_instantiate_callback (Display *display, XPointer client_data, XPointer call_ | |||
| 7972 | struct frame *f = XFRAME (frame); | 7978 | struct frame *f = XFRAME (frame); |
| 7973 | 7979 | ||
| 7974 | if (FRAME_X_P (f) | 7980 | if (FRAME_X_P (f) |
| 7975 | && FRAME_X_DISPLAY_INFO (f) == xim_inst->dpyinfo) | 7981 | && FRAME_DISPLAY_INFO (f) == xim_inst->dpyinfo) |
| 7976 | if (FRAME_XIC (f) == NULL) | 7982 | if (FRAME_XIC (f) == NULL) |
| 7977 | { | 7983 | { |
| 7978 | create_frame_xic (f); | 7984 | create_frame_xic (f); |
| @@ -8070,7 +8076,7 @@ x_calc_absolute_position (struct frame *f) | |||
| 8070 | /* Treat negative positions as relative to the leftmost bottommost | 8076 | /* Treat negative positions as relative to the leftmost bottommost |
| 8071 | position that fits on the screen. */ | 8077 | position that fits on the screen. */ |
| 8072 | if (flags & XNegative) | 8078 | if (flags & XNegative) |
| 8073 | f->left_pos = x_display_pixel_width (FRAME_X_DISPLAY_INFO (f)) | 8079 | f->left_pos = x_display_pixel_width (FRAME_DISPLAY_INFO (f)) |
| 8074 | - FRAME_PIXEL_WIDTH (f) + f->left_pos; | 8080 | - FRAME_PIXEL_WIDTH (f) + f->left_pos; |
| 8075 | 8081 | ||
| 8076 | { | 8082 | { |
| @@ -8093,7 +8099,7 @@ x_calc_absolute_position (struct frame *f) | |||
| 8093 | #endif | 8099 | #endif |
| 8094 | 8100 | ||
| 8095 | if (flags & YNegative) | 8101 | if (flags & YNegative) |
| 8096 | f->top_pos = x_display_pixel_height (FRAME_X_DISPLAY_INFO (f)) | 8102 | f->top_pos = x_display_pixel_height (FRAME_DISPLAY_INFO (f)) |
| 8097 | - height + f->top_pos; | 8103 | - height + f->top_pos; |
| 8098 | } | 8104 | } |
| 8099 | 8105 | ||
| @@ -8133,7 +8139,7 @@ x_set_offset (struct frame *f, register int xoff, register int yoff, int change_ | |||
| 8133 | modified_left = f->left_pos; | 8139 | modified_left = f->left_pos; |
| 8134 | modified_top = f->top_pos; | 8140 | modified_top = f->top_pos; |
| 8135 | 8141 | ||
| 8136 | if (change_gravity != 0 && FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A) | 8142 | if (change_gravity != 0 && FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A) |
| 8137 | { | 8143 | { |
| 8138 | /* Some WMs (twm, wmaker at least) has an offset that is smaller | 8144 | /* Some WMs (twm, wmaker at least) has an offset that is smaller |
| 8139 | than the WM decorations. So we use the calculated offset instead | 8145 | than the WM decorations. So we use the calculated offset instead |
| @@ -8146,7 +8152,7 @@ x_set_offset (struct frame *f, register int xoff, register int yoff, int change_ | |||
| 8146 | modified_left, modified_top); | 8152 | modified_left, modified_top); |
| 8147 | 8153 | ||
| 8148 | x_sync_with_move (f, f->left_pos, f->top_pos, | 8154 | x_sync_with_move (f, f->left_pos, f->top_pos, |
| 8149 | FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN | 8155 | FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN |
| 8150 | ? 1 : 0); | 8156 | ? 1 : 0); |
| 8151 | 8157 | ||
| 8152 | /* change_gravity is non-zero when this function is called from Lisp to | 8158 | /* change_gravity is non-zero when this function is called from Lisp to |
| @@ -8160,8 +8166,8 @@ x_set_offset (struct frame *f, register int xoff, register int yoff, int change_ | |||
| 8160 | need to compute the top/left offset adjustment for this frame. */ | 8166 | need to compute the top/left offset adjustment for this frame. */ |
| 8161 | 8167 | ||
| 8162 | if (change_gravity != 0 && | 8168 | if (change_gravity != 0 && |
| 8163 | (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN | 8169 | (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN |
| 8164 | || (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A | 8170 | || (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A |
| 8165 | && (FRAME_X_OUTPUT (f)->move_offset_left == 0 | 8171 | && (FRAME_X_OUTPUT (f)->move_offset_left == 0 |
| 8166 | && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) | 8172 | && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) |
| 8167 | x_check_expected_move (f, modified_left, modified_top); | 8173 | x_check_expected_move (f, modified_left, modified_top); |
| @@ -8182,7 +8188,7 @@ wm_supports (struct frame *f, Atom want_atom) | |||
| 8182 | unsigned long actual_size, bytes_remaining; | 8188 | unsigned long actual_size, bytes_remaining; |
| 8183 | int i, rc, actual_format; | 8189 | int i, rc, actual_format; |
| 8184 | Window wmcheck_window; | 8190 | Window wmcheck_window; |
| 8185 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8191 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8186 | Window target_window = dpyinfo->root_window; | 8192 | Window target_window = dpyinfo->root_window; |
| 8187 | long max_len = 65536; | 8193 | long max_len = 65536; |
| 8188 | Display *dpy = FRAME_X_DISPLAY (f); | 8194 | Display *dpy = FRAME_X_DISPLAY (f); |
| @@ -8263,7 +8269,7 @@ wm_supports (struct frame *f, Atom want_atom) | |||
| 8263 | static void | 8269 | static void |
| 8264 | set_wm_state (Lisp_Object frame, int add, Atom atom, Atom value) | 8270 | set_wm_state (Lisp_Object frame, int add, Atom atom, Atom value) |
| 8265 | { | 8271 | { |
| 8266 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (XFRAME (frame)); | 8272 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (XFRAME (frame)); |
| 8267 | 8273 | ||
| 8268 | x_send_client_event (frame, make_number (0), frame, | 8274 | x_send_client_event (frame, make_number (0), frame, |
| 8269 | dpyinfo->Xatom_net_wm_state, | 8275 | dpyinfo->Xatom_net_wm_state, |
| @@ -8282,7 +8288,7 @@ void | |||
| 8282 | x_set_sticky (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) | 8288 | x_set_sticky (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) |
| 8283 | { | 8289 | { |
| 8284 | Lisp_Object frame; | 8290 | Lisp_Object frame; |
| 8285 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8291 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8286 | 8292 | ||
| 8287 | XSETFRAME (frame, f); | 8293 | XSETFRAME (frame, f); |
| 8288 | 8294 | ||
| @@ -8305,7 +8311,7 @@ get_current_wm_state (struct frame *f, | |||
| 8305 | Atom actual_type; | 8311 | Atom actual_type; |
| 8306 | unsigned long actual_size, bytes_remaining; | 8312 | unsigned long actual_size, bytes_remaining; |
| 8307 | int i, rc, actual_format, is_hidden = 0; | 8313 | int i, rc, actual_format, is_hidden = 0; |
| 8308 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8314 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8309 | long max_len = 65536; | 8315 | long max_len = 65536; |
| 8310 | Display *dpy = FRAME_X_DISPLAY (f); | 8316 | Display *dpy = FRAME_X_DISPLAY (f); |
| 8311 | unsigned char *tmp_data = NULL; | 8317 | unsigned char *tmp_data = NULL; |
| @@ -8369,7 +8375,7 @@ get_current_wm_state (struct frame *f, | |||
| 8369 | static int | 8375 | static int |
| 8370 | do_ewmh_fullscreen (struct frame *f) | 8376 | do_ewmh_fullscreen (struct frame *f) |
| 8371 | { | 8377 | { |
| 8372 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8378 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8373 | int have_net_atom = wm_supports (f, dpyinfo->Xatom_net_wm_state); | 8379 | int have_net_atom = wm_supports (f, dpyinfo->Xatom_net_wm_state); |
| 8374 | int cur, dummy; | 8380 | int cur, dummy; |
| 8375 | 8381 | ||
| @@ -8449,7 +8455,7 @@ XTfullscreen_hook (struct frame *f) | |||
| 8449 | 8455 | ||
| 8450 | 8456 | ||
| 8451 | static int | 8457 | static int |
| 8452 | x_handle_net_wm_state (struct frame *f, XPropertyEvent *event) | 8458 | x_handle_net_wm_state (struct frame *f, const XPropertyEvent *event) |
| 8453 | { | 8459 | { |
| 8454 | int value = FULLSCREEN_NONE; | 8460 | int value = FULLSCREEN_NONE; |
| 8455 | Lisp_Object lval; | 8461 | Lisp_Object lval; |
| @@ -8487,7 +8493,7 @@ x_check_fullscreen (struct frame *f) | |||
| 8487 | if (do_ewmh_fullscreen (f)) | 8493 | if (do_ewmh_fullscreen (f)) |
| 8488 | return; | 8494 | return; |
| 8489 | 8495 | ||
| 8490 | if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window) | 8496 | if (f->output_data.x->parent_desc != FRAME_DISPLAY_INFO (f)->root_window) |
| 8491 | return; /* Only fullscreen without WM or with EWM hints (above). */ | 8497 | return; /* Only fullscreen without WM or with EWM hints (above). */ |
| 8492 | 8498 | ||
| 8493 | /* Setting fullscreen to nil doesn't do anything. We could save the | 8499 | /* Setting fullscreen to nil doesn't do anything. We could save the |
| @@ -8497,7 +8503,7 @@ x_check_fullscreen (struct frame *f) | |||
| 8497 | if (f->want_fullscreen != FULLSCREEN_NONE) | 8503 | if (f->want_fullscreen != FULLSCREEN_NONE) |
| 8498 | { | 8504 | { |
| 8499 | int width = FRAME_PIXEL_WIDTH (f), height = FRAME_PIXEL_HEIGHT (f); | 8505 | int width = FRAME_PIXEL_WIDTH (f), height = FRAME_PIXEL_HEIGHT (f); |
| 8500 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8506 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8501 | 8507 | ||
| 8502 | switch (f->want_fullscreen) | 8508 | switch (f->want_fullscreen) |
| 8503 | { | 8509 | { |
| @@ -8544,7 +8550,7 @@ x_check_expected_move (struct frame *f, int expected_left, int expected_top) | |||
| 8544 | int adjusted_left; | 8550 | int adjusted_left; |
| 8545 | int adjusted_top; | 8551 | int adjusted_top; |
| 8546 | 8552 | ||
| 8547 | FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_A; | 8553 | FRAME_DISPLAY_INFO (f)->wm_type = X_WMTYPE_A; |
| 8548 | FRAME_X_OUTPUT (f)->move_offset_left = expected_left - current_left; | 8554 | FRAME_X_OUTPUT (f)->move_offset_left = expected_left - current_left; |
| 8549 | FRAME_X_OUTPUT (f)->move_offset_top = expected_top - current_top; | 8555 | FRAME_X_OUTPUT (f)->move_offset_top = expected_top - current_top; |
| 8550 | 8556 | ||
| @@ -8562,7 +8568,7 @@ x_check_expected_move (struct frame *f, int expected_left, int expected_top) | |||
| 8562 | /* It's a "Type B" window manager. We don't have to adjust the | 8568 | /* It's a "Type B" window manager. We don't have to adjust the |
| 8563 | frame's position. */ | 8569 | frame's position. */ |
| 8564 | 8570 | ||
| 8565 | FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B; | 8571 | FRAME_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B; |
| 8566 | } | 8572 | } |
| 8567 | 8573 | ||
| 8568 | 8574 | ||
| @@ -8618,15 +8624,14 @@ x_wait_for_event (struct frame *f, int eventtype) | |||
| 8618 | struct timespec tmo, tmo_at, time_now; | 8624 | struct timespec tmo, tmo_at, time_now; |
| 8619 | int fd = ConnectionNumber (FRAME_X_DISPLAY (f)); | 8625 | int fd = ConnectionNumber (FRAME_X_DISPLAY (f)); |
| 8620 | 8626 | ||
| 8621 | pending_event_wait.f = f; | 8627 | f->wait_event_type = eventtype; |
| 8622 | pending_event_wait.eventtype = eventtype; | ||
| 8623 | 8628 | ||
| 8624 | /* Set timeout to 0.1 second. Hopefully not noticeable. | 8629 | /* Set timeout to 0.1 second. Hopefully not noticeable. |
| 8625 | Maybe it should be configurable. */ | 8630 | Maybe it should be configurable. */ |
| 8626 | tmo = make_timespec (0, 100 * 1000 * 1000); | 8631 | tmo = make_timespec (0, 100 * 1000 * 1000); |
| 8627 | tmo_at = timespec_add (current_timespec (), tmo); | 8632 | tmo_at = timespec_add (current_timespec (), tmo); |
| 8628 | 8633 | ||
| 8629 | while (pending_event_wait.eventtype) | 8634 | while (f->wait_event_type) |
| 8630 | { | 8635 | { |
| 8631 | pending_signals = 1; | 8636 | pending_signals = 1; |
| 8632 | totally_unblock_input (); | 8637 | totally_unblock_input (); |
| @@ -8645,8 +8650,8 @@ x_wait_for_event (struct frame *f, int eventtype) | |||
| 8645 | if (pselect (fd + 1, &fds, NULL, NULL, &tmo, NULL) == 0) | 8650 | if (pselect (fd + 1, &fds, NULL, NULL, &tmo, NULL) == 0) |
| 8646 | break; /* Timeout */ | 8651 | break; /* Timeout */ |
| 8647 | } | 8652 | } |
| 8648 | pending_event_wait.f = 0; | 8653 | |
| 8649 | pending_event_wait.eventtype = 0; | 8654 | f->wait_event_type = 0; |
| 8650 | } | 8655 | } |
| 8651 | 8656 | ||
| 8652 | 8657 | ||
| @@ -8854,15 +8859,16 @@ x_ewmh_activate_frame (struct frame *f) | |||
| 8854 | /* See Window Manager Specification/Extended Window Manager Hints at | 8859 | /* See Window Manager Specification/Extended Window Manager Hints at |
| 8855 | http://freedesktop.org/wiki/Specifications/wm-spec */ | 8860 | http://freedesktop.org/wiki/Specifications/wm-spec */ |
| 8856 | 8861 | ||
| 8857 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8862 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8858 | 8863 | ||
| 8859 | if (FRAME_VISIBLE_P (f) && wm_supports (f, dpyinfo->Xatom_net_active_window)) | 8864 | if (FRAME_VISIBLE_P (f) && wm_supports (f, dpyinfo->Xatom_net_active_window)) |
| 8860 | { | 8865 | { |
| 8861 | Lisp_Object frame; | 8866 | Lisp_Object frame; |
| 8862 | XSETFRAME (frame, f); | 8867 | XSETFRAME (frame, f); |
| 8863 | x_send_client_event (frame, make_number (0), frame, | 8868 | x_send_client_event (frame, make_number (0), frame, |
| 8864 | dpyinfo->Xatom_net_active_window, | 8869 | dpyinfo->Xatom_net_active_window, |
| 8865 | make_number (32), list2i (1, last_user_time)); | 8870 | make_number (32), |
| 8871 | list2i (1, dpyinfo->last_user_time)); | ||
| 8866 | } | 8872 | } |
| 8867 | } | 8873 | } |
| 8868 | 8874 | ||
| @@ -8887,7 +8893,7 @@ static void | |||
| 8887 | xembed_set_info (struct frame *f, enum xembed_info flags) | 8893 | xembed_set_info (struct frame *f, enum xembed_info flags) |
| 8888 | { | 8894 | { |
| 8889 | unsigned long data[2]; | 8895 | unsigned long data[2]; |
| 8890 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 8896 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 8891 | 8897 | ||
| 8892 | data[0] = XEMBED_VERSION; | 8898 | data[0] = XEMBED_VERSION; |
| 8893 | data[1] = flags; | 8899 | data[1] = flags; |
| @@ -8906,7 +8912,7 @@ xembed_send_message (struct frame *f, Time t, enum xembed_message msg, | |||
| 8906 | 8912 | ||
| 8907 | event.xclient.type = ClientMessage; | 8913 | event.xclient.type = ClientMessage; |
| 8908 | event.xclient.window = FRAME_X_OUTPUT (f)->parent_desc; | 8914 | event.xclient.window = FRAME_X_OUTPUT (f)->parent_desc; |
| 8909 | event.xclient.message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_XEMBED; | 8915 | event.xclient.message_type = FRAME_DISPLAY_INFO (f)->Xatom_XEMBED; |
| 8910 | event.xclient.format = 32; | 8916 | event.xclient.format = 32; |
| 8911 | event.xclient.data.l[0] = t; | 8917 | event.xclient.data.l[0] = t; |
| 8912 | event.xclient.data.l[1] = msg; | 8918 | event.xclient.data.l[1] = msg; |
| @@ -8931,7 +8937,6 @@ xembed_send_message (struct frame *f, Time t, enum xembed_message msg, | |||
| 8931 | void | 8937 | void |
| 8932 | x_make_frame_visible (struct frame *f) | 8938 | x_make_frame_visible (struct frame *f) |
| 8933 | { | 8939 | { |
| 8934 | Lisp_Object type; | ||
| 8935 | int original_top, original_left; | 8940 | int original_top, original_left; |
| 8936 | int retry_count = 2; | 8941 | int retry_count = 2; |
| 8937 | 8942 | ||
| @@ -8939,9 +8944,7 @@ x_make_frame_visible (struct frame *f) | |||
| 8939 | 8944 | ||
| 8940 | block_input (); | 8945 | block_input (); |
| 8941 | 8946 | ||
| 8942 | type = x_icon_type (f); | 8947 | x_set_bitmap_icon (f); |
| 8943 | if (!NILP (type)) | ||
| 8944 | x_bitmap_icon (f, type); | ||
| 8945 | 8948 | ||
| 8946 | if (! FRAME_VISIBLE_P (f)) | 8949 | if (! FRAME_VISIBLE_P (f)) |
| 8947 | { | 8950 | { |
| @@ -9096,8 +9099,8 @@ x_make_frame_invisible (struct frame *f) | |||
| 9096 | window = FRAME_OUTER_WINDOW (f); | 9099 | window = FRAME_OUTER_WINDOW (f); |
| 9097 | 9100 | ||
| 9098 | /* Don't keep the highlight on an invisible frame. */ | 9101 | /* Don't keep the highlight on an invisible frame. */ |
| 9099 | if (FRAME_X_DISPLAY_INFO (f)->x_highlight_frame == f) | 9102 | if (FRAME_DISPLAY_INFO (f)->x_highlight_frame == f) |
| 9100 | FRAME_X_DISPLAY_INFO (f)->x_highlight_frame = 0; | 9103 | FRAME_DISPLAY_INFO (f)->x_highlight_frame = 0; |
| 9101 | 9104 | ||
| 9102 | block_input (); | 9105 | block_input (); |
| 9103 | 9106 | ||
| @@ -9148,20 +9151,17 @@ x_iconify_frame (struct frame *f) | |||
| 9148 | #ifdef USE_X_TOOLKIT | 9151 | #ifdef USE_X_TOOLKIT |
| 9149 | int result; | 9152 | int result; |
| 9150 | #endif | 9153 | #endif |
| 9151 | Lisp_Object type; | ||
| 9152 | 9154 | ||
| 9153 | /* Don't keep the highlight on an invisible frame. */ | 9155 | /* Don't keep the highlight on an invisible frame. */ |
| 9154 | if (FRAME_X_DISPLAY_INFO (f)->x_highlight_frame == f) | 9156 | if (FRAME_DISPLAY_INFO (f)->x_highlight_frame == f) |
| 9155 | FRAME_X_DISPLAY_INFO (f)->x_highlight_frame = 0; | 9157 | FRAME_DISPLAY_INFO (f)->x_highlight_frame = 0; |
| 9156 | 9158 | ||
| 9157 | if (FRAME_ICONIFIED_P (f)) | 9159 | if (FRAME_ICONIFIED_P (f)) |
| 9158 | return; | 9160 | return; |
| 9159 | 9161 | ||
| 9160 | block_input (); | 9162 | block_input (); |
| 9161 | 9163 | ||
| 9162 | type = x_icon_type (f); | 9164 | x_set_bitmap_icon (f); |
| 9163 | if (!NILP (type)) | ||
| 9164 | x_bitmap_icon (f, type); | ||
| 9165 | 9165 | ||
| 9166 | #if defined (USE_GTK) | 9166 | #if defined (USE_GTK) |
| 9167 | if (FRAME_GTK_OUTER_WIDGET (f)) | 9167 | if (FRAME_GTK_OUTER_WIDGET (f)) |
| @@ -9227,7 +9227,7 @@ x_iconify_frame (struct frame *f) | |||
| 9227 | 9227 | ||
| 9228 | msg.xclient.window = FRAME_X_WINDOW (f); | 9228 | msg.xclient.window = FRAME_X_WINDOW (f); |
| 9229 | msg.xclient.type = ClientMessage; | 9229 | msg.xclient.type = ClientMessage; |
| 9230 | msg.xclient.message_type = FRAME_X_DISPLAY_INFO (f)->Xatom_wm_change_state; | 9230 | msg.xclient.message_type = FRAME_DISPLAY_INFO (f)->Xatom_wm_change_state; |
| 9231 | msg.xclient.format = 32; | 9231 | msg.xclient.format = 32; |
| 9232 | msg.xclient.data.l[0] = IconicState; | 9232 | msg.xclient.data.l[0] = IconicState; |
| 9233 | 9233 | ||
| @@ -9266,7 +9266,7 @@ x_iconify_frame (struct frame *f) | |||
| 9266 | void | 9266 | void |
| 9267 | x_free_frame_resources (struct frame *f) | 9267 | x_free_frame_resources (struct frame *f) |
| 9268 | { | 9268 | { |
| 9269 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 9269 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 9270 | Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight; | 9270 | Mouse_HLInfo *hlinfo = &dpyinfo->mouse_highlight; |
| 9271 | #ifdef USE_X_TOOLKIT | 9271 | #ifdef USE_X_TOOLKIT |
| 9272 | Lisp_Object bar; | 9272 | Lisp_Object bar; |
| @@ -9389,7 +9389,7 @@ x_free_frame_resources (struct frame *f) | |||
| 9389 | static void | 9389 | static void |
| 9390 | x_destroy_window (struct frame *f) | 9390 | x_destroy_window (struct frame *f) |
| 9391 | { | 9391 | { |
| 9392 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 9392 | struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f); |
| 9393 | 9393 | ||
| 9394 | /* If a display connection is dead, don't try sending more | 9394 | /* If a display connection is dead, don't try sending more |
| 9395 | commands to the X server. */ | 9395 | commands to the X server. */ |
| @@ -9435,9 +9435,9 @@ x_wm_set_size_hint (struct frame *f, long flags, bool user_position) | |||
| 9435 | 9435 | ||
| 9436 | size_hints.width_inc = FRAME_COLUMN_WIDTH (f); | 9436 | size_hints.width_inc = FRAME_COLUMN_WIDTH (f); |
| 9437 | size_hints.height_inc = FRAME_LINE_HEIGHT (f); | 9437 | size_hints.height_inc = FRAME_LINE_HEIGHT (f); |
| 9438 | size_hints.max_width = x_display_pixel_width (FRAME_X_DISPLAY_INFO (f)) | 9438 | size_hints.max_width = x_display_pixel_width (FRAME_DISPLAY_INFO (f)) |
| 9439 | - FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 0); | 9439 | - FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 0); |
| 9440 | size_hints.max_height = x_display_pixel_height (FRAME_X_DISPLAY_INFO (f)) | 9440 | size_hints.max_height = x_display_pixel_height (FRAME_DISPLAY_INFO (f)) |
| 9441 | - FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 0); | 9441 | - FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 0); |
| 9442 | 9442 | ||
| 9443 | /* Calculate the base and minimum sizes. */ | 9443 | /* Calculate the base and minimum sizes. */ |
| @@ -10384,11 +10384,6 @@ static struct redisplay_interface x_redisplay_interface = | |||
| 10384 | x_update_window_begin, | 10384 | x_update_window_begin, |
| 10385 | x_update_window_end, | 10385 | x_update_window_end, |
| 10386 | x_flush, | 10386 | x_flush, |
| 10387 | #ifdef XFlush | ||
| 10388 | x_flush, | ||
| 10389 | #else | ||
| 10390 | 0, /* flush_display_optional */ | ||
| 10391 | #endif | ||
| 10392 | x_clear_window_mouse_face, | 10387 | x_clear_window_mouse_face, |
| 10393 | x_get_glyph_overhangs, | 10388 | x_get_glyph_overhangs, |
| 10394 | x_fix_overlapping_area, | 10389 | x_fix_overlapping_area, |
| @@ -10572,10 +10567,6 @@ x_initialize (void) | |||
| 10572 | #endif | 10567 | #endif |
| 10573 | #endif | 10568 | #endif |
| 10574 | 10569 | ||
| 10575 | pending_autoraise_frame = 0; | ||
| 10576 | pending_event_wait.f = 0; | ||
| 10577 | pending_event_wait.eventtype = 0; | ||
| 10578 | |||
| 10579 | /* Note that there is no real way portable across R3/R4 to get the | 10570 | /* Note that there is no real way portable across R3/R4 to get the |
| 10580 | original error handler. */ | 10571 | original error handler. */ |
| 10581 | XSetErrorHandler (x_error_handler); | 10572 | XSetErrorHandler (x_error_handler); |
| @@ -10591,9 +10582,6 @@ syms_of_xterm (void) | |||
| 10591 | staticpro (&x_display_name_list); | 10582 | staticpro (&x_display_name_list); |
| 10592 | x_display_name_list = Qnil; | 10583 | x_display_name_list = Qnil; |
| 10593 | 10584 | ||
| 10594 | staticpro (&last_mouse_scroll_bar); | ||
| 10595 | last_mouse_scroll_bar = Qnil; | ||
| 10596 | |||
| 10597 | DEFSYM (Qvendor_specific_keysyms, "vendor-specific-keysyms"); | 10585 | DEFSYM (Qvendor_specific_keysyms, "vendor-specific-keysyms"); |
| 10598 | DEFSYM (Qlatin_1, "latin-1"); | 10586 | DEFSYM (Qlatin_1, "latin-1"); |
| 10599 | 10587 | ||
| @@ -10652,9 +10640,6 @@ With MS Windows or Nextstep, the value is t. */); | |||
| 10652 | Vx_toolkit_scroll_bars = Qnil; | 10640 | Vx_toolkit_scroll_bars = Qnil; |
| 10653 | #endif | 10641 | #endif |
| 10654 | 10642 | ||
| 10655 | staticpro (&last_mouse_motion_frame); | ||
| 10656 | last_mouse_motion_frame = Qnil; | ||
| 10657 | |||
| 10658 | Qmodifier_value = intern_c_string ("modifier-value"); | 10643 | Qmodifier_value = intern_c_string ("modifier-value"); |
| 10659 | Qalt = intern_c_string ("alt"); | 10644 | Qalt = intern_c_string ("alt"); |
| 10660 | Fput (Qalt, Qmodifier_value, make_number (alt_modifier)); | 10645 | Fput (Qalt, Qmodifier_value, make_number (alt_modifier)); |
| @@ -10700,5 +10685,3 @@ default is nil, which is the same as `super'. */); | |||
| 10700 | make_float (DEFAULT_REHASH_THRESHOLD), | 10685 | make_float (DEFAULT_REHASH_THRESHOLD), |
| 10701 | Qnil); | 10686 | Qnil); |
| 10702 | } | 10687 | } |
| 10703 | |||
| 10704 | #endif /* HAVE_X_WINDOWS */ | ||
diff --git a/src/xterm.h b/src/xterm.h index 883a249629d..36aa8e52b1c 100644 --- a/src/xterm.h +++ b/src/xterm.h | |||
| @@ -78,10 +78,11 @@ typedef GtkWidget *xt_or_gtk_widget; | |||
| 78 | #include "dispextern.h" | 78 | #include "dispextern.h" |
| 79 | #include "termhooks.h" | 79 | #include "termhooks.h" |
| 80 | 80 | ||
| 81 | #define BLACK_PIX_DEFAULT(f) BlackPixel (FRAME_X_DISPLAY (f), \ | 81 | /* Black and white pixel values for the screen which frame F is on. */ |
| 82 | XScreenNumberOfScreen (FRAME_X_SCREEN (f))) | 82 | #define BLACK_PIX_DEFAULT(f) \ |
| 83 | #define WHITE_PIX_DEFAULT(f) WhitePixel (FRAME_X_DISPLAY (f), \ | 83 | BlackPixel (FRAME_X_DISPLAY (f), FRAME_X_SCREEN_NUMBER (f)) |
| 84 | XScreenNumberOfScreen (FRAME_X_SCREEN (f))) | 84 | #define WHITE_PIX_DEFAULT(f) \ |
| 85 | WhitePixel (FRAME_X_DISPLAY (f), FRAME_X_SCREEN_NUMBER (f)) | ||
| 85 | 86 | ||
| 86 | #define FONT_WIDTH(f) ((f)->max_width) | 87 | #define FONT_WIDTH(f) ((f)->max_width) |
| 87 | #define FONT_HEIGHT(f) ((f)->ascent + (f)->descent) | 88 | #define FONT_HEIGHT(f) ((f)->ascent + (f)->descent) |
| @@ -301,6 +302,41 @@ struct x_display_info | |||
| 301 | minibuffer. */ | 302 | minibuffer. */ |
| 302 | struct frame *x_highlight_frame; | 303 | struct frame *x_highlight_frame; |
| 303 | 304 | ||
| 305 | /* The frame waiting to be auto-raised in XTread_socket. */ | ||
| 306 | struct frame *x_pending_autoraise_frame; | ||
| 307 | |||
| 308 | /* The frame where the mouse was last time we reported a ButtonPress event. */ | ||
| 309 | struct frame *last_mouse_frame; | ||
| 310 | |||
| 311 | /* The frame where the mouse was last time we reported a mouse position. */ | ||
| 312 | struct frame *last_mouse_glyph_frame; | ||
| 313 | |||
| 314 | /* The frame where the mouse was last time we reported a mouse motion. */ | ||
| 315 | struct frame *last_mouse_motion_frame; | ||
| 316 | |||
| 317 | /* The scroll bar in which the last X motion event occurred. */ | ||
| 318 | struct scroll_bar *last_mouse_scroll_bar; | ||
| 319 | |||
| 320 | /* Time of last user interaction as returned in X events on this display. */ | ||
| 321 | Time last_user_time; | ||
| 322 | |||
| 323 | /* Position where the mouse was last time we reported a motion. | ||
| 324 | This is a position on last_mouse_motion_frame. */ | ||
| 325 | int last_mouse_motion_x; | ||
| 326 | int last_mouse_motion_y; | ||
| 327 | |||
| 328 | /* Where the mouse was last time we reported a mouse position. | ||
| 329 | This is a rectangle on last_mouse_glyph_frame. */ | ||
| 330 | XRectangle last_mouse_glyph; | ||
| 331 | |||
| 332 | /* Time of last mouse movement on this display. This is a hack because | ||
| 333 | we would really prefer that XTmouse_position would return the time | ||
| 334 | associated with the position it returns, but there doesn't seem to be | ||
| 335 | any way to wrest the time-stamp from the server along with the position | ||
| 336 | query. So, we just keep track of the time of the last movement we | ||
| 337 | received, and return that in hopes that it's somewhat accurate. */ | ||
| 338 | Time last_mouse_movement_time; | ||
| 339 | |||
| 304 | /* The gray pixmap. */ | 340 | /* The gray pixmap. */ |
| 305 | Pixmap gray; | 341 | Pixmap gray; |
| 306 | 342 | ||
| @@ -373,20 +409,6 @@ struct x_display_info | |||
| 373 | extern int use_xim; | 409 | extern int use_xim; |
| 374 | #endif | 410 | #endif |
| 375 | 411 | ||
| 376 | extern struct frame *x_window_to_frame (struct x_display_info *, int); | ||
| 377 | extern struct frame *x_any_window_to_frame (struct x_display_info *, int); | ||
| 378 | extern struct frame *x_menubar_window_to_frame (struct x_display_info *, | ||
| 379 | XEvent *); | ||
| 380 | extern struct frame *x_top_window_to_frame (struct x_display_info *, int); | ||
| 381 | |||
| 382 | extern struct frame *x_menubar_window_to_frame (struct x_display_info *, | ||
| 383 | XEvent *); | ||
| 384 | |||
| 385 | #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) | ||
| 386 | #define x_any_window_to_frame x_window_to_frame | ||
| 387 | #define x_top_window_to_frame x_window_to_frame | ||
| 388 | #endif | ||
| 389 | |||
| 390 | /* This is a chain of structures for all the X displays currently in use. */ | 412 | /* This is a chain of structures for all the X displays currently in use. */ |
| 391 | extern struct x_display_info *x_display_list; | 413 | extern struct x_display_info *x_display_list; |
| 392 | 414 | ||
| @@ -397,7 +419,7 @@ extern struct x_display_info *x_display_list; | |||
| 397 | extern Lisp_Object x_display_name_list; | 419 | extern Lisp_Object x_display_name_list; |
| 398 | 420 | ||
| 399 | extern struct x_display_info *x_display_info_for_display (Display *); | 421 | extern struct x_display_info *x_display_info_for_display (Display *); |
| 400 | 422 | extern struct frame *x_top_window_to_frame (struct x_display_info *, int); | |
| 401 | extern struct x_display_info *x_term_init (Lisp_Object, char *, char *); | 423 | extern struct x_display_info *x_term_init (Lisp_Object, char *, char *); |
| 402 | extern bool x_display_ok (const char *); | 424 | extern bool x_display_ok (const char *); |
| 403 | 425 | ||
| @@ -711,20 +733,22 @@ enum | |||
| 711 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.x->baseline_offset) | 733 | #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.x->baseline_offset) |
| 712 | 734 | ||
| 713 | /* This gives the x_display_info structure for the display F is on. */ | 735 | /* This gives the x_display_info structure for the display F is on. */ |
| 714 | #define FRAME_X_DISPLAY_INFO(f) ((f)->output_data.x->display_info) | 736 | #define FRAME_DISPLAY_INFO(f) ((f)->output_data.x->display_info) |
| 715 | 737 | ||
| 716 | /* This is the `Display *' which frame F is on. */ | 738 | /* This is the `Display *' which frame F is on. */ |
| 717 | #define FRAME_X_DISPLAY(f) (FRAME_X_DISPLAY_INFO (f)->display) | 739 | #define FRAME_X_DISPLAY(f) (FRAME_DISPLAY_INFO (f)->display) |
| 718 | 740 | ||
| 719 | /* This is the `Screen *' which frame F is on. */ | 741 | /* This is the `Screen *' which frame F is on. */ |
| 720 | #define FRAME_X_SCREEN(f) (FRAME_X_DISPLAY_INFO (f)->screen) | 742 | #define FRAME_X_SCREEN(f) (FRAME_DISPLAY_INFO (f)->screen) |
| 743 | |||
| 744 | /* This is the screen index number of screen which frame F is on. */ | ||
| 721 | #define FRAME_X_SCREEN_NUMBER(f) XScreenNumberOfScreen (FRAME_X_SCREEN (f)) | 745 | #define FRAME_X_SCREEN_NUMBER(f) XScreenNumberOfScreen (FRAME_X_SCREEN (f)) |
| 722 | 746 | ||
| 723 | /* This is the Visual which frame F is on. */ | 747 | /* This is the Visual which frame F is on. */ |
| 724 | #define FRAME_X_VISUAL(f) FRAME_X_DISPLAY_INFO (f)->visual | 748 | #define FRAME_X_VISUAL(f) FRAME_DISPLAY_INFO (f)->visual |
| 725 | 749 | ||
| 726 | /* This is the Colormap which frame F uses. */ | 750 | /* This is the Colormap which frame F uses. */ |
| 727 | #define FRAME_X_COLORMAP(f) FRAME_X_DISPLAY_INFO (f)->cmap | 751 | #define FRAME_X_COLORMAP(f) FRAME_DISPLAY_INFO (f)->cmap |
| 728 | 752 | ||
| 729 | /* The difference in pixels between the top left corner of the | 753 | /* The difference in pixels between the top left corner of the |
| 730 | Emacs window (including possible window manager decorations) | 754 | Emacs window (including possible window manager decorations) |
| @@ -737,21 +761,11 @@ enum | |||
| 737 | 761 | ||
| 738 | 762 | ||
| 739 | #define FRAME_XIC(f) ((f)->output_data.x->xic) | 763 | #define FRAME_XIC(f) ((f)->output_data.x->xic) |
| 740 | #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim) | 764 | #define FRAME_X_XIM(f) (FRAME_DISPLAY_INFO (f)->xim) |
| 741 | #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles) | 765 | #define FRAME_X_XIM_STYLES(f) (FRAME_DISPLAY_INFO (f)->xim_styles) |
| 742 | #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style) | 766 | #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style) |
| 743 | #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs) | 767 | #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs) |
| 744 | 768 | ||
| 745 | /* Value is the smallest width of any character in any font on frame F. */ | ||
| 746 | |||
| 747 | #define FRAME_SMALLEST_CHAR_WIDTH(F) \ | ||
| 748 | FRAME_X_DISPLAY_INFO(F)->smallest_char_width | ||
| 749 | |||
| 750 | /* Value is the smallest height of any font on frame F. */ | ||
| 751 | |||
| 752 | #define FRAME_SMALLEST_FONT_HEIGHT(F) \ | ||
| 753 | FRAME_X_DISPLAY_INFO(F)->smallest_font_height | ||
| 754 | |||
| 755 | /* X-specific scroll bar stuff. */ | 769 | /* X-specific scroll bar stuff. */ |
| 756 | 770 | ||
| 757 | /* We represent scroll bars as lisp vectors. This allows us to place | 771 | /* We represent scroll bars as lisp vectors. This allows us to place |
| @@ -801,6 +815,11 @@ struct scroll_bar | |||
| 801 | being dragged, this is -1. */ | 815 | being dragged, this is -1. */ |
| 802 | int dragging; | 816 | int dragging; |
| 803 | 817 | ||
| 818 | #if defined (USE_TOOLKIT_SCROLL_BARS) && defined (USE_LUCID) | ||
| 819 | /* Last scroll bar part seen in xaw_jump_callback and xaw_scroll_callback. */ | ||
| 820 | enum scroll_bar_part last_seen_part; | ||
| 821 | #endif | ||
| 822 | |||
| 804 | /* 1 if the background of the fringe that is adjacent to a scroll | 823 | /* 1 if the background of the fringe that is adjacent to a scroll |
| 805 | bar is extended to the gap between the fringe and the bar. */ | 824 | bar is extended to the gap between the fringe and the bar. */ |
| 806 | unsigned fringe_extended_p : 1; | 825 | unsigned fringe_extended_p : 1; |
| @@ -809,6 +828,7 @@ struct scroll_bar | |||
| 809 | /* Turning a lisp vector value into a pointer to a struct scroll_bar. */ | 828 | /* Turning a lisp vector value into a pointer to a struct scroll_bar. */ |
| 810 | #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec)) | 829 | #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec)) |
| 811 | 830 | ||
| 831 | #ifdef USE_X_TOOLKIT | ||
| 812 | 832 | ||
| 813 | /* Extract the X widget of the scroll bar from a struct scroll_bar. | 833 | /* Extract the X widget of the scroll bar from a struct scroll_bar. |
| 814 | XtWindowToWidget should be fast enough since Xt uses a hash table | 834 | XtWindowToWidget should be fast enough since Xt uses a hash table |
| @@ -825,14 +845,14 @@ struct scroll_bar | |||
| 825 | ptr->x_window = window; \ | 845 | ptr->x_window = window; \ |
| 826 | } while (0) | 846 | } while (0) |
| 827 | 847 | ||
| 848 | #endif /* USE_X_TOOLKIT */ | ||
| 828 | 849 | ||
| 829 | /* Return the inside width of a vertical scroll bar, given the outside | 850 | /* Return the inside width of a vertical scroll bar, given the outside |
| 830 | width. */ | 851 | width. */ |
| 831 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \ | 852 | #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \ |
| 832 | ((width) \ | 853 | ((width) \ |
| 833 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ | 854 | - VERTICAL_SCROLL_BAR_LEFT_BORDER \ |
| 834 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ | 855 | - VERTICAL_SCROLL_BAR_RIGHT_BORDER) |
| 835 | - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2) | ||
| 836 | 856 | ||
| 837 | /* Return the length of the rectangle within which the top of the | 857 | /* Return the length of the rectangle within which the top of the |
| 838 | handle must stay. This isn't equivalent to the inside height, | 858 | handle must stay. This isn't equivalent to the inside height, |
| @@ -869,11 +889,6 @@ struct scroll_bar | |||
| 869 | /* Minimum lengths for scroll bar handles, in pixels. */ | 889 | /* Minimum lengths for scroll bar handles, in pixels. */ |
| 870 | #define VERTICAL_SCROLL_BAR_MIN_HANDLE (5) | 890 | #define VERTICAL_SCROLL_BAR_MIN_HANDLE (5) |
| 871 | 891 | ||
| 872 | /* Trimming off a few pixels from each side prevents | ||
| 873 | text from glomming up against the scroll bar */ | ||
| 874 | #define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0) | ||
| 875 | |||
| 876 | |||
| 877 | /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT | 892 | /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT |
| 878 | or SELECTION_CLEAR_EVENT, then its contents are really described | 893 | or SELECTION_CLEAR_EVENT, then its contents are really described |
| 879 | by this structure. */ | 894 | by this structure. */ |
| @@ -905,11 +920,6 @@ struct selection_input_event | |||
| 905 | #define SELECTION_EVENT_TIME(eventp) \ | 920 | #define SELECTION_EVENT_TIME(eventp) \ |
| 906 | (((struct selection_input_event *) (eventp))->time) | 921 | (((struct selection_input_event *) (eventp))->time) |
| 907 | 922 | ||
| 908 | /* From xselect.c. */ | ||
| 909 | |||
| 910 | void x_handle_selection_notify (XSelectionEvent *); | ||
| 911 | void x_handle_property_notify (XPropertyEvent *); | ||
| 912 | |||
| 913 | /* From xfns.c. */ | 923 | /* From xfns.c. */ |
| 914 | 924 | ||
| 915 | extern void x_free_gcs (struct frame *); | 925 | extern void x_free_gcs (struct frame *); |
| @@ -963,8 +973,8 @@ extern void x_wait_for_event (struct frame *, int); | |||
| 963 | 973 | ||
| 964 | /* Defined in xselect.c */ | 974 | /* Defined in xselect.c */ |
| 965 | 975 | ||
| 966 | extern void x_handle_property_notify (XPropertyEvent *); | 976 | extern void x_handle_property_notify (const XPropertyEvent *); |
| 967 | extern void x_handle_selection_notify (XSelectionEvent *); | 977 | extern void x_handle_selection_notify (const XSelectionEvent *); |
| 968 | extern void x_handle_selection_event (struct input_event *); | 978 | extern void x_handle_selection_event (struct input_event *); |
| 969 | extern void x_clear_frame_selections (struct frame *); | 979 | extern void x_clear_frame_selections (struct frame *); |
| 970 | 980 | ||
| @@ -976,9 +986,9 @@ extern void x_send_client_event (Lisp_Object display, | |||
| 976 | Lisp_Object values); | 986 | Lisp_Object values); |
| 977 | 987 | ||
| 978 | extern int x_handle_dnd_message (struct frame *, | 988 | extern int x_handle_dnd_message (struct frame *, |
| 979 | XClientMessageEvent *, | 989 | const XClientMessageEvent *, |
| 980 | struct x_display_info *, | 990 | struct x_display_info *, |
| 981 | struct input_event *bufp); | 991 | struct input_event *); |
| 982 | extern int x_check_property_data (Lisp_Object); | 992 | extern int x_check_property_data (Lisp_Object); |
| 983 | extern void x_fill_property_data (Display *, | 993 | extern void x_fill_property_data (Display *, |
| 984 | Lisp_Object, | 994 | Lisp_Object, |
| @@ -994,7 +1004,6 @@ extern void x_clipboard_manager_save_all (void); | |||
| 994 | 1004 | ||
| 995 | /* Defined in xfns.c */ | 1005 | /* Defined in xfns.c */ |
| 996 | 1006 | ||
| 997 | extern struct x_display_info * check_x_display_info (Lisp_Object); | ||
| 998 | extern Lisp_Object x_get_focus_frame (struct frame *); | 1007 | extern Lisp_Object x_get_focus_frame (struct frame *); |
| 999 | 1008 | ||
| 1000 | #ifdef USE_GTK | 1009 | #ifdef USE_GTK |